【實驗目的】
掌握Windows XP 環境下IPv6協議棧的安裝和卸載;瞭解Windows XP對IPv6協議的支持。
【技術原理】
- IPv6地址
IPv4地址是類似 A.B.C.D 的格式,是32位,用"."分成四段,10進製表示;
IPv6地址類似X:X:X:X:X:X:X:X的格式,是128位,用":"分成8段,16進製表示。
例如:2001: 0da8:8000:6081:0001:0000:0000:0001
爲了簡化其表示法,rfc2373提出每段中前面的0可以省略,連續的0可省略爲"::",但只能出現一次。以上例子即成爲:2001:da8:8000:6081:1::1
IPv6地址被分成兩個部分:子網前綴和接口標識符,因此可以按照類似CIDR地址的方式被表示爲一個帶額外數值的地址,其中該數值指出了地址中有多少位是代表網絡部分(網絡前綴),即IPv6節點地址中指出了前綴長度,該長度與IPv6地址間以斜槓區分,例如:2001::1/64,這個地址中用於選路的前綴長度爲64位。
- 不同類型的 IPv6 單播地址
- 全局地址: 類似公共 IPv4 地址。全局地址在 Internet 的 IPv6 部分中全局可訪問, 地址通常以“2”或“3”開頭。
- 本地鏈路(Link-local) 地址:類似IPv4自動專用 IP 尋址 (APIPA) 地址 (169.254.0.0/16),本地鏈路地址用於特定的鏈路,通常以“fe80”開頭。
- 本地站點(Site-local) 地址: 類似專用 IPv4 地址,本地站點地址用於企業的 Intranet,並可重複用於企業的不同站點。通常以“fec”、“fed”、“fee”或“fef”開頭。RFC 3879 並不推薦使用本地站點地址。
- 嵌有IPv4地址的IPv6地址:按照一種混合方式表達,即X : X : X : X : X :X : d . d . d . d,其中X表示一個1 6位整數,而d表示一個8位的十進制整數。例如,地址0 : 0 : 0 : 0 : 0 : 0 : 192 .168 . 168. 1就是一個合法的IPv6地址。使用簡寫的表達方式後,該地址也可以表示爲:: : 192 .168 . 168 . 1
- 本地鏈路地址
缺省情況下,Windows XP的IPv6 協議會爲已經安裝的以太網絡適配器所對應的每個接口都配置一個本地鏈路地址,其前綴是 FE80::/64。IPv6 地址的最後 64 位稱爲接口標識符,它派生自網絡適配的 48 位 MAC 地址:
把十六進制數 0xFF-FE 插入到 MAC 地址的第三和第四個字節之間;
對MAC 地址第一個字節的第二個低位取補碼(如果它是 1,那它就要被設置成 0;如果它是 0,它就要被設置成 1)。
【例如】MAC 地址是 00-60-08-52-F9-D8:
- 把十六進制數 0xFF-FE 插入到 MAC 地址的 0x08 (第三個字節)和 0x52 (第四個字節)中間,構成了 64 位的地址 00-60-08-FF-FE-52-F9-D8。
- 0x00 的第二個低位是0,在取補碼之後變成了 1。其結果是,第一個字節的0x00 變成了 0x02。
- 相對應的接口標識符是 02-60-08-FF-FE-52-F9-D8。
示例節點的本地鏈路地址是 FE80::260:8FF:FE52:F9D8,它帶有前綴 FE80::/64 和接口標識符 02-60-08-FF-FE-52-F9-D8。
- 安裝了IPv6協議後,會自動配置fe80::/10 的本地鏈路地址,用於單一鏈路,可自動鄰機發現,相當於IPv4的局域網,就可以做IPv6的研究實驗。
- Windows XP默認不支持IPv6協議,但是系統通過IPv6.sys文件集成了IPv6功能模塊,需要時可以安裝並激活該功能。在Windows環境下安裝IPv6協議棧有兩種方法:命令行方式和窗口操作。
【實驗設備】
雙協議棧PC機(1臺)、直連線(1根)
【實驗拓撲】
實驗步驟:
1在主機上安裝IPv6協議
在命令提示符下輸入:c:> ipv6 install
2 各種IPv6的命令
ipv6 if ! 查看本地鏈路地址及其相應的接口號
ipconfig /all !顯示所有適配器的完整 TCP/IP 配置信息
顯示信息說明:
Ethernet adapter Network Lab:
Description . . . . . . . . . . . : Realtek RTL8168C(P)/8111C(P) Family PCI-E GBE NIC
Physical Address. . . . . . . . . : 00-25-64-E9-9E-8F
Dhcp Enabled. . . . . . . . . . . : No
。。。
IP Address. . . . . . . . . . . . : fe80::225:64ff:fee9:9e8f%5 !本地鏈路地址,接口ID爲5
DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%2 !3個DNS 服務器的已知單播地址
fec0:0:0:ffff::2%2
fec0:0:0:ffff::3%2
Ethernet adapter 本地連接 2:
Description . . . . . . . . . . . : Realtek RTL8139 Family PCI Fast Ethernet NIC
Physical Address. . . . . . . . . : 50-78-82-82-5F-D4
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.2.13
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IP Address. . . . . . . . . . . . : fe80::5278:82ff:fe82:5fd4%6 !本地鏈路地址,接口ID6
Default Gateway . . . . . . . . . : 192.168.2.254
DNS Servers . . . . . . . . . . . : 202.120.2.101
fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
Tunnel adapter Teredo Tunneling Pseudo-Interface: !隧道適配器 Teredo 隧道虛擬接口
Teredo:通過網絡地址轉換器 (NAT) 發送 IPv4 封裝的 IPv6 數據包的 IPv6 轉換技術。對於該主機,Teredo 未處於活動狀態。只對隧道虛擬接口分配了本地鏈路地址 以及接口ID 4。
Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
Physical Address. . . . . . . . . : FF-FF-FF-FF-FF-FF-FF-FF
。。。
IP Address. . . . . . . . . . . . : fe80::ffff:ffff:fffd%4
Tunnel adapter Automatic Tunneling Pseudo-Interface: !隧道適配器自動隧道虛擬接口
ISATAP:通過 Intranet 發送 IPv4 封裝的 IPv6 數據包的 IPv6 轉換技術。 Description . . . . . . . . . . . : Automatic Tunneling Pseudo-Interfac
Physical Address. . . . . . . . . : C0-A8-A8-0D
。。。
IP Address. . . . . . . . . . . . : fe80::5efe:192.168.168.13%2 !本地鏈路地址,接口ID2
ping6 ::1 !確認本地迴環地址是否響應。
ipv6 nc !查看鄰居緩存
ping6 FE80::225:xxxx:xxxx:xxxx%5 ! ping6同組主機的另一個本地鏈路地址,要加接口ID
ping6 FE80::5278:xxxx:xxxx:xxxx%6 !另一塊網卡
ipv6 rc ! 查看路由緩存
【注意事項】
通常安裝IPv6協議棧後,一塊網卡默認網絡接口有4個,interface 1 用於迴環接口,interface 2用於自動隧道虛擬接口,interface 3用於6to4隧道虛擬接口,interface 4用於正常的網絡連接接口,即IPv6地址的單播接口。如有多塊網卡,後面還有其他接口。
1.激活IPv6功能
默認情況下,Cisco設備的IPv6流量轉發功能是關閉的,需要使用IPv6,必須先開啓IPv6流量轉發功能。
(1)開啓IPv6流量轉發功能
r1(config)#ipv6 unicast-routing
2.配置正常的IPv6地址
(1)在接口下配置正常IPv6地址
r1(config)#int f0/0
r1(config-if)#ipv6 address 2011:1:2:3:1:1:1:1/64
說明:配置的地址前64位爲網絡地址,即2011:1:2:3;後64位爲主機位,即1:1:1:1。
(2)查看接口的IPv6地址
r1#show ipv6 interface brief f0/0
FastEthernet0/0 [up/up]
FE80::C200:EFF:FEB0:0
2011:1:2:3:1:1:1:1
r1# r1#
說明:可以看到接口F0/0已經接受我們配置的地址2011:1:2:3:1:1:1:1。
3.使用EUI-64格式配置靜態地址:
(1)配置包含EUI-64的IPv6地址
r1(config)#int f0/1
r1(config-if)#ipv6 address 2022:2:2:22::/64 eui-64
(2)查看接口的IPv6地址
r1#show interfaces f0/0
FastEthernet0/0 is up, line protocol is up
Hardware is Gt96k FE, address is c000.0eb0.0000 (bia c000.0eb0.0000)
r1#show ipv6 interface brief f0/1
FastEthernet0/1 [up/up]
FE80::C200:EFF:FEB0:1
2022:2:2:22:C200:EFF:FEB0:1
r1#
說明:可以看到,F0/1成功使用接口上的MAC地址爲EUI-64來填充後64位。
4.僅啓用接口IPv6功能
說明:一個接口上可以僅啓用IPv6功能,而不配置IPv6地址
(1)啓用接口IPv6功能
r1(config)#int s1/0
r1(config-if)#ipv6 enable
(2)查看接口IPv6狀態
r1#show ipv6 interface brief serial 1/0
Serial1/0 [up/up]
FE80::C200:EFF:FEB0:0
r1#
可以看到,接口S1/0可以只開啓IPv6功能而不配地址,但開了IPv6功能的接口也會自動產生一個鏈路本地地址。
5.配置無編號地址
當地址緊缺時,可以配置一個接口使用另外一個接口的地址,這樣的地址稱爲無編號地址,即unnumbered地址,當從無編號接口產生數據包時,該接口使用借用的那個接口的地址作爲源地址,配置這樣的地址,需要允許雙方不同網段協議的配合。
(1)爲接口配置無編號地址
r1(config)#int s1/1
r1(config-if)#ipv6 unnumbered f0/0
(2)查看接口IPv6地址情況。
r1#show ipv6 interface brief serial 1/1
Serial1/1 [up/up]
FE80::C200:EFF:FEB0:0
unnumbered (FastEthernet0/0)
r1#
說明:可以看到結果顯示爲接口S1/1借用F0/0的地址。