助け合いフォーラム
上記アドレスの「サブネット」はどれか。
なお、プロバイダから取得したアドレスは「2001:0db8:3333::/48」である。
正解
4444
解説
グローバルユニキャストアドレスはIPv4でのグローバルアドレスと同じ扱いで、全世界で一意となるアドレスです。アドレスのフィールドは以下の3つに分けられます。
IPv4でのホストアドレスに当たるインターフェースIDは、アドレス自動設定機能を活用するために64ビットにするのが一般的です。そのため、前半64ビットのうちプロバイダから割り当てられたプレフィックス分を除いた部分がサブネット用のビットになります。
よって正解は
・4444
です。
その他の選択肢については、以下の通りです。
・2001:0db8:3333
グローバルプレフィックスになるので誤りです。
・2001:0db8:3333:4444
サブネットIDになるので誤りです。
・5555:6666:7777:8888
インターフェースIDになるので誤りです。
・4444:5555
・4444:5555:6666:7777
インターフェースIDも含んでいるので誤りです。
参考
IPv6のアドレス範囲はIANA(Internet Assigned Numbers Authority)によって、以下のように役割ごとにアドレス範囲が決められています。
なお、現時点では以下の範囲が割り当て済みとなっています。
・グローバルユニキャストアドレス
2000::/3のみ。その他の範囲は将来のために予約されている。
・ユニークローカルアドレス
fd00::/8のみ。fc00::/8は将来のために予約されている。
【グローバルユニキャストアドレスのフィールド】
グローバルユニキャストアドレスはIPv4でのグローバルアドレスと同じ扱いで、全世界で一意となるアドレスです。アドレスのフィールドは以下の3つに分けられます。
IPv4でのホストアドレスに当たるインターフェースIDは、アドレス自動設定機能を活用するために64ビットにするのが一般的です。そのため、前半64ビットのうちプロバイダから割り当てられたプレフィックス分を除いた部分がサブネット用のビットになります。割り当てられたプレフィックス(グローバルプレフィックス)とサブネットまでの部分とプレフィックス長を合わせてサブネットIDと呼びます。
例えばグローバルプレフィックスとして「2001:db8:1234::/48」がプロバイダから割り当てられており、後半64ビットをインターフェースIDとして使用する場合、先頭から1番目のサブネットIDは「2001:db8:1234::/64」、2番目のサブネットIDは「2001:db8:1234:1::/64」となります。
【リンクローカルアドレスのフィールド】
リンクローカルアドレスは、そのリンク上でのみ使われるユニキャストアドレスです。アドレスのフィールドは以下の2つにわけられます。
IOSではインターフェースIDはEUI-64形式で自動生成されます。手動で設定することもできますが、アドレス重複を避けるためにも自動生成されたアドレスを使用するのが一般的です。
なお、リンクローカルアドレスのみを使用したいインターフェースでは、「ipv6 enable」コマンドだけを設定します。
【ユニークローカルアドレスのフィールド】
ユニークローカルアドレス(Unique Local Address:ULA)はIPv4でのプライベートアドレスと同じ目的で使われます。アドレスのフィールドは以下の4つにわけられます。
ユニークローカルアドレスは
・先頭が「fd」
・続く40ビットのグローバルIDをランダムに生成して割り当て
・サブネットとして16ビットを割り当て
としてサブネットIDが決まります。
グローバルID部の40ビットはどんな値でも問題はありませんが、RFC 4193にあるようにランダムな値を生成するロジックを使用して値を決定することが推奨されています。
【エニーキャスト】
ユニキャストアドレスの中には「エニーキャストアドレス」というものが含まれます。特殊なアドレスではなく、同じユニキャストアドレスを複数の機器に割り当て、ネットワーク的に最も近い機器と通信させるためのアドレスです。例えばDNSルートサーバでは、耐障害性を高めたり、応答を速める目的でエニーキャストを使用しています。
【マルチキャスト】
マルチキャストアドレスは特定のグループを指すアドレスです。IPv6ではブロードキャストアドレスがなくなった代わりに、用途ごとに決められたマルチキャストアドレスを使用します。
主なマルチキャストスコープ(マルチキャストを送信する範囲)は以下の通りです。
主なマルチキャストアドレスは以下の通りです。
また、上記のグループに属さない、要請ノードマルチキャストアドレスというものがあります。要請ノードマルチキャストアドレスのフィールドは以下の2つにわけられます。
要請ノードマルチキャストアドレスは、自身にあてた問い合わせを受け取るための自動生成アドレスです。IPv4ではARPをブロードキャストすることで通信したいIPアドレスを持つ機器のMACアドレスを得ることができましたが、IPv6ではブロードキャストが存在しないため、ARPを使うことは出来ません。要請ノードマルチキャストアドレスは割り当てられたIPv6アドレスから自動で生成されるマルチキャストアドレスですので、MACアドレスを得たい機器から、宛先IPv6アドレスを基に生成した要請ノードマルチキャストアドレスにNeighbor Solicitation(近隣要請:NS)というICMPv6パケットを送信します。NSを受信した機器がNeighbor Advertisement(近隣広告:NA)パケットによって応答を返すことで、ARPのようにMACアドレスの解決を行うようになっています。
【特殊なアドレス】
その他の特殊なアドレスには、以下のものがあります。
サブネットIDとサブネットプレフィックスについて
問題の解答ではグローバルプレフィックスのあとにサブネットが続いており、2つを合わせてサブネットIDとしています。
Cisco Learning NetworkのImplementing and Administering Cisco Solutions (CCNA) v1.0によると、
IPv6 Global Unicast Addressはglobal routing prefixの後に続くものはsubnet IDとしており、2つを合わせたものはSubnetPreifxとしています。
https://www.nic.ad.jp/ja/newsletter/No32/090.html
こちらのサイトでもグローバルルーティングプレフィックスに続くものはサブネット識別子となっており、気になります。
こちらはどういった解釈をすればよいでしょうか。
投稿を見かけて、気になったので私も少し調べました。
RFCなどでも、global routing prefix 48 bit のあとは、subnet ID 16 bitと定義しているようですし、
その方が正しいような気がします。
この回答だと、IPv6って"subnet ID"(64 bit)と"interface ID"(64 bit)から構成されてるの?って感じしますよね、、、
IPv6アドレスは"prefix"部分と"interface ID"部分それぞれ 64 bit ずつで構成されており、
"prefix"部分も"global routing prefix"(48 bit)と"subnet ID"(16 bit)から構成されている、
と言われた方がしっくりくる気がしますね。
軽くですが調べた感じだと、global unicast addressに関しては、この"prefix"と"interface ID"という分け方よりも、
"global routing prefix","subnet ID","interface ID"の3つの部分に分ける方が主流っぽい?と思いました。(主観です。)
私もはっきり答えが分からなかったので、運営様か何か知見のある方にご教授いただきたいです。
コメント
呼び方いろいろあるのかもですね。Cisco公式ガイドと呼ばれるCCNA 200-301 Official Cert GuideだとPing-tさんと同じような書き方になってました。
これで見れるかわかりませんが、一応みれそうなURL付けておきます。
Figre 23-7です。
試験対応的にはどんな言い回しできても対応できるようにしておくと、本番であわてなくてすむかもしれませんね。
コメント
ご確認いただきありがとうございます。その後さらにRFCを見たところ、用語としてはやはりglobal routing prefixのあとはSubnetIDという表記になっていました
https://www.rfc-editor.org/rfc/rfc3587
where the routing prefix is a value assigned to identify a site (a cluster of subnets/links), the subnet ID is an identifier of a subnet within the site, and the interface ID is a modified EUI-64 format as defined in [ARCH].
ここで、ルーティングプレフィックスとは、サイト(サブネット/リンクの集合体)を識別するために割り当てられる値であり、サブネットIDとは、サブネットの識別子である。サブネットIDはサイト内のサブネットの識別子であり、インタフェースIDは、EUI-64形式を修正したものである。サブネットIDはサイト内のサブネットの識別子、インタフェースIDは[ARCH]で定義された修正EUI-64形式である。
コメント
この投稿に対して返信しませんか?
P Pnt353_158
2022/10/25 16:47
追記:以下、参照サイトになります。 ・https://tex2e.github.io/rfc-translater/html/rfc3587.html ・https://docs.oracle.com/cd/E19253-01/819-0380/ipv6-overview-10/index.html ・infraexpert.com/study/ipv6z3.html ・https://www.itbook.info/study/ipv6-6.html 皆様のご参考にどうぞ。