IPv6 ND配置舉例
關鍵詞:IPv6 ND
摘 要:本文主要介紹IPv6 ND的應用及其典型配置。
縮略語:
縮略語 | 英文全名 | 中文解釋 |
ARP | Address Resolution Protocol | 地址解析協議 |
FIB | Forwarding Information Base | 轉發信息表 |
ICMPv6 | Internet Control Message Protocol version 6 | 因特網控製報文協議第6版 |
IPv6 | Internet Protocol version 6 | IP協議第6版 |
NA | Neighbor Advertisement | 鄰居通告 |
ND | Neighbor Discovery | 鄰居發現 |
NS | Neighbor Solicitation | 鄰居請求 |
RA | Router Advertisement | 路由器通告 |
RS | Router Solicitation | 路由器請求 |
目 錄
IPv6鄰居發現協議(IPv6 ND,簡稱ND)是IPv6的一種基礎協議,它利用NA、NS、RA、RS和重定向五種類型的ICMPv6消息,來確定鄰居節點之間關係和地址信息,實現地址解析、驗證鄰居是否可達、重複地址檢測、路由器發現/前綴發現、地址自動配置和重定向等功能。
鄰居發現協議代替了IPv4中的ARP、ICMP路由器發現(Router Discovery)和ICMP重定向消息(Redirect Message),並提供了一係列增強功能,保障了設備的安全性。
在IPv6通信過程中始終需要運行ND協議。例如,通信節點間轉發IPv6報文、主機和路由器間交換IPv6地址配置信息時,都需要使用ND協議獲得鏈路層地址、鄰居可達性等必要的信息。
主機通過ND可以實現:
l 發現鄰居路由器;
l 自動獲取地址前綴和其他相關配置參數。
路由器通過ND可以實現:
l 發布路由器的存在、主機配置參數和地址前綴;
l 通知主機向特定目的地址轉發報文的理想下一跳地址。
通過ND,主機和路由器還可以實現:
l 解析鄰居節點的鏈路層地址;
l 按照一定機製維護鄰居信息。
一般情況下,ND默認的配置就可以滿足普通用戶的需求,但是,下麵兩種情況下,需要在設備上進行ND的配置:
l 網絡狀態不穩定或網絡中存在安全隱患時,為了保證設備間通信穩定,需要調整部分參數;
l 設備為其他主機提供地址前綴信息時,需要對設備進行設置。
Device A作為網關設備,在2001::/64網段內發布地址前綴信息。該網段內的主機根據獲得的地址前綴信息自動配置IPv6地址,並實現通過該地址與外部網絡設備通信。
圖1 IPv6 ND典型配置組網圖
(1) 為了使網關設備Device A發布IPv6地址前綴,需要在Device A上進行如下配置:
l 使能IPv6報文轉發功能,並配置各個接口的IPv6地址(必選)。
l 取消對RA消息發布的抑製,使設備能夠從接口上發送RA消息(必選)。
l 配置RA消息中的前綴信息,以便主機根據該前綴信息自動配置IPv6地址(可選,缺省情況下,使用發送RA消息的接口IPv6地址作為RA中的前綴信息)。
l 修改RA消息中的被管理地址配置標誌位。該標誌位為1時,主機將通過有狀態自動配置(例如DHCP服務器)來獲取IPv6地址;該標誌位為0時,將通過無狀態自動配置獲取IPv6地址,即根據自己的鏈路層地址及路由器發布的前綴信息生成IPv6地址。在本配置舉例中,被管理地址配置標誌位需要配置為0(可選,缺省情況下,被管理地址的配置標誌位為0)。
(2) 為了使主機能夠根據收到的地址前綴信息自動配置IPv6地址,主機上需要安裝IPv6協議(必選)。
(3) 為了保證主機可以和Device B通信,在Device B上需要進行如下配置:
l 使能IPv6報文轉發功能,並配置各個接口的IPv6地址(必選)。
l 配置靜態路由或動態路由協議,使得Device B上存在到達主機所在網段的路由(必選)。
& 說明:
l 以下配置均是在實驗室環境下進行的配置和驗證,配置前設備的所有參數均采用出廠時的缺省配置。如果您已經對設備進行了配置,為了保證配置效果,請確認現有配置和以下配置不衝突。
l 本文檔不嚴格與具體軟、硬件版本對應。
# 使能IPv6報文轉發功能。
<DeviceA> system-view
[DeviceA] ipv6
# 配置接口Ethernet1/1的IPv6地址。
[DeviceA] interface ethernet 1/1
[DeviceA-Ethernet1/1] ipv6 address 2001::1/64
# 允許接口Ethernet1/1發送RA消息。
[DeviceA-Ethernet1/1] undo ipv6 nd ra halt
# 指定發布的地址前綴為2001::/64,該前綴的有效生命期為86400秒,首選生命期為3600秒。
[DeviceA-Ethernet1/1] ipv6 nd ra prefix 2001::/64 86400 3600
[DeviceA-Ethernet1/1] quit
# 配置接口Ethernet1/2的IPv6地址。
[DeviceA] interface ethernet 1/2
[DeviceA-Ethernet1/2] ipv6 address 3001::1/64
[DeviceA-Ethernet1/2] quit
[DeviceA] display current-configuration
#
ipv6
#
interface Ethernet1/1
port link-mode route
ipv6 address 2001::1/64
ipv6 nd ra prefix 2001::/64 86400 3600
undo ipv6 nd ra halt
#
interface Ethernet1/2
port link-mode route
ipv6 address 3001::1/64
#
return
# 使能IPv6報文轉發功能。
<DeviceB> system-view
[DeviceB] ipv6
# 配置接口Ethernet1/1的IPv6地址。
[DeviceB] interface ethernet 1/1
[DeviceB-Ethernet1/1] ipv6 address 3001::2/64
# 配置到達Host所在網絡2001::/64的IPv6靜態路由,下一跳地址為3001::1。
[DeviceB] ipv6 route-static 2001:: 64 3001::1
[DeviceB] display current-configuration
#
ipv6
#
interface Ethernet1/1
port link-mode route
ipv6 address 3001::2/64
#
ipv6 route-static 2001:: 64 3001::1
#
return
Host上需安裝IPv6協議,根據IPv6鄰居發現協議,自動發現鏈路上路由器並配置IPv6地址。下麵僅以安裝了Windows XP操作係統的PC作為Host為例,說明IPv6 ND的配置過程。
(1) 進入命令行模式,運行如下命令安裝IPv6協議。
C:\> ipv6 install
Installing...
Succeeded.
(2) 安裝成功後,檢查網卡是否已經獲得IPv6鏈路本地地址。
C:\> ipconfig
Windows IP Configuration
Ethernet adapter 本地連接:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.1.17
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IP Address. . . . . . . . . . . . : fe80::20d:88ff:fef8:dd7%6
Default Gateway . . . . . . . . . :
其中,地址後麵的“%6”指的是第6個IPv6接口,通過ipv6 if命令可以查看PC上有哪些IPv6接口。
(3) 當PC收到Device A對外定期發布的IPv6地址前綴2001::/64時,無需任何命令,就會自動生成以2001::/64為前綴的全球單播地址。
通過以下方式可以驗證配置是否成功:
(1) 檢查PC上是否自動生成IPv6全球單播地址
l 在PC上利用如下命令可以查看自動生成的IPv6地址:
C:\> ipconfig
Windows IP Configuration
Ethernet adapter 本地連接:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.1.17
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IP Address. . . . . . . . . . . . : 2001::dc36:939:d072:7d3f
IP Address. . . . . . . . . . . . : 2001::20d:88ff:fef8:dd7
IP Address. . . . . . . . . . . . : fe80::20d:88ff:fef8:dd7%6
Default Gateway . . . . . . . . . : fe80::20f:e2ff:fe00:1024%6
通過上麵的信息可以看出:Host獲得的IPv6全球單播地址為2001::DC36:939:D072:7D3F和2001::20D:88FF:FEF8:DD7;Host的缺省網關為Device A上接口Ethernet1/1的鏈路本地地址FE80::20F:E2FF:FE00:1024。
& 說明:
l 需要注意的是獲得網絡地址前綴後,Windows XP會生成兩個全球單播地址,其中一個地址的接口ID根據接口的MAC地址自動生成,另一個地址的接口ID為隨機生成,通信時可以選用接口ID隨機生成的全球單播地址,以確保根據MAC地址自動生成的接口ID不會被泄漏出去。
l 在Windows Server 2003上,取消了隨機生成接口ID的功能。
l 也可以從發布RA消息的對端設備Device A上獲得Host的IPv6地址信息:
[DeviceA] display ipv6 neighbors interface ethernet 1/1
Type: S-Static D-Dynamic
IPv6 Address Link-layer VID Interface State T Age
FE80::20D:88FF:FEF8:DD7 000d-88f8-0dd7 N/A Eth1/1 REACH D 1
2001::20D:88FF:FEF8:DD7 000d-88f8-0dd7 N/A Eth1/1 REACH D 11
(2) 在Host、Device A和Device B上可以使用Ping命令檢查和其它設備的互通性
# 在Device B上檢查是否可以Ping通Device A。
[DeviceB] ping ipv6 -c 1 3001::1
PING 3001::1 : 56 data bytes, press CTRL_C to break
Reply from 3001::1
bytes=56 Sequence=1 hop limit=64 time = 6 ms
--- 3001::1 ping statistics ---
1 packet(s) transmitted
1 packet(s) received
0.00% packet loss
round-trip min/avg/max = 6/6/6 ms
# 在Device B上檢查是否可以Ping通Host。
[DeviceB] ping ipv6 -c 1 2001::20D:88FF:FEF8:DD7
PING 2001::20D:88FF:FEF8:DD7 : 56 data bytes, press CTRL_C to break
Reply from 2001::20D:88FF:FEF8:DD7
bytes=56 Sequence=1 hop limit=63 time = 17 ms
--- 2001::20D:88FF:FEF8:DD7 ping statistics ---
1 packet(s) transmitted
1 packet(s) received
0.00% packet loss
round-trip min/avg/max = 17/17/17 ms
同樣,在Host上也可以Ping通Device A和Device B。
l RFC 2461: Neighbor Discovery for IP version 6 (IPv6)
l RFC 2463: Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification
Copyright ©2008 杭州華三通信技術有限公司 版權所有,保留一切權利。
非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部,並不得以任何形式傳播。
本文檔中的信息可能變動,恕不另行通知。