IPv6
IPv4では,IPアドレスは32ビットで構成されており,232≒43億個ですが,クラスなど非効率的な割り振りをしてきたために,インターネットの普及に伴い枯渇してしまいました(注)。それを引き金として,これまでのIPが持つ不便な事項を一挙に解決するべきだとして,IPv6が採用されました。
未だIPv4が広く用いられていますが,IPv6は多くの利点や適用分野があるので,着実に伸びてきています。IPv4とIPv6を共存させる技術も確立しています。
IPv6のヘッダを示します。狭義のIPv6ヘッダ(基本ヘッダ)と、付加的情報を与える拡張ヘッダ、データからなっています。
IPv6ヘッダ
フィールド名 ビット 説明
バージョン(ver) 4 IPのバージョン。6が入る
トラフィッククラス 8 IPv4のToSに相当。パケット送信時QoSを指定
フローラベル 20 QoSの内容。通信経路の品質確保、経路の優先選択のために使用
ペイロード長 16 ヘッダを含まないIPペイロードの長さ
ネクストヘッダ 8 IPv4のプロトコルに相当。上位プロトコルや拡張ヘッダを指定
上位プロトコルを指定したときは拡張ヘッダは不要
ホップリミット 8 IPv4のTTLに相当。通過できるホップ数
送信元アドレス 128 送信元のIPv6アドレス
宛先アドレス 128 宛先のIPv6アドレス
(IPv4でのヘッダチェックサムはTCPで行うのでIPとしては削除)
拡張ヘッダ(次のような機能を任意個数指定可能)
プロトコル名称 ポート 機能
ルーティングヘッダ 43 経由するルータを指定
暗号化(ESP) 50 データの暗号化
認証ヘッダ(AH) 51 完全性の確保
ICMPヘッダ 58 IPv6でのICMPで使用
宛先オプション 60 宛先側での処理
データ(TCP/UDPヘッダ+データ)
IPv6では,IPアドレスは128ビットです。2128=3.4×1038ですから,事実上無限に近い個数になります。
しかし、すべてグローバルIPアドレスにするのでは無駄が生じることが考えられますし、管理上面倒なこともあります。それでプライベートIPアドレスに相当するULA(Unique Local Address)があります。
桁数が多いので128ビットを16ビットごとの8個にわけて,それぞれを16進数で表現するようにしました。次のような表現があります。
2進法表現
0001 0000 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 1000 0000 1000 0000 0000 0010 0000 0000 1100 0100 0001 0111 1010
16進表現
1080:0:0:0:8:800:200C:417A (16桁ごとに:で区切る)
16進表現(簡略)
1080::8:800:200C:417A (連続した0は::にできる。1ヶ所のみ)
IPv6に対応していないシステムやアプリケーションが多いので、異なるプロトコルでの通信(相互運用性)が必要です。いくつかの方式があります。これらの方式は、プロバイダのWebサーバやメールサーバに装備されるものであり、一般の利用者は特に意識する必要はありません。