IPv6では,現在のインターネットに即した技術が導入されています。今回は,IPv6のヘッダについての説明と,IPv6の新しい技術について説明します。
IPv6ヘッダ
IPv6は新たな技術を導入しており,それはヘッダにも現れています。IPv4のヘッダをより使いやすい形で変更していることになります。IPv6ヘッダは40オクテット,IPv4ヘッダの20オクテットの倍にはなっています。その内32オクテットはIPv6アドレスであり,それ以外の部分はわずか8オクテットです。IPv4ヘッダは20オクテットのうち8オクテットがアドレスであり,それ以外は12オクテットで,IPv6ヘッダの方がよりシンプルになっていることがわかります。ヘッダに含まれる項目も,IPv4の12個から,IPv6では7個に減っていることからもそれがわかります。
また,IPv4ヘッダは可変長(20オクテットに任意長のオプション)でしたが,IPv6では40オクテットの固定長ヘッダになっています。固定長のヘッダはルータにとって処理負荷がかからないというメリットがあります(図1)。
図1 IPv4・IPv6ヘッダ
上の図1に記したヘッダのフィールドのIPv4ヘッダの背景色は,同色のIPv6ヘッダのフィールドと対応しています。また,灰色が背景色のフィールドはIPv6では廃止されたフィールドです。IPv6ヘッダのフローラベルフィールドはIPv6で新設されたフィールドになります。IPv6ヘッダのフィールドは次の通りになります。
フィールド名 | ビット | 説明 |
---|---|---|
バージョン | 4 | IPのバージョン。6が入る |
トラフィッククラス | 8 | QoSで使用するパケットのクラス |
フローラベル | 20 | QoSで使用するトラフィックフローにつけるタグ |
ペイロード長 | 16 | ヘッダを含まないIPペイロードの長さ |
次ヘッダ | 8 | IPデータグラム内の次のヘッダを示す |
ホップリミット | 8 | 通過できるホップ数 |
送信元アドレス | 128 | 送信元のIPv6アドレス |
あて先アドレス | 128 | あて先のIPv6アドレス |
QoS関連のフィールドが増設されており,逆に,基本的にはフラグメントをしなくなったためフラグメントに関するフィールドが無くなっているのが特徴です。さらに,レイヤ2ヘッダやレイヤ4ヘッダでもビットの誤り検査をしていることから,ヘッダチェックサムを廃止しているのも特徴といえるでしょう。
また,IPv4では上位プロトコルを示す「プロトコル」フィールドが,上位プロトコルのヘッダ(TCP/UDP)や,IGMP,IPsecなどのヘッダを考慮し,「次ヘッダ」フィールドとして定義されています。また,それら別のプロトコルのヘッダ以外でも,ソースルートを定義するルーティングヘッダ,モバイルIPやRSVPで使用するヘッダ,フラグメントを行うフラグメントヘッダなども使用できます。これらのヘッダはIPv6ヘッダ(基本ヘッダ)に続く「拡張ヘッダ」として扱われます。これらはIPv4のような可変長オプションが使用されません(図2)。
図2 IPv6拡張ヘッダ
また,IPv6では基本的にフラグメントは行われません。行う必要がある場合はIPv6よりも上位のレイヤで行われ,その場合拡張ヘッダとしてフラグメントヘッダが使用されることもあります。これはICMPによる「MTU発見」プロセスにより行われます。MTU発見プロセスはICMPにより,「Packet Too Big」を受け取った場合,段階的にMTUサイズを小さくして送信していく事により,あて先までのパス上で使用可能なMTUサイズを決定する方法です。
ステートレス自動設定
IPv6ではルータはローカルリンクに対し,64ビットのプレフィックスとデフォルトゲートウェイの情報を提供します。この機能(ステートレス自動設定)により,ホストは主にグローバルユニキャストアドレスとデフォルトゲートウェイを自動的に取得することができるようになり,ネットワークに接続するだけでよくなります(プラグアンドプレイ)。特に,ワイヤレスデバイス,VoIPフォン,情報家電などでIPv6インターネットに接続する事が容易になります。IPv6ステートレス自動設定は,「ルータ要求(Router Solication)」と,「ルータ広告(Router Advertise)」の2つのパケットのやりとりで成立します。これにはあて先アドレスFF02::1(全ノード)とFF02::2(全ルータ)のマルチキャストが使用されます(図3)。
図3 ステートレス自動設定
このステートレス自動設定とDAD(Duplicate Address Detection)による重複検出機能により,DHCPサーバのようなサーバがなくてもIPアドレスが自動設定されることになります。
ただし,このステートレス自動設定では,IPアドレスとデフォルトゲートウェイのみの通知となってしまい,実際で必要とされるDNSサーバなどの情報が入手できません。そのため,ステートフル自動設定としてDHCPv6(DHCP version 6)がRFC3776で定義されています。また,ステートレス自動設定を使用していても,DADにより重複が検知された場合は,ステートレス自動設定は使えず,ステートフル自動設定が必要になります。
モバイルIPv6
IPv4でも使用できますが,IPv6ではモバイルIPの使用を考慮して作られています。モバイルIPは現代のネットワークではとても重要になりつつあります。モバイルIPとは同一のIPアドレスを保持したまま,別ネットワークへ移動してもその接続性を維持するしくみです(図4)。
図4 モバイルIP
IPv6アドレスはモバイルでの使用を考えられて作られています。また,拡張ヘッダ(ルーティングヘッダ)を使用する事により,ルーティングの最適化を行い,コレポンデンスノード(モバイルノードと通信するマシン)からモバイルノード(移動するマシン)に直接パケットを送る事も可能になります。また拡張ヘッダによって,IP over IPによるトンネリングのオーバヘッドが小さくなっています。