EN
首頁 / 全部資訊 / 知識百科 / IPv6之ISATAP隧道技術詳解(二)

IPv6之ISATAP隧道技術詳解(二)

時間:2021-09-21 13:01 發布:http://www.gdf03.com 閱讀量:44

四、典型實驗

環境描述

PC是ISATAP主機,它是一臺雙棧PC,這里我們使用的是一臺win7系統的電腦做測試。電腦網卡的IP地址為1.1.1.1/24,網關為1.1.1.254,網關是SW1的interface vlan10。

SW1創建兩個VLAN:VLAN10及20,分別對應PC及ISATAP路由器。VLAN20的SVI口IP為2.2.2.254,是ISATAP路由器的默認網關。

ISATAP Router的接口IP為2.2.2.2。該IPv4地址在后續的ISATAP配置中使用到,ISATAP主機就是通過這個IP找到ISATAP Router并與之建立ISATAP tunnel。ISATAP Router同時連接到了一個IPv6網絡,這里我們用loopback模擬:2001:8888::8/64,用于后續的測試。

最終的實驗結果是首先PC要能夠ping通ISATAP Router的IPv4地址也就是2.2.2.2。然后PC與ISATAP router建立隧道并拿到IPv6地址,而且要能夠ping通20001:8888::8

設備配置

PC1的配置:

網卡配置IP地址1.1.1.1/24,網關為1.1.1.254

安裝IPv6協議棧,此時Win7會自動產生一個ISATAP隧道虛擬接口:

隧道適配器 isatap.{0DB7233C-89B7-49DB-A8C0-D1AA005F4E6A}:

SW1的配置:

vlan 10

vlan 20

interface fast0/1

switchport access vlan 10

interface fast0/15

switchport access vlan 20

interface vlan 10

ip address 1.1.1.254 255.255.255.0

interface vlan 20

ip address 2.2.2.254 255.255.255.0

Router的配置:

ipv6 unicast-routing

!

interface FastEthernet0/0

ip address 2.2.2.2 255.255.255.0

no shutdown

!

interface Tunnel1

ip unnumbered  fastEthernet 0/0               !! 這個IPv4地址就是ISATAP隧道的目的地址ipv6 enableipv6 address 2001:1111::/64 eui-64            !! 這個IPv6地址的前綴會被通告給ISATAP主機no ipv6 nd suppress-ratunnel source fastEthernet 0/0

tunnel mode ipv6ip isatap

!

interface loopback0

ipv6 enable

ipv6 address 2001:8888::8/64

!

ip route 0.0.0.0 0.0.0.0 2.2.2.254

注意ISATAP路由器的配置,關鍵部分在于tunnel的配置,tunnel模式是ipv6ip isatap的,同時注意在tunnel這里配置的IPV4地址,就是對應的ISATAP主機上配置的那條CMD命令里ISATAP路由器的地址。

我們這個實驗演示的是tunnel直接用fa0/0的地址,當然,tunnel也可以有自己的IPv4地址,只要保證ISATAP主機到這個IPv4地址路由可達就行。

另外tunnel的IPv6地址,對應的前綴就是稍后要下發給ISATAP主機的前綴,這個實驗中,我們tunnel的IPv6全局單播地址使用的是前綴+eui-64的配置方式,這里的eui-64實際上指的就是前面我們介紹的那個特殊的64bits接口標識。

實驗測試

我們首先在路由器上查看一下:

R2#show ipv6 interface brief

FastEthernet0/0            [up/up]

Tunnel0                    [up/up]

FE80::5EFE:202:202

2001:1111::5EFE:202:202

注意,這里的Linklocal地址:FE80::5EFE:202:202就是一個ISATAP 格式的地址,最后的64bits是由32bits的0000:5EFE加上32bits的接口IPv4地址(這里是2.2.2.2)構成的。

如下圖。而IPv6全局單播地址,也是使用64bits的接口標識構成的,當然,你也可以手工配置IPv6全局單播地址,不一定要使用接口標識。

接下去,我們在ISATAP主機上,CMD模式下輸入:

netsh interface ipv6 isatap set router 2.2.2.2PC就會開始發送RS,報文如下:

我們看到這個RS的ICMPv6報文外是IPv6的頭,IPv6的頭外是IPv4的頭。注意外層IPv4的頭,源是1.1.1.1,目的是2.2.2.2。然后內層IPv6的頭,源是ISATAP主機的Linklocal地址,目的是ISATAP路由器的Linklocal地址。

在路由器收到RS后回回應一個RA:

路由器回應的這個RA里,就有一個ICMPv6的Option,其中就包含著ISATAP路由器的IPv6前綴。而ISATAP主機就可以根據這個前綴,結合自己的接口標識構建IPv6地址。

最終PC獲取到的IPv4地址如下:

我們看到PC首先根據自己本地配置的IPv4地址:1.1.1.1,生成64bits的接口ID:

這個64bits的接口ID,與從ISATAP路由器獲取到的IPv6全局單播地址前綴2001:1111::的前64bits,構成了PC的IPv6全局單播地址:2001:1111::200:5efe:1.1.1.1。

這個64bits的接口ID,與FE80::/10構成了PC的Linklocal地址:fe80::200:5efe:1.1.1.1。同時,PC將ISATAP路由器的Linklocal地址fe80::5efe:2.2.2.2設置為默認網關。

當主機與其它IPv6主機進行通訊時,從隧道接口轉發,將從報文的下一跳IPv6地址中取出IPv4地址作為IPv4封裝的目的地址。如果目的主機在本站點內,則下一跳就是目的主機本身,如果目的主機不在本站點內,則下一跳為ISATAP路由器的地址。

我們最后再做一個測試,就是ISATAP主機去ping 2008:8888::1。

這個到達ISATAP的loopback的IPv6數據包,被套上一個ISATAP的IPv4隧道頭,然后傳給ISATAP路由器,由路由器進行下一步的IPv6轉發。

以上就是IPv6之ISATAP隧道技術詳解(二)的介紹,Vecloud為客戶提供豐富的IPV6網絡專線解決方案,主要國家包含日本、韓國、倫敦、法蘭克福、洛杉磯、圣何塞、華盛頓、印度、迪拜、南非等均可隨時提供網絡專線和IP傳輸服務。

400-028-9798
vecloud-微云
97色色色