IPの現在の版(IPv4)はたいへんうまく動作している。 しかし、次のような理由によりバージョンアップすべき時期がやってきた。
研究者が新しいIPの開発を進めるにあたって、そのプロジェクト名が必要になった。 その名前は、人気のあるテレビ番組の名前を参考に、次世代IP(IP-The Next Generation) と名づけられた。その後、正式の版番号をプロトコルのヘッダの中にいれることを決定した。 しかし、版番号5は実験的なST(ストリームプロトコル)に割り当てられていたため、 IPのバージョンは6となった。
日本では、ISPに対してIPv6アドレスはAPNICから割り当てられる(IPv4はJPNICから割り当てられる)。 IPv4は割り当ての際、厳密な審査が入るが、IPv6ではアドレスの枯渇に関する審査はない。 ただし、きちんと運営できるという条件は課せられる。
ベースヘッダ+(拡張ヘッダ)+データ領域という形からなる。 最小のデータグラムは、ベースヘッダ+データ領域である。 経済性と拡張性という理由からこのような形式を使うことに決定した。
バージョン番号。
性能の保証を必要とする新しいアプリケーションに使用されることが意図される。
ペイロードのサイズを表す。(ヘッダのサイズは含まない)
後続のヘッダタイプを指定する。もしも、拡張ヘッダを持つならば、 拡張ヘッダのタイプを指定する。逆に、拡張ヘッダを持たないならば、 データのタイプを指定する。
中継限界数。IPv4のTIME TO LIVEフィールドに相当する。
base header |
TCP header |
TCPデータ |
---|
base header |
routing header |
fragment header |
TCP header |
TCPデータ |
---|
拡張ヘッダのサイズは、データごとに変わりうるので、 そのサイズ情報を格納しなければならない。よって、次のような形式になる。
IPv6にて、フラグメントは送信者において行われる (ルータがフラグメンテーションを実行することはない)。 そのためには、あらかじめ転送ルートの最小MTU(path MTU)を知っておかなければならない。 パスMTU検出のためには、一般的に繰り返しの手順を用いる。 ホストは、一連のサイズのデータグラムを送信することによって、 最適なサイズを見つける。
0. 中継点オプション・ヘッダ (Hop-by-Hop Options Header) 1. ICMP 4. IPv4 ヘッダ 6. TCP ヘッダ 13. UDP ヘッダ 41. IPv6 ヘッダ 43. 経路制御ヘッダ (Routing Header) 44. 断片ヘッダ (Fragment Header) 50. 暗号ペイロード 51. 認証ヘッダ 58. ICMPv6 60. 終点オプション・ヘッダ (Destination Options Header) |
IPv4のようにドット区切り10進記法を用いると、 非常に長くなってしまうので、IPv6ではコロン16進記法を用いる。
F9DC:45a4:FFFF:FFFF:0:124B:88CA:FFFF
先頭の0は省略可能である。
0:0:0:FF02:0:0:0:1 ↓ FF02:0:0:0:1
さらに連続する0は :: に置き換え可能である。(→ゼロ圧縮 zero compression)
FF02:0:0:0:1 ↓ FF02::1
プレフィックス長は "/" の後に 0〜128で指定する。
3FFE:10A::/16
IPv6は与えられたネットワーク上へのブロードキャスト用の特別アドレスを持っていない。 その代わりに、IPv6は次の3つの基本タイプを使う。
特定の単一コンピュータとの通信。
ある集合へ向けての配信。そのアドレスへ向けてデータを配信すると、 集合の中の各メンバへデータグラムのコピーが配信される。
共通のアドレスプレフィックスを共有する集合のコンピュータに対応する。 送信者は集合のなかのコンピュータの最短のパスを1つ選択し、 1つのコンピュータに対してのみデータを送信する。
000 特殊なアドレス 001 経路集約型アドレス 010 未割り当て (was プロバイダ型アドレス) 011 未割り当て (was 地域型アドレス) 100 未割り当て 101 未割り当て 110 未割り当て 111 リンクローカル、サイトローカル、マルチキャスト ※ ブロードキャストは無くなった。 |