13-IPv6鄰居發現配置
本章節下載: 13-IPv6鄰居發現配置 (403.76 KB)
目 錄
IPv6 ND(IPv6 Neighbor Discovery,IPv6鄰居發現)協議使用五種類型的ICMPv6消息,實現下麵一些功能:地址解析、驗證鄰居是否可達、重複地址檢測、路由器發現/前綴發現、地址自動配置和重定向等。
鄰居發現協議使用的ICMPv6消息的類型及作用如表1-1所示。
表1-1 鄰居發現協議使用的ICMPv6消息類型及作用
ICMPv6消息 |
類型號 |
作用 |
鄰居請求消息NS(Neighbor Solicitation) |
135 |
獲取鄰居的鏈路層地址 |
驗證鄰居是否可達 |
||
進行重複地址檢測 |
||
鄰居通告消息NA(Neighbor Advertisement) |
136 |
對NS消息進行響應 |
節點在鏈路層變化時主動發送NA消息,向鄰居節點通告本節點的變化信息 |
||
路由器請求消息RS(Router Solicitation) |
133 |
節點啟動後,通過RS消息向路由器發出請求,請求前綴和其他配置信息,用於節點的自動配置 |
路由器通告消息RA(Router Advertisement) |
134 |
對RS消息進行響應 |
在沒有抑製RA消息發布的條件下,路由器會周期性地發布RA消息,其中包括前綴信息選項和一些標誌位的信息 |
||
重定向消息(Redirect) |
137 |
當滿足一定的條件時,缺省網關通過向源主機發送重定向消息,使主機重新選擇正確的下一跳地址進行後續報文的發送 |
獲取同一鏈路上鄰居節點的鏈路層地址(與IPv4的ARP功能相同),通過鄰居請求消息NS和鄰居通告消息NA實現。如圖1-1所示,節點A要獲取節點B的鏈路層地址的過程為:
(1) 節點A以組播方式發送NS消息。NS消息的源地址是節點A的接口IPv6地址,目的地址是節點B的被請求節點組播地址,消息內容中包含了節點A的鏈路層地址和請求的目標地址。
(2) 節點B收到NS消息後,判斷報文的目標地址是否為自己的IPv6地址。如果是,則節點B可以學習到節點A的鏈路層地址,並以單播方式返回NA消息,其中包含了自己的鏈路層地址。
(3) 節點A從收到的NA消息中就可獲取到節點B的鏈路層地址。
在獲取到鄰居節點的鏈路層地址後,通過鄰居請求消息NS和鄰居通告消息NA可以驗證鄰居節點是否可達。
(1) 節點發送NS消息,其中目的地址是鄰居節點的IPv6地址。
(2) 如果收到鄰居節點的確認報文,則認為鄰居可達;否則,認為鄰居不可達。
當節點獲取到一個IPv6地址後,需要使用重複地址檢測功能確定該地址是否已被其他節點使用(與IPv4的免費ARP功能相似)。如圖1-2所示,通過NS和NA實現重複地址檢測的過程為:
(1) 節點A發送NS消息,NS消息的源地址是未指定地址::,目的地址是待檢測的IPv6地址對應的被請求節點組播地址,消息內容中包含了待檢測的IPv6地址。
(2) 如果節點B已經使用這個IPv6地址,則會返回NA消息。其中包含了自己的IPv6地址。
(3) 節點A收到節點B發來的NA消息,就知道該IPv6地址已被使用。反之,則說明該地址未被使用,節點A就可使用此IPv6地址。
路由器發現/前綴發現是指節點從收到的RA消息中獲取鄰居路由器及所在網絡的前綴,以及其他配置參數。
地址無狀態自動配置是指節點根據路由器發現/前綴發現所獲取的信息,自動配置IPv6地址。
路由器發現/前綴發現通過路由器請求消息RS和路由器通告消息RA來實現,具體過程如下:
(1) 節點啟動時,通過RS消息向路由器發出請求,請求前綴和其他配置信息,以便用於節點的配置。
(2) 路由器返回RA消息,其中包括前綴信息選項(路由器也會周期性地發布RA消息)。
(3) 節點利用路由器返回的RA消息中的地址前綴及其他配置參數,自動配置接口的IPv6地址及其他信息。
前綴信息選項中不僅包括地址前綴的信息,還包括該地址前綴的首選生命期(preferred lifetime)和有效生命期(valid lifetime)。節點收到周期性發送的RA消息後,會根據該消息更新前綴的首選生命期和有效生命期。
· 有效生命期:表示前綴有效期。在有效生命期內,通過該前綴自動生成的地址可以正常使用;有效生命期過期後,通過該前綴自動生成的地址變為無效,將被刪除。
· 首選生命期:表示首選通過該前綴無狀態自動配置地址的時間。首選生命期過期後,節點通過該前綴自動配置的地址將被廢止。節點不能使用被廢止的地址建立新的連接,但是仍可以接收目的地址為被廢止地址的報文。首選生命期必須小於或等於有效生命期。
當主機啟動時,它的路由表中可能隻有一條到缺省網關的缺省路由。當滿足一定的條件時,缺省網關會向源主機發送ICMPv6重定向消息,通知主機選擇更好的下一跳進行後續報文的發送(與IPv4的ICMP重定向消息的功能相同)。
同時滿足下列條件時,設備會發送ICMPv6重定向報文:
· 接收和轉發數據報文的接口是同一接口;
· 被選擇的路由本身沒有被ICMPv6重定向報文創建或修改過;
· 被選擇的路由不是設備的缺省路由;
相關的協議規範有:
· RFC 4861:Neighbor Discovery for IP Version 6 (IPv6)
· RFC 8106:IPv6 Router Advertisement Options for DNS Configuration
本節中的所有配置均為可選,請根據實際情況選擇配置。
· 配置ND表項的相關功能
¡ 配置靜態鄰居表項
· 配置ND記錄終端用戶信息功能
鄰居表項保存的是設備在鏈路範圍內的鄰居信息,設備鄰居表項可以通過鄰居請求消息NS及鄰居通告消息NA來動態創建,也可以通過手工配置來靜態創建。
設備根據鄰居節點的IPv6地址和與此鄰居節點相連的三層接口號來唯一標識一個靜態鄰居表項。目前,靜態鄰居表項有如下幾種配置方式:
· 配置本節點的三層接口相連的鄰居節點的IPv6地址和鏈路層地址;
· 配置本節點VLAN中的二層端口相連的鄰居節點的IPv6地址和鏈路層地址。
對於VLAN接口,可以采用前兩種方式來配置靜態鄰居表項:
· 采用第一種方式配置靜態鄰居表項後,設備還需要解析該VLAN下的二層端口信息。
· 采用第二種方式配置靜態鄰居表項後,需要保證port-type port-number指定的二層端口屬於vlan-id指定的VLAN,且該VLAN已經創建了VLAN接口。在配置後,設備會將VLAN所對應的VLAN接口與IPv6地址相對應來唯一標識一個靜態鄰居表項。
在刪除VLAN接口對應的鄰居表項時,隻需要指定VLAN對應的VLAN接口即可。
(1) 進入係統視圖。
system-view
(2) 配置靜態鄰居表項。
ipv6 neighbor ipv6-address mac-address { vlan-id port-type port-number | interface interface-type interface-number } [ vpn-instance vpn-instance-name ]
缺省情況下,未配置靜態鄰居表項。
設備可以通過NS消息和NA消息來動態獲取鄰居節點的鏈路層地址,並將其加入到鄰居表中。為了防止部分接口下的用戶占用過多的資源,可以通過設置接口學習動態鄰居表項的最大個數來進行限製。當接口學習到的動態鄰居表項的個數達到所設置的最大值時,該接口將不再學習動態鄰居表項。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口上允許學習的動態鄰居表項的最大個數。
ipv6 neighbors max-learning-num max-number
缺省情況下,接口上允許學習的動態鄰居表項的最大個數為2048。
在一些組網中,為了保證網絡的冗餘鏈路備份,服務器會發送NA報文給兩台對端設備,此時因為不關注對端的地址,所以發送的是組播NA,設備無法從組播NA中學習ND表項。所以在沒有服務器對端到服務器的IPv6流量,且服務器沒有逐個發送單播給對端設備的情況下,對端設備無法學習到服務器的ND表項。
開啟本功能後,接口可以從未經請求的NA報文中學習鄰居信息,生成STALE狀態的ND表項。
為防止接收ND攻擊報文,建議本功能僅在信任網絡內開啟。
為防止設備上學習過多的ND表項,占用係統資源,建議開啟本功能前,通過ipv6 neighbor stale-aging命令配置較小的STALE老化時間,加速老化無效的ND表項。
本功能僅支持在三層接口視圖下開啟。
(1) 進入係統視圖。
system-view
(2) 進入三層接口視圖。
interface interface-type interface-number
(3) 開啟接口從未經請求的NA報文中學習鄰居信息的功能。
ipv6 nd unsolicited-na-learning enable
缺省情況下,接口不學習未經請求的NA報文中的鄰居信息到ND表項中。
為適應網絡的變化,ND表需要不斷更新。在ND表中,處於STALE狀態的ND表項並非永遠有效,而是有一個老化時間。到達老化時間的STALE狀態ND表項將遷移到DELAY狀態。5秒鍾後DELAY狀態超時,ND表項將遷移到PROBE狀態,並且設備會發送3次NS報文進行可達性探測。若鄰居已經下線,則收不到回應的NA報文,此時設備會將該ND表項刪除。用戶可以根據網絡實際情況調整老化時間。
係統視圖和接口視圖下都可以配置STALE狀態ND表項的老化時間,接口視圖下的配置優先級高於係統視圖下的配置。
(1) 進入係統視圖。
system-view
(2) 配置STALE狀態ND表項的老化時間。
¡ 在係統視圖下配置STALE狀態ND表項的老化時間。
ipv6 neighbor stale-aging { aging-minutes | second aging-seconds }
缺省情況下,STALE狀態ND表項的老化時間為240分鍾。
¡ 請依次執行以下命令在接口視圖下配置STALE狀態ND表項的老化時間。
interface interface-type interface-number
ipv6 neighbor timer stale-aging { aging-minutes | second aging-seconds }
缺省情況下,STALE狀態ND表項的老化時間以係統視圖下配置的老化時間為準。
本功能可以對鏈路本地ND表項(該ND表項的IPv6地址為鏈路本地地址)占用的資源進行優化。
缺省情況下,所有ND表項均會下發硬件表項。配置本功能後,新學習的、未被引用的鏈路本地ND表項(該ND表項的鏈路本地地址不是某條路由的下一跳)不下發硬件表項,以節省資源。
本功能隻對後續新學習的ND表項生效,已經存在的ND表項不受影響。
(1) 進入係統視圖。
system-view
(2) 配置鏈路本地ND表項資源占用最小化。
ipv6 neighbor link-local minimize
缺省情況下,所有ND表項均會下發硬件表項。
本功能可以對設備發送的IPv6數據報文的跳數(即IPv6數據報文的Hop Limit字段的值)進行配置。
(1) 進入係統視圖。
system-view
(2) 配置設備的跳數限製。
ipv6 hop-limit value
缺省情況下,設備的跳數限製為64跳。
用戶可以根據實際情況,配置接口是否發送RA消息及發送RA消息的時間間隔,同時可以配置RA消息中的相關參數以通告給主機。當主機接收到RA消息後,就可以采用這些參數進行相應操作。可以配置的RA消息中的參數及含義如表1-2所示。
表1-2 RA消息中的參數及描述
參數 |
描述 |
跳數限製(Hop Limit) |
在RA消息中發布本設備的跳數限製,收到該RA消息之後,主機在發送IPv6報文時,將使用該跳數值填充IPv6報文頭中的Hop Limit字段 |
前綴信息(Prefix Information) |
在同一鏈路上的主機收到設備發布的前綴信息後,可以進行無狀態自動配置等操作 |
MTU |
發布鏈路的MTU,可以用於確保同一鏈路上的所有節點采用相同的MTU值 |
被管理地址配置標誌位(M flag) |
用於確定主機是否采用有狀態自動配置獲取IPv6地址 如果設置該標誌位為1,主機將通過有狀態自動配置(例如DHCPv6服務器)來獲取IPv6地址;否則,將通過無狀態自動配置獲取IPv6地址,即根據自己的鏈路層地址及路由器發布的前綴信息生成IPv6地址 |
其他信息配置標誌位(O flag) |
用於確定主機是否采用有狀態自動配置獲取除IPv6地址外的其他信息 如果設置其他信息配置標誌位為1,主機將通過有狀態自動配置(例如DHCPv6服務器)來獲取除IPv6地址外的其他信息;否則,將通過無狀態自動配置獲取其他信息 |
路由器生存時間(Router Lifetime) |
用於設置發布RA消息的路由器作為主機的默認路由器的時間。主機根據接收到的RA消息中的路由器生存時間參數值,就可以確定是否將發布該RA消息的路由器作為默認路由器。發布RA消息中路由器生存時間為0的路由器不能作為默認路由器 |
鄰居請求消息重傳時間間隔(Retrans Timer) |
設備發送NS消息後,如果未在指定的時間間隔內收到響應,則會重新發送NS消息 |
保持鄰居可達狀態的時間(Reachable Time) |
當通過鄰居可達性檢測確認鄰居可達後,在所設置的可達時間內,設備認為鄰居可達;超過設置的時間後,如果需要向鄰居發送報文,會重新確認鄰居是否可達 |
配置路由優先級 (Router Preference) |
用於設置發布RA消息的路由器的路由器優先級,主機根據接收到的RA消息中的路由器優先級,可以選擇優先級最高的路由器作為默認網關。在路由器的優先級相同的情況下,遵循“先來先用”的原則,優先選擇先接收到的RA消息對應的發送路由器作為默認網關 |
DNS服務器信息(DNS Server) |
用於設置RA消息中的DNS服務器信息。主機通過接收到的RA消息便能夠獲取DNS服務器信息,不需再通過DHCPv6方式獲取 |
DNS域名後綴信息(DNS Search List) |
用於設置RA消息中的DNS域名後綴信息。主機通過接收到的RA消息便能夠獲取DNS域名後綴信息,不需再通過DHCPv6方式獲取 |
RA消息發布的最大間隔時間應該小於或等於RA消息中路由器的生存時間,以保證在路由器失效之前得到更新的RA消息。
在接口上配置的鄰居請求消息重傳時間間隔及保持鄰居可達狀態的時間,既可作為RA消息中的信息發布給主機,也可作為本接口發送鄰居請求消息的時間間隔及保持鄰居可達狀態的時間。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 取消對RA消息發布的抑製。
undo ipv6 nd ra halt
缺省情況下,抑製發布RA消息。
(4) 配置RA消息發布的最大時間間隔和最小時間間隔。
ipv6 nd ra interval max-interval-value min-interval-value
缺省情況下,RA消息發布的最大間隔時間為600秒,最小時間間隔為200秒。
接口將在最大時間間隔與最小時間間隔之間隨機選取一個值來發布RA消息。
配置的最小時間間隔應該小於等於最大時間間隔的0.75倍。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置RA消息中的前綴信息。
ipv6 nd ra prefix { ipv6-prefix prefix-length | ipv6-prefix/prefix-length } [ valid-lifetime preferred-lifetime [ no-autoconfig | off-link ] * | no-advertise ]
缺省情況下,未配置RA消息中的前綴信息,此時將使用發送RA消息的接口IPv6地址作為RA消息中的前綴信息,其手工配置地址的有效生命期是2592000秒(30天),首選生命期是604800(7天);其他自動分配地址(如DHCPv6分配地址)的有效生命期和首選生命期與地址本身的生命期相同。
(4) 配置通過RA消息發布的前綴使用的缺省參數。
ipv6 nd ra prefix default [ valid-lifetime preferred-lifetime [ no-autoconfig | off-link ] * | no-advertise ]
缺省情況下,未配置通過RA消息發布的前綴使用的缺省參數。
(5) 配置RA消息中不攜帶MTU選項。
ipv6 nd ra no-advlinkmtu
缺省情況下,RA消息中攜帶MTU選項。
(6) 配置RA消息中不指定跳數限製。
ipv6 nd ra hop-limit unspecified
缺省情況下,RA消息中發布本設備的跳數限製,本設備的跳數限製默認為64跳。
(7) 配置RA消息中攜帶的下載Boot文件的URL地址。
ipv6 nd ra boot-file-url url-string
缺省情況下,RA消息中不攜帶下載Boot文件的URL地址。
(8) 設置被管理地址配置標誌位為1。
ipv6 nd autoconfig managed-address-flag
缺省情況下,被管理地址標誌位為0,即主機通過無狀態自動配置獲取IPv6地址。
(9) 設置其他配置標誌位為1。
ipv6 nd autoconfig other-flag
缺省情況下,其他配置標誌位為0,即主機通過無狀態自動配置獲取其他信息。
(10) 配置RA消息中路由器的生存時間。
ipv6 nd ra router-lifetime time
缺省情況下,RA消息中路由器的生存時間為RA消息發布的最大時間間隔的3倍。
(11) 配置鄰居請求消息重傳時間間隔。
ipv6 nd ns retrans-timer value
缺省情況下,接口發送NS消息的時間間隔為1000毫秒;接口發布的RA消息中Retrans Timer字段的值為0,即不對主機進行指定。
(12) 配置RA消息中路由器的優先級。
ipv6 nd router-preference { high | low | medium }
缺省情況下,RA消息中路由器的優先級為medium。
(13) 配置保持鄰居可達狀態的時間。
ipv6 nd nud reachable-time time
缺省情況下,接口保持鄰居可達狀態的時間為30000毫秒;接口發布的RA消息中Reachable Timer字段的值為0,即不對主機進行指定。
RA消息中攜帶DNS服務器選項,可為主機提供DNS服務器信息。當主機通過無狀態地址自動配置獲取IPv6地址的同時,能夠獲取DNS服務器信息,不需再通過DHCPv6方式獲取。
一條DNS服務器信息對應RA消息中的一個DNS服務器選項。選項按照配置序列號進行排列,序列號小的排在前麵。
執行ipv6 nd ra dns server命令後,立即發送RA報文,報文中攜帶新配置的以及之前配置的DNS服務器信息。執行undo ipv6 nd ra dns server命令後,立即發送兩個RA報文,第一個報文攜帶所有DNS服務器信息,包括被刪除的DNS服務器,其生存時間為0;第二個報文攜帶剩餘的DNS服務器信息。發送RA報文後,會立即刷新接口下RA消息發布的時間間隔。
同一個接口下最多可配置8條DNS服務器信息。
如果沒有配置DNS服務器的生存時間,也未指定DNS服務器的生存時間為無限期,則DNS服務器的生存時間為3*RA消息發布的最大時間間隔,RA消息發布的最大時間間隔可以通過ipv6 nd ra interval命令配置。
對於PPP ND RA應用場景,DNS服務器地址可以通過AAA授權獲取,此時,也是通過RA報文將IPv6 DNS服務器地址分配給終端用戶。若AAA為終端用戶授權了IPv6 DNS服務器地址,也使用本命令配置了DNS服務器地址,則在RA報文中AAA授權的IPv6 DNS服務器選項排在最前麵,和本命令配置的DNS服務器選項一起通過RA報文發送出去;如果AAA授權的DNS服務器地址和本命令配置的DNS服務器地址衝突,則以AAA授權為準。
關於PPP支持IPv6的詳細介紹請參見“二層技術-廣域網接入”中的“PPP”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置RA消息中的DNS服務器信息。
ipv6 nd ra dns server ipv6-address [ seconds | infinite ] sequence seqno
缺省情況下,未配置RA消息中的DNS服務器信息,RA消息中不帶DNS服務器信息。
RA消息中攜帶DNSSL(DNS Search List,DNS查詢列表)選項,可為主機提供域名後綴信息。當主機通過無狀態地址自動配置獲取IPv6地址的同時,能夠獲取域名後綴信息,不需再通過DHCPv6方式獲取。
一條DNS域名後綴信息對應RA消息中的一個DNSSL選項。選項按照配置序列號進行排列,序列號小的排在前麵。
執行ipv6 nd ra dns search-list命令後,立即發送RA報文,報文中攜帶新配置的以及之前配置的DNS域名後綴信息。執行undo ipv6 nd ra dns search-list命令後,立即發送兩個RA報文,第一個報文攜帶所有域名後綴信息,包括被刪除的DNS域名後綴,其生存時間為0;第二個報文攜帶剩餘的域名後綴信息。發送RA報文後,會立即刷新接口下RA消息發布的時間間隔。
同一個接口下最多可配置8條DNS域名後綴信息。
如果沒有配置DNS域名後綴的生存時間,也未指定DNS域名後綴的生存時間為無限期,則DNS域名後綴的生存時間為3*RA消息發布的最大時間間隔,RA消息發布的最大時間間隔可以通過ipv6 nd ra interval命令配置。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置RA消息中的DNS域名後綴信息。
ipv6 nd ra dns search-list domain-name [ seconds | infinite ] sequence seqno
缺省情況下,未配置RA消息中的DNS域名後綴信息,RA消息中不帶DNS域名後綴信息。
配置RA消息中的DNS信息(包括DNS服務器信息和DNS域名後綴信息)後,如果希望RA消息不發布DNS信息,可以開啟相應的抑製功能。
開啟RA消息中的DNS服務器信息抑製功能後:
· 若接口下已經配置了DNS服務器信息或者已經通過AAA授權了DNS服務器地址,則立即發送兩個RA報文,第一個報文攜帶DNS服務器的生存時間為0,第二個報文不攜帶DNS服務器信息。
· 若接口下未配置DNS服務器信息且未通過AAA授權DNS服務器地址,則不發送RA報文。
· 若接口下配置了新的DNS服務器信息或者刪除了一條DNS服務器信息,則立即發送RA報文,但是不攜帶任何DNS服務器信息。
關閉RA消息中的DNS服務器信息抑製功能後:
· 若接口下已經配置了DNS服務器信息或者已經通過AAA授權了DNS服務器地址,則立即發送RA報文,攜帶DNS服務器信息。
· 若接口下未配置DNS服務器信息且未通過AAA授權DNS服務器地址,則不發送RA報文。
發送RA報文後,會立即刷新接口下RA消息發布的時間間隔。
開啟、關閉RA消息中的DNS域名後綴信息抑製功能後,RA報文的發送邏輯和上述開啟、關閉RA消息中的DNS服務器信息抑製功能後的RA報文發送邏輯相同,此處不再贅述。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟RA消息中的DNS服務器信息抑製功能。
ipv6 nd ra dns server suppress
缺省情況下,RA消息中的DNS服務器信息抑製功能處於關閉狀態。
(4) 開啟RA消息中的DNS域名後綴信息抑製功能。
ipv6 nd ra dns search-list suppress
缺省情況下,RA消息中的DNS域名後綴信息抑製功能處於關閉狀態。
接口獲得IPv6地址後,將發送鄰居請求消息進行重複地址檢測。如果在指定的時間內(通過ipv6 nd ns retrans-timer命令配置)沒有收到響應,則繼續發送鄰居請求消息,當發送的次數達到所設置的次數後,仍未收到響應,則認為該地址可用。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置重複地址檢測時發送鄰居請求消息的次數。
ipv6 nd dad attempts times
缺省情況下,重複地址檢測時發送鄰居請求報文的次數為1,當times值為0時,表示禁止重複地址檢測。
如果NS請求是從一個網絡的主機發往同一網段卻不在同一物理網絡上的另一台主機,那麼連接它們的開啟了代理功能的設備就可以發送NA報文代答該請求,這個過程稱作ND代理(ND Proxy)。
ND Proxy功能屏蔽了分離的物理網絡這一事實,使用戶使用起來,好像在同一個物理網絡上。
ND Proxy功能根據應用場景不同分為普通ND Proxy、跨網段ND Proxy和本地ND Proxy。
普通ND Proxy的典型應用環境如圖1-3所示。設備Device通過兩個三層接口Interface A和Interface B連接兩個網絡,兩個三層接口的IPv6地址不在同一個網段,接口地址分別為4:1::99/64、4:2::99/64。但是兩個網絡內的主機Host A和Host B的地址通過掩碼的控製,既與相連設備的接口地址在同一網段,同時二者也處於同一個網段。
圖1-3 普通ND Proxy的應用環境
在這種組網情況下,當Host A需要與Host B通信時,由於目的IPv6地址與本機的IPv6地址為同一網段,因此Host A會直接發出請求Host B硬件地址的NS請求。但是,此時的兩台主機處於不同的廣播域中,Host B無法收到Host A的NS請求報文,當然也就無法應答。
通過在Device上啟用ND Proxy功能,可以解決此問題。在接口Interface A和Interface B上啟用ND Proxy後,Device可以應答Host A的NS請求。同時,Device作為Host B的代理,把其它主機發送過來的報文轉發給Host B。這樣,實現Host A與Host B之間的通信。
跨網段ND Proxy的典型應用環境如圖1-4所示。設備Device通過兩個三層接口Interface A和Interface B連接兩個網絡,兩個三層接口的IPv6地址不在同一個網段,接口地址分別為4:2::1/126、4:3::1/126。兩個網絡內的主機Host A和Host B的地址處於同一個網段,但與相連設備的接口地址不在同一網段。
圖1-4 跨網段ND Proxy的應用環境
在這種組網情況下,當Host A需要與Host B通信時,由於目的IPv6地址與本機的IPv6地址為同一網段,因此Host A會直接發出請求Host B硬件地址的NS請求。但是,此時的兩台主機處於不同的廣播域中,Host B無法收到Host A的NS請求報文,當然也就無法應答。此外因為Host A與Interface A以及Host B與Interface B的IPv6地址不在同一個網段,因此Device無法應答Host A和Host B的NS請求。
通過在Device上啟用跨網段ND Proxy功能,可以解決此問題。在接口Interface A和Interface B上啟用跨網段ND Proxy後,Device可以應答Host A和Host B的NS請求。同時,Device作為Host A和Host B的代理,把其它主機發送過來的報文轉發給Host A和Host B。這樣,實現Host A與Host B之間的通信。
本地ND Proxy的應用場景如圖1-5所示。Host A屬於VLAN 2,Host B屬於VLAN 3。但它們分別連接到端口Port B1和 Port B3上。
圖1-5 本地ND Proxy的應用環境
在這種組網情況下,當Host A需要與Host B通信時,由於目的IPv6地址與本機的IPv6地址為同一網段,因此Host A會直接發出請求Host B硬件地址的NS請求。但是,因為連接兩台主機屬於不同的VLAN中,Host B無法收到Host A的NS請求報文。
通過在Device A上啟用本地ND Proxy功能,可以解決此問題。在接口Interface A上啟用本地ND Proxy後,Device A會代替Host B回應NA,Host A發給Host B的報文就會通過Device A進行轉發,從而實現Host A與Host B之間的通信。
本地ND Proxy可以在下列情況下實現主機之間的三層互通:
· 想要互通的主機分別連接到同一台設備的不同VLAN中的端口下;
· 想要互通的主機分別連接到同一個VLAN中的同一個隔離組內的不同二層隔離端口下。
· 開啟Super VLAN功能後,想要互通的主機屬於不同的Sub VLAN。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟普通ND Proxy功能。
proxy-nd enable
缺省情況下,ND Proxy功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟跨網段ND Proxy功能。
proxy-nd span-segment enable
缺省情況下,跨網段ND Proxy功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟本地ND Proxy功能。
local-proxy-nd enable
缺省情況下,本地ND Proxy功能處於關閉狀態。
當接口連接終端主機時,可以配置接口為用戶側接口。對於這種接口上學到的ND表項,設備上不會生成到主機的路由。
當接口連接網絡設備時,需要配置接口為網絡側接口。對於這種接口上學到的ND表項可以用來生成設備的路由信息條目。
通過實際使用情況,正確配置接口的工作模式,可以適當的節省硬件資源。
(1) 進入係統視圖。
system-view
(2) 創建VLAN接口並進入VLAN接口視圖。
interface vlan-interface vlan-interface-id
(3) 配置接口為用戶側接口或網絡層接口。
¡ 配置接口為用戶側接口。
ipv6 nd mode uni
¡ 配置接口為網絡側接口。
undo ipv6 nd mode
缺省情況下,接口為網絡側接口。
ND直連路由通告功能用於使設備通過ND表項生成直連路由信息,以便其他路由協議發布該直連路由或指導報文轉發。
當設備開啟了ND直連路由通告功能後,設備通過本接口學習到的ND表項生成128位的主機路由,這會導致路由表中存在大量的主機路由。此時,可以使用ipv6 nd route-direct prefix convert-length命令配置匹配指定IPv6前綴的ND表項生成網段路由的前綴長度,使多個匹配指定IPv6前綴的ND表項生成一個網段路由,這樣可以避免路由協議向鄰居發布大量的主機路由。
如圖1-6所示,Server A和Server B通過三層接口接入到Device A與Device B。在Device A的Interface A和Device B的Interface B下開啟ND直連路由通告功能後,Device A可以通過ND表項生成到Server A的主機路由,Device B可以通過ND表項生成到Server B的主機路由。其他路由協議可以僅發布該主機路由,減少由於發布網段路由而引入的無效流量,節約帶寬。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟ND直連路由通告功能。
ipv6 nd route-direct advertise
缺省情況下,ND直連路由通告功能處於關閉狀態。
(4) (可選)配置匹配指定IPv6前綴的ND表項生成網段路由的前綴長度。
ipv6 nd route-direct prefix ipv6-prefix prefix-length convert-length convert-length
缺省情況下,未配置匹配指定IPv6前綴的ND表項生成網段路由的前綴長度。
開啟本功能後,當設備收到NA報文時,會根據NA報文中的源IPv6地址查詢ND表項,如果發現源IPv6地址和某條ND表項中的IPv6地址相同,但MAC地址不同,則認為網絡中的終端用戶間存在IPv6地址衝突。此時,設備會記錄衝突信息,同時生成對應的IPv6地址衝突日誌。生成的IPv6地址衝突日誌將被發送給信息中心模塊處理,信息中心模塊的配置將決定日誌信息的發送規則和發送方向。有關信息中心的詳細描述請參見“設備管理配置指導”中的“信息中心”。
(1) 進入係統視圖。
system-view
(2) 開啟ND記錄終端用戶間IPv6地址衝突功能。
ipv6 nd user-ip-conflict record enable
缺省情況下,ND記錄終端用戶間IPv6地址衝突功能處於關閉狀態。
開啟本功能後,當設備收到NA報文時,會根據接收到NA報文的端口查詢ND表項。如果發現源IPv6地址和源MAC地址與某條ND表項中的IPv6地址和MAC地址相同,但端口不同,則認為用戶發生了端口遷移。此時,設備會記錄衝突信息,同時生成對應的IPv6地址的遷移日誌。生成的遷移日誌將被發送給信息中心模塊處理,信息中心模塊的配置將決定日誌信息的發送規則和發送方向。有關信息中心的詳細描述請參見“設備管理配置指導”中的“信息中心”。
(1) 進入係統視圖。
system-view
(2) 開啟ND記錄終端用戶端口遷移功能。
ipv6 nd user-move record enable
缺省情況下,ND記錄終端用戶端口遷移功能處於關閉狀態。
開啟本功能後,當設備檢測到終端用戶上、下線時,會生成上、下線日誌。生成的日誌將被發送給信息中心模塊處理,信息中心模塊的配置將決定日誌信息的發送規則和發送方向。有關信息中心的詳細描述請參見“設備管理配置指導”中的“信息中心”。
日誌輸出速率值越大,CPU占用越高。請根據設備CPU的性能和使用情況,調整日誌輸出速率值。
(1) 進入係統視圖。
system-view
(2) 開啟ND輸出終端用戶上下線日誌功能。
ipv6 nd online-offline-log enable [ rate rate ]
缺省情況下,ND輸出終端用戶上下線日誌功能處於關閉狀態。
可在任意視圖下執行以下命令:
· 顯示鄰居信息。
display ipv6 neighbors { { ipv6-address | all | dynamic | static } [ slot slot-number ] | interface interface-type interface-number | vlan vlan-id } [ verbose ]
· 顯示指定VPN實例的鄰居信息。
display ipv6 neighbors vpn-instance vpn-instance-name [ count ]
· 顯示ND記錄的終端用戶間IPv6地址衝突表項信息。
display ipv6 nd user-ip-conflict record [slot slot-number ]
· 顯示ND記錄的終端用戶端口遷移表項信息。
display ipv6 nd user-move record [ slot slot-number ]
· 顯示鄰居表項的個數。
display ipv6 neighbors { { all | dynamic | static } [ slot slot-number ] | interface interface-type interface-number | vlan vlan-id } count
· 顯示設備支持的ND表項的最大數目。
display ipv6 neighbors entry-limit
請在用戶視圖下執行以下命令,清除IPv6鄰居信息。
reset ipv6 neighbors { all | dynamic | interface interface-type interface-number | slot slot-number | static }
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!