Lesson1では,IPv6アドレスの基本について見ていこう。まずはアドレスの表記方法について解説する。さらにIPv6パケットのヘッダー部分を,IPv4パケットのヘッダー部分と比較する。最初にIPv6の概要をしっかりつかんでほしい。

IPv4の問題はアドレスの個数に起因

 IPv4は1981年にRFCが発行された“歴史のある”技術だ。そのため,長年使われている間にいくつもの問題が顕在化してきた(図1-1)。中でも最大の問題は,アドレスの枯渇である。インターネットが広く普及するにつれ,IPv4で使える約43億個のグローバル・アドレスでは不足してきたのだ。

図1-1●Pv6は IPv4の問題を解決するために登場した<br>IPv6では,利用できるアドレスの数がほぼ無限になる。
図1-1●Pv6は IPv4の問題を解決するために登場した
IPv6では,利用できるアドレスの数がほぼ無限になる。
[画像のクリックで拡大表示]

 不足気味のアドレスを活用するため,IPv4ではいろいろな工夫が加えられてきた。例えば,クラスという概念をなくし,以前に多めに配布して使われなかったアドレスを回収し,再配布するようにした。その結果,ネットワーク的に近いところでもアドレスがまとまっていない「歯抜け状態」でアドレスが配布されてしまい,インターネットを構成するルーターに負荷がかかるようになってしまった。

 LAN(ラン)側の問題もある。LANでは,NAT(ナット)という技術が普及している。NATを用いれば,限られた数のグローバル・アドレスを使ってLAN内の何台もの端末からインターネットへ通信できる。だが一方で,ネットワーク外部からLAN内の機器を呼び出せないという,「NAT越え問題」が起こるのである。

 これらの問題は,IPv6でアドレスの数を増やせば回避できる。

IPアドレスを128ビットに拡張

 ではIPv6アドレスについて具体的に見てみよう(図1-2)。IPv6のアドレス長は,IPv4の32ビットから,128ビットへ大幅に拡張された。これでアドレスの数は無限といってよい状況になった。

図1-2●IPv6アドレスの表記とヘッダー形式<br>IPv4の4倍の長さになるアドレスを表現するために,IPv4とは異なるアドレス表記を使う。一方,ヘッダーの項目は整理している。
図1-2●IPv6アドレスの表記とヘッダー形式
IPv4の4倍の長さになるアドレスを表現するために,IPv4とは異なるアドレス表記を使う。一方,ヘッダーの項目は整理している。
[画像のクリックで拡大表示]

 IPv6では,この128ビットを16進数表示にし,4桁ずつ「:」(コロン)で区切って表記する。それでも長いので,表記を省略できる。省略するためのルールは二つある。

 一つめは,「一つのブロック(コロンで区切った一区間)内で先頭から重なる『0』は省略できる」というルール。これを使えば,「0001」は「1」に,「0000」は「0」になる。ただし「0900」は「900」となる。省略できる「0」は先頭部分からダブった個所だけだ。

 二つめは,「連続する『0』のブロックはダブル・コロンに置き換えられる」というルール。ただし,「ダブル・コロンは一つのアドレスで1回しか使えない」という条件が付く。ダブル・コロンに置き換える「0」は連続していれば何個でも構わない。

使わない項目を廃しヘッダーを整理

 次に,IPv6パケットとIPv4パケットのヘッダーを比較してみよう。IPv6ではアドレスだけでなく,ヘッダーも大幅に変わった。あて先と送信元のアドレスを示す部分は格 段に大きくなり,基本ヘッダーの長さは320ビットとなっている。

 一方,「IPアドレス以外の情報」は整理された。IPv4のヘッダーには,実際はあまり使われなかった項目がいくつもあった。これらの項目は,IPv6では廃止もしくは拡張ヘッダーのオプションになっている。その結果,IPv6のヘッダーはパケットを送るために必要な項目を絞り込み,シンプルになったのである。