IPv6アドレスの構造
目次
IPv6アドレスの表記
IPv6アドレスは128ビットもの大きさがあるため、IPv4アドレスのように10進数で表現すると、非常に長くなってしまいわかりにくくなります。そこでIPv6のアドレスは、16ビットずつ16進数に変換したものをひとつのブロックとし、それぞれのブロックを「:(コロン)」で区切る表記方法を行います。
これでもIPv6アドレスはかなり長くなるので、次の省略表記があります。
- 各ブロックの先頭の連続する「0」は省略可能
- 「0000」は「0」に省略可能
- 連続した「0000」(=「0」)のブロックは1回に限り「::」に省略可能
省略表記の例も含めたIPv6アドレスの表記方法は次の図のようになります。
図 IPv6アドレスの表記
IPv6アドレスの構造
IPv4アドレスの構造がネットワークアドレス+ホストアドレスだったのと同じように、IPv6アドレスもネットワークを示す部分とネットワーク内に接続されるホストを示す部分に分かれます。IPv6のネットワークとIPv6アドレスが示す部分を対応付けたものが次の図です。
図 IPv6ネットワークとIPv6アドレスの構造
グローバルルーティングプレフィクスは、LIRなどのアドレス管理組織がISPなどに割り振ります。そして、さらにISPから企業や組織などに対して、任意のアドレス空間のサブネットを割り振ります。このサブネットを識別するためにサブネットIDがあります。グローバルルーティングプレフィクスとサブネットIDは合わせて64ビットです。これが、IPv4アドレスのネットワークアドレスに相当します。
残りの64ビットはインタフェースIDです。これは、IPv4アドレスのホストアドレスに相当し、ネットワーク上の個別のホスト(インタフェース)を表しています。
IPv4では、ネットワークアドレスとホストアドレスの区切りは可変で、サブネットマスクを利用して区切りを表していました。IPv6アドレスでは、インタフェースIDは64ビットで固定です。ただし、グローバルルーティングプレフィクスやサブネットIDは、ネットワークの規模などに応じて可変となっています。
このようなIPv6アドレスの構造は、RFC3587で定義されています。
RFC 3587 – IPv6 Global Unicast Address Format
http://www.faqs.org/rfcs/rfc3587.html
RFC3567はRFC2374を置き換えたものです。RFC2374では、上位の64ビットの中に「TLA」「NLA」「SLA」というアドレスを配布した機関のIDを埋め込むように提案していました。
図 RFC2347におけるIPv6グローバルユニキャストアドレス
しかし、IPアドレスの配布ポリシーとアドレス構造は分けて議論すべきという観点から2003年9月にRFC3587が提案されています。
また、IPv4アドレスのマルチキャストアドレスでは、ネットワークアドレスとホストアドレスの区別がなかったのと同じように、IPv6のマルチキャストアドレスも上記のアドレス構造とは異なります。
IPv6マルチキャストアドレスの構造については、別途解説します。