Tunnel(ISATAPの仕組み)その2

ここでは、「Tunnel(ISATAPの仕組み)その1」の続きです。ISATAPの通信の流れについて解説していきます。

 ISATAPでは、プレフィックスを自由に指定することができます。R1ルータ、PC1のインターフェイスのIPv6アドレスの関係は下図のとおりです。

ISATAPトンネルの作成

 Tunnel 0のプレフィックスに単純な「2001:1:1:1/64」を、R1ルータのF0/0のIPv4アドレスを「10.0.0.1/24」を、PC1のIPv4アドレスを「10.0.0.2/24」を指定すると下図のようになります。

設定コマンドは、以下のとおりです。

R1(config)#interface tunnel 0
R1(config-if)#tunnel source f0/0
R1(config-if)#address 2001:1:1:1::/64 eui-64
R1(config-if)#no ipv6 nd ra suppress
R1(config-if)#tunnel mode isatap

ISATAPのプロセス

R1ルータ(ISATAPルータ)とPC1(ISATAPホスト)間でISATAPトンネルが設定されると

①PC1は、R1ルータにRS(ルータ要請)を送信する。

②R1ルータ(ISATAPルータ)は、RA(ルータ広告)でIPv6プレフィックス「2001:1:1:1/64」を通知する。

③PC1はIPv6アドレスを生成する。

①~③のプロセスが実行されることで、PC1は、IPv6接続ができるようになります。

 PC1は、グローバルユニキャストアドレスを自動生成する際に、通知されたIPv6プレフィックス「2001:1:1:1/64」とISATAP識別子である「0000:5EFE」、残りの32ビットに自身のIPv4アドレス「10.0.0.2/24」を16進数に変換して生成します。

 また、PC1デフォルトゲートウェイとして、ルータのLLA(リンクローカルアドレス)である「FE80::5EFE:0A01:0101」を設定します。

ここまでのR1ルータ、PC1のIPアドレスをまとめたものが下表となります。

デバイスインターフェイスIPv4 アドレスIPv6 アドレス
R1F0/010.1.1.1/24該当なし
Tunnel 0該当なしGUA 2001:1:1:1:0:5EFE:0A01:0101
LLA  FE80::5EFE:0A01:0101
PC1F010.1.1.2/24GUA 2001:1:1:1:0:5EFE:0A01:0102
LLA  FE80::5EFE:0A01:0102
デフォルトゲートウェイ
FE80::5EFE:0A01:0101

ISATAPの通信

PC1からIPv6ネットワークへ通信するときは、IPv6パケットをデフォルトゲートウェイに転送します。

 その際、IPv6パケットに、R1ルータのIPv4アドレスを宛先とするIPv4ヘッダーを付加して送信します。IPv4でカプセル化されたパケットを受け取ったR1ルータは、IPv4ヘッダーを取り除き、IPv6パケットを取り出して、IPv6ネットワークの宛先に転送します。

 IPv4のデフォルトゲートウェイのアドレスは、IPv6のデフォルトゲートウェイのアドレスに埋め込まれたIPv4アドレスから求めることができます。

ルーティングについて

 ISATAPトンネルを設定する際は、指定したプレフィックスでルーティングされるように配慮しなければいけません。例えば、下図でいうと、R2ルータは、プレフィックスの「2001:1:1:1/64」ルートをルーティングプロトコルなり、スタティックルートで学習する必要があります。

デュアルスタックホストの設定

 デュアルスタックホストのは、コマンドで、ISATAPトンネルを設定したR1ルータのIPv4アドレスを指定します。コマンドプロンプトで以下のコマンドを実行します。

C:> netsh interface ipv6 isatap set router 10.1.1.1

関連コンテンツ