09-IPv6基礎配置
本章節下載: 09-IPv6基礎配置 (458.68 KB)
IPv6(Internet Protocol Version 6,互聯網協議版本6)是網絡層協議的第二代標準協議,也被稱為IPng(IP Next Generation,下一代互聯網協議),它是IETF(Internet Engineering Task Force,互聯網工程任務組)設計的一套規範,是IPv4的升級版本。IPv6和IPv4之間最顯著的區別為:IP地址的長度從32比特增加到128比特。
通過將IPv4報文頭中的某些字段裁減或移入到擴展報文頭,減小了IPv6基本報文頭的長度。IPv6使用固定長度的基本報文頭,從而簡化了轉發設備對IPv6報文的處理,提高了轉發效率。盡管IPv6地址長度是IPv4地址長度的四倍,但IPv6基本報文頭的長度隻有40字節,為IPv4報文頭長度(不包括選項字段)的兩倍。
圖1-1 IPv4報文頭和IPv6基本報文頭格式比較
IPv6的源地址與目的地址長度都是128比特(16字節)。它可以提供超過3.4×1038種可能的地址空間,完全可以滿足多層次的地址劃分需要,以及公有網絡和機構內部私有網絡的地址分配。
IPv6的地址空間采用了層次化的地址結構,有利於路由快速查找,同時可以借助路由聚合,有效減少IPv6路由表占用的係統資源。
為了簡化主機配置,IPv6支持有狀態地址配置和無狀態地址配置:
· 有狀態地址配置是指從服務器(如DHCPv6服務器)獲取IPv6地址及相關信息,詳細介紹請參見“三層技術-IP業務配置指導”中的“DHCPv6”;
· 無狀態地址配置是指主機根據自己的鏈路層地址及路由器發布的前綴信息自動配置IPv6地址及相關信息。
同時,主機也可根據自己的鏈路層地址及默認前綴(FE80::/10)形成鏈路本地地址,實現與本鏈路上其他主機的通信。
IPv6將IPsec作為它的標準擴展頭,可以提供端到端的安全特性。這一特性也為解決網絡安全問題提供了標準,並提高了不同IPv6應用之間的互操作性。
IPv6報文頭的流標簽(Flow Label)字段實現流量的標識,允許設備對某一流中的報文進行識別並提供特殊處理。
IPv6的鄰居發現協議是通過一組ICMPv6(Internet Control Message Protocol for IPv6,IPv6互聯網控製消息協議)消息實現的,管理著鄰居節點間(即同一鏈路上的節點)信息的交互。它代替了ARP(Address Resolution Protocol,地址解析協議)、ICMPv4路由器發現和ICMPv4重定向消息,並提供了一係列其他功能。
IPv6取消了IPv4報文頭中的選項字段,並引入了多種擴展報文頭,在提高處理效率的同時還大大增強了IPv6的靈活性,為IP協議提供了良好的擴展能力。IPv4報文頭中的選項字段最多隻有40字節,而IPv6擴展報文頭的大小隻受到IPv6報文大小的限製。
IPv6地址被表示為以冒號(:)分隔的一連串16比特的十六進製數。每個IPv6地址被分為8組,每組的16比特用4個十六進製數來表示,組和組之間用冒號隔開,比如:2001:0000:130F:0000:0000:09C0:876A:130B。
為了簡化IPv6地址的表示,對於IPv6地址中的“0”可以有下麵的處理方式:
· 每組中的前導“0”可以省略,即上述地址可寫為2001:0:130F:0:0:9C0:876A:130B。
· 如果地址中包含一組或連續多組均為0的組,則可以用雙冒號“::”來代替,即上述地址可寫為2001:0:130F::9C0:876A:130B。
在一個IPv6地址中隻能使用一次雙冒號“::”,否則當設備將“::”轉變為0以恢複128位地址時,將無法確定“::”所代表的0的個數。
IPv6地址由兩部分組成:地址前綴與接口標識。其中,地址前綴相當於IPv4地址中的網絡號碼字段部分,接口標識相當於IPv4地址中的主機號碼部分。
地址前綴的表示方式為:IPv6地址/前綴長度。其中,前綴長度是一個十進製數,表示IPv6地址最左邊多少位為地址前綴。
IPv6主要有三種類型的地址:單播地址、組播地址和任播地址。
· 單播地址:用來唯一標識一個接口,類似於IPv4的單播地址。發送到單播地址的數據報文將被傳送給此地址所標識的接口。
· 組播地址:用來標識一組接口(通常這組接口屬於不同的節點),類似於IPv4的組播地址。發送到組播地址的數據報文被傳送給此地址所標識的所有接口。
· 任播地址:用來標識一組接口(通常這組接口屬於不同的節點)。發送到任播地址的數據報文被傳送給此地址所標識的一組接口中距離源節點最近(根據使用的路由協議進行度量)的一個接口。
IPv6中沒有廣播地址,廣播地址的功能通過組播地址來實現。
IPv6地址類型是由地址前麵幾位(稱為格式前綴)來指定的,主要地址類型與格式前綴的對應關係如表1-1所示。
地址類型 |
格式前綴(二進製) |
IPv6前綴標識 |
|
單播地址 |
未指定地址 |
00...0 (128 bits) |
::/128 |
環回地址 |
00...1 (128 bits) |
::1/128 |
|
鏈路本地地址 |
1111111010 |
FE80::/10 |
|
全球單播地址 |
其他形式 |
- |
|
組播地址 |
11111111 |
FF00::/8 |
|
任播地址 |
從單播地址空間中進行分配,使用單播地址的格式 |
IPv6單播地址的類型可有多種,包括全球單播地址、鏈路本地地址等。
· 全球單播地址等同於IPv4公網地址,提供給網絡服務提供商。這種類型的地址允許路由前綴的聚合,從而限製了全球路由表項的數量。
· 鏈路本地地址用於鄰居發現協議和無狀態自動配置中鏈路本地上節點之間的通信。使用鏈路本地地址作為源或目的地址的數據報文不會被轉發到其他鏈路上。
· 環回地址:單播地址0:0:0:0:0:0:0:1(簡化表示為::1)稱為環回地址,不能分配給任何物理接口。它的作用與在IPv4中的環回地址相同,即節點用來給自己發送IPv6報文。
· 未指定地址:地址“::”稱為未指定地址,不能分配給任何節點。在節點獲得有效的IPv6地址之前,可在發送的IPv6報文的源地址字段填入該地址,但不能作為IPv6報文中的目的地址。
表1-2所示的組播地址,是預留的特殊用途的組播地址。
表1-2 預留的IPv6組播地址列表
地址 |
應用 |
FF01::1 |
表示節點本地範圍所有節點的組播地址 |
FF02::1 |
表示鏈路本地範圍所有節點的組播地址 |
FF01::2 |
表示節點本地範圍所有路由器的組播地址 |
FF02::2 |
表示鏈路本地範圍所有路由器的組播地址 |
另外,還有一類組播地址:被請求節點(Solicited-Node)地址。該地址主要用於獲取同一鏈路上鄰居節點的鏈路層地址及實現重複地址檢測。每一個單播或任播IPv6地址都有一個對應的被請求節點地址。其格式為:
FF02:0:0:0:0:1:FFXX:XXXX
其中,FF02:0:0:0:0:1:FF為104位固定格式;XX:XXXX為單播或任播IPv6地址的後24位。
IPv6單播地址中的接口標識符用來唯一標識鏈路上的一個接口。目前IPv6單播地址基本上都要求接口標識符為64位。
IEEE EUI-64格式的接口標識符是從接口的鏈路層地址(MAC地址)變化而來的。IPv6地址中的接口標識符是64位,而MAC地址是48位,因此需要在MAC地址的中間位置(從高位開始的第24位後)插入十六進製數FFFE(1111111111111110)。為了使接口標識符的作用範圍與原MAC地址一致,還要將Universal/Local (U/L)位(從高位開始的第7位)進行取反操作。最後得到的這組數就作為EUI-64格式的接口標識符。
圖1-2 MAC地址到EUI-64格式接口標識符的轉換過程
IPv6 ND(IPv6 Neighbor Discovery,IPv6鄰居發現)協議使用五種類型的ICMPv6消息,實現下麵一些功能:地址解析、驗證鄰居是否可達、重複地址檢測、路由器發現/前綴發現、地址自動配置和重定向等功能。
鄰居發現協議使用的ICMPv6消息的類型及作用如表1-3所示。
表1-3 鄰居發現協議使用的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-3所示,節點A要獲取節點B的鏈路層地址。
(2) 節點A以組播方式發送NS消息。NS消息的源地址是節點A的接口IPv6地址,目的地址是節點B的被請求節點組播地址,消息內容中包含了節點A的鏈路層地址和請求的目標地址。
(3) 節點B收到NS消息後,判斷報文的目標地址是否為自己的IPv6地址。如果是,則節點B可以學習到節點A的鏈路層地址,並以單播方式返回NA消息,其中包含了自己的鏈路層地址。
(4) 節點A從收到的NA消息中就可獲取到節點B的鏈路層地址。
在獲取到鄰居節點的鏈路層地址後,通過鄰居請求消息NS和鄰居通告消息NA可以驗證鄰居節點是否可達。
(1) 節點發送NS消息,其中目的地址是鄰居節點的IPv6地址。
(2) 如果收到鄰居節點的確認報文,則認為鄰居可達;否則,認為鄰居不可達。
當節點獲取到一個IPv6地址後,需要使用重複地址檢測功能確定該地址是否已被其他節點使用(與IPv4的免費ARP功能相似)。通過NS和NA可以實現重複地址檢測,如圖1-4所示。
(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重定向報文創建或修改過;
· 被選擇的路由不是設備的缺省路由;
· 被轉發的IPv6數據報文中不包含路由擴展頭。
報文從源端到目的端的傳輸路徑中所經過的鏈路可能具有不同的MTU。在IPv6中,當報文的長度大於鏈路的MTU時,報文的分片將在源端進行,從而減輕中間轉發設備的處理壓力,合理利用網絡資源。
PMTU(Path MTU,路徑MTU)發現機製的目的就是要找到從源端到目的端的路徑上最小的MTU。PMTU的工作過程如圖1-5所示。
圖1-5 PMTU發現工作過程
(1) 源端主機按照自己的MTU對報文進行分片,之後向目的主機發送報文。
(2) 中間轉發設備接收到該報文進行轉發時,如果發現轉發報文的接口支持的MTU值小於報文長度,則會丟棄報文,並給源端返回一個ICMPv6差錯報文,其中包含了轉發失敗的接口的MTU。
(3) 源主機收到該差錯報文後,將按照報文中所攜帶的MTU重新對報文進行分片並發送。
(4) 如此反複,直到目的端主機收到這個報文,從而確定報文從源端到目的端路徑中的最小MTU。
雙協議棧是一種最簡單直接的過渡機製。同時支持IPv4協議和IPv6協議的網絡節點稱為雙協議棧節點。當雙協議棧節點配置IPv4地址和IPv6地址後,就可以在相應接口上轉發IPv4和IPv6報文。當一個上層應用同時支持IPv4和IPv6協議時,根據協議要求可以選用TCP或UDP作為傳輸層的協議,但在選擇網絡層協議時,它會優先選擇IPv6協議棧。雙協議棧技術適合IPv4網絡節點之間或者IPv6網絡節點之間通信,是所有過渡技術的基礎。但是,這種技術要求運行雙協議棧的節點有一個全球唯一的地址,實際上沒有解決IPv4地址資源匱乏的問題。
與IPv6基礎相關的協議規範有:
· RFC 1881:IPv6 Address Allocation Management
· RFC 1887:An Architecture for IPv6 Unicast Address Allocation
· RFC 1981:Path MTU Discovery for IP version 6
· RFC 2375:IPv6 Multicast Address Assignments
· RFC 2460:Internet Protocol, Version 6 (IPv6) Specification
· RFC 2464:Transmission of IPv6 Packets over Ethernet Networks
· RFC 2526:Reserved IPv6 Subnet Anycast Addresses
· RFC 3307:Allocation Guidelines for IPv6 Multicast Addresses
· RFC 4191:Default Router Preferences and More-Specific Routes
· RFC 4291:IP Version 6 Addressing Architecture
· RFC 4443:Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification
· RFC 4861:Neighbor Discovery for IP Version 6 (IPv6)
· RFC 4862:IPv6 Stateless Address Autoconfiguration
表1-4 IPv6基礎配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
配置IPv6基本功能 |
配置IPv6全球單播地址 |
三者至少選其一 |
|
配置IPv6鏈路本地地址 |
|||
配置IPv6任播地址 |
|||
配置IPv6鄰居發現協議 |
配置靜態鄰居表項 |
可選 |
|
配置接口上允許動態學習的鄰居的最大個數 |
可選 |
||
配置STALE狀態ND表項的老化時間 |
可選 |
||
配置鏈路本地ND表項資源占用最小化 |
可選 |
||
配置設備的跳數限製 |
可選 |
||
配置RA消息的相關參數 |
可選 |
||
配置重複地址檢測時發送鄰居請求消息的次數 |
可選 |
||
配置ND Proxy功能 |
可選 |
||
配置PMTU發現 |
配置接口MTU |
可選 |
|
配置指定地址的靜態PMTU |
可選 |
||
配置PMTU老化時間 |
可選 |
||
配置ICMPv6報文發送 |
配置指定時間內發送ICMPv6差錯報文的最大個數 |
可選 |
|
配置允許回複組播形式的Echo request報文 |
可選 |
||
配置ICMPv6目的不可達差錯報文發送功能 |
可選 |
||
配置ICMPv6超時差錯報文發送功能 |
可選 |
||
配置ICMPv6重定向報文發送功能 |
可選 |
||
配置ICMPv6報文指定源地址功能 |
可選 |
||
IPv6分片報文本地重組功能 |
配置IPv6分片報文本地重組功能 |
可選 |
|
IPv6報文擴展頭丟棄功能 |
開啟IPv6報文擴展頭丟棄功能 |
可選 |
IPv6全球單播地址可以通過下麵幾種方式配置:
· 采用EUI-64格式形成:當配置采用EUI-64格式形成IPv6地址時,接口的IPv6地址的前綴需要手工配置,而接口標識符則由接口自動生成。
· 手工配置:用戶手工配置IPv6全球單播地址。
· 引用前綴生成IPv6地址:引用前綴生成IPv6地址時,接口的IPv6地址的前綴可以通過手工配置或DHCPv6動態獲取,同時該前綴還會分配給終端設備。
· 無狀態自動配置:根據接收到的RA報文中攜帶的地址前綴信息,自動生成IPv6全球單播地址。
每個接口可以有多個全球單播地址。
手工配置的全球單播地址(包括采用EUI-64格式形成的全球單播地址)的優先級高於自動生成的全球單播地址。如果在接口已經自動生成全球單播地址的情況下,手工配置前綴相同的全球單播地址,不會覆蓋之前自動生成的全球單播地址。如果刪除手工配置的全球單播地址,設備還可以使用自動生成的全球單播地址進行通信。
表1-5 采用EUI-64格式形成IPv6地址
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
采用EUI-64格式形成IPv6地址 |
ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length } eui-64 |
缺省情況下,接口上未配置IPv6全球單播地址 |
表1-6 手工指定IPv6地址
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
手工指定IPv6地址 |
ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length } |
缺省情況下,接口上未配置IPv6全球單播地址 |
表1-7 無狀態自動配置IPv6地址
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
開啟無狀態地址自動配置功能,使接口通過無狀態自動配置方式生成全球單播地址 |
ipv6 address auto |
缺省情況下,接口上無狀態地址自動配置功能處於關閉狀態 在接口上執行undo ipv6 address auto命令,將刪除該接口上所有自動生成的全球單播地址和鏈路本地地址 |
在配置了無狀態自動配置IPv6地址功能後,接口會根據接收到的RA報文中攜帶的地址前綴信息和接口ID,自動生成IPv6全球單播地址。如果接口是IEEE 802類型的接口(例如,以太網接口、VLAN接口),其接口ID是由MAC地址根據一定的規則生成,此接口ID具有全球唯一性。對於不同的前綴,接口ID部分始終不變,攻擊者通過接口ID可以很方便的識別出通信流量是由哪台設備產生的,並分析其規律,會造成一定的安全隱患。
如果在地址無狀態自動配置時,自動生成接口ID不斷變化的IPv6地址,就可以加大攻擊的難度,從而保護網絡。為此,設備提供了臨時地址功能,使得係統可以生成臨時地址。配置該功能後,通過地址無狀態自動配置,IEEE 802類型的接口可以同時生成兩類地址:
· 公共地址:地址前綴采用RA報文攜帶的前綴,接口ID由MAC地址產生。接口ID始終不變。
· 臨時地址:地址前綴采用RA報文攜帶的前綴,接口ID由係統根據MD5算法計算產生。接口ID不斷變化。
在配置了優先選擇臨時地址功能前提下發送報文,係統將優先選擇臨時地址作為報文的源地址。當臨時地址的有效生命期過期後,這個臨時地址將被刪除,同時,係統會通過MD5算法重新生成一個接口ID不同的臨時地址。所以,該接口發送報文的源地址的接口ID總是在不停變化。如果生成的臨時地址因為DAD衝突不可用,就采用公共地址作為報文的源地址。
臨時地址的首選生命期和有效生命期的確定原則如下:
· 首選生命期是如下兩個值之中的較小者:“RA前綴中的首選生命期”和“配置的臨時地址首選生命期減去DESYNC_FACTOR”。DESYNC_FACTOR是一個0~600秒的隨機值。
· 有效生命期是如下兩個值之中的較小者:“RA前綴中的有效生命期”和“配置的臨時地址有效生命期”。
表1-8 配置係統生成臨時地址,並優先選擇臨時地址作為報文的源地址
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置係統生成臨時地址 |
ipv6 temporary-address [ valid-lifetime preferred-lifetime ] |
缺省情況下,係統不生成臨時地址 |
優先選擇臨時地址作為報文的源地址 |
ipv6 prefer temporary-address |
缺省情況下,不會用臨時地址作為接口發送報文的源地址 |
設備的接口必須啟用地址無狀態自動配置功能才能生成臨時地址,而且臨時地址不會覆蓋公共地址,因此會出現一個接口下有多個前綴相同但是接口ID不同的地址。
如果公共地址生成失敗,例如前綴衝突,則不會生成臨時地址。
進行配置前,需要先通過以下方法創建用來引用的IPv6前綴:
· 通過ipv6 prefix命令手工創建靜態IPv6前綴。
· 配置設備作為DHCPv6客戶端動態獲取IPv6前綴,並根據獲取到的前綴生成指定編號的IPv6前綴。詳細介紹請參見“三層技術-IP業務命令參考/DHCPv6”中的命令ipv6 dhcp client pd。
表1-9 引用前綴生成接口上的IPv6地址,並將此前綴分配給終端設備
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
手工配置靜態的IPv6前綴 |
ipv6 prefix prefix-number ipv6-prefix/prefix-length |
二者必選其一 缺省情況下,不存在IPv6前綴 |
配置設備作為DHCPv6客戶端動態獲取IPv6前綴,並生成指定編號的IPv6前綴 |
配置方法請參見“三層技術-IP業務配置指導”中的“DHCPv6客戶端” |
|
進入接口視圖 |
interface interface-type interface-number |
- |
引用前綴生成接口上的IPv6地址,並將此前綴分配給終端設備 |
ipv6 address prefix-number sub-prefix/prefix-length |
缺省情況下,接口上未引用前綴,也不會向終端設備分配該前綴 |
IPv6的鏈路本地地址可以通過兩種方式獲得:
· 自動生成:設備根據鏈路本地地址前綴(FE80::/10)及接口的鏈路層地址,自動為接口生成鏈路本地地址;
· 手工指定:用戶手工配置IPv6鏈路本地地址。
每個接口隻能有一個鏈路本地地址,為了避免鏈路本地地址衝突,推薦使用鏈路本地地址的自動生成方式。
配置鏈路本地地址時,手工指定方式的優先級高於自動生成方式。即如果先采用自動生成方式,之後手工指定,則手工指定的地址會覆蓋自動生成的地址;如果先手工指定,之後采用自動生成的方式,則自動配置不生效,接口的鏈路本地地址仍是手工指定的。此時,如果刪除手工指定的地址,則自動生成的鏈路本地地址會生效。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置自動生成鏈路本地地址 |
ipv6 address auto link-local |
缺省情況下,接口上沒有鏈路本地地址。當接口配置了IPv6全球單播地址後,會自動生成鏈路本地地址 |
表1-11 手工指定接口的鏈路本地地址
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
手工指定接口的鏈路本地地址 |
ipv6 address ipv6-address link-local |
缺省情況下,未指定接口的鏈路本地地址 |
當接口配置了IPv6全球單播地址後,同時會自動生成鏈路本地地址。且與采用ipv6 address auto link-local命令生成的鏈路本地地址相同。此時如果手工指定接口的鏈路本地地址,則手工指定的有效。如果刪除手工指定的鏈路本地地址,則接口的鏈路本地地址恢複為係統自動生成的地址。
undo ipv6 address auto link-local命令隻能刪除使用ipv6 address auto link-local命令生成的鏈路本地地址。即如果此時已經配置了IPv6全球單播地址,由於係統會自動生成鏈路本地地址,則接口仍有鏈路本地地址;如果此時沒有配置IPv6全球單播地址,則接口沒有鏈路本地地址。
用戶需要手工配置接口的IPv6任播地址。
表1-12 配置IPv6任播地址
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置IPv6任播地址 |
ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length } anycast |
缺省情況下,接口上未配置任播地址 |
鄰居表項保存的是設備在鏈路範圍內的鄰居信息,設備鄰居表項可以通過鄰居請求消息NS及鄰居通告消息NA來動態創建,也可以通過手工配置來靜態創建。
設備根據鄰居節點的IPv6地址和與此鄰居節點相連的三層接口號來唯一標識一個靜態鄰居表項。目前,靜態鄰居表項有兩種配置方式:
· 配置本節點的三層接口相連的鄰居節點的IPv6地址和鏈路層地址;
· 配置本節點VLAN中的二層端口相連的鄰居節點的IPv6地址和鏈路層地址。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置靜態鄰居表項 |
ipv6 neighbor ipv6-address mac-address { vlan-id port-type port-number | interface interface-type interface-number } |
缺省情況下,不存在靜態鄰居表項 |
對於VLAN接口,可以采用上述兩種方式來配置靜態鄰居表項:
· 采用第一種方式配置靜態鄰居表項後,設備還需要解析該VLAN下的二層端口信息。
· 采用第二種方式配置靜態鄰居表項後,需要保證port-type port-number指定的二層端口屬於vlan-id指定的VLAN,且該VLAN已經創建了VLAN接口。在配置後,設備會將VLAN所對應的VLAN接口與IPv6地址相對應來唯一標識一個靜態鄰居表項。
設備可以通過NS消息和NA消息來動態獲取鄰居節點的鏈路層地址,並將其加入到鄰居表中。為了防止部分接口下的用戶占用過多的資源,可以通過設置接口學習動態鄰居表項的最大個數來進行限製。當接口學習到的動態鄰居表項的個數達到所設置的最大值時,該接口將不再學習動態鄰居表項。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口上允許學習的動態鄰居表項的最大個數 |
ipv6 neighbors max-learning-num max-number |
缺省情況下,各係列產品接口上允許學習的動態鄰居表項的最大個數為: · S5560S-EI係列交換機為1024 · S5130S-HI係列交換機、S5130S-EI係列(除S5130S-EI-M係列)交換機和S3100V3-EI係列交換機為256 · S5130S-EI-M係列交換機為768 · S5110V2係列交換機為128 |
為適應網絡的變化,ND表需要不斷更新。在ND表中,處於STALE狀態的ND表項並非永遠有效,而是有一個老化時間。到達老化時間的STALE狀態ND表項將遷移到DELAY狀態。5秒鍾後DELAY狀態超時,ND表項將遷移到PROBE狀態,並且設備會發送3次NS報文進行可達性探測。若鄰居已經下線,則收不到回應的NA報文,此時設備會將該ND表項刪除。用戶可以根據網絡實際情況調整老化時間。
表1-15 配置STALE狀態ND表項的老化時間
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置STALE狀態ND表項的老化時間 |
ipv6 neighbor stale-aging aging-time |
缺省情況下,STALE狀態ND表項的老化時間為240分鍾 |
本功能可以對鏈路本地ND表項(該ND表項的IPv6地址為鏈路本地地址)占用的資源進行優化。
缺省情況下,所有ND表項均會下發硬件表項。配置本功能後,新學習的、未被引用的鏈路本地ND表項(該ND表項的鏈路本地地址不是某條路由的下一跳)不下發硬件表項,以節省資源。
本功能隻對後續新學習的ND表項生效,已經存在的ND表項不受影響。
表1-16 配置鏈路本地ND表項資源占用最小化
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置鏈路本地ND表項資源占用最小化 |
ipv6 neighbor link-local minimize |
缺省情況下,所有ND表項均會下發硬件表項 |
設備的跳數限製有以下兩個作用:
· 決定了設備發送的IPv6數據報文的跳數,即IPv6數據報文的Hop Limit字段的值。
· 如果用戶配置了在RA消息中發布本設備的跳數限製(配置命令undo ipv6 nd ra hop-limit unspecified),則設備發送的RA消息中將攜帶此處配置的跳數限製值。收到該RA消息之後,主機在發送IPv6報文時,將使用該跳數值填充IPv6報文頭中的Hop Limit字段。
表1-17 配置設備的跳數限製
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置設備的跳數限製 |
ipv6 hop-limit value |
缺省情況下,設備的跳數限製為64跳 |
用戶可以根據實際情況,配置接口是否發送RA消息及發送RA消息的時間間隔,同時可以配置RA消息中的相關參數以通告給主機。當主機接收到RA消息後,就可以采用這些參數進行相應操作。可以配置的RA消息中的參數及含義如表1-18所示。
表1-18 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消息對應的發送路由器作為默認網關。 |
表1-19 配置允許發布RA消息
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
取消對RA消息發布的抑製 |
undo ipv6 nd ra halt |
缺省情況下,抑製發布RA消息 |
配置RA消息發布的最大時間間隔和最小時間間隔 |
ipv6 nd ra interval max-interval-value min-interval-value |
缺省情況下,RA消息發布的最大間隔時間為600秒,最小時間間隔為200秒 RA消息周期性發布時,相鄰兩次的時間間隔是在最大時間間隔與最小時間間隔之間隨機選取一個值作為周期性發布RA消息的時間間隔 配置的最小時間間隔應該小於等於最大時間間隔的0.75倍 |
表1-20 配置RA消息中的相關參數
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置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分配地址)的有效生命期和首選生命期與地址本身的生命期相同 |
配置通過RA消息發布的前綴使用的缺省參數 |
ipv6 nd ra prefix default [ valid-lifetime preferred-lifetime [ no-autoconfig | off-link ] * | no-advertise ] |
缺省情況下,未配置通過RA消息發布的前綴使用的缺省參數 |
配置RA消息中不攜帶MTU選項 |
ipv6 nd ra no-advlinkmtu |
缺省情況下,RA消息中攜帶MTU選項 |
配置RA消息中不指定跳數限製 |
ipv6 nd ra hop-limit unspecified |
缺省情況下,RA消息中發布本設備的跳數限製。本設備的跳數限製默認為64跳 |
設置被管理地址配置標誌位為1 |
ipv6 nd autoconfig managed-address-flag |
缺省情況下,被管理地址標誌位為0,即主機通過無狀態自動配置獲取IPv6地址 |
設置其他配置標誌位為1 |
ipv6 nd autoconfig other-flag |
缺省情況下,其他配置標誌位為0,即主機通過無狀態自動配置獲取其他信息 |
配置RA消息中路由器的生存時間 |
ipv6 nd ra router-lifetime time |
缺省情況下,RA消息中路由器的生存時間為1800秒 |
配置鄰居請求消息重傳時間間隔 |
ipv6 nd ns retrans-timer value |
缺省情況下,接口發送NS消息的時間間隔為1000毫秒;接口發布的RA消息中Retrans Timer字段的值為0,即不對主機進行指定 |
配置RA消息中路由器的優先級 |
ipv6 nd router-preference { high | low | medium } |
缺省情況下,RA消息中路由器的優先級為medium |
配置保持鄰居可達狀態的時間 |
ipv6 nd nud reachable-time time |
缺省情況下,接口保持鄰居可達狀態的時間為30000毫秒;接口發布的RA消息中Reachable Timer字段的值為0,即不對主機進行指定 |
RA消息發布的最大間隔時間應該小於或等於RA消息中路由器的生存時間,以保證在路由器失效之前得到更新的RA消息。
在接口上配置的鄰居請求消息重傳時間間隔及保持鄰居可達狀態的時間,既可作為RA消息中的信息發布給主機,也可作為本接口發送鄰居請求消息的時間間隔及保持鄰居可達狀態的時間。
接口獲得IPv6地址後,將發送鄰居請求消息進行重複地址檢測。如果在指定的時間內(通過ipv6 nd ns retrans-timer命令配置)沒有收到響應,則繼續發送鄰居請求消息,當發送的次數達到所設置的次數後,仍未收到響應,則認為該地址可用。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置重複地址檢測時發送鄰居請求消息的次數 |
ipv6 nd dad attempts interval |
缺省情況下,重複地址檢測時發送鄰居請求報文的次數為1,當interval值為0時,表示禁止重複地址檢測 |
如果NS請求是從一個網絡的主機發往同一網段卻不在同一物理網絡上的另一台主機,那麼連接它們的具有代理功能的設備就可以代答該請求,回應NA報文,這個過程稱作ND代理(ND Proxy)。
ND Proxy功能屏蔽了分離的物理網絡這一事實,使用戶使用起來,好像在同一個物理網絡上。
ND Proxy功能根據應用場景不同分為普通ND Proxy和本地ND Proxy。
如無特殊說明,本章後續描述中的ND Proxy均指普通ND Proxy。
(1) ND Proxy
ND Proxy的典型應用環境如圖1-6所示。設備Router通過兩個三層接口GigabitEthernet1/0/1和GigabitEthernet1/0/2連接兩個網絡,兩個三層接口的IPv6地址不在同一個網段,接口地址分別為4:1::99/64、4:2::99/64。但是兩個網絡內的主機Host A和Host B的地址通過掩碼的控製,既與相連設備的接口地址在同一網段,同時二者也處於同一個網段。
圖1-6 ND Proxy的應用環境
在這種組網情況下,當Host A需要與Host B通信時,由於目的IPv6地址與本機的IPv6地址為同一網段,因此Host A會直接發出請求Host B硬件地址的NS請求。但是,此時的兩台主機處於不同的廣播域中,Host B無法收到Host A的NS請求報文,當然也就無法應答。
通過在Router上啟用ND Proxy功能,可以解決此問題。在接口GigabitEthernet1/0/1和GigabitEthernet1/0/2上啟用ND Proxy後,Router可以應答Host A的NS請求。同時,Router作為Host B的代理,把其它主機發送過來的報文轉發給Host B。這樣,實現Host A與Host B之間的通信。
(2) 本地ND Proxy
本地ND Proxy的應用場景如圖1-7所示。Host A屬於VLAN 2,Host B屬於VLAN 3。但它們分別連接到端口GigabitEthernet1/0/1和GigabitEthernet1/0/3上。
圖1-7 本地ND Proxy的應用環境
在這種組網情況下,當Host A需要與Host B通信時,由於目的IPv6地址與本機的IPv6地址為同一網段,因此Host A會直接發出請求Host B硬件地址的NS請求。但是,因為連接兩台主機屬於不同的VLAN中,Host B無法收到Host A的NS請求報文。
通過在Router上啟用本地ND Proxy功能,可以解決此問題。在接口GigabitEthernet1/0/2上啟用本地ND Proxy後,Router會代替Host B回應NA,Host A發給Host B的報文就會通過Router進行轉發,從而實現Host A與Host B之間的通信。
本地ND Proxy可以在下列四種情況下實現主機之間的三層互通:
· 想要互通的主機分別連接到同一台設備的不同VLAN中的端口下;
· 想要互通的主機分別連接到同一個VLAN中的同一個隔離組內的不同二層隔離端口下;
· 開啟Super VLAN功能後,想要互通的主機屬於不同的Sub VLAN;
ND Proxy和本地ND Proxy功能均可在VLAN接口視圖下進行配置。
表1-22 配置ND Proxy功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
開啟ND Proxy功能 |
proxy-nd enable |
缺省情況下,ND Proxy功能處於關閉狀態 |
表1-23 配置本地ND Proxy功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
開啟本地ND Proxy功能 |
local-proxy-nd enable |
缺省情況下,本地ND Proxy功能處於關閉狀態 |
由於IPv6路由器不支持對報文進行分片,當路由器接口收到一個報文後,如果發現報文長度比轉發接口的MTU值大,則會將其丟棄;同時將轉發接口的MTU值通過ICMPv6報文的“Packet Too Big”消息發給源端主機,源端主機以該值重新發送IPv6報文。為減少報文被丟棄帶來的額外流量開銷,需要根據實際組網環境設置合適的接口MTU值。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口MTU |
ipv6 mtu size |
缺省情況下,未配置接口上發送IPv6報文的MTU |
用戶可以為指定的目的IPv6地址配置靜態的PMTU值。當設備作為源端從接口發送報文時,將比較該接口的MTU與指定目的IPv6地址的靜態PMTU,如果報文長度大於二者中的最小值,則采用此最小值對報文進行分片發送。發送過程中再通過“1.1.4 IPv6 PMTU發現”中的方法動態確定設備作為源端到目的端主機的PMTU值。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置指定IPv6地址對應的靜態PMTU值 |
ipv6 pathmtu ipv6-address value |
缺省情況下,未配置靜態PMTU值 |
通過“1.1.4 IPv6 PMTU發現”中的方法動態確定設備作為源端到目的端主機的PMTU後,設備將使用這個MTU值發送後續報文到目的端主機。當PMTU老化時間超時後,源端主機會通過PMTU機製重新確定發送報文的MTU值。
該配置對靜態PMTU不起作用。
表1-26 配置PMTU老化時間
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置PMTU老化時間 |
ipv6 pathmtu age age-time |
缺省情況下,PMTU的老化時間是10分鍾 |
如果網絡中短時間內發送的ICMPv6差錯報文過多,將可能導致網絡擁塞。為了避免這種情況,用戶可以控製在指定時間內發送ICMPv6差錯報文的最大個數,目前采用令牌桶算法來實現。
用戶可以設置令牌桶的容量,即令牌桶中可以同時容納的令牌數;同時可以設置令牌桶的刷新周期,即每隔多長時間發放一個令牌到令牌桶中,直到令牌桶中的令牌數達到配置的容量。一個令牌表示允許發送一個ICMPv6差錯報文,每當發送一個ICMPv6差錯報文,則令牌桶中減少一個令牌。如果連續發送的ICMPv6差錯報文超過了令牌桶的容量,則後續的ICMPv6差錯報文將不能被發送出去,直到按照所設置的刷新頻率將新的令牌放入令牌桶中。
表1-27 配置發送ICMPv6差錯報文對應的令牌桶容量和令牌刷新周期
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置發送ICMPv6差錯報文對應的令牌桶容量和令牌刷新周期 |
ipv6 icmpv6 error-interval interval [ bucketsize ] |
缺省情況下,令牌桶容量為10,令牌刷新周期為100毫秒 刷新周期為0時,表示不限製ICMPv6差錯報文的發送 |
缺省情況下,不允許設備回複組播形式的Echo request報文。
在某些應用場景下,可能需要使用組播形式的Echo request報文來獲取信息,此時可以通過下麵的命令,配置允許設備回複組播形式的Echo request報文。
表1-28 配置允許回複組播形式的Echo request報文
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置設備允許回複組播形式的Echo request報文 |
ipv6 icmpv6 multicast-echo-reply enable |
缺省情況下,不允許設備回複組播形式的Echo request報文 |
ICMPv6目的不可達報文發送功能是在設備收到IPv6數據報文後,如果發生目的不可達的差錯,則將報文丟棄並給源端發送ICMPv6目的不可達差錯報文。
設備在滿足下列任一條件時會發送目的不可達報文:
· 設備在轉發報文時,如果在路由表中沒有找到對應的轉發路由,且路由表中沒有缺省路由,則給源端發送“沒有到達目的地址的路由”ICMPv6差錯報文;
· 設備在轉發報文時,如果是因為管理策略(例如防火牆過濾、ACL等)導致無法發送報文時,則給源端發送“與目的地址的通信被管理策略禁止”ICMPv6差錯報文;
· 設備在轉發報文時,如果報文的目的IPv6地址超出源IPv6地址的範圍(例如,報文的源IPv6地址為鏈路本地地址,報文的目的IPv6地址為全球單播地址),會導致報文無法到達目的端,此時要給源端發送“超出源地址範圍”ICMPv6差錯報文;
· 設備在轉發報文時,如果不能解析目的IPv6地址對應的鏈路層地址,則給源端發送“地址不可達”ICMPv6差錯報文;
· 設備收到目的地址為本地、傳輸層協議為UDP的數據報文時,如果報文的目的端口號與正在使用的進程不匹配,則給源端發送“端口不可達”ICMPv6差錯報文。
由於ICMPv6目的不可達報文傳遞給用戶進程的信息為不可達信息,如果有用戶惡意攻擊,可能會影響終端用戶的正常使用。為了避免上述現象發生,可以關閉設備的ICMPv6目的不可達報文發送功能,從而減少網絡流量、防止遭到惡意攻擊。
表1-29 配置ICMPv6目的不可達報文發送功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟設備的ICMPv6目的不可達報文的發送功能 |
ipv6 unreachables enable |
缺省情況下,ICMPv6目的不可達報文發送功能處於關閉狀態 |
ICMPv6超時報文發送功能是在設備收到IPv6數據報文後,如果發生超時差錯,則將報文丟棄並給源端發送ICMPv6超時差錯報文。
設備在滿足下列任一條件時會發送ICMPv6超時報文:
· 設備收到IPv6數據報文後,如果報文的目的地不是本地且報文的Hop limit字段是1,則發送“Hop limit超時”ICMPv6差錯報文;
· 設備收到目的地址為本地的IPv6數據報文的第一個分片後,啟動定時器,如果所有分片報文到達之前定時器超時,則會發送“重組超時”ICMPv6差錯報文。
如果接收到大量需要發送ICMPv6差錯報文的惡意攻擊報文,設備會因為處理大量該類報文而導致性能降低。
為了避免上述現象發生,可以關閉設備的ICMPv6超時報文發送功能,從而減少網絡流量、防止遭到惡意攻擊。
表1-30 配置ICMPv6超時差錯報文發送功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟設備的ICMPv6超時報文的發送功能 |
ipv6 hoplimit-expires enable |
缺省情況下,ICMPv6超時報文發送功能處於開啟狀態 |
當主機啟動時,它的路由表中可能隻有一條到缺省網關的缺省路由。當滿足一定的條件時,缺省網關會向源主機發送ICMPv6重定向報文,通知主機重新選擇更好的下一跳進行後續報文的發送。
同時滿足下列條件時,設備會發送ICMPv6重定向報文:
· 接收和轉發數據報文的接口是同一接口;
· 被選擇的路由本身沒有被ICMPv6重定向報文創建或修改過;
· 被選擇的路由不是設備的缺省路由;
· 被轉發的IPv6數據報文中不包含路由擴展頭。
ICMPv6重定向報文發送功能可以簡化主機的管理,使具有很少選路信息的主機逐漸建立較完善的路由表,從而找到最佳路由。但是由於重定向功能會在主機的路由表中增加主機路由,當增加的主機路由很多時,會降低主機性能。因此缺省情況下設備的ICMPv6重定向報文發送功能處於關閉狀態。
表1-31 配置ICMPv6重定向報文發送功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟設備的ICMPv6重定向報文發送功能 |
ipv6 redirects enable |
缺省情況下,ICMPv6重定向報文發送功能處於關閉狀態 |
在網絡中IPv6地址配置較多的情況下,收到ICMPv6報文時,用戶很難根據報文的源IPv6地址判斷報文來自哪台設備。為了簡化這一判斷過程,可以配置ICMPv6報文指定源地址功能。用可配置特定地址(如環回口地址)為ICMPv6報文的源地址,可以簡化判斷。
設備發送ICMPv6差錯報文(TTL超時、報文過大、端口不可達和參數錯誤等)和ping echo request報文時,都可以通過上述命令指定報文的源地址。
表1-32 配置ICMPv6報文指定源地址功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟ICMPv6報文指定源地址功能 |
ipv6 icmpv6 source ipv6-address |
缺省情況下,ICMPv6報文指定源地址功能處於關閉狀態 |
用戶發送ping echo request報文時,如果ping命令中已經指定源地址,則使用該源地址,否則使用ipv6 icmpv6 source配置的源地址。
多台設備組成的IRF環境下,當某成員設備收到目的為本IRF設備的IPv6分片報文時,需要把分片報文送到主設備進行重組,這樣會導致報文重組性能較低的問題。當開啟IPv6分片報文本地重組功能後,分片報文會在該成員設備上直接進行報文重組,這樣就能提高分片報文的重組性能。開啟IPv6分片報文本地重組功能後,如果分片報文是從設備上不同的成員設備進入的,會導致IP分片報文本地無法重組成功。
表1-33 開啟IPv6分片報文本地重組功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟IPv6分片報文本地重組功能 |
ipv6 reassemble local enable |
缺省情況下,IPv6分片報文本地重組功能處於關閉狀態 |
IPv6協議引入了多種擴展報文頭,開啟IPv6擴展報文丟棄功能後,如果接收到無法處理的IPv6擴展頭的報文,設備將直接丟棄。
表1-34 開啟IPv6報文擴展頭丟棄功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟IPv6報文擴展頭丟棄功能 |
ipv6 extension-header drop enable |
缺省情況下,IPv6報文擴展頭丟棄功能處於關閉狀態 |
在完成上述配置後,在任意視圖下執行display命令可以顯示IPv6配置後的運行情況,用戶可以通過查看顯示信息驗證配置的效果。
在用戶視圖下,執行reset命令可以清除相應的統計信息。
表1-35 IPv6基礎顯示和維護
操作 |
命令 |
顯示IPv6 FIB信息 |
display ipv6 fib [ ipv6-address [ prefix-length ] ] |
顯示接口的IPv6信息 |
display ipv6 interface [ interface-type [ interface-number ] ] [ brief ] |
顯示接口的IPv6前綴信息 |
display ipv6 interface interface-type interface-number prefix |
顯示鄰居信息 |
display ipv6 neighbors { { ipv6-address | all | dynamic | static } [ slot slot-number ] | interface interface-type interface-number | vlan vlan-id } [ verbose ] |
顯示鄰居表項的個數 |
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的PMTU信息 |
display ipv6 pathmtu { ipv6-address | { all | dynamic | static } [ count ] } |
顯示IPv6前綴信息 |
display ipv6 prefix [ prefix-number ] |
顯示IPv6報文及ICMPv6報文的統計信息 |
display ipv6 statistics [ slot slot-number ] |
顯示IPv6 RawIP連接摘要信息 |
display ipv6 rawip [ slot slot-number ] |
顯示IPv6 RawIP連接詳細信息 |
display ipv6 rawip verbose [ slot slot-number [ pcb pcb-index ] ] |
顯示IPv6 TCP連接摘要信息 |
display ipv6 tcp [ slot slot-number ] |
顯示IPv6 TCP連接詳細信息 |
display ipv6 tcp verbose [ slot slot-number [ pcb pcb-index ] ] |
顯示IPv6 UDP連接摘要信息 |
display ipv6 udp [ slot slot-number ] |
顯示IPv6 UDP連接詳細信息 |
display ipv6 udp verbose [ slot slot-number [ pcb pcb-index ] ] |
顯示IPv6 ICMP流量統計信息 |
display ipv6 icmp statistics [ slot slot-number ] |
顯示IPv6 TCP連接的流量統計信息 |
display tcp statistics [ slot slot-number ] |
顯示IPv6 UDP流量統計信息 |
display udp statistics [ slot slot-number ] |
清除IPv6鄰居信息 |
reset ipv6 neighbors { all | dynamic | interface interface-type interface-number | slot slot-number | static } |
清除PMTU值 |
reset ipv6 pathmtu { all | dynamic | static } |
清除IPv6報文及ICMPv6報文的統計信息 |
reset ipv6 statistics [ slot slot-number ] |
清除IPv6 TCP連接的流量統計信息 |
reset tcp statistics |
清除IPv6 UDP流量統計信息 |
reset udp statistics |
display tcp statistics、display udp statistics、reset tcp statistics和reset udp statistics命令的詳細介紹請參見“三層技術-IP業務命令參考”中的“IP性能優化”。
· 如圖1-8所示,Host、Switch A和Switch B之間通過以太網端口相連,將以太網端口分別加入相應的VLAN裏,在VLAN接口上配置IPv6地址,驗證它們之間的互通性。
· Switch B有可以到Host的路由。
· 在Host上安裝IPv6,根據IPv6鄰居發現協議自動配置IPv6地址,有可以到Switch B的路由。
圖1-8 IPv6地址配置組網圖
交換機上已經創建相應的VLAN接口。
(1) 配置Switch A
# 手工指定VLAN接口2的全球單播地址。
<SwitchA> system-view
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ipv6 address 3001::1/64
[SwitchA-Vlan-interface2] quit
# 手工指定VLAN接口1的全球單播地址,並允許其發布RA消息。(缺省情況下,所有的接口不會發布RA消息)
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] ipv6 address 2001::1/64
[SwitchA-Vlan-interface1] undo ipv6 nd ra halt
[SwitchA-Vlan-interface1] quit
(2) 配置Switch B
# 配置VLAN接口2的全球單播地址。
<SwitchB> system-view
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] ipv6 address 3001::2/64
[SwitchB-Vlan-interface2] quit
# 配置IPv6靜態路由,該路由的目的地址為2001::/64,下一跳地址為3001::1。
[SwitchB] ipv6 route-static 2001:: 64 3001::1
(3) 配置Host
在Host上安裝IPv6,根據IPv6鄰居發現協議自動配置IPv6地址。
# 從Switch A上查看端口GigabitEthernet1/0/2的鄰居信息。
[SwitchA] display ipv6 neighbors interface gigabitethernet 1/0/2
Type: S-Static D-Dynamic O-Openflow R-Rule I-Invalid
IPv6 address Link Layer VID Interface/Link ID State T Age
FE80::215:E9FF:FEA6:7D14 0015-e9a6-7d14 1 GE1/0/2 STALE D 1238
2001::15B:E0EA:3524:E791 0015-e9a6-7d14 1 GE1/0/2 STALE D 1248
通過上麵的信息可以知道Host上獲得的IPv6全球單播地址為2001::15B:E0EA:3524:E791。
# 顯示Switch A的接口信息,可以看到各接口配置的IPv6全球單播地址。
[SwitchA] display ipv6 interface vlan-interface 2
Vlan-interface2 current state: UP
Line protocol current state: UP
IPv6 is enabled, link-local address is FE80::20F:E2FF:FE00:2
Global unicast address(es):
3001::1, subnet is 3001::/64
Joined group address(es):
FF02::1
FF02::2
FF02::1:FF00:1
FF02::1:FF00:2
MTU is 1500 bytes
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
ND retransmit interval is 1000 milliseconds
Hosts use stateless autoconfig for addresses
IPv6 Packet statistics:
InReceives: 25829
InTooShorts: 0
InTruncatedPkts: 0
InHopLimitExceeds: 0
InBadHeaders: 0
InBadOptions: 0
ReasmReqds: 0
ReasmOKs: 0
InFragDrops: 0
InFragTimeouts: 0
OutFragFails: 0
InUnknownProtos: 0
InDelivers: 47
OutRequests: 89
OutForwDatagrams: 48
InNoRoutes: 0
InTooBigErrors: 0
OutFragOKs: 0
OutFragCreates: 0
InMcastPkts: 6
InMcastNotMembers: 25747
OutMcastPkts: 48
InAddrErrors: 0
InDiscards: 0
OutDiscards: 0
[SwitchA] display ipv6 interface vlan-interface 1
Vlan-interface1 current state: UP
Line protocol current state: UP
IPv6 is enabled, link-local address is FE80::20F:E2FF:FE00:1C0
Global unicast address(es):
2001::1, subnet is 2001::/64
Joined group address(es):
FF02::1
FF02::2
FF02::1:FF00:1
FF02::1:FF00:1C0
MTU is 1500 bytes
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
ND retransmit interval is 1000 milliseconds
ND advertised reachable time is 0 milliseconds
ND advertised retransmit interval is 0 milliseconds
ND router advertisements are sent every 600 seconds
ND router advertisements live for 1800 seconds
Hosts use stateless autoconfig for addresses
IPv6 Packet statistics:
InReceives: 272
InTooShorts: 0
InTruncatedPkts: 0
InHopLimitExceeds: 0
InBadHeaders: 0
InBadOptions: 0
ReasmReqds: 0
ReasmOKs: 0
InFragDrops: 0
InFragTimeouts: 0
OutFragFails: 0
InUnknownProtos: 0
InDelivers: 159
OutRequests: 1012
OutForwDatagrams: 35
InNoRoutes: 0
InTooBigErrors: 0
OutFragOKs: 0
OutFragCreates: 0
InMcastPkts: 79
InMcastNotMembers: 65
OutMcastPkts: 938
InAddrErrors: 0
InDiscards: 0
OutDiscards: 0
# 顯示Switch B的接口信息,可以看到接口配置的IPv6全球單播地址。
[SwitchB] display ipv6 interface vlan-interface 2
Vlan-interface2 current state: UP
Line protocol current state: UP
IPv6 is enabled, link-local address is FE80::20F:E2FF:FE00:1234
Global unicast address(es):
3001::2, subnet is 3001::/64
Joined group address(es):
FF02::1
FF02::2
FF02::1:FF00:2
FF02::1:FF00:1234
MTU is 1500 bytes
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
ND retransmit interval is 1000 milliseconds
Hosts use stateless autoconfig for addresses
IPv6 Packet statistics:
InReceives: 117
InTooShorts: 0
InTruncatedPkts: 0
InHopLimitExceeds: 0
InBadHeaders: 0
InBadOptions: 0
ReasmReqds: 0
ReasmOKs: 0
InFragDrops: 0
InFragTimeouts: 0
OutFragFails: 0
InUnknownProtos: 0
InDelivers: 117
OutRequests: 83
OutForwDatagrams: 0
InNoRoutes: 0
InTooBigErrors: 0
OutFragOKs: 0
OutFragCreates: 0
InMcastPkts: 28
InMcastNotMembers: 0
OutMcastPkts: 7
InAddrErrors: 0
InDiscards: 0
OutDiscards: 0
# 在Host上使用Ping測試和Switch A及Switch B的互通性;在Switch B上使用Ping測試和Switch A及Host的互通性。
在Ping鏈路本地地址時,需要使用-i參數來指定鏈路本地地址的接口。
[SwitchB] ping ipv6 -c 1 3001::1
Ping6(56 data bytes) 3001::2 --> 3001::1, press CTRL_C to break
56 bytes from 3001::1, icmp_seq=0 hlim=64 time=4.404 ms
--- Ping6 statistics for 3001::1 ---
1 packet(s) transmitted, 1 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 4.404/4.404/4.404/0.000 ms
[SwitchB] ping ipv6 -c 1 2001::15B:E0EA:3524:E791
Ping6(56 data bytes) 3001::2 --> 2001::15B:E0EA:3524:E791, press CTRL_C to break
56 bytes from 2001::15B:E0EA:3524:E791, icmp_seq=0 hlim=64 time=5.404 ms
--- Ping6 statistics for 2001::15B:E0EA:3524:E791 ---
1 packet(s) transmitted, 1 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 5.404/5.404/5.404/0.000 ms
從Host上也可以ping通Switch B和Switch A,證明它們是互通的。
無法Ping通對端的IPv6地址。
· 在任意視圖下使用display ipv6 interface命令檢查接口配置的IPv6地址是否正確,接口狀態是否為up。
· 在用戶視圖下使用debugging ipv6 packet命令打開IPv6報文調試開關,根據調試信息進行判斷。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!