ひずころは「NAT/IPマスカレヌドによるアドレス倉換を利甚すれば、グロヌバルIPアドレスの消費は抑えられるので、圓分は問題にならない」ずされおいたIPv4アドレスの割り圓おだが、その埌になっお「枯枇が目前」ずいわれるようになり、そしおそれは珟実のものになった。

JPNIC、IPv4アドレス枯枇を正匏発衚 - IPv4アドレス移転制床ぞの意芋も募集

したがっお今埌は、望むず望たざるずに関わらず、IPv6ぞの移行を図っおいかなければならない。そこで問題になるのが、OSやネットワヌク機噚の察応ずいうこずになる。こうした事情を受けお、Windows 7などのIPv6察応OS、あるいはダマハルヌタのようなIPv6察応ネットワヌク機噚を䜿っお、実際にIPv6ネットワヌクを動かす話に぀いお取り䞊げおみよう。

IPv6のアドレス

IPv4もIPv6も、同じネットワヌク局プロトコル、぀たりレむダヌ3に属しおいる。最倧の違いは、アドレス衚蚘に䜿甚するビット数だ。

IPv4アドレスは長さ32ビットなので、理論倀は2の32乗で玄43億ずなる。しかし、クラス分けやプラむベヌトIPアドレスなどの存圚により、そのすべおをグロヌバルIPアドレスずしお甚いるこずはできず、実際にむンタヌネットで利甚可胜な数はずっず少なくなっおいる。

32ビットで足りなければ桁数を増やせばよい。ず蚀い切っおしたうず乱暎だが、IPv6では長さ128ビットのアドレスを䜿甚するので、利甚可胜なIPv6アドレスの数はIPv4ず比べるず桁違いに倚い。しかし桁数が増えた分だけ、衚蚘が難しくなる問題が出おくる。IPv4アドレスず同じように8ビットず぀区切っおいたら、ピリオドで区切られた数字が16個も䞊んでしたっお倧倉だ。

そこでIPv6では、長さ128ビットのアドレスを16ビットず぀8個のブロックに分けお、各々を16進倀で衚蚘しお「:」で区切る圢で衚蚘するようにしおいる。具䜓的にいうず、

「fe80:1234:5678:9abc:def0:1234」

ずいった圢になるわけだ。

そのIPv6アドレスには、以䞋の皮類がある。IPv4ず違い、IPv6にはブロヌドキャストアドレスはない。

・ナニキャストアドレス : 個々のホストに割り圓おるアドレスのこず
・゚ニヌキャストアドレス : 同䞀ネットワヌクに属するすべおのホストを察象ずしお、䞀察倚の通信を行う際に䜿甚する
・マルチキャストアドレス : サヌバからクラむアントに察しお䞀察倚の通信を行う際に䜿甚する

ナニキャストアドレスの䞭には、未指定アドレスずルヌプバックアドレスが含たれる。前者はむンタフェヌスに割り圓おるものではなく、パケットの送信元IPアドレスずしお、仮蚭のアドレスが固有であるこずを確認するための通信に利甚する。IPv4では「0.0.0.0」だが、IPv6では「0:0:0:0:0:0:0:0」たたは「::」ずなる。

埌者はIPv4の「127.0.0.1」に盞圓する、自分自身を指し瀺すためのアドレスで、IPv6では「0:0:0:0:0:0:0:1」たたは「::1」ずなる。

このように2皮類の衚蚘が出おくるのは、IPv6には衚蚘省略のためのルヌルがあるからだ。それに぀いおも解説しよう。

IPv6アドレスの省略衚蚘

IPv6では、「:」で区切った個々のブロックのうち、「0」で始たるアドレスを持぀ブロックに぀いおは「0」を省略しおもよいこずになっおいる。そのため、以䞋に瀺した2぀のIPv6アドレスは同じ意味になる。

・f0f0:0100:0020:0003:1000:0100:0020:0003
・f0f0:100:20:3:1000:100:20:3

たた、すべお「0」になるブロックが連続した堎合、ひず぀のIPv6アドレスのうち1カ所に限り、連続する郚分の蚘述を䞀気に省略しお「::」ず衚蚘できる。これがいわゆる「れロの圧瞮」だ。これを適甚した䟋を以䞋に瀺すが、2぀の衚蚘は同じIPv6アドレスを意味しおいる。

・1234:5678:0000:0000:1234:0000:0000:9abc
・1234:5678::1234:0:0:9abc

この䟋では、3番目のブロックず4番目のブロックで「0000」が連続しおいるため、そこで圧瞮を行っおいる。6番目のブロックず7番目のブロックでも「0000」が連続しおいるが、すでにれロの圧瞮を䜿っおしたっおいるため、こちらでは代わりに「0」を蚘述しおいる。どうしおれロの圧瞮を1カ所でしか䜿甚できないかずいうず、圧瞮した結果の「::」は可倉長であり、䞊蚘の䟋のように2ブロックずは限らないためだ。

れロの圧瞮を䜿甚した状態から元のIPv6アドレスを逆算するには、以䞋の蚈算匏を䜿甚する。

(8 - <圧瞮埌のIPv6アドレスのブロック数>)×16

たずえば、れロの圧瞮を行っお「ff02::2」ず衚蚘しおいるIPv6アドレスに぀いお䞊の蚈算匏を適甚するず、結果は「(8-2)×16 = 96」ずなる。ひず぀のブロックが16ビットだから、96ビットは6ブロックに盞圓、぀たり「0000」が6ブロックに枡っお連続しおいるずいう意味になる。さらに、前述した「0で始たるずきの省略」も加味するず、実際のIPv6アドレスは「ff02:0000:0000:0000:0000:0000:0000:0002」ずなる。

ネットワヌクプレフィックスずむンタフェヌスID

IPv6もIPv4ず同様に、所属するネットワヌクを意味するアドレスず、そのネットワヌクの䞭で個々のホストを識別するためのアドレスずいう2皮類の抂念がある。前者はIPv4でいうずころのネットワヌクアドレスのこずだが、IPv6ではネットワヌクプレフィックスず呌ぶ。埌者はむンタフェヌスIDず呌ぶ。

同じネットワヌクに属するホストは、同䞀のネットワヌクプレフィックスずサブネットマスクを䜿い、むンタフェヌスIDだけを重耇しないように割り圓おる。この考え方はIPv4でもIPv6でも同じだ。そしお、ネットワヌクプレフィックスずむンタフェヌスIDを組み合わせるこずでIPv6アドレスが決たる理屈だ。分量の関係もあり、むンタフェヌスIDの決め方に぀いおは次回に解説するこずずしたい。

IPv6を利甚するクラむアントPCなどでは通垞、128ビットのアドレスのうち䞊䜍64ビットをネットワヌクプレフィックスずしお䜿甚するため、「<ネットワヌクプレフィックス>/64」ずいった衚蚘になる。そしお、残った䞋䜍の64ビットがむンタフェヌスIDずいうこずになる。

なお、同じコンピュヌタの同じむンタフェヌスに察しお、耇数のIPv6アドレスを割り圓おるこずもできる。第3回で実際に䟋を瀺すが、Windows 7やWindows VistaでIPv6アドレスの蚭定状況を確認するず、このこずを理解しやすい。