基本情報のIPv6をアドレスの省略・復元と通信方式で理解する

8個のモジュールとネットワーク機器を組み合わせたIPv6学習のイメージ

基本情報のIPv6は、「128bit」と覚えるだけでは省略表記の問題で迷いやすい分野です。コロンが続くアドレスを見たら、まず16進数4桁の群が8個ある形へ戻すと、同じアドレスかどうかを確かめられます。

この記事では、0を省く場所、::を戻す群数、プレフィックスの境界、通信先の選び方を順に整理します。「表記として有効」と「推奨表記に沿う」の違いも、独自例題で確認していきましょう。

この記事のポイント
  • 128bitと16進数8群の関係を計算で説明できる
  • 省略された0を8群へ戻し、同じアドレスか判断できる
  • 有効な表記とRFC5952の推奨表記を区別できる
  • プレフィックスと3種類の通信方式を例題で確認できる
無料

基本情報技術者試験 過去問アプリ

本番形式で繰り返し解ける。スキマ時間に1問から

2,000問以上収録
無料で過去問を解く
目次

基本情報のIPv6は128bitと8群の表記から押さえる

8個の同じモジュールを並べてアドレスの区切りをイメージした教材用イメージ

128bitを16bitずつ区切ると8群になる

IPv6のアドレス長は128bitです。通常の16進数による表記では、16bitを一つの群としてコロン「:」で区切ります。128÷16=8なので、省略していない形には8群が並びます。「128bit」と「8群」は、同じアドレスを長さと区切り方の両面から見た数字です。

16進数は0~9とa~fを使い、1桁で4bitを表します。したがって16bitの一群は最大4桁です。4桁×8群=32桁の16進数に、区切りのコロンが7個入る形を基本として考えると整理しやすくなります。コロン自体はアドレスの値に含まれるbitではありません。

2001:0db8:1200:0034:0000:0000:00ab:0007

この例では2001が第1群、0db8が第2群で、最後の0007が第8群です。見た目が長くても、一群ずつ番号を振るだけなら難しくありません。以降の一般的なアドレス例は、RFC3849の文書用プレフィックス2001:db8::/32に属する値で作っています。実際の機器への設定を求める例ではありません。

スクロールできます
確認することIPv4IPv6の通常表記
アドレス長32bit128bit
区切る単位8bitずつ4区画16bitずつ8群
数値の表し方主に10進数主に16進数
区切り記号ピリオド「.」コロン「:」

長さが4倍だからといって、表現できるアドレスの個数が4倍になるわけではありません。bit数がnなら組合せは2のn乗です。IPv4の2の32乗に対し、IPv6は2の128乗です。ただし、全組合せが一般の端末へ自由に割り当てられるという意味ではなく、用途ごとの予約もあります。

基本の表記方法はJPNICのIPv6アドレスの表記法でも確認できます。2進数と16進数の対応から復習したい場合は、基本情報のn進数と2進数・16進数の変換を先に読むと、1桁が4bitである理由をつかみやすくなります。

先頭の0と途中・末尾の0を分ける

各群では、先頭に連続する0を省けます。0db8はdb8、0034は34、0007は7と書けます。一方、1200を12にしたり、10abを1abにしたりすると値が変わります。消してよいのは「一群の左端にある0」であり、アドレス全体にある0を自由に取り除く規則ではありません。

たとえば10abは、16進数の1000、a0、bに対応する桁を含む値です。途中の0を抜くと後ろの数字の桁がずれます。これは10進数の1002を12にできないことと同じです。省略で変わるのは書き方だけで、数値は変えてはいけません。

部品列の端のスペーサーを外し途中の部品を残す手元のイメージ

0000の群は0まで短くできますが、区切りだけを残して空欄にはできません。複数の群をまとめる専用記号が「::」です。通常の「:」は隣の群との境目、「::」は0だけの群を省いた印、と役割を分けて読みましょう。

先頭の0だけを省く例
2001:0db8:1200:0034:0000:0000:00ab:0007
2001:db8:1200:34:0:0:ab:7

各群の値を比べるときは、短い群の左に0を補って4桁へそろえます。abは00abであり、ab00ではありません。この左詰め・右詰めの取り違えはプレフィックス問題にもつながるので、早い段階で直しておきたいところです。

::から8群へ戻す手順

::は、0だけの16bitの群が一つ以上省略されていることを表します。復元するときは、::以外に見えている群を数え、その数を8から引きます。求めた個数の0000を、::がある位置へ入れれば、完全な8群へ戻せます。

省略形:2001:db8:1200:34::ab:7
見える群:2001 / db8 / 1200 / 34 / ab / 7 → 6群
省略された群:8-6=2群
復元形:2001:0db8:1200:0034:0000:0000:00ab:0007

最後に、見えていた群も左に0を補って4桁へそろえます。先に0000を入れて群数を決め、次に各群の桁をそろえると、操作が混ざりません。アドレス同士の比較は、この形に復元して同じ位置の値を照合するのが確実です。

整理トレーの中央の空き区画へ部品を戻していく手元のイメージ

::が先頭や末尾にあっても考え方は同じです。2001:db8:9::には3群が見えるので、末尾に5群の0000が入ります。::1には1群だけが見えるので、先頭に7群の0000が入ります。後者はループバックアドレスとして意味が決まった特別な値ですが、復元の手順は変わりません。

注意したいのは、::を「常に0が二つ」と読まないことです。コロンの個数は、省略した群数を表していません。何群を戻すかは、残りの群と合わせて8になるように決めます。::だけの表記なら、見える群が0個なので8群すべてが0000です。

一つのアドレスで::を2回使うと、0の群を左右のどちらへ何個戻すかが一意に決まりません。2001:db8::34::7のような表記は使えません。「::は最大1か所」という条件は、短く書くための好みではなく、元の値を確定させるための条件です。

有効な表記とRFC5952の推奨表記を区別する

IPv6では、同じ値を複数の文字列で表せます。先頭の0を残した形や英字の大文字を含む形でも、一般的な表記として有効な場合があります。一方、人やシステムが表記をそろえるときには、RFC5952の推奨表記を使います。問題文がどちらを聞いているかを確認してください。

RFC4291の2.2節は、::が一つ以上の0の群を表すことを定めています。したがって、0の群が一つだけの場合も、RFC4291の表記規則では::に置き換えられます。ただし、RFC5952の4.2.2節の推奨表記では、その置き換えをしません。

完全形:2001:0db8:1200:0034:0000:0005:0006:0007
推奨形:2001:db8:1200:34:0:5:6:7
有効だが推奨形ではない:2001:db8:1200:34::5:6:7

上の最後の行は、見える7群に0の1群を補うと同じ値へ戻ります。「単独の0を::にしているからIPv6として常に無効」と判断するのは不正確です。「RFC5952に沿って表記する」という条件なら、0をそのまま残した2行目を選びます。

スクロールできます
表記の状態一般的な表記としての判断推奨形としての判断
各群に先頭0が残っている値を正しく読める場合は有効先頭0を省く
a~fが大文字である有効小文字へそろえる
0の1群だけを::にするRFC4291では有効RFC5952では使わない
::が2か所ある無効使えない

「最も短い形」を問われた場合も、問題中に定義された規則を先に読みます。単独0の省略を認めるかなど、設問の条件が明記されていればそれに従います。試験対策では、覚えた短い標語より、与えられた条件と元の値が一致するかを優先しましょう。

最長の連続と同じ長さの連続を選ぶ

RFC5952に沿って圧縮するときは、0だけの群が最も長く連続する部分を::にします。2群の連続と3群の連続があれば、3群の方です。長さが同じなら、左にある連続部分を選びます。選んだ連続部分の一部だけを省かず、全体をまとめます。

完全形:2001:0db8:0000:0000:0034:0000:0000:0000
先頭0を省く:2001:db8:0:0:34:0:0:0
推奨形:2001:db8:0:0:34::
区切られたブロック列で長く連続する部分を確認するイメージ

この例で前の0の2群を圧縮した2001:db8::34:0:0:0も、同じアドレスとして復元できます。しかし、RFC5952の推奨形は後ろの3群を圧縮した形です。省略できるかどうかと、どこを省略するのが推奨かは、ここでも別の判定になります。

同じ長さの例:2001:0db8:0000:0000:0034:0000:0000:0007
推奨形:2001:db8::34:0:0:7

同じ長さの例には、前半と後半に0の2群の連続があります。左を選ぶので、::はdb8の後です。右を選んだ文字列を見ても、直ちに別アドレスとは限りません。両方を8群へ戻し、値が同じであることと推奨ルールに沿うことを分けて確かめます。

実際に手を動かすときは、「8群に復元する→各群の先頭0を省く→0の連続に印を付ける→最長、同長なら左を選ぶ→英字を小文字にする」という順序にします。JPNICのRFC5952解説は、表記の揺れが検索や運用で問題になる背景も説明しています。表記をそろえる目的を知ると、規則を丸暗記しにくくなります。

基本情報のIPv6をプレフィックスと通信方式の問題で理解する

ルーターから複数の端末へケーブルを接続した研修用ネットワークのイメージ

/64は左から64bitを示す

IPv6アドレスに付く/64などの数字は、左から何bitをプレフィックスとして扱うかを示します。/64は64台の機器や64個の群を意味しません。アドレス長128bitのうち、先頭64bitが指定された範囲だと読みます。

一群は16bitなので、/64は64÷16=4群分です。2001:db8:5a70:1234::9/64なら、先頭4群の2001:0db8:5a70:1234がプレフィックスです。ネットワークプレフィックスとして残りを0にした表記は、2001:db8:5a70:1234::/64になります。

アドレス:2001:db8:5a70:1234::9/64
8群へ復元:2001:0db8:5a70:1234:0000:0000:0000:0009
境界:2001:0db8:5a70:1234 | 0000:0000:0000:0009
左64bitがプレフィックス、右側は残り64bit
一列のモジュールの左側と右側をカバーで区切ったイメージ

ここで、2001:db8:5a70:1234::abは同じ/64プレフィックスに入ります。2001:db8:5a70:1235::9は第4群が異なるため、同じ/64プレフィックスには入りません。::の位置や文字列の長さを見比べるのではなく、必要な群を復元して境界まで比較します。

ただし、「IPv6のプレフィックス長は必ず64」とは覚えないでください。経路や割り当てを表すプレフィックスには/48や/56などもあります。/64はよく扱う境界ですが、数字自体は指定された先頭bit数です。アドレス長の128bit、プレフィックス長、インターフェースを識別する部分を混ぜずに読みましょう。

プレフィックス表記の定義はRFC4291の2.3節にあります。IPv4のサブネットマスクやホスト数計算を復習する場合は、基本情報のIPアドレス計算とサブネットマスク問題へ進むと、共通する境界の考え方を確認できます。IPv4のブロードキャストを前提とする計算式を、IPv6へそのまま持ち込まないことが大切です。

/60のような群の途中の境界もbitで読む

プレフィックス長が16の倍数でなければ、境界は群の途中に来ます。たとえば/60は、先頭3群の48bitと、第4群の先頭12bitです。16進数1桁は4bitなので、第4群では先頭3桁までがプレフィックスになります。

2001:db8:5a70:1234::9/60
第4群:1 2 3 | 4
先頭60bitのプレフィックス:2001:db8:5a70:1230::/60

第4群が1234でも123aでも、先頭3桁が123なので、同じ/60プレフィックスに入ります。一方、1240は先頭3桁が124なので別です。/64なら1234と123aは異なるプレフィックスです。同じ2個のアドレスでも、比較するプレフィックス長によって判定が変わることを確認してください。

省略した0034のような群は、いったん4桁にしてから境界を考えます。文字列の「左から何文字」では判定できません。また、/61のように16進数の1桁の途中で切れる場合は、その桁を2進数へ直して必要なbitまで比較します。群数で割り切れないときも、最後はbit数に戻れば判断できます。

ユニキャスト・マルチキャスト・エニーキャスト

IPv6のアドレスを通信先の選び方で分けると、ユニキャスト、マルチキャスト、エニーキャストの3種類があります。暗記するときは、名前の似たマルチキャストとエニーキャストを「どちらも複数へ送る」とまとめないようにしましょう。宛先のグループと、実際に届ける先が違います。

スクロールできます
方式宛先の考え方届け先のイメージ
ユニキャスト一つのインターフェースを識別する特定の相手一つ
マルチキャストインターフェースの集合を識別するそのグループの対象へ配送する
エニーキャスト複数のインターフェースで同じアドレスを使う経路制御上、近い一つへ配送する
送信機と単体・グループに分けて並べた受信端末のイメージ

ユニキャストは、特定の相手に通信するときの基本です。マルチキャストは、対象グループに属する相手へ届ける方式であり、無条件にネットワーク内の全端末へ届くという意味ではありません。グループの範囲なども関わります。

エニーキャストでは、同じアドレスを複数のインターフェースへ割り当て、経路制御で選ばれる一つへ届けます。ここでの「近い」は、地図上の距離だけではなく、ルーティングの仕組みが判断する近さです。複数のサーバー候補があるからといって、その全台が同じパケットを受け取る方式ではありません。

IPv6にはブロードキャストアドレスがありません。IPv4でブロードキャストが担っていた役割は、IPv6ではマルチキャストが置き換えます。「一斉に何かを知らせる処理が全くできない」という意味ではなく、配送方法が異なります。分類と配送の定義はRFC4291の2節で確認できます。

アドレスの用途と安全性を混同しない

IPv6のアドレスがすべてインターネット全体で使えるわけではありません。同じリンク内の通信に使うリンクローカルアドレスや、自分自身への通信に使うループバックアドレスなどがあります。通信方式の分類と、アドレスが有効になる範囲は分けて整理します。

スクロールできます
表記・範囲基本的な意味
fe80::/10リンクローカルユニキャスト用の範囲。ルーターはこの送信元・宛先のパケットを別リンクへ転送しない
ff00::/8マルチキャストアドレスの範囲
::1自分自身へ送るループバックアドレス
::未指定アドレス。通常の端末用アドレスとして割り当てる値ではない

エニーキャストは、専用の先頭文字だけで常に判別できるものではありません。ユニキャストのアドレス空間から割り当てられるため、アドレスの見た目だけで役割を決め付けず、どのように割り当て、経路制御しているかも確認します。

また、IPv6へ変えただけで通信がすべて暗号化されたり、不正アクセスが自動的に防がれたりするわけではありません。IPsecを利用することと、IPv6で通信することは同義ではないためです。RFC8200のセキュリティ上の考慮事項でも、盗聴などの課題とIPsec・TLSなどによる保護を区別しています。学習では「アドレス空間の拡張」と「必要な保護の設定」を切り分けましょう。

同じように、IPv6という名前だけで実際の回線速度が決まるわけでもありません。この記事で押さえる中心はアドレスの仕組みと配送方法です。回線サービスの接続方式や料金を選ぶ話とは分けると、基本情報の選択肢にある説明の飛躍を見つけやすくなります。

独自問題で表記・境界・通信先を確認する

以下はこの記事の説明に合わせて作った独自の確認問題です。公式過去問ではありません。答えを先に見る前に、アドレスの群へ番号を振り、必要なら8群の完全形を書いてみてください。

問題1:復元
2001:db8:44::a:90を、各群4桁・8群の形へ戻してください。::に何群が隠れているかも答えます。

見えるのは2001、db8、44、a、90の5群です。したがって、8-5=3群の0000を::の位置へ入れます。答えは2001:0db8:0044:0000:0000:0000:000a:0090です。aをa000、90を9000とすると別の値になるので、左側へ0を補ったかまで確認しましょう。

ノートとネットワーク機器の模型で理解を確かめる学習机のイメージ

問題2:推奨形
2001:0DB8:0000:0000:0050:0000:0000:0008を、RFC5952に沿って表記してください。

答えは2001:db8::50:0:0:8です。0の2群の連続が2か所あるので、左の連続を省略します。先頭0を省き、DB8は小文字へそろえます。2001:db8:0:0:50::8も同じ値へ戻りますが、この条件での推奨形ではありません。値の一致だけで解答を終えないのがポイントです。

問題3:無効な表記
A:2001:db8:12:34::5:6:7、B:2001:db8::12::7、C:2001:db8:12000::7のうち、通常の16進数によるIPv6表記として無効なものを選んでください。

答えはBとCです。Bは::が2か所あり、復元する位置ごとの群数が確定しません。Cは12000という5桁の群があり、一群16bitの範囲を超えます。Aは見える7群と省略された0の1群で8群へ戻せるので有効です。ただし、RFC5952の推奨表記なら2001:db8:12:34:0:5:6:7とします。

問題4:プレフィックス
2001:db8:5a70:7ab1::1と2001:db8:5a70:7abf::9は、同じ/60プレフィックスに入りますか。/64ではどうなりますか。

同じ/60プレフィックスに入り、/64では別です。先頭3群は同じで、第4群の先頭3桁も7abで一致しています。/60ならその先の1桁は比較対象の外側です。/64では第4群全体を比べるため、7ab1と7abfの違いが判定に入ります。

問題5:通信先
複数のサーバーが同じアドレスを持ち、経路制御で近い一つへパケットを届ける方式は何ですか。「複数の相手が候補」という理由でマルチキャストを選んでよいでしょうか。

答えはエニーキャストです。複数が候補でも、そのうち一つへ届ける点を読み取ります。グループに属する対象へ届けるマルチキャストとは区別します。「近い」を物理的な距離とだけ理解していないかも確認してください。

間違えたときは、答えを何度も読むより、どこで判定がずれたかを分けると復習しやすくなります。問題1なら群数か左側の0補完、問題2なら同長の選択か小文字化、問題3なら有効性と推奨の混同、問題4なら境界のbit数、問題5なら実際の受信先です。

ネットワーク全体の中での位置付けを整理したい場合は、基本情報のネットワーク分野の学習ガイドも参照してください。アドレス、プロトコル、機器の役割を関連付けると、単語単体の暗記から一歩進めます。

まとめ:基本情報のIPv6は8群への復元から判断する

IPv6は128bitで、通常は16bitずつ8群の16進数として読みます。各群の先頭0は省けますが、途中や末尾の0を勝手に消してはいけません。::は最大1か所で、8群になるよう不足分を戻します。

表記の有効性を確認したら、推奨表記の条件を別に確認しましょう。最長の0の連続、同長なら左、小文字、単独0は::にしない、という順に整理できます。プレフィックスは左からのbit数、通信方式は実際に届ける相手で判断します。

基本情報のIPv6を復習するときは、短いアドレスを一つ選び、完全形へ戻してからもう一度圧縮してください。値を変えずに行き来できれば、文字列の見た目に頼らず問題を解く準備が整います。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次