IPv6アドレスとは?
IPv4のIPアドレス枯渇問題をきっかけに開発されたIPv6も、検討開始されてから十数年の時間が経っている。仕様もほぼ固まっているのだが、いまだにわかりにくく感じることが多い。その1つに挙げられるのがIPv6アドレスフォーマットの複雑さであろう。ここではIPv6のアドレスフォーマットについて簡単に見ていこう。
IPv6はIPv4の32ビットの4倍にあたる128ビット長のアドレス空間を持つ。ここでまず覚えておきたいのがIPv6の基本フォーマットである。基本フォーマットは「グローバルルーティングプレフィックス」「サブネットID」「インターフェイスID」の3つのフィールドから構成されている(図5)。
この中でグローバルルーティングプレフィックスは、ユーザーに割り当てられるネットワークアドレスである。これはJPNICまたはアドレス管理の委託を受けているISPから割り当てられる。それに続くサブネットIDは、ユーザーネットワーク内のサブネットの識別に用いる部分である。そしてネットワーク内の通信先を識別するインターフェイスIDが続く。
グローバルルーティングプレフィックスとサブネットIDの合計が64ビットで、これがIPv4でいうところの“ネットワークアドレス”である。インターフェイスIDも64ビットでIPv4のホストアドレスに相当する。
さてIPv6アドレスの表記は、128ビットを16ビットずつ8つに区切り、それぞれ16進数で表わし、「:」(コロン)で区切る。IPv6のプレフィックス表記はIPv4と同じように、“/”を使って「IPv6アドレス/プレフィックス長」という形式で表記する。
10進数で表記するIPv4と異なり、IPv6のアドレスの表記には16進数を使う。16ビットは16進数では4桁となる。それが8つあるのだから、全部で32桁となる。これではさすがに書き表わすのが大変なので、IPv6のアドレス表記には簡略化のルールがある。
まず、「:」で区切られたフィールドにおいて、先頭から連続する“0”は省略できる。図6の例では、真ん中に「0000:020B」とある。この場合「0:20B」と省略できる。
2つ目の簡略化のルールは「:」と「:」で区切られたフィールドがすべて0で、1つ以上続く場合「::」と表わすことができるということである。なお、「::」と省略できるのはIPv6アドレス中の1カ所だけである。2カ所にこの省略形が現われると、何桁省略されたのか判断がつかなくなるためである。
IPv6アドレスの種類
IPv6アドレスの種類を大きく分けると、ユニキャストアドレス(FF00::/8を除く2000::/3~E000::/3)、マルチキャストアドレス(FF00::/8)、エニーキャストアドレスの3種類である。IPv4にあったブロードキャストアドレスは、IPv6ではマルチキャストアドレスに吸収された(FF02::1)。
特に目を引くのがエニーキャストアドレスであろう。複数のインターフェイスに同じユニキャストアドレスを設定するとエニーキャストアドレスになる。エニーキャストアドレスはマルチキャストアドレスと似ているが、実際に通信を行なうのは同じエニーキャストアドレスを持つコンピュータのうちの1つだけという点が異なる。
この連載の記事
-
第5回
ネットワーク
Windowsネットワークの名前と番号 -
第4回
ネットワーク
インターネットで使うドメイン名と名前解決 -
第2回
ネットワーク
IPアドレスの柔軟な割り当てを実現するサブネットマスク -
第1回
ネットワーク
TCP/IPで使われるIPアドレスとポート番号 -
ネットワーク
完全解剖「名前とアドレス」<目次> - この連載の一覧へ