08-IPv6基礎配置
本章節下載: 08-IPv6基礎配置 (420.09 KB)
![]()
l 本係列產品未形成IRF時,適用本手冊中的“分布式設備”的情況;形成IRF後則適用本手冊中的“分布式IRF設備”的情況。有關IRF特性的詳細介紹,請參見“IRF配置指導”。
l 本文中所指的“接口”包括Vlan接口、三層以太網端口等。三層以太網端口是指被配置為三層模式的以太網端口,有關以太網端口模式切換的操作,請參見“二層技術-以太網交換配置指導”中的“以太網端口配置”。
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支持有狀態地址配置和無狀態地址配置:
l 有狀態地址配置是指從服務器(如DHCP服務器)獲取IPv6地址及相關信息;
l 無狀態地址配置是指主機根據自己的鏈路層地址及路由器發布的前綴信息自動配置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”可以有下麵的處理方式:
l 每組中的前導“0”可以省略,即上述地址可寫為2001:0:130F:0:0:9C0:876A:130B。
l 如果地址中包含連續兩個或多個均為0的組,則可以用雙冒號“::”來代替,即上述地址可寫為2001:0:130F::9C0:876A:130B。
![]()
在一個IPv6地址中隻能使用一次雙冒號“::”,否則當設備將“::”轉變為0以恢複128位地址時,將無法確定“::”所代表的0的個數。
IPv6地址由兩部分組成:地址前綴與接口標識。其中,地址前綴相當於IPv4地址中的網絡號碼字段部分,接口標識相當於IPv4地址中的主機號碼部分。
地址前綴的表示方式為:IPv6地址/前綴長度。其中,IPv6地址是前麵所列出的任一形式,而前綴長度是一個十進製數,表示IPv6地址最左邊多少位為地址前綴。
IPv6主要有三種類型的地址:單播地址、組播地址和任播地址。
l 單播地址:用來唯一標識一個接口,類似於IPv4的單播地址。發送到單播地址的數據報文將被傳送給此地址所標識的接口。
l 組播地址:用來標識一組接口(通常這組接口屬於不同的節點),類似於IPv4的組播地址。發送到組播地址的數據報文被傳送給此地址所標識的所有接口。
l 任播地址:用來標識一組接口(通常這組接口屬於不同的節點)。發送到任播地址的數據報文被傳送給此地址所標識的一組接口中距離源節點最近(根據使用的路由協議進行度量)的一個接口。
![]()
IPv6中沒有廣播地址,廣播地址的功能通過組播地址來實現。
IPv6地址類型是由地址前麵幾位(稱為格式前綴)來指定的,主要地址類型與格式前綴的對應關係如表1-1所示。
|
地址類型 |
格式前綴(二進製) |
IPv6前綴標識 |
|
|
單播地址 |
未指定地址 |
00...0 (128 bits) |
::/128 |
|
環回地址 |
00...1 (128 bits) |
::1/128 |
|
|
鏈路本地地址 |
1111111010 |
FE80::/10 |
|
|
站點本地地址 |
1111111011 |
FEC0::/10 |
|
|
全球單播地址 |
其他形式 |
- |
|
|
組播地址 |
11111111 |
FF00::/8 |
|
|
任播地址 |
從單播地址空間中進行分配,使用單播地址的格式 |
||
IPv6單播地址的類型可有多種,包括全球單播地址、鏈路本地地址和站點本地地址等。
l 全球單播地址等同於IPv4公網地址,提供給網絡服務提供商。這種類型的地址允許路由前綴的聚合,從而限製了全球路由表項的數量。
l 鏈路本地地址用於鄰居發現協議和無狀態自動配置中鏈路本地上節點之間的通信。使用鏈路本地地址作為源或目的地址的數據報文不會被轉發到其他鏈路上。
l 站點本地地址與IPv4中的私有地址類似。使用站點本地地址作為源或目的地址的數據報文不會被轉發到本站點(相當於一個私有網絡)外的其它站點。
l 環回地址:單播地址0:0:0:0:0:0:0:1(簡化表示為::1)稱為環回地址,不能分配給任何物理接口。它的作用與在IPv4中的環回地址相同,即節點用來給自己發送IPv6報文。
l 未指定地址:地址“::”稱為未指定地址,不能分配給任何節點。在節點獲得有效的IPv6地址之前,可在發送的IPv6報文的源地址字段填入該地址,但不能作為IPv6報文中的目的地址。
表1-2所示的組播地址,是預留的特殊用途的組播地址。
表1-2 預留的IPv6組播地址列表
|
地址 |
應用 |
|
FF01::1 |
表示節點本地範圍所有節點的組播地址 |
|
FF02::1 |
表示鏈路本地範圍所有節點的組播地址 |
|
FF01::2 |
表示節點本地範圍所有路由器的組播地址 |
|
FF02::2 |
表示鏈路本地範圍所有路由器的組播地址 |
|
FF05::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格式的接口標識符的生成方法不同,分別介紹如下:
l 所有IEEE 802接口類型(例如,VLAN接口):IEEE EUI-64格式的接口標識符是從接口的鏈路層地址(MAC地址)變化而來的。IPv6地址中的接口標識符是64位,而MAC地址是48位,因此需要在MAC地址的中間位置(從高位開始的第24位後)插入十六進製數FFFE(1111111111111110)。為了表示這個從MAC地址得到的接口標識符是全球唯一的,還要將Universal/Local (U/L)位(從高位開始的第7位)設置為“1”。最後得到的這組數就作為EUI-64格式的接口標識符。
圖1-2 MAC地址到EUI-64格式接口標識符的轉換過程

l Tunnel接口:IEEE EUI-64格式的接口標識符的低32位為Tunnel接口的源IPv4地址,ISATAP隧道的接口標識符的高32位為0000:5EFE,其他隧道的接口標識符的高32位為全0。關於各種隧道的介紹,請參見“三層技術-IP業務配置指導”中的“隧道”。
l 其他接口類型:IEEE EUI-64格式的接口標識符由設備隨機生成。
IPv6鄰居發現(Neighbor Discovery,ND)協議使用五種類型的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的鏈路層地址。

(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功能相似)。通過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地址及其他信息。
![]()
l 前綴信息選項中不僅包括地址前綴的信息,還包括該地址前綴的首選生命期(preferred lifetime)和有效生命期(valid lifetime)。節點收到周期性發送的RA消息後,會根據該消息更新前綴的首選生命期和有效生命期。
l 在有效生命期內,自動生成的地址可以正常使用;有效生命期過期後,自動生成的地址將被刪除。
當主機啟動時,它的路由表中可能隻有一條到缺省網關的缺省路由。當滿足一定的條件時,缺省網關會向源主機發送ICMPv6重定向消息,通知主機選擇更好的下一跳進行後續報文的發送(與IPv4的ICMP重定向消息的功能相同)。
設備在滿足下列條件時會發送對主機重定向的ICMPv6重定向報文:
l 接收和轉發數據報文的接口是同一接口;
l 被選擇的路由本身沒有被ICMPv6重定向報文創建或修改過;
l 被選擇的路由不是缺省路由;
l 被轉發的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。
在IPv6成為主流協議之前,首先使用IPv6協議棧的網絡希望能與當前仍被IPv4支撐著的Internet進行正常通信,因此必須開發出IPv4和IPv6互通技術以保證IPv4能夠平穩過渡到IPv6。互通技術應該對信息傳遞做到高效無縫。目前已經出現了多種過渡技術,這些技術各有特點,用於解決不同過渡時期、不同環境的通信問題。
目前解決過渡問題的基本技術有2種:雙協議棧(RFC 2893)和隧道技術(RFC 2893)。
雙協議棧是一種最簡單直接的過渡機製。同時支持IPv4協議和IPv6協議的網絡節點稱為雙協議棧節點。當雙協議棧節點配置IPv4地址和IPv6地址後,就可以在相應接口上轉發IPv4和IPv6報文。當一個上層應用同時支持IPv4和IPv6協議時,根據協議要求可以選用TCP或UDP作為傳輸層的協議,但在選擇網絡層協議時,它會優先選擇IPv6協議棧。雙協議棧技術適合IPv4網絡節點之間或者IPv6網絡節點之間通信,是所有過渡技術的基礎。但是,這種技術要求運行雙協議棧的節點有一個全球唯一的地址,實際上沒有解決IPv4地址資源匱乏的問題。
隧道是一種封裝技術,它利用一種網絡協議來傳輸另一種網絡協議,即利用一種網絡傳輸協議,將其他協議產生的數據報文封裝在它自己的報文中,然後在網絡中傳輸。關於隧道技術的詳細介紹,請參見“三層技術-IP業務配置指導”中的“隧道”。
與IPv6基礎相關的協議規範有:
l RFC 1881:IPv6 Address Allocation Management
l RFC 1887:An Architecture for IPv6 Unicast Address Allocation
l RFC 1981:Path MTU Discovery for IP version 6
l RFC 2375:IPv6 Multicast Address Assignments
l RFC 2460:Internet Protocol, Version 6 (IPv6) Specification
l RFC 2461:Neighbor Discovery for IP Version 6 (IPv6)
l RFC 2462:IPv6 Stateless Address Autoconfiguration
l RFC 2463:Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification
l RFC 2464:Transmission of IPv6 Packets over Ethernet Networks
l RFC 2526:Reserved IPv6 Subnet Anycast Addresses
l RFC 2894:Router Renumbering for IPv6
l RFC 3307:Allocation Guidelines for IPv6 Multicast Addresses
l RFC 3513:Internet Protocol Version 6 (IPv6) Addressing Architecture
表1-4 IPv6基礎配置任務簡介
|
配置任務 |
說明 |
詳細配置 |
|
|
配置IPv6基本功能 |
使能IPv6報文轉發功能 |
必選 |
|
|
配置IPv6全球單播地址 |
三者必選其一 |
||
|
配置IPv6鏈路本地地址 |
|||
|
配置IPv6任播地址 |
|||
|
配置IPv6鄰居發現協議 |
配置靜態鄰居表項 |
可選 |
|
|
配置接口上允許動態學習的鄰居的最大個數 |
可選 |
||
|
配置STALE狀態ND表項的老化時間 |
可選 |
||
|
配置RA消息的相關參數 |
可選 |
||
|
配置重複地址檢測時發送鄰居請求消息的次數 |
可選 |
||
|
配置PMTU發現 |
配置指定地址的靜態PMTU |
可選 |
|
|
配置PMTU老化時間 |
可選 |
||
|
配置TCP6 |
可選 |
||
|
配置ICMPv6報文發送 |
配置指定時間內發送ICMPv6差錯報文的最大個數 |
可選 |
|
|
配置允許回複組播形式的Echo request報文 |
可選 |
||
|
配置ICMPv6超時差錯報文發送功能 |
可選 |
||
|
配置ICMPv6目的不可達差錯報文發送功能 |
可選 |
||
在進行IPv6的相關配置以前,必須先使能IPv6報文轉發功能。否則即使在接口上配置了IPv6地址,仍無法轉發IPv6的報文,造成IPv6網絡無法互通。
表1-5 使能IPv6報文轉發功能
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
使能IPv6報文轉發功能 |
ipv6 |
必選 缺省情況下,IPv6報文轉發功能處於關閉狀態 |
IPv6全球單播地址可以通過下麵三種方式配置:
l 采用EUI-64格式形成:當配置采用EUI-64格式形成IPv6地址時,接口的IPv6地址的前綴需要手工配置,而接口標識符則由接口自動生成。
l 手工配置:用戶手工配置IPv6全球單播地址。
l 無狀態自動配置:根據接收到的RA報文中攜帶的地址前綴信息,自動生成IPv6全球單播地址。
![]()
l 每個接口可以有多個前綴不同的全球單播地址。
l 手工配置的全球單播地址的優先級高於自動生成的全球單播地址。如果在接口已經自動生成全球單播地址的情況下,手工配置前綴相同的全球單播地址,自動生成的地址將被覆蓋。此後,即使刪除手工配置的全球單播地址,已被覆蓋的自動生成的全球單播地址也不會恢複。再次接收到RA報文後,設備根據報文攜帶的地址前綴信息,重新生成全球單播地址。
表1-6 采用EUI-64格式形成IPv6地址
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入接口視圖 |
interface interface-type interface-number |
- |
|
采用EUI-64格式形成IPv6地址 |
ipv6 address ipv6-address/prefix-length eui-64 |
必選 缺省情況下,接口上沒有配置全球單播地址 |
表1-7 手工指定IPv6地址
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入接口視圖 |
interface interface-type interface-number |
- |
|
手工指定IPv6地址 |
ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length } |
必選 缺省情況下,接口上沒有配置全球單播地址 |
表1-8 無狀態自動配置IPv6地址
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入接口視圖 |
interface interface-type interface-number |
- |
|
無狀態自動配置IPv6地址 |
ipv6 address auto |
必選 缺省情況下,接口上沒有配置全球單播地址 |
![]()
在接口上執行undo ipv6 address auto命令,將刪除該接口上所有自動生成的全球單播地址。
在配置了無狀態自動配置IPv6地址功能後,接口會根據接收到的RA報文中攜帶的地址前綴信息和接口ID,自動生成IPv6全球單播地址。如果接口是IEEE 802類型的接口(例如,VLAN接口),其接口ID是由MAC地址根據一定的規則生成,此接口ID具有全球唯一性。對於不同的前綴,接口ID部分始終不變,攻擊者通過接口ID可以很方便的識別出通信流量是由哪台設備產生的,並分析其規律,從而窺探到設備和誰進行通信、在什麼時間進行通信,會造成一定的安全隱患。
如果在地址無狀態自動配置時,自動生成接口ID不斷變化的IPv6地址,就可以加大攻擊的難度,從而保護網絡。為此,設備提供了臨時地址功能,使得係統可以生成臨時地址,並優先選擇臨時地址作為接口發送報文的源地址。配置該功能後,通過地址無狀態自動配置,IEEE 802類型的接口可以同時生成兩類地址:
l 公共地址:地址前綴采用RA報文攜帶的前綴,接口ID由MAC地址產生。接口ID始終不變。
l 臨時地址:地址前綴采用RA報文攜帶的前綴,接口ID由係統根據MD5算法計算產生。接口ID不斷變化。
發送報文時,係統將優先選擇臨時地址作為報文的源地址。當臨時地址的有效生命期過期後,這個臨時地址將被刪除,同時,係統會通過MD5算法重新生成一個接口ID不同的臨時地址。所以,該接口發送報文的源地址的接口ID總是在不停變化。如果生成的臨時地址因為DAD衝突不可用,就采用公共地址作為報文的源地址。
臨時地址的首選生命期和有效生命期的確定原則如下:
l 首選生命期是如下兩個值之中的較小者:RA前綴中的首選生命期和(配置的臨時地址首選生命期減去DESYNC_FACTOR)。DESYNC_FACTOR是一個0~600秒的隨機值。
l 有效生命期是如下兩個值之中的較小者:RA前綴中的有效生命期和配置的臨時地址有效生命期。
表1-9 配置係統生成臨時地址,並優先選擇臨時地址作為報文的源地址
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
配置係統生成臨時地址,並優先選擇臨時地址作為報文的源地址 |
ipv6 prefer temporary-address [ valid-lifetime preferred-lifetime ] |
必選 缺省情況下,係統不生成臨時地址,也就不會用臨時地址作為接口發送報文的源地址 |
![]()
l 設備的接口必須啟用地址無狀態自動配置功能才能生成臨時地址,而且臨時地址不會覆蓋公共地址,因此會出現一個接口下有多個前綴相同但是接口ID不同的地址。
l 如果公共地址生成失敗,例如前綴衝突,則不會生成臨時地址。
IPv6的鏈路本地地址可以通過兩種方式獲得:
l 自動生成:設備根據鏈路本地地址前綴(FE80::/10)及接口的鏈路層地址,自動為接口生成鏈路本地地址;
l 手工指定:用戶手工配置IPv6鏈路本地地址。
![]()
l 每個接口隻能有一個鏈路本地地址,為了避免鏈路本地地址衝突,推薦使用鏈路本地地址的自動生成方式。
l 配置鏈路本地地址時,手工指定方式的優先級高於自動生成方式。即如果先采用自動生成方式,之後手工指定,則手工指定的地址會覆蓋自動生成的地址;如果先手工指定,之後采用自動生成的方式,則自動配置不生效,接口的鏈路本地地址仍是手工指定的。此時,如果刪除手工指定的地址,則自動生成的鏈路本地地址會生效。
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
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全球單播地址後,會自動生成鏈路本地地址 |
![]()
l 當接口配置了IPv6全球單播地址後,同時會自動生成鏈路本地地址。且與采用ipv6 address auto link-local命令生成的鏈路本地地址相同。此時如果手工指定接口的鏈路本地地址,則手工指定的有效。如果刪除手工指定的鏈路本地地址,則接口的鏈路本地地址恢複為係統自動生成的地址。
l 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 anycast |
必選 缺省情況下,接口上沒有配置任播地址 |
將鄰居節點的IPv6地址解析為鏈路層地址,可以通過鄰居請求消息NS及鄰居通告消息NA來動態實現,也可以通過手工配置靜態鄰居表項來實現。
設備根據鄰居節點的IPv6地址和與此鄰居節點相連的三層接口號來唯一標識一個靜態鄰居表項。目前,靜態鄰居表項有兩種配置方式:
l 配置本節點的三層接口對應的鄰居節點的IPv6地址、鏈路層地址;
l 配置本節點VLAN中的端口對應的鄰居節點的IPv6地址、鏈路層地址。
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
配置靜態鄰居表項 |
ipv6 neighbor ipv6-address mac-address { vlan-id port-type port-number | interface interface-type interface-number } [ vpn-instance vpn-instance-name ] |
必選 |
![]()
對於VLAN接口,可以采用上述兩種方式來配置靜態鄰居表項:
l 采用第一種方式配置靜態鄰居表項後,設備還需要解析VLAN對應的二層端口信息。
l 采用第二種方式配置靜態鄰居表項,需要保證VLAN所對應的VLAN接口已經存在,且port-type port-number指定的二層端口屬於vlan-id指定的VLAN。在配置後,設備會將VLAN所對應的VLAN接口與IPv6地址相對應來唯一標識一個靜態鄰居表項。
設備可以通過NS消息和NA消息來動態獲取鄰居節點的鏈路層地址,並將其加入到鄰居表中。如果動態獲取的鄰居表過大,將可能導致設備的轉發性能下降。為此,可以通過設置接口上允許動態學習的鄰居的最大個數來進行限製。當接口上動態學習的鄰居個數達到所設置的最大值時,該接口將不再學習鄰居信息。
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入接口視圖 |
interface interface-type interface-number |
- |
|
配置接口上允許動態學習的鄰居的最大個數 |
ipv6 neighbors max-learning-num number |
可選 缺省情況下,二層接口不對允許動態學習的鄰居的最大個數進行限製,三層接口允許動態學習的鄰居的最大個數為2048 |
為適應網絡的變化,ND表需要不斷更新。ND表中的STALE狀態ND表項並非永遠有效,每一條記錄都有一個老化時間。到達老化時間的STALE狀態ND表項將遷移到DELAY狀態。5秒鍾後DELAY狀態超時,ND表項將遷移到PROBE狀態,並發送3次NS報文進行可達性探測。若鄰居已經下線,則收不到回應的NA報文,此時會將該ND表項刪除。
缺省情況下,STALE狀態ND表項的老化時間為4小時。用戶可以根據網絡實際情況調整老化時間。
表1-15 配置STALE狀態ND表項的老化時間
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
配置STALE狀態ND表項的老化時間 |
ipv6 neighbor stale-aging aging-time |
可選 缺省情況下,STALE狀態ND表項的老化時間為4小時 |
用戶可以根據實際情況,配置接口是否發送RA消息及發送RA消息的時間間隔,同時可以配置RA消息中的相關參數以通告給主機。當主機接收到RA消息後,就可以采用這些參數進行相應操作。可以配置的RA消息中的參數及含義如表1-16所示。
表1-16 RA消息中的參數及描述
|
參數 |
描述 |
|
跳數限製(Cur Hop Limit) |
主機在發送IPv6報文時,將使用該參數值填充IPv6報文頭中的Hop Limit字段。同時該參數值也作為設備應答報文中的Hop Limit字段值。 |
|
前綴信息(Prefix Information) |
在同一鏈路上的主機收到設備發布的前綴信息後,可以進行無狀態自動配置等操作。 |
|
MTU |
發布鏈路的MTU,可以用於確保同一鏈路上的所有節點采用相同的MTU值。 |
|
被管理地址配置標誌位(M flag) |
用於確定主機是否采用有狀態自動配置獲取IPv6地址。 如果設置該標誌位為1,主機將通過有狀態自動配置(例如DHCP服務器)來獲取IPv6地址;否則,將通過無狀態自動配置獲取IPv6地址,即根據自己的鏈路層地址及路由器發布的前綴信息生成IPv6地址。 |
|
其他配置標誌位(O flag) |
用於確定主機是否采用有狀態自動配置獲取除IPv6地址外的其他信息。 如果設置其他配置標誌位為1,主機將通過有狀態自動配置(例如DHCP服務器)來獲取除IPv6地址外的其他信息;否則,將通過無狀態自動配置獲取其他信息。 |
|
路由器生存時間(Router Lifetime) |
用於設置發布RA消息的路由器作為主機的默認路由器的時間。主機根據接收到的RA消息中的路由器生存時間參數值,就可以確定是否將發布該RA消息的路由器作為默認路由器。 |
|
鄰居請求消息重傳時間間隔(Retrans Timer) |
設備發送NS消息後,如果未在指定的時間間隔內收到響應,則會重新發送NS消息。 |
|
保持鄰居可達狀態的時間(Reachable Time) |
當通過鄰居可達性檢測確認鄰居可達後,在所設置的可達時間內,設備認為鄰居可達;超過設置的時間後,如果需要向鄰居發送報文,會重新確認鄰居是否可達。 |
表1-17 配置允許發布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-18 配置RA消息中的相關參數
|
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
配置跳數限製 |
ipv6 nd hop-limit value |
可選 缺省情況下,路由器發布的跳數限製為64跳 |
|
進入接口視圖 |
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 ] * |
可選 缺省情況下,沒有配置RA消息中的前綴信息,此時將使用發送RA消息的接口IPv6地址作為RA消息中的前綴信息,其有效生命期是2592000秒(30天),首選生命期是604800(7天) |
|
配置RA消息中不攜帶MTU選項 |
ipv6 nd ra no-advlinkmtu |
可選 缺省情況下,RA消息中攜帶MTU選項 |
|
設置被管理地址配置標誌位為1 |
ipv6 nd autoconfig managed-address-flag |
可選 缺省情況下,被管理地址標誌位為0,即主機通過無狀態自動配置獲取IPv6地址 |
|
設置其他配置標誌位為1 |
ipv6 nd autoconfig other-flag |
可選 缺省情況下,其他配置標誌位為0,即主機通過無狀態自動配置獲取其他信息 |
|
配置RA消息中路由器的生存時間 |
ipv6 nd ra router-lifetime value |
可選 缺省情況下,RA消息中路由器的生存時間為1800秒 |
|
配置鄰居請求消息重傳時間間隔 |
ipv6 nd ns retrans-timer |