05-IS-IS配置
本章節下載: 05-IS-IS配置 (1.86 MB)
目 錄
1.4.3 配置路由器的Level級別和接口的鏈路鄰接關係類型
1.7.2 配置IS-IS通告給鄰居的鏈路開銷保持最大值的持續時間
1.7.8 配置IS-IS對接收的路由是否加入IP路由表進行過濾
1.7.10 配置允許設備將IS-IS鏈路狀態信息發布給其他協議
1.9.9 配置Flex-Algo算法的TI-LFA FRR
1.9.10 配置Flex-Algo算法的快速重路由備份路徑優選方案的優先級
1.13.1 配置在P2P接口上建立鄰接關係必須在同一網段的檢查功能
1.25.9 IS-IS Remote LFA快速重路由配置舉例
IS-IS屬於IGP(Interior Gateway Protocol,內部網關協議),用於自治係統內部。IS-IS是一種鏈路狀態協議,使用SPF(Shortest Path First,最短路徑優先)算法進行路由計算。
· IS(Intermediate System):中間係統。相當於TCP/IP中的路由器,是IS-IS協議中生成路由和傳播路由信息的基本單元。在下文中IS和路由器具有相同的含義。
· ES(End System):終端係統。相當於TCP/IP中的主機係統。ES不參與IS-IS路由協議的處理,ISO使用專門的ES-IS協議定義終端係統與中間係統間的通信。
· RD(Routing Domain):路由域。在一個路由域中多個IS通過相同的路由協議來交換路由信息。
· Area:區域,路由域的細分單元,IS-IS允許將整個路由域分為多個區域。
· LSDB(Link State DataBase):鏈路狀態數據庫。網絡內所有鏈路的狀態組成了鏈路狀態數據庫,在每一個IS中都至少有一個LSDB。IS使用SPF算法,利用LSDB來生成自己的路由。
· LSPDU(Link State Protocol Data Unit):鏈路狀態協議數據單元,簡稱LSP。在IS-IS中,每一個IS都會生成LSP,此LSP包含了本IS的所有鏈路狀態信息。
· NPDU(Network Protocol Data Unit):網絡協議數據單元,是OSI中的網絡層協議報文,相當於TCP/IP中的IP報文。
· DIS(Designated IS):廣播網絡上選舉的指定中間係統,也可以稱為指定IS。
· NSAP(Network Service Access Point):網絡服務接入點,即OSI中網絡層的地址,用來標識一個抽象的網絡服務訪問點,描述OSI模型的網絡地址結構。
如圖1-1所示,NSAP由IDP(Initial Domain Part)和DSP(Domain Specific Part)組成。IDP相當於IP地址中的主網絡號,DSP相當於IP地址中的子網號和主機地址。
IDP部分是ISO規定的,它由AFI(Authority and Format Identifier)和IDI(Initial Domain Identifier)兩部分組成:
· AFI表示地址分配機構和地址格式。
· IDI用來標識域。
DSP由HO-DSP(High Order Part of DSP)、System ID和SEL三個部分組成:
· HO-DSP用來分割區域。
· System ID用來區分主機。
· SEL有時也寫成N-SEL(NSAP Selector),它的作用類似IP中的“協議標識符”,用於指示服務類型,不同的傳輸協議對應不同的SEL。
IDP和DSP的長度都是可變的,NSAP總長最多是20個字節,最少8個字節。
圖1-1 IS-IS協議的地址結構示意圖
IS-IS地址結構由以下三部分組成:
· 區域地址
IDP和DSP中的HO-DSP一起,既能夠標識路由域,也能夠標識路由域中的區域,被稱為區域地址。兩個不同的路由域中不允許有相同的區域地址。
一般情況下,一台路由器隻需要配置一個區域地址,且同一區域中所有節點的區域地址都要相同。為了支持區域的平滑合並、分割及轉換,一台路由器最多可配置3個區域地址。
· System ID
System ID用來在區域內唯一標識主機或路由器。它的長度固定為48比特。
在實際應用中,一般使用Router ID與System ID進行對應。假設一台路由器使用接口Loopback0的IP地址168.10.1.1作為Router ID,則它在IS-IS使用的System ID可通過如下方法轉換得到:
¡ 將IP地址168.10.1.1的每一部分都擴展為3位,不足3位的在前麵補0;
¡ 將擴展後的地址168.010.001.001重新劃分為3部分,每部分由4位數字組成,得到的1680.1000.1001就是System ID。
實際System ID的指定可以有不同的方法,但要保證能夠唯一標識主機或路由器。
· SEL
SEL用於指示服務類型,不同的傳輸協議對應不同的SEL。它的長度固定為8比特。在IP中,SEL均為00。
NET(Network Entity Title,網絡實體名稱)指示的是IS本身的網絡層信息,不包括傳輸層信息,可以看作是一類特殊的NSAP,即SEL為0的NSAP地址。因此,NET的長度與NSAP的相同,為8~20個字節。
NET由三部分組成:
· 區域ID:它的長度是可變的,為1~13個字節。
· System ID:用來在區域內唯一標識主機或路由器,它的長度固定為6個字節。
· SEL:為0,它的長度固定為1個字節。
例如NET為:ab.cdef.1234.5678.9abc.00,則其中區域ID為ab.cdef,System ID為1234.5678.9abc,SEL為00。
通常情況下,一台路由器配置一個NET即可,當區域需要重新劃分時,例如將多個區域合並,或者將一個區域劃分為多個區域,這種情況下配置多個NET可以在重新配置時仍然能夠保證路由的正確性。由於一台路由器最多可配置3個區域地址,所以最多也隻能配置3個NET。在配置多個NET時,必須保證它們的System ID都相同。
為了支持大規模的路由網絡,IS-IS在路由域內采用兩級的分層結構。一個大的路由域通常被分成多個區域(Areas)。一般來說,我們將Level-1路由器部署在區域內,Level-2路由器部署在區域間,Level-1-2路由器部署在Level-1路由器和Level-2路由器的中間。
Level-1路由器負責區域內的路由,它隻與屬於同一區域的Level-1和Level-1-2路由器形成鄰居關係,維護一個Level-1的LSDB,該LSDB包含本區域的路由信息,到區域外的報文轉發給最近的Level-1-2路由器。
屬於不同區域的Level-1路由器不能形成鄰居關係。
Level-2路由器負責區域間的路由,可以與同一區域或者其他區域的Level-2和Level-1-2路由器形成鄰居關係,維護一個Level-2的LSDB,該LSDB包含區域間的路由信息。所有Level-2路由器和Level-1-2路由器組成路由域的骨幹網,負責在不同區域間通信,骨幹網必須是物理連續的。
Level-2路由器是否形成鄰居關係與區域無關。
同時屬於Level-1和Level-2的路由器稱為Level-1-2路由器,可以與同一區域的Level-1和Level-1-2路由器形成Level-1鄰居關係,也可以與同一區域或者其他區域的Level-2和Level-1-2路由器形成Level-2的鄰居關係。Level-1路由器必須通過Level-1-2路由器才能連接至其他區域。Level-1-2路由器維護兩個LSDB,Level-1的LSDB用於區域內路由,Level-2的LSDB用於區域間路由。
圖1-2為一個運行IS-IS協議的網絡,其中Area 1是骨幹區域,該區域中的所有路由器均是Level-2路由器。另外4個區域為非骨幹區域,它們都通過Level-1-2路由器與骨幹路由器相連。
圖1-2 IS-IS拓撲結構圖之一
圖1-3是IS-IS的另外一種拓撲結構圖。在這個拓撲中,並沒有規定哪個區域是骨幹區域。所有Level-2路由器和Level-1-2路由器構成了IS-IS的骨幹網,它們可以屬於不同的區域,但必須是物理連續的。IS-IS的骨幹網(Backbone)指的不是一個特定的區域。
圖1-3 IS-IS拓撲結構圖之二
IS-IS不論是Level-1還是Level-2路由,都采用SPF算法,分別生成最短路徑樹(Shortest Path Tree,SPT)。
通常情況下,區域內的路由通過Level-1的路由器進行管理。所有的Level-2路由器和Level-1-2路由器構成一個Level-2區域。因此,一個IS-IS的路由域可以包含多個Level-1區域,但隻有一個Level-2區域。
Level-1區域必須且隻能與Level-1-2區域相連,不同的Level-1區域之間並不相連。
Level-1區域內的路由信息通過Level-1-2路由器發布到Level-2區域,因此,Level-2路由器知道整個IS-IS路由域的路由信息。但是,在缺省情況下,Level-2路由器並不將自己知道的其他Level-1區域以及Level-2區域的路由信息發布到Level-1區域。這樣,Level-1路由器將不了解本區域以外的路由信息,Level-1路由器隻將去往其他區域的報文發送到最近的Level-1-2路由器,所以可能導致對本區域之外的目的地址無法選擇最佳的路由。
為解決上述問題,IS-IS提供了路由滲透功能,使Level-1-2路由器可以將已知的其他Level-1區域以及Level-2區域的路由信息發布到指定的Level-1區域。
IS-IS隻支持兩種類型的網絡,根據物理鏈路不同可分為:
· 廣播鏈路:如Ethernet、Token-Ring等。
· 點到點鏈路:如PPP、HDLC等。
對於NBMA(Non-Broadcast Multi-Access)網絡,如ATM,需對其配置子接口,並將子接口類型配置為點到點網絡或廣播網絡。IS-IS不能在點到多點(Point-to-MultiPoint,P2MP)鏈路上運行。
在廣播網絡中,IS-IS需要在所有的路由器中選舉一個路由器作為DIS。
Level-1和Level-2的DIS是分別選舉的,用戶可以為不同級別的DIS選舉設置不同的優先級。DIS優先級數值越高,被選中的可能性就越大。如果優先級最高的路由器有多台,則其中SNPA(Subnetwork Point of Attachment,子網連接點)地址(廣播網絡中的SNPA地址是MAC地址)最大的路由器會被選中。不同級別的DIS可以是同一台路由器,也可以是不同的路由器。
與OSPF的不同點:
· 優先級為0的路由器也參與DIS的選舉;
· 當有新的路由器加入,並符合成為DIS的條件時,這個路由器會被選中成為新的DIS,此更改會引起一組新的LSP泛洪。
在IS-IS廣播網中,同一網段上的同一級別的路由器之間都會形成鄰接關係,包括所有的非DIS路由器之間也會形成鄰接關係。如圖1-4所示。
圖1-4 IS-IS廣播網的DIS和鄰接關係
DIS用來創建和更新偽節點(Pseudonodes),並負責生成偽節點的LSP,用來描述這個網絡上有哪些路由器。
偽節點用來模擬廣播網絡的一個虛擬節點,並非真實的路由器。在IS-IS中,偽節點用DIS的System ID和一個字節的Circuit ID(非0值)標識。
使用偽節點可以簡化網絡拓撲,減少SPF的資源消耗。
IS-IS廣播網絡上所有的路由器之間都形成鄰接關係,但LSDB的同步仍然依靠DIS來保證。
IS-IS報文是直接封裝在數據鏈路層的幀結構中的。PDU(Protocol Data Unit,協議數據單元)可以分為兩個部分,報文頭和變長字段部分。其中報文頭又可分為通用報頭和專用報頭。對於所有PDU來說,通用報頭都是相同的,但專用報頭根據PDU類型不同而有所差別,如圖1-5所示。
圖1-5 PDU格式
表1-1 PDU類型對應關係表
類型值 |
PDU類型 |
簡稱 |
15 |
Level-1 LAN IS-IS Hello PDU |
L1 LAN IIH |
16 |
Level-2 LAN IS-IS Hello PDU |
L2 LAN IIH |
17 |
Point-to-Point IS-IS Hello PDU |
P2P IIH |
18 |
Level-1 Link State PDU |
L1 LSP |
20 |
Level-2 Link State PDU |
L2 LSP |
24 |
Level-1 Complete Sequence Numbers PDU |
L1 CSNP |
25 |
Level-2 Complete Sequence Numbers PDU |
L2 CSNP |
26 |
Level-1 Partial Sequence Numbers PDU |
L1 PSNP |
27 |
Level-2 Partial Sequence Numbers PDU |
L2 PSNP |
Hello報文:用於建立和維持鄰居關係,也稱為IIH(IS-to-IS Hello PDUs)。其中,廣播網中的Level-1路由器使用Level-1 LAN IIH,廣播網中的Level-2路由器使用Level-2 LAN IIH,點到點網絡中的路由器則使用P2P IIH。
LSP報文:用於交換鏈路狀態信息。LSP分為兩種:Level-1 LSP和Level-2 LSP。Level-1路由器傳送Level-1 LSP,Level-2路由器傳送Level-2 LSP,Level-1-2路由器則可傳送以上兩種LSP。
SNP(Sequence Number PDU,時序報文)通過描述全部或部分數據庫中的LSP來同步LSDB,從而維護LSDB的完整和同步。
SNP包括CSNP(Complete Sequence Number PDU,全時序報文)和PSNP(Partial Sequence Number PDU,部分時序報文),進一步又可分為Level-1 CSNP、Level-2 CSNP、Level-1 PSNP和Level-2 PSNP。
CSNP包括LSDB中所有LSP的概要信息,從而可以在相鄰路由器間保持LSDB的同步。在廣播網絡上,CSNP由DIS定期發送(缺省的發送周期為10秒);在點到點鏈路上,CSNP隻在第一次建立鄰接關係時發送。
PSNP隻列舉最近收到的一個或多個LSP的序列號,它能夠一次對多個LSP進行確認。當發現LSDB不同步時,也用PSNP來請求鄰居發送新的LSP。
PDU中的變長字段部分是多個CLV(Code-Length-Value)三元組。其格式如圖1-6所示:
圖1-6 CLV格式
不同PDU類型所包含的CLV是不同的,如表1-2所示。
表1-2 PDU類型和包含的CLV名稱
CLV Code |
名稱 |
所應用的PDU類型 |
1 |
Area Addresses |
IIH、LSP |
2 |
IS Neighbors(LSP) |
LSP |
4 |
Partition Designated Level-2 IS |
L2 LSP |
6 |
IS Neighbors(MAC Address) |
LAN IIH |
7 |
IS Neighbors(SNPA Address) |
LAN IIH |
8 |
Padding |
IIH |
9 |
LSP Entries |
SNP |
10 |
Authentication Information |
IIH、LSP、SNP |
128 |
IP Internal Reachability Information |
LSP |
129 |
Protocols Supported |
IIH、LSP |
130 |
IP External Reachability Information |
L2 LSP |
131 |
Inter-Domain Routing Protocol Information |
L2 LSP |
132 |
IP Interface Address |
IIH、LSP |
其中,Code值從1到10的CLV在ISO 10589中定義(有2類未在上表中列出),128到132的CLV在RFC 1195中定義。
IS-IS(Intermediate System-to-Intermediate System,中間係統到中間係統)支持多種網絡層協議,其中包括IPv6協議,支持IPv6協議的IS-IS路由協議又稱為IPv6 IS-IS動態路由協議。
IETF中規定了IS-IS為支持IPv6所新增的內容,主要是新添加的支持IPv6協議的兩個TLV(Type-Length-Values)和一個新的NLPID(Network Layer Protocol Identifier,網絡層協議標識符)。
TLV是LSP(Link State PDU,鏈路狀態協議數據單元)中的一個可變長字段值。新增的兩個TLV分別是:
· IPv6 Reachability:類型值為236(0xEC),通過定義路由信息前綴、度量值等信息來說明網絡的可達性。
· IPv6 Interface Address:類型值為232(0xE8),它對應於IPv4中的“IP Interface Address”TLV,隻不過把原來的32比特的IPv4地址改為128比特的IPv6地址。
NLPID是標識網絡層協議報文的一個8比特字段,IPv6的NLPID值固定為142(0x8E)。
與IS-IS相關的協議規範有:
· ISO 8348:Ad2 Network Services Access Points
· ISO 9542:ES-IS Routing Protocol
· ISO 10589:ISO IS-IS Routing Protocol
· RFC 1195:Use of OSI IS-IS for Routing in TCP/IP and Dual Environments
· RFC 2973:IS-IS Mesh Groups
· RFC 3277:IS-IS Transient Blackhole Avoidance
· RFC 3358:Optional Checksums in ISIS
· RFC 3359:Reserved Type, Length and Value (TLV) Codepoints in Intermediate System to Intermediate System
· RFC 3563:Cooperative Agreement Between the ISOC/IETF and ISO/IEC Joint Technical Committee 1/Sub Committee 6 (JTC1/SC6) on IS-IS Routing Protocol Development
· RFC 3719:Recommendations for Interoperable Networks using Intermediate System to Intermediate System (IS-IS)
· RFC 3787:Recommendations for Interoperable IP Networks using Intermediate System to Intermediate System (IS-IS)
· RFC 4444:Management Information Base for Intermediate System to Intermediate System (IS-IS)
· RFC 5029:Definition of an IS-IS Link Attribute Sub-TLV
· RFC 5089:IS-IS Protocol Extensions for Path Computation Element (PCE) Discovery
· RFC 5120:Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)
· RFC 5130:A Policy Control Mechanism in IS-IS Using Administrative Tags
· RFC 5301:Dynamic Hostname Exchange Mechanism for IS-IS
· RFC 5302:Domain-Wide Prefix Distribution with Two-Level IS-IS
· RFC 5303:Three-Way Handshake for IS-IS Point-to-Point Adjacencies
· RFC 5304:IS-IS Cryptographic Authentication
· RFC 5306:Restart Signaling for IS-IS
· RFC 5308:Routing IPv6 with IS-IS
· RFC 5310:IS-IS Generic Cryptographic Authentication
· RFC 5311:Simplified Extension of Link State PDU (LSP) Space for IS-IS
· RFC 6165:Extensions to IS-IS for Layer-2 Systems
· RFC 6213:IS-IS BFD-Enabled TLV
· RFC 6232:Purge Originator Identification TLV for IS-IS
· RFC 6233:IS-IS Registry Extension for Purges
· RFC 6329:IS-IS Extensions Supporting IEEE 802.1aq Shortest Path Bridging
· RFC 6571:Loop-Free Alternate (LFA) Applicability in Service Provider (SP) Networks
· RFC 6823:Advertising Generic Information in IS-IS
· RFC 7142:OSI IS-IS Intra-domain Routing Protocol
· RFC 7356:IS-IS Flooding Scope Link State PDUs (LSPs)
· RFC 7370:Updates to the IS-IS TLV Codepoints Registry
· RFC 7602:IS-IS Extended Sequence Number TLV
· RFC 7645:The Keying and Authentication for Routing Protocol (KARP) IS-IS Security Analysis
· RFC 7775:IS-IS Route Preference for Extended IP and IPv6 Reachability
· RFC 7794:IS-IS Prefix Attributes for Extended IPv4 and IPv6 Reachability
· RFC 7813:IS-IS Path Control and Reservation
· RFC 7917:Advertising Node Administrative Tags in IS-IS
· RFC 7981:IS-IS Extensions for Advertising Router Information
· RFC 7987:IS-IS Minimum Remaining Lifetime
IPv4 IS-IS配置任務如下:
(1) 配置IS-IS基本功能
b. (可選)配置路由器的Level級別和接口的鏈路鄰接關係類型
c. (可選)配置接口網絡類型
(2) (可選)開啟IS-IS進程的多實例功能
(3) (可選)配置IS-IS路由信息控製
(4) (可選)配置IS-IS發布網絡性能參數
(5) (可選)配置IS-IS Flex-Algo
(6) (可選)配置Hello報文發送時間間隔
¡ 配置SPF參數
(7) (可選)配置IS-IS報文相關功能
(8) (可選)控製LSP的生成、發布與接收
¡ 限製LSP泛洪
(9) (可選)配置IS-IS高級功能
(10) (可選)配置IS-IS日誌和告警功能
(11) (可選)配置IS-IS快速收斂
¡ 配置ISPF
¡ 配置前綴抑製
¡ 配置PIC
(12) (可選)提高IS-IS網絡的安全性
¡ 配置鄰居關係驗證
¡ 配置區域驗證
¡ 配置路由域驗證
(13) (可選)提高IS-IS網絡的可靠性
IPv6 IS-IS配置任務如下:
(1) 配置IS-IS基本功能
b. (可選)配置路由器的Level級別和接口的鏈路鄰接關係類型
c. (可選)配置接口網絡類型
(2) (可選)開啟IS-IS進程的多實例功能
(4) (可選)配置IS-IS路由信息控製
(5) (可選)配置IS-IS發布網絡性能參數
(6) (可選)配置IS-IS Flex-Algo
¡ 配置SPF參數
(7) (可選)配置IS-IS報文相關功能
(8) (可選)控製LSP的生成、發布與接收
¡ 限製LSP泛洪
(9) (可選)配置IS-IS高級功能
(1) 進入係統視圖。
system-view
(2) 啟動IS-IS,並進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
缺省情況下,係統沒有運行IS-IS。
(3) 配置網絡實體名稱。
network-entity net
缺省情況下,未配置NET。
批量執行cost-style、is-level和network-entity命令時,建議最後執行network-entity命令,以避免因配置順序不正確引發IS-IS進程重啟,以及重啟期間可能導致的配置丟失。
(4) 退回係統視圖。
quit
(5) 進入接口視圖。
interface interface-type interface-number
(6) 配置指定接口上使能IS-IS功能。
isis enable [ process-id ]
缺省情況下,接口上的IS-IS功能處於關閉狀態,且沒有任何IS-IS進程與其關聯。
(1) 進入係統視圖。
system-view
(2) 啟動IS-IS路由進程,進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
缺省情況下,係統沒有運行IS-IS。
(3) 配置網絡實體名稱(NET)。
network-entity net
缺省情況下,未配置NET。
批量執行cost-style、is-level和network-entity命令時,建議最後執行network-entity命令,以避免因配置順序不正確引發IS-IS進程重啟,以及重啟期間可能導致的配置丟失。
(4) 創建並進入IPv6地址族視圖。
address-family ipv6 [ unicast ]
(5) 退回IS-IS視圖。
quit
(6) 退回係統視圖。
quit
(7) 進入接口視圖。
interface interface-type interface-number
(8) 使能接口IS-IS路由進程的IPv6能力並指定要關聯的IS-IS進程號。
isis ipv6 enable [ process-id ]
缺省情況下,接口上IS-IS的IPv6能力處於關閉狀態。
建議用戶在配置IS-IS時配置路由器類型:
· 如果隻有一個區域,建議用戶將所有路由器設置為Level-1或者Level-2,因為沒有必要讓所有路由器同時維護兩個完全相同的LSDB。
· 在IP網絡中使用時,建議將所有的路由器都設置為Level-2,這樣有利於以後的擴展。
當路由器類型是Level-1(Level-2)時,接口的鏈路鄰接類型隻能為Level-1(Level-2),當路由器類型是Level-1-2時,接口的鏈路鄰接類型缺省為Level-1-2,當路由器隻需要與對端建立Level-1(Level-2)的鄰接關係時,可以將接口的鏈路鄰接類型配置為Level-1(Level-2)來限製接口上所能建立的鄰接關係,如Level-1的接口隻能建立Level-1的鄰接關係,Level-2的接口隻能建立Level-2的鄰接關係,讓接口隻發送和接收Level-1(Level-2)類型的Hello報文,既減少了路由器的處理時間又節省了帶寬。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置路由器的Level級別。
is-level { level-1 | level-1-2 | level-2 }
缺省情況下,路由器的Level級別為Level-1-2。
(4) 退回係統視圖。
quit
(5) 進入接口視圖。
interface interface-type interface-number
(6) 配置接口的鏈路鄰接關係類型。
isis circuit-level [ level-1 | level-1-2 | level-2 ]
缺省情況下,接口既可以建立Level-1的鄰接關係,也可以建立Level-2的鄰接關係。
接口網絡類型不同,其工作機製也略微不同,如:當網絡類型為廣播網時,需要選舉DIS、通過泛洪CSNP報文來實現LSDB同步;當網絡類型為P2P時,不需要選舉DIS,LSDB同步機製也不同。
當隻有兩台路由器接入到同一個廣播網時,通過將接口網絡類型配置為P2P可以使IS-IS按照P2P而不是廣播網的工作機製運行,避免DIS選舉以及CSNP的泛洪,既可以節省網絡帶寬,又可以加快網絡的收斂速度。
對於NBMA(Non-Broadcast Multi-Access)網絡,需對其配置子接口,並將子接口類型配置為點到點網絡或廣播網絡。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口的網絡類型為P2P。
isis [ process-id process-id ] circuit-type p2p
缺省情況下,路由器接口網絡類型根據物理接口決定。
僅當接口的網絡類型為廣播網,且隻有兩台設備接入該廣播網時才需要進行該項配置,並且兩台設備都要進行此項配置。
本文中將未開啟多實例功能的IS-IS進程稱為傳統IS-IS進程;將開啟了多實例功能的IS-IS進程稱為IS-IS多實例進程。
傳統的IS-IS協議限製在一台設備的一個接口上隻能使能一個IS-IS進程,如果需要在這台設備上使能多個IS-IS進程,則需要增加接口數量和接口配置過程。為了減少接口數量和接口配置過程,可以在IS-IS視圖下開啟IS-IS進程的多實例功能,這樣就可以在同一個接口下使能多個IS-IS多實例進程。同時,還可以在該接口下使能一個傳統IS-IS進程。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 開啟IS-IS進程的多實例功能,並指定該進程的實例ID。
multi-instance enable iid iid-value
缺省情況下,IS-IS進程的多實例功能處於關閉狀態。
(4) 在接口下使能IS-IS多實例進程。
a. 退回係統視圖。
quit
b. 進入接口視圖。
interface interface-type interface-number
c. 配置指定接口關聯IS-IS多實例進程。
(IPv4網絡)
isis enable [ process-id ]
缺省情況下,接口上的IS-IS功能處於關閉狀態,且沒有關聯任何IS-IS進程。
(IPv6網絡)
isis ipv6 enable [ process-id ]
缺省情況下,接口上IS-IS的IPv6能力處於關閉狀態,且沒有關聯任何IS-IS進程。
IPv6 IS-IS和IPv4 IS-IS使用同樣的最短路徑進行路由計算,IPv4和IPv6的混合拓撲被看成是一個集成的拓撲,這就要求所有IPv4和IPv6的拓撲信息必須一致。但是IPv4和IPv6協議在網絡中的部署可能不一致,IPv4和IPv6的拓撲信息可能不同。當一些路由器和鏈路不支持IPv6協議時,支持雙協議棧的路由器因為無法感知到這些路由器和鏈路不支持IPv6,仍然會把IPv6報文轉發給它們,這就導致IPv6報文由於無法轉發而被丟棄。使用本功能可以實現IPv4和IPv6分拓撲計算,從而解決上麵的問題。
圖1-7 IS-IS支持IPv6單播拓撲功能示意圖
如圖1-7所示,圖中的數值表示對應鏈路上的開銷值;Router A、Router B和Router D支持IPv4和IPv6雙協議棧;Router C隻支持IPv4協議,不能轉發IPv6報文。
在Router A、Router B、Router C、Router D上都配置IS-IS支持IPv6單播拓撲,所有的路由器對於IPv4、IPv6都分為兩個拓撲進行計算,則Router A能夠感知到Router B和Router C之間,Router C和Router D之間的鏈路不支持IPv6,即不會將到達Router D的IPv6報文轉發給Router B而造成報文丟棄。
當IS-IS網絡中同時存在IPv4和IPv6拓撲時,建議用戶配置此功能,否則可能導致路由計算錯誤。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置IS-IS開銷值的類型。
cost-style { compatible | wide | wide-compatible }
缺省情況下,IS-IS隻收發采用narrow方式的報文。
(4) 進入IPv6地址族視圖。
address-family ipv6 [ unicast ]
(5) 配置IS-IS支持IPv6單播拓撲。
multi-topology [ compatible ]
缺省情況下,IS-IS不支持IPv6單播拓撲。
IS-IS有三種方式來配置接口的鏈路開銷值,按照選擇順序依次為:
· 在接口視圖下為指定接口配置的鏈路開銷值。
· 在係統視圖下全局配置的鏈路開銷值,該配置將對該IS-IS進程關聯的接口同時生效。
· 自動計算開銷值:將根據帶寬參考值自動計算接口的鏈路開銷值。當開銷值的類型為wide或wide-compatible時,可以根據公式“開銷=(帶寬參考值÷接口期望帶寬)×10”計算接口的鏈路開銷值,取值範圍為1~16777214。當開銷值類型為其他類型時,具體情況如下:接口帶寬≤10Mbps時,值為60;接口帶寬≤100Mbps時,值為50;接口帶寬≤155Mbps時,值為40;接口帶寬≤622Mbps時,值為30;接口帶寬≤2500Mbps時,值為20;接口帶寬>2500Mbps時,值為10。接口期望帶寬通過命令bandwidth進行配置。
如果沒有采用上述三種方式中的任一種進行開銷值的配置,接口的鏈路開銷值將取係統設置的缺省值10。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) (可選)配置IS-IS開銷值的類型。
cost-style { narrow | wide | wide-compatible | { compatible | narrow-compatible } [ relax-spf-limit ] }
缺省情況下,IS-IS開銷值的類型為narrow。
(4) 退回係統視圖。
quit
(5) 進入接口視圖。
interface interface-type interface-number
(6) 配置IS-IS接口的鏈路開銷值。
isis [ process-id process-id ] cost cost-value [ level-1 | level-2 ]
缺省情況下,未配置IS-IS接口的鏈路開銷值。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 全局配置IS-IS的鏈路開銷值。
circuit-cost cost-value [ level-1 | level-2 ]
缺省情況下,未全局配置IS-IS的鏈路開銷值。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 使能自動計算接口鏈路開銷值功能。
auto-cost enable
缺省情況下,自動計算接口鏈路開銷值功能處於關閉狀態。
(4) (可選)配置IS-IS自動計算鏈路開銷值時依據的帶寬參考值。
bandwidth-reference value
缺省情況下,帶寬參考值為100Mbps。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) (可選)配置IS-IS開銷值的類型。
cost-style { narrow | wide | wide-compatible | { compatible | narrow-compatible } [ relax-spf-limit ] }
缺省情況下,IS-IS隻收發采用narrow方式的報文。
(4) 進入IPv6地址族視圖。
address-family ipv6 [ unicast ]
(5) 退回IS-IS視圖。
quit
(6) 退回係統視圖。
quit
(7) 進入接口視圖。
interface interface-type interface-number
(8) 使能接口IS-IS的IPv6能力。
isis ipv6 enable [ process-id ]
缺省情況下,接口上IS-IS的IPv6能力處於關閉狀態。
(9) 配置接口的IPv6鏈路開銷值。
isis [ process-id process-id ] ipv6 cost cost-value [ level-1 | level-2 ]
缺省情況下,未配置接口的IPv6鏈路開銷值。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 全局配置IPv6 IS-IS的鏈路開銷值。
circuit-cost cost-value [ level-1 | level-2 ]
缺省情況下,未全局配置IPv6 IS-IS的鏈路開銷值。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) (可選)配置IS-IS開銷值的類型。
cost-style { narrow | wide | wide-compatible | { compatible | narrow-compatible } [ relax-spf-limit ] }
(4) 進入IPv6地址族視圖。
address-family ipv6 [ unicast ]
(5) 使能自動計算接口鏈路開銷值功能。
auto-cost enable
缺省情況下,自動計算接口鏈路開銷值功能處於關閉狀態。
(6) (可選)配置IPv6 IS-IS自動計算鏈路開銷值時依據的帶寬參考值。
bandwidth-reference value
缺省情況下,帶寬參考值為100Mbps。
IS-IS網絡中,鏈路發生故障並從故障中恢複,或接口狀態變化時,IS-IS會重新建立鄰接關係,路由會重新進行收斂。在路由重新收斂的過程中,由於各個節點的路由收斂速度不一致,可能會形成環路,造成流量丟失。為了在路由收斂過程中保持轉發路徑不變,可以使用本功能使IS-IS在一段時間內向鄰居通告最大鏈路開銷,這段時間結束後IS-IS向鄰居通告的鏈路開銷從最大值恢複為原始開銷值,IS-IS重新進行路由優選。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置IS-IS通告給鄰居的鏈路開銷保持最大值的持續時間。
isis peer hold-max-cost duration time
缺省情況下,未配置IS-IS通告給鄰居的鏈路開銷值保持最大值的持續時間。
一台路由器可同時運行多個路由協議,當多個路由協議都發現到同一目的地的路由時,將選用高優先級路由協議所發現的路由。
以下配置用來為IS-IS路由設置優先級,使用路由策略可以為特定的路由設置特定的優先級,路由策略的相關知識請參見“三層技術-IP路由配置指導”中的“路由策略”。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
(3) 配置IS-IS協議的路由優先級。
preference { preference | route-policy route-policy-name } *
缺省情況下,IPv4 IS-IS協議的路由優先級為15。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 配置IPv6 IS-IS路由優先級。
preference { preference | route-policy route-policy-name } *
缺省情況下,IPv6 IS-IS路由優先級為15。
如果到一個目的地有幾條開銷相同的路徑,可以通過等價路由負載分擔來提高鏈路利用率。該配置用以設置IS-IS協議的最大等價路由條數。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
(3) 配置在負載分擔方式下IS-IS最大等價路由條數。
maximum load-balancing number
缺省情況下,IPv4 IS-IS支持的等價路由的最大條數與係統支持的最大等價路由的條數相同。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 配置在負載分擔方式下IPv6 IS-IS等價路由的最大數量。
maximum load-balancing number
缺省情況下,IPv6 IS-IS可用的等價路由最大條數與係統支持的最大等價路由的條數相同。
通過配置路由聚合,可以減小路由表規模,還可以減少本路由器生成的LSP報文大小和LSDB的規模。其中,被聚合的路由可以是IS-IS協議發現的路由,也可以是引入的外部路由。
路由器隻對本地生成的LSP中的路由進行聚合。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
(3) 配置聚合路由。
summary ip-address { mask-length | mask } [ avoid-feedback | generate_null0_route | [ level-1 | level-1-2 | level-2 ] | tag tag ] *
缺省情況下,不對路由進行聚合。
聚合後路由的開銷值取所有被聚合路由中最小的開銷值。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 配置IPv6 IS-IS聚合路由。
summary ipv6-prefix prefix-length [ avoid-feedback | generate_null0_route | [ level-1 | level-1-2 | level-2 ] | tag tag ] *
缺省情況下,未配置IPv6 IS-IS聚合路由。
對於運行IS-IS的路由器來說,無法引入缺省路由,因此也無法通過將目的地為0.0.0.0/0的路徑信息(即缺省路由)通過LSP發布給其他路由器,可以通過配置發布一條缺省路由,將目的地為0.0.0.0/0的路徑信息通過LSP發布出去,其他同級別的路由器中將在自己的路由表中新增一條缺省路由。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
(3) 配置IS-IS發布Level-1或Level-2級別的缺省路由。
default-route-advertise [ avoid-learning | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *
缺省情況下,IPv4 IS-IS不發布Level-1或Level-2級別的缺省路由。
產生的缺省路由隻被發布到同級別的路由器。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 配置IPv6 IS-IS發布缺省路由。
default-route-advertise [ avoid-learning | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *
缺省情況下,不生成IPv6 IS-IS缺省路由。
IS-IS將其他路由協議發現的路由當作外部路由處理。在引入其他協議路由時,可指定引入路由的缺省開銷。IS-IS通過ACL、IP地址前綴列表或路由策略可以對引入的路由信息進行過濾,隻有滿足條件的路由信息才能加入到IS-IS路由表中,否則不能加入到IS-IS路由表中。沒有加入IS-IS路由表的路由將不會通過LSP發布出去。
在實際組網環境中,每台路由器的性能即處理能力不同,如果在處理能力強的高端設備上引入大量外部路由,那麼可能會對網絡上其他低端設備的性能造成較大的衝擊,網絡管理員可以通過配置支持的最大引入路由條數,限製引入外部路由的條數,從而最終限製發布路由的數量。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
(3) 從其他路由協議或其他IS-IS進程引入路由信息。
import-route bgp [ as-number ] [ allow-ibgp ] [ cost cost-value | cost-type { external | internal } | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *
import-route { direct | static } [ cost cost-value | cost-type { external | internal } | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *
import-route { isis | ospf | rip } [ process-id | all-processes ] [ allow-direct | cost cost-value | cost-type { external | internal } | [ level-1 | level-1-2 | level-2 ] | no-sid | route-policy route-policy-name | tag tag ] *
缺省情況下,IPv4 IS-IS不從其他路由協議或其他IS-IS進程引入路由信息。
隻能引入路由表中狀態為active的路由,是否為active狀態可以通過display ip routing-table protocol命令來查看。
(4) (可選)配置引入Level1/Level2的IPv4路由最大條數。
import-route limit number
缺省情況下,允許引入Level1/Level2的路由的最大條數為20000000。
(5) 配置IPv4 IS-IS對引入的路由信息進行過濾。
filter-policy { ipv4-acl-number | prefix-list prefix-list-name | route-policy route-policy-name } export [ bgp | direct | { isis | ospf | rip } [ process-id ] | static ]
缺省情況下,IPv4 IS-IS不對引入的路由信息進行過濾。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 配置IPv6 IS-IS引入外部路由信息。
import-route protocol [ as-number | process-id ] [ allow-ibgp ] [ allow-direct | cost cost-value ] | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *
缺省情況下,IPv6 IS-IS不引入外部路由信息。
(5) (可選)配置引入Level1/Level2的IPv6路由最大條數。
import-route limit number
本命令的缺省值與設備的型號有關,請以設備的實際情況為準。
(6) 配置IPv6 IS-IS對引入的路由進行過濾。
filter-policy { ipv6-acl-number | prefix-list prefix-list-name | route-policy route-policy-name } export [ bgp4+ | direct | { isisv6 | ospfv3 | ripng } [ process-id ] | static ]
缺省情況下,IPv6 IS-IS不對引入的路由信息進行過濾。
運行IS-IS的路由器會把從鄰居收到的LSP保存到自己維護的鏈路狀態數據庫中,使用SPF算法計算出以自己為根的最短路徑樹,並把計算好的路由信息加入到IS-IS路由表中,最終把最優路由加入到IP路由表中。
通過ACL、IP地址前綴列表或路由策略可以對將要加入到IP路由表中的路由進行過濾,滿足條件則加入到IP路由表中,否則將不能加入到IP路由表中。沒有加入IP路由表的路由仍然在IS-IS路由表中,可以通過LSP發布出去。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
(3) 配置IS-IS對接收的路由信息進行過濾。
filter-policy { ipv4-acl-number | prefix-list prefix-list-name | route-policy route-policy-name } import
缺省情況下,IPv4 IS-IS不對接收的路由信息進行過濾。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 配置IPv6 IS-IS對接收的路由進行過濾。
filter-policy { ipv6-acl-number | prefix-list prefix-list-name | route-policy route-policy-name } import
缺省情況下,IPv6 IS-IS不對接收的路由進行過濾。
通過IS-IS路由滲透功能(Level-2 to Level-1),可以將Level-2級別的路由信息和其他區域的Level-1級別的路由信息滲透到Level-1區域。
通過控製IS-IS路由滲透(Level-1 to Level-2),可以控製Level-1區域的IS-IS路由信息不向Level-2滲透,達到有效控製Level-2級別的路由信息的目的。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
(3) 配置將Level-1區域的路由信息引入到Level-2區域。
import-route isis level-1 into level-2 [ filter-policy { ipv4-acl-number | prefix-list prefix-list-name | route-policy route-policy-name } | no-sid | tag tag ] *
缺省情況下,Level-1區域的路由信息向Level-2區域發布。
(4) 配置將Level-2區域的路由信息引入到Level-1區域。
import-route isis level-2 into level-1 [ filter-policy { ipv4-acl-number | prefix-list prefix-list-name | route-policy route-policy-name } | no-sid | tag tag ] *
缺省情況下,Level-2區域的路由信息不向Level-1區域發布。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 配置從Level-2向Level-1進行路由滲透。
import-route isisv6 level-2 into level-1 [ filter-policy { ipv6-acl-number | prefix-list prefix-list-name | route-policy route-policy-name } | tag tag ] *
缺省情況下,不從Level-2向Level-1進行路由滲透。
(5) 配置從Level-1向Level-2進行路由滲透。
import-route isisv6 level-1 into level-2 [ filter-policy { ipv6-acl-number | prefix-list prefix-list-name | route-policy route-policy-name } | tag tag ] *
缺省情況下,從Level-1向Level-2進行路由滲透。
本功能允許設備將鏈路狀態信息發布給其他協議,由其他協議向外發布,以滿足需要知道鏈路狀態信息的應用的需求。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置允許設備將IS-IS鏈路狀態信息發布給其他協議。
distribute { bgp-ls | link-state } [ instance-id id ] [ level-1 | level-2 ]
缺省情況下,不允許設備將IS-IS鏈路狀態信息發布給其他協議。
在使用控製器進行路徑計算且對網絡性能比較敏感的場景中,需要使用能夠反映網絡性能的參數作為路徑計算的開銷值。配置IS-IS發布網絡性能參數功能後,IS-IS將收集和擴散路由域內鏈路時延、帶寬信息,並通過BGP-LS上報給控製器,由控製器基於時延、帶寬計算最優路徑。
網絡性能參數包括:
· 時延(Delay)——單向鏈路時延性能指標,具體包括:
¡ Average link delay:單向鏈路平均時延。
¡ Min/Max link delay:單向鏈路最小/最大時延。
¡ Average link delay variation:單向鏈路平均時延容差,即單向鏈路平均時延變化。
· 帶寬(Bandwidth)——單向鏈路帶寬性能指標,具體包括:
¡ Remaining bandwidth:單向鏈路剩餘帶寬。
¡ Available bandwidth:單向鏈路可用帶寬。
¡ Utilized bandwidth:單向鏈路帶寬利用率。
執行如下配置可以使IS-IS在發布的LSP中攜帶鏈路屬性,從而保證時延發布功能和帶寬發布功能能夠生效。請根據實際情況至少選擇其中一項進行配置。
· 通過advertise link-attributes命令配置IS-IS發布LSP時攜帶鏈路屬性。
· 在運行IPv4 IS-IS的設備和使能IPv4 IS-IS功能的接口上開啟MPLS TE能力。配置方法請參見“MPLS配置指導”中的“MPLS TE”。
· 在運行IPv6 IS-IS的設備上開啟IPv6 TE功能。配置方法請參見“Segment Routing配置指導”中的“SRv6”。
· 通過te attribute enable命令開啟IS-IS進程發布TE屬性的能力。
配置本功能後,IS-IS可以使用擴展IS可達性TLV(類型為22)來攜帶不同類型的子TLV,這些子TLV攜帶了不同的網絡性能參數。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv4地址族視圖或IS-IS IPv6地址族視圖。
¡ 進入IS-IS IPv4地址族視圖。
address-family ipv4 [ unicast ]
¡ 進入IS-IS IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 配置IS-IS發布LSP時攜帶鏈路屬性。
advertise link-attributes
缺省情況下,IS-IS發布LSP時不會攜帶鏈路屬性。
開啟IS-IS時延發布功能後,IS-IS將收集和擴散路由域內鏈路時延信息,並通過BGP-LS上報給控製器,由控製器基於時延計算路徑,從而滿足最優路徑時延最小的需求。
IS-IS接口的時延參數可通過如下兩種方式獲取:
· 靜態配置:通過isis link-delay命令配置接口的時延參數。
· 動態獲取:使用test-session bind interface命令將TWAMP-light測試與開啟IS-IS功能的接口綁定,當TWAMP-light測量到有效統計數據時,就會將時延信息發布給綁定的接口。綁定接口獲取到TWAMP-light發布的時延信息後會按照一定的周期向IS-IS上報。關於TWAMP-light的詳細介紹,請參見“網絡管理和監控配置指導”中的“NQA TWAMP-light”。
動態獲取時延參數時,接口上報時延信息的周期較短,例如每隔100ms向IS-IS上報一次時延信息,IS-IS需要頻繁處理接口上報的時延信息,並通過BGP-LS向控製器頻繁上報鏈路信息,導致設備和網絡資源被過多占用。時延發布抑製功能可以用來解決上述問題。
時延發布抑製功能的工作機製為:
(1) 開啟時延發布抑製功能後,接口按照時延發布抑製定時器設置的時間間隔向IS-IS上報時延信息。
(2) IS-IS按照時延發布抑製定時器設置的時間間隔通過BGP-LS發布接口上報的時延信息。即IS-IS在定時器超時前不能發布時延信息,以下兩種情況除外:
¡ IS-IS收到接口上報的前後兩次最小時延的變化率大於或等於時延變化率抑製閾值。
¡ IS-IS收到接口上報的前後兩次最小時延差值的絕對值大於或等於時延變化絕對值抑製閾值。
如果同時通過兩種方式獲取到了接口的某個時延參數,則以靜態配置的參數為準。
建議配置的時延發布抑製定時器的值要大於或等於NQA時延測量的時間間隔。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置IS-IS接口的時延參數。
isis link-delay { average average-delay-value | min min-delay-value max max-delay-value | variation variation-value } *
缺省情況下,未配置IS-IS接口時延信息。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv4地址族視圖。
address-family ipv4 [ unicast ]
(4) 開啟IPv4 IS-IS時延發布功能。
metric-delay advertisement enable [ level-1 | level-2 ]
缺省情況下,IPv4 IS-IS的時延發布功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 開啟IPv6 IS-IS時延發布功能。
metric-delay advertisement enable [ level-1 | level-2 ]
缺省情況下,IPv6 IS-IS的時延發布功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 開啟IS-IS的時延發布抑製功能,並設置抑製參數。
metric-delay suppression timer time-value percent-threshold percent-value absolute-threshold absolute-value
缺省情況下,IS-IS的時延發布抑製功能處於開啟狀態。
將某個抑製參數設置為0,則相應的抑製機製不再生效。各抑製參數均設置為0時,表示關閉時延發布抑製功能。
開啟IS-IS帶寬發布功能後,IS-IS將收集接口上報的鏈路帶寬信息,並通過BGP-LS上報給控製器,由控製器基於帶寬計算路徑,從而滿足最優路徑帶寬最大的需求。
通常情況下,接口上報帶寬信息的周期較短,例如每隔100ms向IS-IS上報一次帶寬信息,IS-IS需要頻繁處理接口上報的帶寬信息,並通過BGP-LS向控製器頻繁上報鏈路信息,導致設備和網絡資源被過多占用。帶寬發布抑製功能可以用來解決上述問題。
帶寬發布抑製功能的工作機製為:
(1) 開啟帶寬發布抑製功能後,接口按照與IS-IS協商的周期向IS-IS上報帶寬信息。
(2) IS-IS按照帶寬發布抑製定時器設置的時間間隔通過BGP-LS發布接口上報的帶寬信息,即IS-IS在定時器超時前不能發布帶寬信息。
建議將帶寬發布抑製定時器的值配置為大於或等於以太網接口帶寬測量的時間間隔。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv4地址族視圖。
address-family ipv4 [ unicast ]
(4) 開啟IPv4 IS-IS帶寬發布功能。
metric-bandwidth advertisement enable [ level-1 | level-2 ]
缺省情況下,IPv4 IS-IS的帶寬發布功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 開啟IPv6 IS-IS帶寬發布功能。
metric-bandwidth advertisement enable [ level-1 | level-2 ]
缺省情況下,IPv6 IS-IS的帶寬發布功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 開啟IS-IS的帶寬發布抑製功能,並設置抑製參數。
metric-bandwidth suppression timer time-value
缺省情況下,IS-IS的帶寬發布抑製功能處於開啟狀態。
將抑製參數設置為0時,表示關閉帶寬發布抑製功能。
IS-IS通常基於所有鏈路的開銷值來計算到達目的地的最優路徑,某些情況下,這種方式計算出來的路徑無法反應用戶的意圖。Flex-Algo(Flexible Algorithm,靈活算法)允許用戶根據自己的需求自定義路徑計算方法,從而靈活地控製路徑的選擇。
Flex-Algo涉及如下基本概念:
· FAD(Flexible Algorithm Definition,Flex-Algo算法定義):Flex-Algo算法的內容,包括算法類型、優化目標和約束條件的組合。
· 算法類型:計算路徑使用的算法。當前僅支持SPF算法。
優化目標:使用Flex-Algo算法基於特定度量類型計算到達目的地的最小開銷路徑。
Flex-Algo算法支持的度量類型包括:
¡ 使用IS-IS的鏈路開銷作為度量類型。
¡ 使用鏈路時延作為度量類型。
¡ 使用MPLS TE度量值作為度量類型。關於MPLS TE的詳細介紹,請參見“MPLS配置指導”中的“MPLS TE”。
· 約束條件:Flex-Algo算法生成算法拓撲時遵循的規則,即包含或排除具有特定親和屬性的鏈路。包括Exclude-Any、Include-Any和Include-All。
· Flex-Algo算法標識符:Flex-Algo算法的唯一標識,取值為128~255之間的數字。
· 親和屬性:鏈路的一種屬性,也稱為鏈路顏色。親和屬性和約束條件配合,決定了Flex-Algo算法進行計算時使用的鏈路。
· 擴展管理組(Extended Administrative Group):IS-IS使用包含擴展管理組子TLV的LSP來通告FAD的約束條件,包括Flexible Algorithm Exclude Admin Group Sub-TLV、Flexible Algorithm Include-Any Admin Group Sub-TLV和Flexible Algorithm Include-All Admin Group Sub-TLV,分別對應Exclude-Any、Include-Any和Include-All規則,表明FAD要排除或包含的親和屬性。
Flex-Algo算法拓撲指的是Flex-Algo算法計算路徑的範圍。當Flex-Algo算法生成拓撲時,會判斷鏈路的親和屬性是否與擴展管理組匹配,匹配的鏈路才會被Flex-Algo算法加入拓撲或從拓撲中排除。具體步驟如下:
(1) 如果節點未配置FAD,表明該節點不參與Flex-Algo算法,那麼該節點被Flex-Algo算法刪除。
(2) 檢查FAD中是否存在Exclude-Any規則。如果存在Exclude-Any規則,隻要鏈路有一個親和屬性和Exclude-Any規則中的親和屬性相同,那麼該鏈路被Flex-Algo算法排除。
(3) 檢查FAD中是否存在Include-any規則。如果存在Include-any規則,鏈路的親和屬性不包含Include-any規則中的任意一個親和屬性,那麼該鏈路被Flex-Algo算法排除。
(4) 檢查FAD中是否存在Include-all規則。如果存在Include-all規則,但是鏈路不具有Include-all規則中的所有親和屬性,那麼該鏈路被Flex-Algo算法排除。
(5) FAD的度量類型不是IS-IS的鏈路開銷,且鏈路沒有對FAD使用的度量類型的開銷值進行通告,那麼該鏈路被Flex-Algo算法排除。
如圖1-8所示,未使用Flex-Algo算法時,所有節點基於IS-IS鏈路開銷計算到達目的地的最優路徑。使用Flex-Algo算法130計算路徑時,除了Router F以外,其他節點都配置了Flex-Algo算法130。Flex-Algo算法130的FAD為:
· 使用SPF算法。
· 基於IS-IS鏈路開銷計算到達目的地的最小開銷路徑。
· 排除親和屬性為“紅色”的鏈路。
圖1-8 未使用Flex-Algo算法的拓撲
生成的Flex-Algo算法130的拓撲如圖1-9所示。生成Flex-Algo算法130的拓撲後,各節點根據算法類型和優化目標進行路徑計算。
圖1-9 Flex-Algo算法130的拓撲
(2) 配置鏈路的親和屬性
(3) 配置Flex-Algo算法
(4) (可選)配置Flex-Algo算法的度量類型
(5) (可選)Flex-Algo算法的快速重路由功能
(6) (可選)配置Flex-Algo算法的TI-LFA FRR
(7) (可選)配置Flex-Algo算法的快速重路由備份路徑優選方案的優先級
(8) 應用Flex-Algo算法
配置IS-IS Flex-Algo算法之前,需要配置Segment Routing相關功能。關於SR-MPLS的詳細介紹,請參見“Segment Routing配置指導”中的“SR-MPLS”;關於SRv6的詳細介紹,請參見“Segment Routing配置指導”中的“SRv6”。
本功能用來管理親和屬性名稱和親和屬性比特位之間的映射關係。IS-IS支持256個親和屬性比特位,比特位的編號為0~255。如圖1-10所示,將親和屬性比特位的第一位命名為“blue”,第五位命名為“red”。可以將256個親和屬性比特位定義成不同的名稱。
配置親和屬性名稱和親和屬性比特位的映射關係後,IS-IS可以方便地通過親和屬性名稱來配置鏈路的親和屬性,或者定義Flex-Algo算法拓撲。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置親和屬性名稱和親和屬性比特位之間的映射關係。
affinity-map affinity-name bit-position bit
缺省情況下,未配置親和屬性名稱和親和屬性比特位之間的映射關係。
在IS-IS接口上配置本功能後,該接口去往鄰接節點的鏈路將具有指定親和屬性名稱映射的親和屬性。IS-IS接口所在節點參與Flex-Algo算法計算時,如果Flex-Algo算法定義了約束條件,那麼Flex-Algo算法會根據約束條件將具有特定親和屬性的鏈路加入Flex-Algo算法拓撲,或從Flex-Algo算法拓撲中排除。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置IS-IS接口的鏈路具有特定的親和屬性。
isis process-id affinity flex-algo { affinity-name }&<1-32>
缺省情況下,IS-IS的接口鏈路不具有任何親和屬性。
節點配置Flex-Algo算法後,該節點將有資格參與Flex-Algo算法的路徑計算。需要保證IS-IS路由域內至少有一個節點使用包含FAD子TLV的LSP來通告FAD,否則即便節點配置了Flex-Algo算法也無法使用Flex-Algo算法計算路徑。
為了避免環路,在FAD的通告範圍內,使用相同標識符的Flex-Algo算法的節點必須選擇一致的FAD,選擇機製如下:
(1) 從本區域的FAD通告中(包括本地產生和接收到的通告),選擇具有最高優先級的FAD。如果本地未通告FAD,則從接收到的通告中選擇具有最高優先級的FAD。
(2) 如果存在多個具有相同最高優先級的FAD,則選擇System ID最大的設備通告的FAD。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 創建Flex-Algo算法,並進入Flex-Algo視圖。
flex-algo flex-algo-id
(4) 配置Flex-Algo算法的優先級。
priority priority-value
缺省情況下,Flex-Algo算法的優先級為128。
(5) 配置Flex-Algo算法的約束條件。
¡ 配置Flex-Algo算法拓撲排除具有任意一個指定親和屬性的鏈路。
affinity exclude-any affinity-name&<1-32>
¡ 配置Flex-Algo算法拓撲包含具有任意一個指定親和屬性的鏈路。
affinity include-any affinity-name&<1-32>
¡ 配置Flex-Algo算法拓撲包含具有所有指定親和屬性的鏈路。
affinity include-all affinity-name&<1-32>
缺省情況下,參與Flex-Algo算法計算的所有節點的鏈路都會加入拓撲。
(6) 開啟本節點對Flex-Algo算法定義的通告功能。
advertise-definition enable
缺省情況下,本節點對Flex-Algo算法定義的通告功能處於關閉狀態。
缺省情況下,IS-IS使用鏈路開銷作為度量類型來計算到達目的地的最優路徑。但是,對於某些流量,這種方式計算出來的路徑可能並不總是最好的路徑。使用本功能可以根據業務需求選取合適的度量類型。Flex-Algo算法支持如下三種度量類型:
· IS-IS的鏈路開銷。
· 鏈路時延。
· MPLS TE度量值。
使用鏈路時延(delay)作為度量類型時,需要保證參與Flex-Algo算法的接口的時延發布功能處於生效狀態。
使用TE度量(te-cost)作為度量類型時,需要保證:
· 參與Flex-Algo算法的節點的MPLS TE能力處於開啟狀態。
· 參與Flex-Algo算法的接口的MPLS能力和MPLS TE能力處於開啟狀態。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv4地址族視圖或IS-IS IPv6地址族視圖。
¡ 進入IS-IS IPv4地址族視圖。
address-family ipv4 [ unicast ]
¡ 進入IS-IS IPv6地址族視圖
address-family ipv6 [ unicast ]
(4) 開啟IS-IS時延發布功能。
metric-delay advertisement enable [ level-1 | level-2 ]
缺省情況下,IPv6 IS-IS的時延發布功能處於關閉狀態。
(5) 開啟IS-IS為特定的應用發布鏈路屬性信息的功能。
advertise application link-attributes { te | srlg } *
缺省情況下,IS-IS為特定應用發布鏈路屬性信息的功能處於關閉狀態。
(6) 退回IS-IS視圖。
quit
(7) 進入Flex-Algo視圖。
flex-algo flex-algo-id
(8) 配置Flex-Algo算法使用鏈路時延作為度量類型。
metric-type delay
缺省情況下,Flex-Algo算法使用IS-IS的鏈路開銷作為度量類型。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 開啟IS-IS進程發布TE屬性的能力。
te attribute enable [ level-1 | level-2 ]
缺省情況下,IS-IS進程發布TE屬性的能力處於關閉狀態。
(4) 進入IS-IS IPv4地址族視圖或IS-IS IPv6地址族視圖。
¡ 進入IS-IS IPv4地址族視圖。
address-family ipv4 [ unicast ]
¡ 進入IS-IS IPv6地址族視圖
address-family ipv6 [ unicast ]
(5) 開啟IS-IS為特定的應用發布鏈路屬性信息的功能。
advertise application link-attributes { te | srlg } *
缺省情況下,IS-IS為特定應用發布鏈路屬性信息的功能處於關閉狀態。
(6) 退回IS-IS視圖。
quit
(7) 進入Flex-Algo視圖。
flex-algo flex-algo-id
(8) 配置Flex-Algo算法使用TE度量值作為度量類型。
metric-type te-cost
缺省情況下,Flex-Algo算法使用IS-IS的鏈路開銷作為度量類型。
Flex-Algo算法的快速重路由功能與IS-IS LFA快速重路由功能類似。Flex-Algo算法使用LFA(Loop Free Alternate)基於Flex-Algo算法拓撲計算出一條開銷最小且無環的備份鏈路。
如圖1-11所示,所有節點都配置了Flex-Algo算法130。Flex-Algo算法130的FAD為:
· 使用SPF算法。
· 基於IS-IS鏈路開銷計算到達目的地的最小開銷路徑。
· 排除親和屬性為“紅色”的鏈路。
圖1-11 未使用Flex-Algo算法的拓撲
生成Flex-Algo算法130的拓撲後,Flex-Algo算法使用LFA計算出來的從Router A到Router D的主、備路徑如圖1-12所示。
圖1-12 使用Flex-Algo算法的拓撲
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入Flex-Algo視圖。
flex-algo flex-algo-id
(4) 開啟Flex-Algo算法的快速重路由功能。
fast-reroute enable
缺省情況下,Flex-Algo算法的快速重路由功能處於開啟狀態。
如果網絡中不存在備份路徑,可以使用undo fast-reroute enable命令關閉Flex-Algo算法的快速重路由功能,節省設備資源。
TI-LFA FRR(Topology-Independent Loop-free Alternate Fast Reroute,拓撲無關無環備份快速重路由)是LFA的增強方案。TI-LFA FRR完全繼承了Remote LFA計算P空間和Q空間的算法,可以在網絡拓撲中不存在PQ節點的情況下,實現任意拓撲的保護。關於P空間和Q空間的詳細介紹,請參見“1.21.3 配置Remote LFA快速重路由”。關於TI-LFA FRR路徑計算的詳細過程,請參見“Segment Routing配置指導”中的“SRv6”。
Flex-Algo的TI-LFA流量保護分為以下兩種類型:
· 鏈路保護:當需要保護的對象是經過特定鏈路的流量時,流量保護類型為鏈路保護。
· 節點保護:當需要保護的對象是經過特定設備的流量時,流量保護類型為節點保護。
節點保護優先級高於鏈路保護。
Flex-Algo的TI-LFA FRR路徑計算和普通的TI-LFA FRR路徑計算方式是相同的,唯一差別在於Flex-Algo的TI-LFA FRR基於FAD,在Flex-Algo拓撲中計算備份路徑。
如圖1-13所示,所有節點未使用Flex-Algo算法。Router B為源節點,Router A為目的節點,鏈路中間的數字表示開銷值。流量路徑為Router B->Router A,為避免Router B故障導致流量丟失,TI-LFA計算出來的備份路徑為Router B->Router C-> Router E-> Router F-> Router A。
圖1-13 未使用Flex-Algo的TI-LFA備份路徑
如圖1-14所示,所有節點都配置了Flex-Algo算法130。Flex-Algo算法130的FAD為:
· 使用SPF算法。
· 基於IS-IS鏈路開銷計算到達目的地的最小開銷路徑。
· 排除親和屬性為“紅色”的鏈路。
此時,TI-LFA計算出來的備份路徑為Router B->Router C-> Router D-> Router E-> Router F-> Router A。
圖1-14 使用Flex-Algo的TI-LFA備份路徑
通常情況下,正切是指網絡發生故障後,數據流量從主路徑切換到備份的重路由路徑。正切微環(Microloop)指的是緊鄰故障節點的節點收斂後引發的環路。
如圖1-15所示,全網節點部署Flex-Algo的TI-LFA,FAD為:
· 使用SPF算法。
· 基於IS-IS鏈路開銷計算到達目的地的最小開銷路徑。假設所有鏈路的開銷值均為10。
· 排除親和屬性為“紅色”的鏈路。
正常情況下,Device A到Device C的路徑為Router A->Router B->Router C。當Device B故障時,到Device C的流量將切換到TI-LFA計算的備份路徑轉發。Device A收斂後,到Device C的流量將沿著收斂後路徑轉發。此時,如果Device D還沒有收斂,仍按照收斂前的路徑轉發流量,則Device A到Device D之間形成環路。
通過正切防微環功能可以解決上述問題。在Device A上開啟該功能後,可以使Device A延遲一段時間收斂,在此期間Device A不響應拓撲變化,仍然使用TI-LFA備份路徑轉發流量;網絡中的其他節點正常收斂。等待Device D和Device F收斂完成後,Device A再開始收斂。Device A收斂完成後,到Device C的流量沿將著收斂後路徑轉發,從而避免發生環路。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入Flex-Algo視圖。
flex-algo flex-algo-id
(4) 開啟TI-LFA(Topology-Independent Loop-free Alternate,拓撲無關無環備份)快速重路由功能。
fast-reroute ti-lfa enable
缺省情況下,TI-LFA快速重路由功能處於開啟狀態。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入Flex-Algo視圖。
flex-algo flex-algo-id
(4) 開啟FRR正切防微環功能。
fast-reroute microloop-avoidance enable
缺省情況下,正切防微環功能處於開啟狀態。
(5) 配置FRR正切防微環延遲時間。
fast-reroute microloop-avoidance rib-update-delay delay-time [ level-1 | level-2 ]
缺省情況下,FRR正切防微環延遲時間為5000毫秒。
IS-IS Flex-Algo算法的快速重路由備份路徑選擇方式為:
· 節點保護:選擇網絡中特定節點轉發流量。
· 最小路徑開銷:選擇網絡中鏈路開銷最小的鏈路轉發流量。
如圖1-16所示,所有節點使用Flex-Algo算法,算法的FAD為:
· 使用SPF算法。
· 基於IS-IS鏈路開銷計算到達目的地的最小開銷路徑。
· 排除親和屬性為“藍色”的鏈路。
Device A到Device H的主路徑為Device A->Device E->Device F->Device G->Device H,備份路徑有Device A->Device B->Device C->Device D->Device H、Device A->Device B->Device C->Device F->Device G>Device H和Device A->Device E->Device F->Device C->Device D>Device H三種選擇:
· 當主要求備份路徑通過特定網絡節點轉發流量時,例如由Device E轉發流量,則選擇節點保護方式,備份路優選為Device A->Device E->Device F->Device C->Device D>Device H。
· 當主要求備份路徑通過鏈路開銷最小鏈路轉發流量時,則選擇最小路徑開銷方式,備份路優選為Device A->Device B->Device C->Device F->Device G>Device H。
圖1-16 IS-IS FRR備份路徑選擇示意圖
優先采用節點保護方式計算備份路徑時,如果不能計算出備份路徑,則再通過最小開銷路徑方式計算備份路徑。如果仍不能計算備份路徑,則主鏈路故障後無法保證可靠性。
優先采用最小開銷路徑方式計算備份路徑時,如果不能計算出備份路徑,則不會再通過節點保護方式計算備份路徑,主鏈路故障後無法保證可靠性。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入Flex-Algo視圖。
flex-algo flex-algo-id
(4) 配置Flex-algo算法的快速重路由備份路徑優選方案的優先級。
fast-reroute tiebreaker { lowest-cost | node-protecting } preference preference [ level-1 | level-2 ]
缺省情況下,最小開銷路徑優選方案的優先級為20,節點保護優選方案的優先級為40。
IS-IS通告Prefix SID時,會攜帶對應的算法信息,通過算法ID標識該Prefix SID使用的算法。缺省情況下,Prefix SID關聯的算法ID為0,表示節點使用SPF算法基於IS-IS鏈路開銷計算到達Prefix SID對應前綴的最優路徑。
Prefix SID關聯Flex-Algo算法後,節點將使用Flex-Algo算法計算到達Prefix SID對應前綴的最優路徑。例如,Prefix SID關聯Flex-Algo算法130,該算法的FAD為:
· 使用SPF算法。
· 基於IS-IS鏈路開銷計算到達目的地的最小開銷路徑。
· 排除親和屬性為“藍色”的鏈路。
將索引值201分配給Router F上的Loopback地址1.1.1.1/32,Router F上標簽轉發表項的入標簽為16201。Router A使用Flex-Algo算法130計算出來的到達1.1.1.1/32的標簽轉發表項的入標簽為16201,出標簽為16201,下一跳為Router C。最終建立的Router A到Router F的SRLSP如圖1-17所示。
圖1-17 Flex-Algo算法計算Router A到Router F的路徑
(1) 進入係統視圖。
system-view
(2) 進入Loopback接口視圖。
interface loopback interface-number
(3) 配置前綴SID關聯Flex-Algo算法。
isis [ process-id process-id ] prefix-sid algorithm algorithm-id { absolute absolute-value | index index-value } [ n-flag-clear | { explicit-null | no-php } ] *
缺省情況下,未配置IS-IS前綴SID關聯Flex-Algo算法。
關於本命令的詳細介紹,請參見“Segment Routing命令參考”中的“SR-MPLS”。
配置IS-IS SRv6功能後,IS-IS會使用包含SRv6 Locator TLV的LSP發布SRv6 Locator信息。SRv6 Locator TLV包含算法字段,通過算法ID標識該Locator使用的算法。缺省情況下,SRv6 Locator TLV中的算法ID為0,表示節點使用SPF算法基於IS-IS鏈路開銷計算到達SRv6 Locator前綴的最優路徑。
Locator段關聯Flex-Algo算法後,節點將使用Flex-Algo算法計算到達SRv6 Locator前綴的最優路徑。例如,SRv6 Locator關聯Flex-Algo算法130,該算法的FAD為:
· 使用SPF算法。
· 基於IS-IS鏈路開銷計算到達目的地的最小開銷路徑。
· 排除親和屬性為“藍色”的鏈路。
Router A在Flex-Algo算法拓撲中使用SPF計算出來的到達Locator前綴2001:0:8:6::/64的路徑如圖1-18所示。
圖1-18 Flex-Algo算法計算Router A到Router F的路徑
Locator段需要關聯已經存在的Flex-Algo算法,否則IS-IS不會發布SRv6 Locator信息。
(1) 進入係統視圖。
system-view
(2) 開啟SRv6功能,並進入SRv6視圖。
segment-routing ipv6
缺省情況下,SRv6功能處於關閉狀態。
關於本命令的詳細介紹,請參見“Segment Routing配置指導”中的“SRv6”。
(3) 配置Locator段,並進入SRv6 Locator視圖。
locator locator-name [ ipv6-prefix ipv6-address prefix-length [ args args-length | static static-length ] * ]
關於本命令的詳細介紹,請參見“Segment Routing配置指導”中的“SRv6”。
(4) 配置Locator段關聯Flex-Algo算法。
flex-algo algorithm algo-id
缺省情況下,Locator段未關聯Flex-Algo算法。
關於本命令的詳細介紹,請參見“Segment Routing配置指導”中的“SRv6”。
如果路由器在鄰居關係保持時間內(即Hello報文失效數目與Hello報文發送時間間隔的乘積)沒有收到來自鄰居路由器的Hello報文時將宣告鄰居關係失效。通過設置Hello報文失效數目和Hello報文的發送時間間隔,可以調整鄰居關係保持時間,即鄰居路由器要花多長時間能夠監測到鏈路已經失效並重新進行路由計算。
DIS發送Hello報文的時間間隔是isis timer hello設置的時間的1/3。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置Hello報文的發送時間間隔。
isis timer hello seconds [ level-1 | level-2 ]
缺省情況下,Hello報文的發送時間間隔為10秒。
當網絡類型為廣播網時,DIS使用CSNP報文來進行LSDB同步,因此隻有在被選舉為DIS的路由器上進行該項配置才有效。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置DIS在廣播網絡上發送CSNP報文的時間間隔。
isis timer csnp seconds [ level-1 | level-2 ]
缺省情況下,CSNP報文的發送時間間隔為10秒。
每個LSP都有一個最大生存時間,隨著時間的推移最大生存時間將逐漸減小,當LSP的最大生存時間為0時,IS-IS將啟動清除過期LSP的過程。用戶可根據網絡規模對LSP的最大生存時間進行調整。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置LSP最大生存時間。
timer lsp-max-age seconds
缺省情況下,LSP最大生存時間為1200秒。
路由器必須定時刷新自己生成的LSP,防止LSP的最大生存時間減小為0。另外,通過定時刷新LSP可以使整個區域中的LSP保持同步。用戶可對LSP的刷新周期進行配置,提高LSP的刷新頻率可以加快網絡收斂速度,但是將占用更多的帶寬。
除了定時刷新可以重新生成LSP外,當網絡拓撲發生變化,如鄰居路由器up或down,接口Metric值、System ID或區域地址發生變化等,將觸發路由器重新生成LSP。為了防止網絡拓撲頻繁變化而導致LSP頻繁重新生成,用戶可配置LSP生成時間間隔,以抑製網絡變化頻繁導致的帶寬資源和路由器資源被過多占用的問題。
LSP重新生成的時間間隔的變化規則如下:
· 如果隻指定了maximum-interval參數,那麼LSP重新生成的時間間隔固定為maximum-interval。
· 如果未指定incremental-interval參數,LSP重新生成的時間間隔最大為maximum-interval,最小為minimum-interval。
· 如果指定了incremental-interval參數,那麼在網絡變化頻繁的情況下將LSP重新生成的時間間隔按照incremental-interval×2n-2(n為連續觸發路由計算的次數)進行延長,最大不超過maximum-interval。在網絡變化不頻繁的情況下將LSP重新生成時間間隔縮小到minimum-interval。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置LSP刷新周期。
timer lsp-refresh seconds
缺省情況下,LSP刷新周期為900秒。
(4) 配置LSP重新生成的時間間隔。
timer lsp-generation maximum-interval [ minimum-interval [ incremental-interval ] ] [ level-1 | level-2 ]
缺省情況下,LSP重新生成的最大時間間隔為5秒,最小時間間隔為50毫秒,時間間隔懲罰增量為200毫秒。
當LSDB的內容發生變化時,IS-IS將把發生變化的LSP擴散出去,用戶可以對LSP的最小發送時間間隔進行調節。
請合理配置LSP發送時間間隔,當存在大量IS-IS接口或大量路由時,會發送大量的LSP報文,導致LSP風暴的出現。
在點到點鏈路上,發送的LSP需要得到對端的應答,否則將在指定的時間間隔內重新發送該LSP,重傳時間間隔決定了當一個LSP在P2P鏈路上丟失時它被重傳需要等待的時間。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置發送LSP的最小時間間隔以及一次最多可以發送的LSP報文數目。
isis timer lsp time [ count count ]
缺省情況下,LSP的發送最小時間間隔為33毫秒,一次最多可以發送5個LSP報文。
(4) 配置LSP在點到點鏈路上的重傳時間間隔。
isis timer retransmit seconds
缺省情況下,LSP在點到點鏈路上的重傳時間間隔為5秒。
在網絡變化不頻繁的情況下,將接收LSP的時間間隔縮小到minimum-interval,而在網絡變化頻繁的情況下可以進行相應的懲罰,將接收LSP的時間間隔按照配置的懲罰增量延長,最大不超過maximum-interval。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置LSP重複到達的時間間隔。
timer lsp-arrival maximum-interval [ minimum-interval [ incremental-interval ] ] [ level-1 | level-2 ]
缺省情況下,未配置LSP重複到達的時間間隔。
根據本地維護的LSDB,運行IS-IS協議的路由器通過SPF算法計算出以自己為根的最短路徑樹,並根據這一最短路徑樹決定到目的網絡的下一跳。通過調節SPF的計算間隔,可以抑製網絡頻繁變化可能導致的帶寬資源和路由器資源被過多占用的問題。
本命令在網絡變化不頻繁的情況下將連續路由計算的時間間隔縮小到minimum-interval,而在網絡變化頻繁的情況下可以進行相應懲罰,增加incremental-interval×2n-2(n為連續觸發路由計算的次數),將等待時間按照配置的懲罰增量延長,最大不超過maximum-interval。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置IPv4 IS-IS路由計算時間間隔。
timer spf { maximum-interval [ minimum-interval [ incremental-interval [ conservative ] ] ] | millisecond millisecond-interval } [ exclude-prc ]
缺省情況下,IPv4 IS-IS路由計算的最大時間間隔為5秒,最小時間間隔為50毫秒,時間間隔懲罰增量為200毫秒。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 配置IPv6 IS-IS路由計算的時間間隔。
timer spf { maximum-interval [ minimum-interval [ incremental-interval [ conservative ] ] ] | millisecond millisecond-interval } [ exclude-prc ]
缺省情況下,IPv6 IS-IS路由計算的最大時間間隔為5秒,最小時間間隔為50毫秒,時間間隔懲罰增量為200毫秒。
在廣播網絡中,IS-IS需要在所有的路由器中選舉一個路由器作為DIS。
對於IS-IS,Level-1和Level-2的DIS是分別選舉的,可以為不同級別的DIS選舉設置不同的優先級。優先級數值越高,被選中的可能性就越大。如果所有路由器的DIS優先級相同,將會選擇MAC地址最大的路由器作為DIS。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口的DIS優先級。
isis dis-priority priority [ level-1 | level-2 ]
缺省情況下,接口的DIS優先級為64。
當cost-sytle為wide、wide-compatible或compatible時,如果發布可達的IP地址前綴具有tag屬性,IS-IS會將tag加入到該前綴的IP可達信息TLV中。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口的Tag值。
isis tag tag
缺省情況下,未配置接口的Tag值。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口的Tag值。
isis ipv6 tag tag
缺省情況下,未配置接口的Tag值。
隻要發布可達的IPv6地址前綴具有tag屬性,不管IS-IScost-style的類型為何,IPv6 IS-IS都會將tag加入到該前綴的IPv6可達信息TLV中。
Hello報文失效數目,即宣告鄰居失效前IS-IS沒有收到的鄰居Hello報文的數目。
如果路由器在鄰居關係保持時間內(即Hello報文失效數目與Hello報文發送時間間隔的乘積)沒有收到來自鄰居路由器的Hello報文時將宣告鄰居關係失效。通過設置Hello報文失效數目和Hello報文的發送時間間隔,可以調整鄰居關係保持時間,即鄰居路由器要花多長時間能夠監測到鏈路已經失效並重新進行路由計算。
在廣播鏈路上,Level-1和Level-2 Hello報文會分別發送,Hello報文失效數目需要分別設置;在點到點鏈路中,Level-1和Level-2的Hello報文是在同一個點到點Hello報文中發送,因此不需要指定Level-1或Level-2。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置Hello報文失效數目。
isis timer holding-multiplier value [ level-1 | level-2 ]
缺省情況下,Hello報文失效數目為3。
通過禁止接口發送和接收IS-IS報文,禁止了該接口與相鄰路由器建立鄰居關係,但仍然可以把該接口直連網絡的路由信息放在LSP中從其他接口宣告出去。由於不用建立鄰居關係,可以節省帶寬和路由器處理時間,同時,其他路由器也可以知道到達該接口直連網絡的路由信息。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 禁止接口發送和接收IS-IS報文。
isis silent
缺省情況下,接口既發送也接收IS-IS報文。
IS-IS協議報文直接封裝在鏈路層報文頭後麵,無法實現協議報文在IP層的自動分片。因此,運行IS-IS的路由器與對端路由器建立鄰居關係時,會發送達到鏈路MTU大小的Hello報文,雙方進行MTU大小的通信協商,來保證建立鄰居雙方接口MTU的一致性,從而避免雙方MTU大小不一致導致較小的PDU可以通過,但是較大的PDU無法通過。
當鄰居路由器雙方MTU大小一樣的時候,為了避免發送過大的Hello報文浪費帶寬,可以配置接口發送不加入填充CLV的小型Hello報文。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口發送不加入填充CLV的小型Hello報文。
isis small-hello
缺省情況下,接口發送標準Hello報文。
IS-IS協議報文直接封裝在鏈路層報文頭後麵,無法實現協議報文在IP層的自動分片。
為了不影響LSP的正常擴散,要求同一區域內所有IS-IS路由器生成LSP報文的最大長度不能超過該區域內所有路由器IS-IS接口MTU的最小值。
如果IS-IS運行的區域中各IS-IS接口的MTU值不一致,建議用戶對IS-IS生成LSP報文的最大長度進行配置,將同一區域內所有IS-IS路由器生成LSP報文的最大長度配置為該區域內所有路由器IS-IS接口MTU的最小值。如果不進行配置,係統將根據當前設備IS-IS接口最小MTU值的變化而自動重啟IS-IS進程動態調整生成LSP報文的最大長度,會在一定程度上影響業務的正常運行。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置生成的Level-1 LSP和Level-2 LSP的最大長度。
lsp-length originate size [ level-1 | level-2 ]
缺省情況下,生成的Level-1 LSP和Level-2 LSP的最大長度為1497字節。
(4) 配置可以接收LSP的最大長度。
lsp-length receive size
缺省情況下,接收的LSP報文的最大長度為1497字節。
通過使能LSP快速擴散功能,當LSP發生變化而導致SPF重新計算時,在SPF重新計算前,把導致SPF重新計算的LSP快速擴散出去,將大大縮短路由器之間由於進行LSP同步而導致LSDB不一致的時間,提高全網的快速收斂性能。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置LSP快速擴散功能。
flash-flood [ flood-count flooding-count | max-timer-interval flooding-interval | [ level-1 | level-2 ] ] *
缺省情況下,LSP快速擴散功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 使能IS-IS進程的LSP分片擴展功能。
lsp-fragments-extend [ level-1 | level-1-2 | level-2 ]
缺省情況下,LSP分片擴展功能處於關閉狀態。
使能分片擴展功能後,使能該IS-IS進程的所有接口的MTU不能小於512,否則LSP分片擴展功能將不會生效。
(4) 配置IS-IS進程的虛擬係統ID。
virtual-system virtual-system-id
缺省情況下,未配置IS-IS進程的虛擬係統ID。
為了使路由器生成擴展LSP分片,應至少配置一個虛擬System ID。
如圖1-19所示,Router A、Router B、Router C和Router D均使能了IS-IS,Router A新生成一個LSP時,將把該LSP分別從GigabitEthernet0/0/1、GigabitEthernet0/0/1和GigabitEthernet0/0/1泛洪出去,Router D從GigabitEthernet0/0/1收到Router A發送的LSP後,也會把該LSP從GigabitEthernet0/0/1和GigabitEthernet0/0/1發送給Router B和Router C,而Router B和Router C已經從GigabitEthernet0/0/1、GigabitEthernet0/0/1收到了Router A發送的LSP。LSP的重複擴散會導致帶寬的浪費。
為了避免這種情況的發生,可以將一些接口配置屬於一個Mesh-Group,也可以配置接口阻塞。
· 將設備的幾個接口配置屬於一個Mesh-Group後,如果從其中的一個接口接收到一個新的LSP,IS-IS隻把該LSP擴散到沒有配置Mesh-Group的接口以及與當前接口不屬於同一個Mesh-Group的接口,而不會擴散到同Mesh-Group中的其他接口。
· 配置接口阻塞後,隻有該接口從鄰居路由器收到要求發送LSP的請求時才會發送LSP,否則不會主動向外發送LSP。
設置接口加入Mesh-Group或對接口進行阻塞時應注意保留一定的冗餘度,以免由於鏈路故障影響LSP報文的正常擴散。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 限製LSP泛洪。請選擇其中一項進行配置。
¡ 配置接口屬於Mesh-Group。
isis mesh-group mesh-group-number
¡ 配置接口阻塞。
isis mesh-group mesh-blocked
缺省情況下,接口不屬於任何Mesh-Group且接口不阻塞。
以上配置隻對點到點類型鏈路的接口起作用。
當IS-IS網絡中發生路由震蕩時,設備會將不斷生成的LSP在全網泛洪,這樣可能會進一步加劇網絡的惡化。同時,設備收到LSP後會因進行頻繁的路由計算而占用過多的CPU資源,導致性能下降。配置此功能可有效避免上述情況的發生。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置路由震蕩更新抑製。請選擇其中一項進行配置。
¡ 配置當路由震蕩時抑製IS-IS LSP的重新生成。
timer lsp-generation suppress-flapping delay-interval [ threshold threshold-value] [ level-1 | level-2 ]
缺省情況下,不會抑製IS-IS LSP的重新生成。
¡ 配置當路由震蕩時抑製IS-IS泛洪LSP。
timer lsp-flood suppress-flapping delay-interval [ threshold threshold-value ] [ level-1 | level-2 ]
缺省情況下,不會抑製IS-IS泛洪LSP。
¡ 配置當路由震蕩時抑製IS-IS啟動路由計算。
timer route-calculate suppress-flapping delay-interval [ threshold threshold-value ] [ level-1 | level-2 ]
缺省情況下,不會抑製IS-IS的路由計算。
¡ 配置收到分片號為00的LSP清除報文後啟動路由計算的延遲時間。
timer purge-zero-lsp route-calculate-delay delay-interval [ level-1 | level-2 ]
缺省情況下,收到分片號為00的LSP清除報文後啟動路由計算的延遲時間為10秒。
當接口的網絡類型為P2P時,對端的IP地址與當前接口不在同一網段也可以建立鄰接關係。通過配置與對端路由器建立鄰接關係必須在同一網段的檢查功能,即接口上接收Hello報文時,對端的IP地址與當前接口必須在同一網段才可以建立鄰接關係。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置在P2P接口上建立鄰接關係必須在同一網段的檢查功能。
isis peer-ip-check
缺省情況下,在網絡類型為P2P的接口上建立鄰接關係時,不對接口是否處於同一網段進行檢查。
IS-IS協議中,當網絡拓撲發生變化時,路由要重新收斂。IS-IS路由收斂的優先級由高到低包括:
· critical:最高優先級。
· high:高優先級。
· medium:中優先級。
· 低優先級:缺省優先級。隻有主機路由的缺省優先級為中優先級。
IS-IS路由收斂的優先級越高收斂的速度越快。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
(3) 配置IPv4 IS-IS路由收斂的優先級。請選擇其中一項進行配置。
¡ 配置指定前綴列表的IPv4 IS-IS路由收斂的優先級。
prefix-priority { critical | high | medium } { prefix-list prefix-list-name | tag tag-value }
¡ 通過路由策略指定IPv4 IS-IS路由收斂的優先級。
prefix-priority route-policy route-policy-name
缺省情況下,IPv4 IS-IS路由收斂的優先級為低優先級。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 配置IPv6 IS-IS路由收斂的優先級。
prefix-priority { critical | high | medium } { prefix-list prefix-list-name | tag tag-value }
prefix-priority route-policy route-policy-name
缺省情況下,IPv6 IS-IS路由收斂的優先級為低優先級。
通過配置LSDB過載標誌位,IS-IS將在其發送的LSP報文中把OL位置位,以通知其他路由器當前路由器發生了問題,無法正確的執行路由選擇和報文轉發。
當運行IS-IS的路由器因為內存不足或其他原因無法記錄完整的LSDB時,將會導致區域路由的計算錯誤,在故障排除過程中,通過給懷疑有問題的路由器設置過載標誌位,可以將其從IS-IS網絡中暫時隔離,便於進行故障定位。
IPv4和IPv6未分拓撲計算的情況下,在IS-IS視圖下配置本功能後,泛洪到IPv4拓撲和IPv6拓撲中的LSP的OL位均被置位。在IPv6地址族視圖下配置本功能後,該配置不生效。
IPv4和IPv6分拓撲計算的情況下,在IS-IS視圖下配置本功能後,僅泛洪到IPv4拓撲中的LSP的OL位會被置位。在IPv6地址族視圖下配置本功能後,僅泛洪到IPv6拓撲中的LSP的OL位會被置位。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖或IPv6地址族視圖。
¡ 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
¡ 請依次執行以下命令進入IPv6地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv6 [ unicast ]
(3) 配置過載標誌位。
set-overload [ on-startup [ [ start-from-nbr system-id [ timeout1 [ nbr-timeout ] ] ] | timeout2 | wait-for-bgp [ timeout3 ] ] ] [ allow { external | interlevel } * ]
缺省情況下,未配置過載標誌位。
本功能用於Anycast場景中避免鄰居將流量發往overload設備。設備進入overload狀態後,會向鄰居發送OL位置位的LSP,鄰居收到此LSP進行路徑計算後,對於目的地不是overload設備直連網段的報文,不會將報文發送給overload設備轉發;對於目的地是overload設備直連網段的報文,鄰居會將報文發送給overload設備。在Anycast場景中,對於目的地為Anycast的報文,鄰居會將報文發送到開銷值最小的Anycast節點,而這個節點可能已經進入overload狀態。在overload設備上配置本功能後,係統將設備的IS-IS接口開銷值調大,鄰居優選其他節點進行報文轉發。
本功能僅在設備進入overload狀態後才會生效,具體機製如下:
· 設備處於overload狀態期間,係統將設備上IS-IS接口的開銷值調大,以便IS-IS選擇更優的路徑轉發流量。
· 設備退出overload狀態,或執行undo overload adjust-cost命令後,係統將IS-IS接口的開銷值恢複為調整前的值。
IPv4和IPv6未分拓撲計算的情況下,在IS-IS視圖下配置本功能後,將影響IPv4 IS-IS接口和IPv6 IS-IS接口的開銷值。在IPv6地址族視圖下配置本功能後,該配置不生效。
IPv4和IPv6分拓撲計算的情況下,在IS-IS視圖下配置本功能後,僅影響IPv4 IS-IS接口的開銷值。在IPv6地址族視圖下配置本功能後,僅影響IPv6 IS-IS接口的開銷值。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖或IPv6地址族視圖。
¡ 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
¡ 請依次執行以下命令進入IPv6地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv6 [ unicast ]
(3) 調整設備進入overload狀態時所有IS-IS接口的開銷值。
overload adjust-cost { cost-offset | max }
缺省情況下,設備進入overload狀態時不會調整IPv4 IS-IS接口的開銷值。
Isolate是一種對網絡設備進行軟件或硬件維護的方式。Isolate使用網絡中的冗餘路徑,平滑移除需要維護的設備。當完成設備維護後,關閉Isolate功能可以讓該設備重新投入使用。
當用戶需要對網絡中某台設備的IS-IS協議進行升級時,為了不對當前網絡中通過該設備發布的IS-IS路由指導轉發的流量產生影響,可以使用IS-IS isolate功能把該設備上的IS-IS協議從當前網絡中隔離出來。具體工作機製如下:
(1) 開啟IS-IS isolate功能後,IS-IS發布的LSP報文中的過載標誌位置位,並將IS-IS接口的鏈路開銷值調整為最大值,以便鄰居重新進行路徑優選。
(2) 鄰居收到LSP完成路由計算後,將選擇更優的路徑轉發流量,不再將流量發往IS-IS isolate設備。此時,設備的IS-IS協議完全從當前組網中隔離出來,可以對該設備上的IS-IS協議進行升級處理。
(3) 對IS-IS協議的維護結束後,關閉IS-IS isolate功能清除過載標誌位,並將鏈路度量值恢複為調整前的值,從而讓該設備的IS-IS協議重新加入網絡。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 使用IS-IS isolate功能對設備的IS-IS協議進行維護。
a. 開啟IS-IS協議的隔離功能,將設備的IS-IS協議從網絡中隔離出來。
isolate enable
b. IS-IS協議維護結束後,關閉IS-IS協議的隔離功能,讓設備的IS-IS協議重新加入網絡。
undo isolate enable
缺省情況下,IS-IS協議的隔離功能處於關閉狀態。
當用戶需要對某台設備進行調試或升級等維護操作時,可以使用IS-IS shutdown功能暫時關閉設備的IS-IS進程,鄰居設備將流量切換到備份路徑上,不再通過該設備轉發流量,從而降低設備維護對網絡的影響。具體工作機製如下:
· 使用IS-IS shutdown功能的IS-IS進程將本端鄰居關係置為down。
· 停止收發IS-IS協議報文,清除鄰居信息、LSDB(包括自己產生的LSP和接收到的LSP)以及IS-IS路由等信息。
鄰居設備在鄰居關係保持時間內沒有收到來自上述設備的Hello報文,將斷開與上述設備的鄰居關係。
當完成對網絡設備的維護後,通過undo shutdown process命令重新開啟IS-IS進程,以便IS-IS重新建立鄰居關係。
與undo isis命令相比,本功能在關閉IS-IS進程後,不會刪除該進程下的配置,降低了用戶維護設備的成本。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置IS-IS shutdown功能。
a. 關閉IS-IS進程。
shutdown process
b. IS-IS協議維護結束後,重新開啟IS-IS進程,讓設備的IS-IS進程重新建立鄰居關係。
undo shutdown process
缺省情況下,IS-IS進程處於開啟狀態。
ATT連接位由Level-1-2路由器產生,但僅與L1 LSP有關,表示產生此LSP的路由器(Level-1-2路由器)與多個區域相連接。ATT連接位的缺省置位規則如下:
· Level-1-2路由器在其生成的Level-1 LSP中將ATT比特位置位,用來通知同一區域中的Level-1路由器自己與其他區域相連,也就是說與Level-2骨幹區域相連。當Level-1區域中的設備收到Level-1-2路由器發送的ATT比特位被置位的Level-1 LSP後,它將生成一條目的地為Level-1-2路由器的缺省路由,實現和其他區域相互通信。
· 如果Level-1-2路由器隻連接了一個區域,Level-1-2路由器發送的Level-1 LSP中的ATT比特位不會置位。
通過本功能可以改變缺省置位規則,具體方式如下:
· 如果希望發布的Level-1 LSP的ATT比特位一直置位,請使用set-att always命令。
· 如果不希望Level-1-2路由器所連接的Level-1路由器都因為ATT比特位生成缺省路由,可以通過如下兩種方式實現:
¡ 在Level-1-2路由器相連的Level-1路由器上配置ignore-att命令。
¡ 在Level-1-2路由器上配置set-att never命令,該設備將不再發布ATT比特位置位的LSP。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置IS-IS不采用ATT位計算缺省路由。
ignore-att
缺省情況下,IS-IS采用ATT位計算缺省路由。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置係統自身發布的Level-1 LSP的ATT位置位。
set-att { always | never }
缺省情況下,Level-1-2路由器根據缺省置位規則來決定是否置位。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 配置係統自身發布的Level-1 LSP的ATT位置位。
set-att { always | never }
缺省情況下,Level-1-2路由器根據缺省置位規則來決定是否置位。
IS-IS用System ID來在區域內唯一標識主機或路由器,System ID長度固定為6字節。當網絡管理員檢查IS-IS鄰居關係的狀態、IS-IS路由表以及LSDB中的內容時,十六進製表示的System ID以及LSP標識符不夠直觀,查看也不方便。
主機名映射提供了一種將System ID映射到主機名的服務,運行IS-IS的路由器維護一個主機名到System ID的映射關係表,在維護和管理以及網絡故障診斷時,使用主機名比使用System ID會更直觀,也更容易記憶。
可以通過靜態配置和動態生成兩種方式生成和維護此關係映射表:
· 靜態配置,要求網絡中的每一台路由器為其他路由器配置System ID和主機名的映射關係。當網絡中路由器數目增多時,網絡中每新增一台路由器或修改某台路由器的主機名映射關係,其他路由器都要做相應配置,增加了維護工作量。
· 動態生成,IS-IS網絡中的每台路由器隻需要在本機上配置自己的主機名稱即可,配置的主機名稱將通過動態主機名CLV發布出去,最後IS-IS網絡中使能動態主機名映射功能的路由器都將收集到其他路由器System ID與主機名稱的映射關係並生成映射表。同時還可以為廣播網中的DIS配置局域網名稱來代表這個廣播網中的偽節點,便於網絡管理員查看LSDB內容時判斷LSP是由哪個DIS產生的。
隻有使能動態主機名映射功能後,使用display isis lsdb等命令才可以看到路由器的主機名而不是System ID。
倘若網絡中的一台路由器使能了動態主機名映射功能且在當前路由器也通過靜態方式為那台路由器配置了主機名,動態配置的主機名將覆蓋當前路由器為其靜態配置的主機名稱。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 為遠端IS配置System ID與主機名稱的映射關係。
is-name map sys-id map-sys-name
缺省情況下,沒有為遠端IS配置System ID與主機名稱的映射關係。
每個System ID隻能對應一個主機名稱。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 使能動態主機名映射功能並為當前路由器配置主機名稱。
is-name sys-name
缺省情況下,動態主機名映射功能處於關閉狀態且沒有為當前路由器配置主機名稱。
(4) 退回係統視圖。
quit
(5) 進入接口視圖。
interface interface-type interface-number
(6) 配置本地局域網名稱。
isis dis-name symbolic-name
缺省情況下,未配置本地局域網名稱。
該命令隻有在使能了動態主機名進程的路由器上有效。該命令在點到點鏈路的接口上無效。
打開鄰接狀態輸出開關後,IS-IS鄰接狀態變化時會生成日誌信息發送到設備的信息中心,通過設置信息中心的參數,最終決定日誌信息的輸出規則(即是否允許輸出以及輸出方向)。(有關信息中心參數的配置請參見“設備管理配置指導”中的“信息中心”。)
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 打開鄰接狀態變化的輸出開關。
log-peer-change
缺省情況下,鄰接狀態變化的輸出開關處於打開狀態。
配置IS-IS進程綁定MIB功能後,可以通過網管軟件對指定的IS-IS進程進行管理。
開啟IS-IS模塊的告警功能後,該模塊會生成告警信息,用於報告該模塊的重要事件。生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。(有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。)
(1) 進入係統視圖。
system-view
(2) 配置IS-IS進程綁定MIB。
isis mib-binding process-id
缺省情況下,MIB綁定在進程號最小的IS-IS進程上。
(3) 開啟IS-IS的告警功能。
snmp-agent trap enable isis [ adjacency-state-change | area-mismatch | authentication | authentication-type | buffsize-mismatch | id-length-mismatch | lsdboverload-state-change | lsp-corrupt | lsp-parse-error | lsp-size-exceeded | manual-address-drop | max-seq-exceeded | maxarea-mismatch | own-lsp-purge | protocol-support | rejected-adjacency | skip-sequence-number | version-skew ] *
缺省情況下,IS-IS的告警功能處於開啟狀態。
(4) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(5) 配置管理IS-IS的SNMP實體所使用的上下文名稱。
snmp context-name context-name
缺省情況下,未配置管理IS-IS的SNMP實體所使用的上下文名稱。
ISPF(Incremental Shortest Path First,增量最短路徑優先)計算是對IS-IS中最短路徑樹的增量計算,當網絡的拓撲結構發生變化,即影響到最短路徑樹的結構時,隻對受影響的部分節點進行重新計算拓撲結構,對最短路徑樹中受影響的部分進行修正,而不需要重建整棵最短路徑樹。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 使能IPv4 IS-IS ISPF功能。
ispf enable
缺省情況下,IPv4 IS-IS ISPF功能處於開啟狀態。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 使能IPv6 IS-IS ISPF功能。
ispf enable
缺省情況下,IPv6 IS-IS ISPF功能處於開啟狀態。
接口上配置本功能後,設備將禁止在LSP中攜帶此接口的前綴,屏蔽內部節點,提高安全性,加快路由收斂。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口的前綴抑製功能。
isis prefix-suppression
缺省情況下,未配置接口的前綴抑製功能。
本命令對接口從地址同樣生效。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口的前綴抑製功能。
isis ipv6 prefix-suppression
缺省情況下,未配置接口的前綴抑製功能。
PIC(Prefix Independent Convergence,前綴無關收斂),即收斂時間與前綴數量無關,加快收斂速度。傳統的路由計算快速收斂都與前綴數量相關,收斂時間與前綴數量成正比。
PIC和IS-IS快速重路由功能同時配置時,IS-IS快速重路由功能生效。
鄰居發送的LSP才會進行PIC。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 使能前綴無關收斂功能。
pic [ additional-path-always ]
缺省情況下,前綴無關收斂功能處於使能狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 使能IS-IS協議中主用鏈路的BFD(Ctrl方式)檢測功能。
isis primary-path-detect bfd ctrl
缺省情況下,IS-IS協議中主用鏈路的BFD(Ctrl方式)檢測功能處於關閉狀態。
配置本功能後,可以加快IS-IS協議的收斂速度。使用control報文雙向檢測方式時,需要建立IS-IS鄰居的兩端設備均支持BFD配置。
(1) 進入係統視圖。
system-view
(2) 配置BFD Echo報文源地址。
bfd echo-source-ip ip-address
缺省情況下,未配置BFD Echo報文源地址。
echo報文的源IP地址用戶可以任意指定。建議配置echo報文的源IP地址不屬於該設備任何一個接口所在網段。
本命令的詳細情況請參見“可靠性命令參考”中的“BFD”。
(3) 進入接口視圖。
interface interface-type interface-number
(4) 使能IS-IS協議中主用鏈路的BFD(Echo方式)檢測功能。
isis primary-path-detect bfd echo
缺省情況下,IS-IS協議中主用鏈路的BFD(Echo方式)檢測功能處於關閉狀態。
配置本功能後,可以加快IS-IS協議的收斂速度。使用echo報文單跳檢測方式時,僅需要一端設備支持BFD配置。
在安全性要求較高的網絡中,可以通過配置IS-IS驗證來提高IS-IS網絡的安全性。IS-IS驗證特性分為鄰居關係的驗證和區域或路由域的驗證。
配置鄰居關係驗證後,驗證密鑰將會按照設定的方式封裝到Hello報文中,並對接收到的Hello報文進行驗證密鑰的檢查,通過檢查才會形成鄰居關係,否則將不會形成鄰居關係,用以確認鄰居的正確性和有效性,防止與無法信任的路由器形成鄰居。
兩台路由器要形成鄰居關係必須配置相同的驗證方式和驗證密鑰。
切換密鑰時可以通過配置發送報文攜帶驗證信息,接收報文時不進行驗證,實現認證密鑰無縫切換。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置鄰居關係驗證方式和驗證密鑰。
isis [ process-id process-id ] authentication-mode { { gca key-id { hmac-sha-1 | hmac-sha-224 | hmac-sha-256 | hmac-sha-384 | hmac-sha-512 } [ nonstandard ] | md5 | simple } { cipher | plain } string | keychain keychain-name } [ level-1 | level-2 ] [ ip | osi ]
缺省情況下,接口沒有配置鄰居關係驗證方式和驗證密鑰。
(4) (可選)配置對收到的Hello報文忽略認證信息檢查。
isis authentication send-only [ level-1 | level-2 ]
缺省情況下,如果配置了接口驗證方式和驗證密鑰,對收到的報文執行認證信息檢查。
通過配置區域驗證,可以防止將從不可信任的路由器學習到的路由信息加入到本地Level-1的LSDB中。
配置區域驗證後,驗證密鑰將會按照設定的方式封裝到Level-1報文(LSP、CSNP、PSNP)中,並對收到的Level-1報文進行驗證密鑰的檢查。
同一區域內的路由器必須配置相同的驗證方式和驗證密鑰。
切換密鑰時可以通過配置發送報文攜帶驗證信息,接收報文時不進行驗證,實現認證密鑰無縫切換。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置區域驗證方式和驗證密鑰。
area-authentication-mode { { gca key-id { hmac-sha-1 | hmac-sha-224 | hmac-sha-256 | hmac-sha-384 | hmac-sha-512 } [ nonstandard ] | md5 | simple } { cipher | plain } string | keychain keychain-name } [ ip | osi ]
缺省情況下,係統沒有配置區域驗證方式和驗證密鑰。
(4) (可選)配置對收到的Level-1報文(包括LSP、CSNP、PSNP)忽略認證信息檢查。
area-authentication send-only
缺省情況下,如果配置了區域驗證方式和驗證密鑰,對收到的報文執行認證信息檢查。
通過配置路由域驗證,可以防止將不可信的路由信息注入當前路由域。
配置路由域驗證後,驗證密鑰將會按照設定的方式封裝到Level-2報文(LSP、CSNP、PSNP)中,並對收到的Level-2報文進行驗證密鑰的檢查。
切換密鑰時可以通過配置發送報文攜帶驗證信息,接收報文時不進行驗證,實現認證密鑰無縫切換。
設備配置了路由域驗證後,可以和未配置路由域驗證的設備建立鄰接關係,但是會將未攜帶驗證信息的LSP丟棄,導致路由學習與預期不符。建議在所有骨幹層(Level-2)設備上配置相同的驗證方式和驗證密鑰,避免產生上述問題。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置路由域驗證方式和驗證密鑰。
domain-authentication-mode { { gca key-id { hmac-sha-1 | hmac-sha-224 | hmac-sha-256 | hmac-sha-384 | hmac-sha-512 } [ nonstandard ] | md5 | simple } { cipher | plain } string | keychain keychain-name } [ ip | osi ]
缺省情況下,係統未配置路由域驗證方式和驗證密鑰。
(4) (可選)配置對收到的Level-2報文(包括LSP、CSNP、PSNP)忽略認證信息檢查。
domain-authentication send-only
缺省情況下,如果配置了路由域驗證方式和驗證密鑰,對收到的報文執行認證信息檢查。
GR(Graceful Restart,平滑重啟)是一種通過備份IS-IS配置信息,在協議重啟或主備倒換時IS-IS進行平滑重啟,保持鄰接關係,並對LSDB進行同步,從而保證轉發業務不中斷的機製。
GR有兩個角色:
· GR Restarter:發生協議重啟或主備倒換事件且具有GR能力的設備。
· GR Helper:和GR Restarter具有鄰居關係,協助完成GR流程的設備。
隻需要在作為GR Restarter的設備上進行以下配置,設備缺省都是GR Helper。
T1、T2和T3定時器用來控製GR流程,分別如下:
· T1定時器:用來控製發送帶有RR標誌位的Restart TLV的次數。重啟路由器發送帶有RR標誌位的Restart TLV,如果在超時時間內收到對端回複的帶有RA標誌的Restart TLV,才能正常進入GR流程;否則GR流程失敗。
· T2定時器:用來控製LSDB同步時間。每個LSDB都有一個T2定時器,對於Level-1-2路由器來說,就需要有兩個T2定時器,一個為Level-1的T2定時器,另外一個為Level-2的T2定時器。如果Level-1和Level-2的T2定時器都超時,LSDB同步還沒有完成,則GR失敗。
· T3定時器:用來控製路由器的重啟時間間隔。重啟時間間隔在IS-IS的Hello PDU中設置為保持時間,這樣在該路由器重啟的時間內鄰居不會斷掉與其的鄰接關係。如果T3定時器超時後GR還沒有完成,則GR失敗。
配置GR定時器時請遵循以下規則,否則將導致定時器配置失敗:
· T1定時器超時值×超時次數小於T2定時器的超時值。
· T2定時器超時值小於T3定時器的超時值。
IS-IS GR特性與IS-IS NSR特性互斥,不能同時配置。
(1) 進入係統視圖。
system-view
(2) 使能IS-IS路由進程,進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 使能IS-IS協議的GR能力。
graceful-restart
缺省情況下,IS-IS協議的GR能力處於關閉狀態。
(4) (可選)配置重啟時抑製SA位。
graceful-restart suppress-sa
缺省情況下,重啟時不抑製SA位。
配置重啟時抑製SA(Suppress-Advertisement)位,即在重啟路由器的Hello PDU中設置抑製發布SA位,重啟路由器的鄰居將繼續發布該鄰接關係。
(5) (可選)配置T1定時器。
graceful-restart t1 seconds count count
缺省情況下,T1定時器的超時值為3秒,超時次數為10次。
(6) (可選)配置T2定時器。
graceful-restart t2 seconds
缺省情況下,T2定時器的超時值為60秒。
(7) (可選)配置T3定時器。
graceful-restart t3 seconds
缺省情況下,T3定時器的超時值為300秒。
GR特性存在一些缺陷,如主備倒換期間需要周邊設備配合才能完成路由信息的恢複,在網絡應用中有一定的限製;而且在主備倒換後IS-IS進程重新學習所有的路由,如果在主備倒換期間拓撲發生變化,刪除的路由不能及時更新,容易造成黑洞路由。
NSR就是為了解決GR特性的一些缺陷和使用場景限製而實現的一種新特性。NSR將IS-IS鏈路狀態信息從主進程備份到備進程,在發生主備倒換時不需要周邊設備配合就可以完成鏈路狀態的恢複和路由的重新生成。
IS-IS NSR特性與IS-IS GR特性互斥,不能同時配置。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 使能IS-IS NSR功能。
non-stop-routing
缺省情況下,IS-IS NSR功能處於關閉狀態。
各個進程的NSR功能是相互獨立的,隻對本進程生效。如果存在多個IS-IS進程,建議在各個進程下使能IS-IS NSR功能。
BFD(Bidirectional Forwarding Detection,雙向轉發檢測)能夠為IS-IS鄰居之間的鏈路提供快速檢測功能。當鄰居之間的鏈路出現故障時,BFD能夠快速檢測到該故障,以加快IS-IS協議的收斂速度。關於BFD的介紹和基本功能配置,請參見“可靠性配置指導”中的“BFD”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 指定接口上使能BFD。
(IPv4網絡)
isis bfd enable
(IPv6網絡)
isis ipv6 bfd enable
缺省情況下,IS-IS的BFD功能處於關閉狀態。
兩台設備建立IS-IS鄰接關係,並使用BFD檢測設備間鏈路。當其中一台設備無法進行三層轉發但可以進行二層轉發時,BFD會話Down,IS-IS鄰接關係隨之Down,但此時該設備仍能接收和發送IS-IS報文,兩台設備又重新建立鄰接關係,這可能會導致流量通過故障設備轉發,進而引發流量丟失。
為了避免上述情況的發生,請在本端和對端開啟IS-IS BFD檢測功能的接口上開啟本功能。開啟本功能後,接口發送的Hello報文中將會攜帶BFD-enabled TLV,當兩端BFD-enabled TLV中的信息一致時,本功能生效,此時當BFD會話Down時,即便設備可以接收和發送IS-IS報文也無法建立鄰接關係,從而避免三層流量通過故障設備轉發。
同一鏈路上同時建立了IPv4 IS-IS鄰接關係和IPv6 IS-IS鄰接關係時,工作機製如下:
· IPv4和IPv6未分拓撲計算的情況下,隻有IPv4和IPv6 BFD會話狀態均為Up時,才能建立鄰接關係或保持已建立的鄰接關係。隻要有一個IPv4或IPv6 BFD會話為Down狀態,鄰接關係就會處於Down狀態。
· IPv4和IPv6分拓撲計算的情況下,隻要本拓撲中的BFD會話為Up狀態,鄰接關係就可以Up。即IPv4 BFD會話狀態為Up時,IPv4 IS-IS鄰接狀態為Up;IPv6 BFD會話狀態為Up時,IPv6 IS-IS鄰接狀態為Up。相應的,當本拓撲中的BFD會話為Down狀態時,鄰接關係將處於Down狀態。
同一鏈路上隻建立了IPv4 IS-IS鄰接關係或IPv6 IS-IS鄰接關係時,工作機製如下:
· 隻建立了IPv4 IS-IS鄰接關係的情況下,當IPv4 BFD會話狀態為Up時,才能建立鄰接關係或保持已建立的鄰接關係。否則,鄰接關於處於Down狀態。
· 隻建立了IPv6 IS-IS鄰接關係的情況下,當IPv6 BFD會話狀態為Up時,才能建立鄰接關係或保持已建立的鄰接關係。否則,鄰接關於處於Down狀態。
關於BFD的介紹和基本功能配置,請參見“可靠性配置指導”中的“BFD”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 指定接口上使能BFD。
isis bfd enable
缺省情況下,IPv4 IS-IS的BFD功能處於關閉狀態。
(4) 在指定接口上開啟BFD抑製IS-IS建立和保持IPv4 IS-IS鄰接關係的功能。
isis bfd session-restrict-adj
缺省情況下,BFD抑製IS-IS建立和保持IPv4 IS-IS鄰接關係的功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 在指定接口上使能IPv6 IS-IS BFD。
isis ipv6 bfd enable
缺省情況下,IPv6 IS-IS的BFD功能處於關閉狀態。
(4) 在指定接口上開啟BFD抑製IS-IS建立和保持IPv6 IS-IS鄰接關係的功能。
isis ipv6 bfd session-restrict-adj
缺省情況下,BFD抑製IS-IS建立和保持IPv6 IS-IS鄰接關係的功能處於關閉狀態。
IS-IS FRR(Fast Reroute,快速重路由)使用鏈路狀態數據庫預先計算出備份路徑,並將備份路徑保存到FIB表中,當主用路徑發生故障時,可以快速切換到備份路徑,從而降低路由收斂所需時間。
當前支持的FRR技術包括LFA(Loop Free Alternate)FRR和Remote LFA(Remote Loop Free Alternate) FRR:
· LFA:以可提供備份鏈路的鄰居為根節點,利用SPF算法計算出到目的節點的最短路徑樹。然後,按照LFA算法計算出一條開銷最小且無環的備份鏈路。
· Remote LFA:根據保護路徑計算PQ節點,並在源節點與PQ節點之間建立LSP形成備份路徑保護。當主用鏈路發生故障時,流量自動切換到隧道備份路徑,繼續轉發,從而提高網絡可靠性。
當IS-IS網絡中的鏈路或某台路由器發生故障時,需要通過故障鏈路或故障路由器傳輸才能到達目的地的報文將會丟失,數據流量將會中斷,直到IS-IS根據新的拓撲網絡路由收斂完畢後,被中斷的流量才能恢複正常的傳輸。
為了盡可能縮短網絡故障導致的流量中斷時間,網絡管理員可以配置IS-IS快速重路由功能。
圖1-20 IS-IS快速重路由功能示意圖
如圖1-20所示,通過在Router B上使能快速重路由功能,IS-IS將為路由計算或指定備份下一跳,當Router B檢測到網絡故障時,IS-IS會使用事先獲取的備份下一跳替換失效下一跳,通過備份下一跳來指導報文的轉發,從而大大縮短了流量中斷時間。在使用備份下一跳指導報文轉發的同時,IS-IS會根據變化後的網絡拓撲重新計算最短路徑,網絡收斂完畢後,使用新計算出來的最優路由來指導報文轉發。
網絡管理員可以配置給所有IS-IS路由通過LFA(Loop Free Alternate)算法選取備份下一跳,也可以在路由策略中指定備份下一跳,為符合過濾條件的路由指定備份下一跳。
在ECMP(等價負載分擔,Equal-Cost Multiple Path)場景中,支持通過LFA算法為多條負載分擔主路徑計算備份下一跳,計算出來的備份下一跳是共享下一跳,即所有等價路由的備份下一跳是相同的。
如圖1-21所示,流量從源節點Device A轉發到目的節點Device D,Link 1和Link 2對流量進行負載分擔。是否開啟ECMP-shared FRR功能的影響如下:
· 如果未開啟ECMP-shared FRR功能,則LFA算法不會為Link 1和Link 2計算備份下一跳。當Device B故障時,Link 1和Link 2失效,在路由收斂前會導致流量中斷。
· 開啟ECMP-shared FRR功能後,LFA算法會為Link 1和Link 2計算備份下一跳。當Device B故障時,流量切換到備份下一跳Device C上,從而避免流量中斷。
圖1-21 IS-IS的ECMP-shared FRR功能示例圖
IS-IS快速重路由通過LFA(Loop Free Alternate)算法選取備份下一跳功能與IS-IS TE特性互斥。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) (可選)禁止接口參與LFA計算。
isis fast-reroute lfa-backup exclude [ level-1 | level-2 ]
缺省情況下,接口參與LFA計算,能夠被選為備份接口。
(4) 退回係統視圖。
quit
(5) 請依次執行以下命令進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
(6) 配置IS-IS支持快速重路由功能(通過LFA算法選取備份下一跳信息)。
fast-reroute lfa [ ecmp-shared | level-1 | level-2 ]
缺省情況下,IS-IS支持快速重路由功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) (可選)禁止接口參與LFA計算。
isis fast-reroute lfa-backup exclude [ level-1 | level-2 ]
缺省情況下,接口參與LFA計算,能夠被選為備份接口。
(4) 退回係統視圖。
quit
(5) 請依次執行以下命令進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
(6) 配置IS-IS支持快速重路由功能(通過路由策略指定備份下一跳)。
¡ 創建路由策略,並通過apply fast-reroute backup-interface命令在路由策略中指定備份下一跳。
apply fast-reroute backup-interface命令以及路由策略的相關配置,請參見“三層技術-IP路由配置指導”中的“路由策略”。
¡ 配置IS-IS支持快速重路由功能。
fast-reroute route-policy route-policy-name
缺省情況下,IPv4 IS-IS支持快速重路由功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 使能IS-IS協議中主用鏈路的BFD(Ctrl方式)檢測功能。
isis primary-path-detect bfd ctrl
缺省情況下,IPv4 IS-IS協議中主用鏈路的BFD(Ctrl方式)檢測功能處於關閉狀態。
配置本功能後,可以加快IS-IS協議的收斂速度。使用control報文雙向檢測方式時,需要建立IS-IS鄰居的兩端設備均支持BFD配置。
(1) 進入係統視圖。
system-view
(2) 配置BFD Echo報文源地址。
bfd echo-source-ip ip-address
缺省情況下,未配置BFD Echo報文源地址。
echo報文的源IP地址用戶可以任意指定。建議配置echo報文的源IP地址不屬於該設備任何一個接口所在網段。
本命令的詳細情況請參見“可靠性命令參考”中的“BFD”。
(3) 進入接口視圖。
interface interface-type interface-number
(4) 使能IS-IS協議中主用鏈路的BFD(Echo方式)檢測功能。
isis primary-path-detect bfd echo
缺省情況下,IPv4 IS-IS協議中主用鏈路的BFD(Echo方式)檢測功能處於關閉狀態。
配置本功能後,可以加快IS-IS協議的收斂速度。使用echo報文單跳檢測方式時,僅需要一端設備支持BFD配置。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) (可選)禁止接口參與LFA計算。
isis ipv6 fast-reroute lfa-backup exclude [ level-1 | level-2 ]
缺省情況下,接口參與LFA計算,能夠被選為備份接口。
(4) 退回係統視圖。
quit
(5) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(6) 進入IS-IS IPv6地址族視圖。
address-family ipv6 [ unicast ]
(7) 配置IPv6 IS-IS支持快速重路由功能(通過LFA算法選取備份下一跳信息)。
fast-reroute lfa [ ecmp-shared | level-1 | level-2 ]
缺省情況下,IPv6 IS-IS支持快速重路由功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) (可選)禁止接口參與LFA計算。
isis ipv6 fast-reroute lfa-backup exclude [ level-1 | level-2 ]
缺省情況下,接口參與LFA計算,能夠被選為備份接口。
(4) 退回係統視圖。
quit
(5) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(6) 進入IS-IS IPv6地址族視圖。
address-family ipv6 [ unicast ]
(7) 配置IPv6 IS-IS支持快速重路由功能(通過路由策略指定備份下一跳)。
¡ 創建路由策略,並通過apply ipv6 fast-reroute backup-interface命令在路由策略中指定備份下一跳。
apply ipv6 fast-reroute backup-interface命令以及路由策略的相關配置,請參見“三層技術-IP路由配置指導”中的“路由策略”。
¡ 配置IPv6 IS-IS支持快速重路由功能。
fast-reroute route-policy route-policy-name
缺省情況下,IPv6 IS-IS快速重路由功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 使能IPv6 IS-IS協議中主用鏈路的BFD檢測功能。
isis ipv6 primary-path-detect bfd ctrl
配置本功能後,可以加快IPv6 IS-IS協議的收斂速度。使用control報文雙向檢測方式時,需要建立IPv6 IS-IS鄰居的兩端設備均支持BFD配置。
(1) 進入係統視圖。
system-view
(2) 配置BFD Echo報文源地址。
bfd echo-source-ipv6 ip-address
缺省情況下,未配置BFD Echo報文源地址。
echo報文的源IPv6地址用戶可以任意指定。建議配置echo報文的源IP地址不屬於該設備任何一個接口所在網段。
本命令的詳細情況請參見“可靠性命令參考”中的“BFD”。
(3) 進入接口視圖。
interface interface-type interface-number
(4) 使能IPv6 IS-IS協議中主用鏈路的BFD檢測功能。
isis ipv6 primary-path-detect bfd echo
缺省情況下,IPv6 IS-IS協議中主用鏈路的BFD檢測功能(Echo方式)處於關閉狀態。
配置本功能後,可以加IPv6 快IS-IS協議的收斂速度。使用echo報文單跳檢測方式時,僅需要一端設備支持BFD配置。
在環形組網中,IS-IS LFA快速重路由無法計算出備份路徑,不能滿足可靠性要求,可以通過部署Remote LFA快速重路由解決該問題。
Remote LFA主要涉及以下概念:
· P空間:以保護鏈路(避免出現故障的鏈路)源端為根節點建立SPF樹,所有從根節點不經過保護鏈路可達的節點集合稱為P空間。
· 擴展P空間:以保護鏈路源端的所有鄰居為根節點分別建立SPF樹,所有從根節點不經過保護鏈路可達的節點集合稱為擴展P空間。
· Q空間:以保護鏈路末端為根節點建立反向SPF樹,所有從根節點不經過保護鏈路可達的節點集合稱為Q空間。
· PQ節點:PQ節點是指既在擴展P空間又在Q空間的節點。在Remote LFA中,PQ節點會作為保護隧道的目的端。
如圖1-22所示,鏈路中間的數字表示cost值。假設流量路徑為PE 1->P 1->P 2->PE 2,為避免P 1、P 2之間的鏈路故障導致流量丟失,Remote LFA會計算出PQ節點P 4,並在P 1和PQ節點之間建立LDP隧道。當P 1檢測到P 1、P 2之間的鏈路故障時,將報文封裝為MPLS報文轉發給P 4,P 4收到該報文後,去掉MPLS標簽,重新查找IP路由表,將報文轉發給下一跳,並最終到達目的地PE 2,實現了快速保護,避免流量丟失。
在圖1-22中,PQ節點的計算過程為:
· 分別計算以所有P 1的鄰居(不包括通過保護鏈路的鄰居)為根的SPF樹,每棵SPF樹中從根節點不經過P 1->P 2鏈路可達的節點為P空間,所有鄰居的P空間集合得到擴展P空間{PE 1,P 1,P 3,P 4}。
· 計算以P 2為根節點的反向SPF樹,得到Q空間{PE 2,P 4}。
· 通過擴展P空間和Q空間得到既在擴展P空間又在Q空間的節點,即PQ節點{P 4}。
圖1-22 Remote LFA典型組網圖
隻有開啟了相應Level的IS-IS LFA快速重路由功能,Remote LFA快速重路由功能才可以在指定Level生效,否則配置不生效。
在參與MPLS轉發的各個節點和接口上開啟MPLS和MPLS LDP能力,配置方法請參見“MPLS配置指導”中的“MPLS基礎”和“LDP”。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv4單播地址族視圖。
address-family ipv4 [ unicast ]
(4) 開啟IS-IS的Remote LFA快速重路由功能。
fast-reroute remote-lfa tunnel ldp [ level-1 | level-2 ]
缺省情況下,IS-IS的Remote LFA快速重路由功能處於關閉狀態。
(5) (可選)配置Remote LFA源節點到指定PQ節點的最大開銷值。
fast-reroute remote-lfa maximum-cost cost [ level-1 | level-2 ]
缺省情況下,Remote LFA源節點到指定PQ節點的最大開銷值為16777215。
(6) (可選)配置過濾Remote LFA PQ節點的地址前綴列表。
fast-reroute remote-lfa prefix-list prefix-list-name [ level-1 | level-2 ]
缺省情況下,所有PQ節點都可以成為Remote LFA的備份下一跳。
Remote LFA通過計算得到PQ節點集,但並不是集合中的所有節點都適合成為PQ節點。通過過濾掉不符合條件的節點,選取符合條件的PQ節點,從而達到優化網絡的目的。
(7) (可選)關閉接口的IS-IS Remote LFA快速重路由功能。
a. 退回係統視圖。
quit
b. 進入接口視圖。
interface interface-type interface-number
c. 關閉接口的IS-IS Remote LFA快速重路由功能。
isis fast-reroute remote-lfa disable [ level-1 | level-2 ]
缺省情況下,接口的IS-IS Remote LFA快速重路由功能處於開啟狀態。
IS-IS FRR使用一定的計算規則計算備份路徑。Tiebreaker使用優先級值來對計算規則進行排序,優先級的值越大,對應的計算規則的優先級越高。IS-IS FRR備份路徑優選方案通過調整計算規則的優先級,能夠影響IS-IS FRR計算出來的備份路徑。不同的備份路徑可為流量提供節點保護或鏈路保護,或者同時提供節點保護和鏈路保護。
IS-IS FRR支持如下類型的計算規則,不同的計算規則生成不同的用於計算備份路徑的拓撲。
· 節點保護(node-protecting):IS-IS FRR排除主下一跳節點之後計算備份路徑。
· 最低開銷(lowest-cost):IS-IS FRR排除直連主鏈路之後計算備份路徑。
· SRLG不相交(srlg-disjoint):SRLG(Shared Risk Link Group,共享風險鏈路組)是具有相同故障風險的一組鏈路的集合。即如果其中一條鏈路失效,那麼組內的其他鏈路也可能失效。這種情況下使用組內的其他鏈路作為失效鏈路的備份鏈路,將起不到保護的作用。為了避免出現上述情況,IS-IS FRR排除與直連主鏈路屬於同一SRLG的本地鏈路之後計算備份路徑。
對於IS-IS FRR來說,srlg-disjoint計算規則不能單獨存在,需要依賴node-protecting或lowest-cost。
當同一IS-IS進程下存在多個FRR備份路徑優選方案時,會優先選擇優先級較高的優選方案計算備份路徑。如果該方案不能計算出備份路徑,則再從其他優選方案中選擇優先級較高的優選方案計算備份路徑。具體工作機製如下:
· 當node-protecting > lowest-cost時,如果使用node-protecting規則不能計算出備份路徑,則再使用lowest-cost規則計算備份路徑。如果仍不能計算備份路徑,則主鏈路故障後無法保證可靠性。
· 當lowest-cost > node-protecting時,如果使用lowest-cost規則不能計算出備份路徑,則不再使用node-protecting規則計算備份路徑,主鏈路故障後無法保證可靠性。
IS-IS FRR計算備份路徑的機製如表1-3所示。
表1-3 IS-IS FRR根據Tiebreaker優選順序計算備份路徑的機製
Tiebreaker的優選順序 |
IS-IS FRR計算備份路徑的機製 |
node-protecting > lowest-cost > srlg-disjoint |
node-protecting -> lowest-cost 最多進行2次計算,如果前麵已經計算出結果,就不會進行後續計算 |
node-protecting > srlg-disjoint > lowest-cost |
node-protecting -> node-protecting+srlg-disjoint -> lowest-cost+srlg-disjoint ->lowest-cost 最多進行4次計算,如果前麵已經計算出結果,就不會進行後續計算 |
srlg-disjoint > node-protecting > lowest-cost |
node-protecting+srlg-disjoint -> lowest-cost+srlg-disjoint -> node-protecting ->lowest-cost 最多進行4次計算,如果前麵已經計算出結果,就不會進行後續計算 |
lowest-cost > node-protecting > srlg-disjoint |
lowest-cost 隻進行1次計算 |
lowest-cost > srlg-disjoint > node-protecting |
lowest-cost 隻進行1次計算 |
srlg-disjoint > lowest-cost > node-protecting |
node-protecting+srlg-disjoint -> lowest-cost+srlg-disjoint -> lowest-cost 最多進行3次計算,如果前麵已經計算出結果,就不會進行後續計算 |
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv4地址族視圖。
address-family ipv4 [ unicast ]
(4) 配置快速重路由備份路徑優選方案的優先級。
fast-reroute tiebreaker { lowest-cost | node-protecting | srlg-disjoint } preference preference [ level-1 | level-2 ]
缺省情況下,最小開銷路徑優選方案的優先級為20,節點保護優選方案的優先級為40,共享風險鏈路組優選方案的優先級為10。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IS-IS IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 配置快速重路由備份路徑優選方案的優先級。
fast-reroute tiebreaker { lowest-cost | node-protecting | srlg-disjoint } preference preference [ level-1 | level-2 ]
缺省情況下,最小開銷路徑優選方案的優先級為20,節點保護優選方案的優先級為40。
誤碼是指通信設備接收到的信號與源信號之間存在比特差錯。由於不可避免的線路老化、光路抖動等原因,誤碼是不能從根本上避免的,當誤碼積累到一定程度可能導致服務停止或服務等級降低等嚴重問題。使用本功能可以盡可能減少誤碼對IS-IS網絡的影響,具體機製如下:
· 鏈路的質量等級由GOOD變為LOW時,IS-IS將接口開銷值調大。
· 鏈路的質量等級由LOW變為GOOD時,IS-IS將接口開銷值恢複為調整前的值。
上述機製可以使IS-IS選擇誤碼率較小的鏈路轉發流量,從而盡可能減少誤碼對IS-IS網絡的影響。
關於誤碼檢測功能的詳細介紹,請參見“可靠性配置指導”中的“誤碼檢測”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置IS-IS根據鏈路質量等級調整接口開銷值。
isis link-quality adjust-cost { cost-offset | max }
缺省情況下,IS-IS不會根據鏈路質量等級調整接口開銷值。
可在任意視圖下執行以下命令:
· 顯示IS-IS的進程信息。
display isis [ process-id ]
· 顯示IS-IS的接口信息。
display isis interface [ [ interface-type interface-number ] [ verbose ] | statistics ] [ process-id ]
· 顯示IS-IS的鏈路狀態數據庫信息。
display isis lsdb [ [ level-1 | level-2 ] | local | lsp-id lspid | [ lsp-name lspname ] | verbose ] * [ process-id ]
· 顯示IS-IS的鄰居信息。
display isis peer [ statistics | verbose ] [ process-id ]
· 顯示IS-IS的IPv4路由信息。
display isis route [ ipv4 [ ip-address mask-length ] ] [ [ level-1 | level-2 ] | verbose ] * [ process-id ]
· 顯示IS-IS的IPv4最短路徑樹信息。
display isis spf-tree [ ipv4 ] [ [ level-1 | level-2 ] | [ source-id source-id | verbose ] ] * [ process-id ]
可在任意視圖下執行以下命令:
· 顯示Flex-Algo算法計算出來的路由信息。
display isis flex-algo flex-algo-id route [ level-1 | level-2 ] [ process-id ] [ verbose ]
· 顯示Flex-Algo算法計算出來的最短路徑樹信息。
display isis flex-algo flex-algo-id spf-tree ipv4 [ level-1 | level-2 ] [ source-id source-id ] [ verbose ]
· 顯示本節點接收和發布的Flex-Algo算法的定義信息。
display isis global-flex-algo [ algorithm-id flex-algo-id ] [ level-1 | level-2 ] [ process-id ] [ system-id system-id ]
· 顯示本節點對Flex-Algo算法的定義信息。
display isis local-flex-algo [ algorithm-id flex-algo-id ] [ process-id ]
· 顯示Flex-Algo算法計算出來的最短路徑樹信息。
display isis spf-tree flex-algo flex-algo-id ipv4 [ level-1 | level-2 ] [ process-id ] [ source-id source-id ]
可在任意視圖下執行以下命令,顯示IS-IS引入的IPv4路由信息。
display isis redistribute [ ipv4 [ ip-address mask-lengh ] ] [ level-1 | level-2 ] [ process-id ]
可在任意視圖下執行以下命令,顯示IS-IS Mesh-Group的配置信息。
display isis mesh-group [ process-id ]
可在任意視圖下執行以下命令,顯示係統ID到主機名稱的映射關係表。
display isis name-table [ process-id ]
可在任意視圖下執行以下命令:
· 顯示IS-IS協議的GR狀態。
display isis graceful-restart status [ level-1 | level-2 ] [ process-id ]
· 顯示IS-IS的NSR狀態。
display isis non-stop-routing status
可在任意視圖下執行以下命令:
· 顯示IS-IS的全局統計信息。
display isis global-statistics [ public | vpn-instance vpn-instance-name ]
· 顯示IS-IS鏈路狀態數據庫的統計信息。
display isis lsdb statistics [ level-1 | level-2 ] [ process-id ]
· 顯示IS-IS報文的統計信息。
display isis packet { csnp | hello | lsp | psnp } [ verbose ] [ interface-type interface-number ] [ process-id ]
· 顯示IS-IS的統計信息。
display isis statistics [ ipv4 ] [ level-1 | level-1-2 | level-2 ] [ process-id ]
請在用戶視圖下執行以下命令,清除IS-IS報文的統計信息。
reset isis packet [ csnp | hello | lsp | psnp ] by-interface [ interface-type interface-number ] [ process-id ]
可在任意視圖下執行以下命令:
· 顯示IS-IS GR日誌信息。
display isis event-log graceful-restart slot slot-number
· 顯示IS-IS的IPv4路由計算日誌信息。
display isis event-log spf [ ipv4 ] [ [ level-1 | level-2 ] | verbose ] * [ process-id ]
· 顯示IS-IS LSP日誌信息。
display isis event-log lsp { purged | refreshed } [ level-1 | level-2 ] [ process-id ]
請在用戶視圖下執行以下命令:
· 清除IS-IS GR的日誌信息。
reset isis event-log graceful-restart slot slot-number
· 清除IS-IS路由計算日誌信息。
reset isis event-log spf [ process-id ]
· 清除IS-IS LSP日誌信息。
reset isis event-log lsp { purged | refreshed } [ process-id ]
可在任意視圖下執行以下命令:
· 顯示OSI連接的信息。
display osi [ slot slot-number ]
· 顯示OSI連接的報文統計信息。
display osi statistics [ slot slot-number ]
請在用戶視圖下執行以下命令:
· 清除IS-IS進程所有的數據信息。本命令用在某些需要立即刷新LSP的情況下。執行本命令後會導致IS-IS鄰居關係斷開。
reset isis all [ process-id ] [ graceful-restart ]
· 清除IS-IS指定鄰居的數據信息。本命令用在需要重建某個特定鄰居的情況下使用。
reset isis peer system-id [ process-id ]
· 清除OSI連接的報文統計信息。
reset osi statistics
可在任意視圖下執行以下命令:
· 顯示IS-IS的進程信息。
display isis [ process-id ]
· 顯示IS-IS的接口信息。
display isis interface [ [ interface-type interface-number ] [ verbose ] | statistics ] [ process-id ]
· 顯示IS-IS的鏈路狀態數據庫信息。
display isis lsdb [ [ level-1 | level-2 ] | local | lsp-id lspid | [ lsp-name lspname ] | verbose ] * [ process-id ]
· 顯示IS-IS的鄰居信息。
display isis peer [ statistics | verbose ] [ process-id ]
· 顯示IPv6 IS-IS路由信息。
display isis route ipv6 [ ipv6-address ] [ [ level-1 | level-2 ] | verbose ] * [ process-id ]
· 顯示IPv6 IS-IS最短路徑樹信息。
display isis spf-tree ipv6 [ [ level-1 | level-2 ] | verbose ] * [ process-id ]
可在任意視圖下執行以下命令:
· 顯示Flex-Algo算法計算出來的路由信息。
display isis flex-algo flex-algo-id route [ level-1 | level-2 ] [ process-id ] [ verbose ]
· 顯示Flex-Algo算法計算出來的最短路徑樹信息。
display isis flex-algo flex-algo-id spf-tree ipv6 [ level-1 | level-2 ] [ source-id source-id ] [ verbose ]
· 顯示本節點接收和發布的Flex-Algo算法的定義信息。
display isis global-flex-algo [ algorithm-id flex-algo-id ] [ level-1 | level-2 ] [ process-id ] [ system-id system-id ]
· 顯示本節點對Flex-Algo算法的定義信息。
display isis local-flex-algo [ algorithm-id flex-algo-id ] [ process-id ]
· 顯示Flex-Algo算法計算出來的最短路徑樹信息。
display isis spf-tree flex-algo flex-algo-id ipv6 [ level-1 | level-2 ] [ process-id ] [ source-id source-id ]
可在任意視圖下執行以下命令,顯示IPv6 IS-IS引入路由信息。
display isis redistribute ipv6 [ ipv6-address mask-length ] [ level-1 | level-2 ] [ process-id ]
可在任意視圖下執行以下命令,顯示IS-IS Mesh-Group的配置信息。
display isis mesh-group [ process-id ]
可在任意視圖下執行以下命令,顯示係統ID到主機名稱的映射關係表。
display isis name-table [ process-id ]
可在任意視圖下執行以下命令:
· 顯示IS-IS鏈路狀態數據庫的統計信息。
display isis lsdb statistics [ level-1 | level-2 ] [ process-id ]
· 顯示IS-IS報文的統計信息。
display isis packet { csnp | hello | lsp | psnp } [ verbose ] [ interface-type interface-number ] [ process-id ]
· 顯示IPv6 IS-IS統計信息。
display isis statistics ipv6 [ level-1 | level-1-2 | level-2 ] [ process-id ]
· 顯示IS-IS的全局統計信息。
display isis global-statistics [ public | vpn-instance vpn-instance-name ]
請在用戶視圖下執行以下命令,清除IS-IS報文的統計信息。
reset isis packet [ csnp | hello | lsp | psnp ] by-interface [ interface-type interface-number ] [ process-id ]
可在任意視圖下執行以下命令:
· 顯示IPv6 IS-IS路由計算日誌信息。
display isis event-log spf ipv6 [ [ level-1 | level-2 ] | verbose ] * [ process-id ]
· 顯示IS-IS LSP日誌信息。
display isis event-log lsp { purged | refreshed } [ level-1 | level-2 ] [ process-id ]
請在用戶視圖下執行以下命令:
· 清除IS-IS路由計算日誌信息。
reset isis event-log spf [ process-id ]
· 清除IS-IS LSP日誌信息。
reset isis event-log lsp { purged | refreshed } [ process-id ]
可在任意視圖下執行以下命令:
· 顯示OSI連接的信息。
display osi [ slot slot-number ]
· 顯示OSI連接的報文統計信息。
display osi statistics [ slot slot-number ]
請在用戶視圖下執行以下命令:
· 清除IS-IS進程所有的數據信息。本命令用在某些需要立即刷新LSP的情況下。執行本命令後會導致IS-IS鄰居關係斷開。
reset isis all [ process-id ] [ graceful-restart ]
· 清除IS-IS指定鄰居的數據信息。本命令用在需要重建某個特定鄰居的情況下使用。
reset isis peer system-id [ process-id ]
· 清除OSI連接的報文統計信息。
reset osi statistics
如圖1-23所示,Router A、Router B、Router C和Router D屬於同一自治係統,要求它們之間通過IS-IS協議達到IP網絡互連的目的。
Router A和Router B為Level-1路由器,Router D為Level-2路由器,Router C作為Level-1-2路由器將兩個區域相連。Router A、Router B和Router C的區域號為10,Router D的區域號為20。
圖1-23 IS-IS基本功能配置組網圖
按照組網圖配置各接口的IP地址。
# 配置Router A。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] is-level level-1
[RouterA-isis-1] network-entity 10.0000.0000.0001.00
[RouterA-isis-1] quit
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] isis enable 1
[RouterA-GigabitEthernet0/0/1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] is-level level-1
[RouterB-isis-1] network-entity 10.0000.0000.0002.00
[RouterB-isis-1] quit
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] isis enable 1
[RouterB-GigabitEthernet0/0/1] quit
# 配置Router C。
<RouterC> system-view
[RouterC] isis 1
[RouterC-isis-1] network-entity 10.0000.0000.0003.00
[RouterC-isis-1] quit
[RouterC] interface gigabitethernet 0/0/3
[RouterC-GigabitEthernet0/0/3] isis enable 1
[RouterC-GigabitEthernet0/0/3] quit
[RouterC] interface gigabitethernet 0/0/1
[RouterC-GigabitEthernet0/0/1] isis enable 1
[RouterC-GigabitEthernet0/0/1] quit
[RouterC] interface gigabitethernet 0/0/2
[RouterC-GigabitEthernet0/0/2] isis enable 1
[RouterC-GigabitEthernet0/0/2] quit
# 配置Router D。
<RouterD> system-view
[RouterD] isis 1
[RouterD-isis-1] is-level level-2
[RouterD-isis-1] network-entity 20.0000.0000.0004.00
[RouterD-isis-1] quit
[RouterD] interface gigabitethernet 0/0/1
[RouterD-GigabitEthernet0/0/1] isis enable 1
[RouterD-GigabitEthernet0/0/1] quit
[RouterD] interface gigabitethernet 0/0/2
[RouterD-GigabitEthernet0/0/2] isis enable 1
[RouterD-GigabitEthernet0/0/2] quit
# 顯示各路由器的IS-IS LSDB信息。
[RouterA] display isis lsdb
Database information for IS-IS(1)
---------------------------------
Level-1 Link State Database
---------------------------
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
--------------------------------------------------------------------------
0000.0000.0001.00-00* 0x00000004 0xdf5e 1096 68 0/0/0
0000.0000.0002.00-00 0x00000004 0xee4d 1102 68 0/0/0
0000.0000.0002.01-00 0x00000001 0xdaaf 1102 55 0/0/0
0000.0000.0003.00-00 0x00000009 0xcaa3 1161 111 1/0/0
0000.0000.0003.01-00 0x00000001 0xadda 1112 55 0/0/0
*-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-Overload
[RouterB] display isis lsdb
Database information for IS-IS(1)
---------------------------------
Level-1 Link State Database
---------------------------
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
--------------------------------------------------------------------------
0000.0000.0001.00-00 0x00000006 0xdb60 988 68 0/0/0
0000.0000.0002.00-00* 0x00000008 0xe651 1189 68 0/0/0
0000.0000.0002.01-00* 0x00000005 0xd2b3 1188 55 0/0/0
0000.0000.0003.00-00 0x00000014 0x194a 1190 111 1/0/0
0000.0000.0003.01-00 0x00000002 0xabdb 995 55 0/0/0
*-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-Overload
[RouterC] display isis lsdb
Database information for IS-IS(1)
---------------------------------
Level-1 Link State Database
---------------------------
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
--------------------------------------------------------------------------
0000.0000.0001.00-00 0x00000006 0xdb60 847 68 0/0/0
0000.0000.0002.00-00 0x00000008 0xe651 1053 68 0/0/0
0000.0000.0002.01-00 0x00000005 0xd2b3 1052 55 0/0/0
0000.0000.0003.00-00* 0x00000014 0x194a 1051 111 1/0/0
0000.0000.0003.01-00* 0x00000002 0xabdb 854 55 0/0/0
*-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-Overload
Level-2 Link State Database
---------------------------
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
--------------------------------------------------------------------------
0000.0000.0003.00-00* 0x00000012 0xc93c 842 100 0/0/0
0000.0000.0004.00-00 0x00000026 0x331 1173 84 0/0/0
0000.0000.0004.01-00 0x00000001 0xee95 668 55 0/0/0
*-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-Overload
[RouterD] display isis lsdb
Database information for IS-IS(1)
---------------------------------
Level-2 Link State Database
---------------------------
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
--------------------------------------------------------------------------
0000.0000.0003.00-00 0x00000013 0xc73d 1003 100 0/0/0
0000.0000.0004.00-00* 0x0000003c 0xd647 1194 84 0/0/0
0000.0000.0004.01-00* 0x00000002 0xec96 1007 55 0/0/0
*-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-Overload
# 顯示各路由器的IS-IS路由信息。Level-1路由器的路由表中應該有一條缺省路由,且下一跳為Level-1-2路由器,Level-2路由器的路由表中應該有所有Level-1和Level-2的路由。
[RouterA] display isis route
Route information for IS-IS(1)
------------------------------
Level-1 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
10.1.1.0/24 10 NULL GE1/0/1 Direct D/L/-
10.1.2.0/24 20 NULL GE1/0/1 10.1.1.1 R/-/-
192.168.0.0/24 20 NULL GE1/0/1 10.1.1.1 R/-/-
0.0.0.0/0 10 NULL GE1/0/1 10.1.1.1 R/-/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
[RouterC] display isis route
Route information for IS-IS(1)
-----------------------------
Level-1 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
10.1.1.0/24 10 NULL GE1/0/1 Direct D/L/-
10.1.2.0/24 10 NULL GE1/0/3 Direct D/L/-
192.168.0.0/24 10 NULL GE1/0/2 Direct D/L/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
Level-2 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
10.1.1.0/24 10 NULL D/L/-
10.1.2.0/24 10 NULL D/L/-
192.168.0.0/24 10 NULL D/L/-
172.16.0.0/16 20 NULL GE1/0/2 192.168.0.2 R/-/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
[RouterD] display isis route
Route information for IS-IS(1)
-----------------------------
Level-2 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
192.168.0.0/24 10 NULL GE1/0/2 Direct D/L/-
10.1.1.0/24 20 NULL GE1/0/2 192.168.0.1 R/-/-
10.1.2.0/24 20 NULL GE1/0/2 192.168.0.1 R/-/-
172.16.0.0/16 10 NULL GE1/0/1 Direct D/L/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
如圖1-24所示,Router A、Router B、Router C和Router D都運行IS-IS路由協議以實現互連,它們屬於同一區域10,網絡類型為廣播網(以太網)。
Router A和Router B是Level-1-2路由器,Router C為Level-1路由器,Router D為Level-2路由器。要求通過改變接口的DIS優先級,將Router A配置為Level-1-2的DIS路由器。
圖1-24 IS-IS的DIS選擇配置組網圖
按照組網圖配置各接口的IP地址。
# 配置Router A。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] network-entity 10.0000.0000.0001.00
[RouterA-isis-1] quit
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] isis enable 1
[RouterA-GigabitEthernet0/0/1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] network-entity 10.0000.0000.0002.00
[RouterB-isis-1] quit
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] isis enable 1
[RouterB-GigabitEthernet0/0/1] quit
# 配置Router C。
<RouterC> system-view
[RouterC] isis 1
[RouterC-isis-1] network-entity 10.0000.0000.0003.00
[RouterC-isis-1] is-level level-1
[RouterC-isis-1] quit
[RouterC] interface gigabitethernet 0/0/1
[RouterC-GigabitEthernet0/0/1] isis enable 1
[RouterC-GigabitEthernet0/0/1] quit
# 配置Router D。
<RouterD> system-view
[RouterD] isis 1
[RouterD-isis-1] network-entity 10.0000.0000.0004.00
[RouterD-isis-1] is-level level-2
[RouterD-isis-1] quit
[RouterD] interface gigabitethernet 0/0/1
[RouterD-GigabitEthernet0/0/1] isis enable 1
[RouterD-GigabitEthernet0/0/1] quit
# 查看Router A的IS-IS鄰居信息。
[RouterA] display isis peer
Peer information for IS-IS(1)
----------------------------
System ID: 0000.0000.0002
Interface: GE1/0/1 Circuit Id: 0000.0000.0003.01
State: Up HoldTime: 21s Type: L1(L1L2) PRI: 64
System ID: 0000.0000.0003
Interface: GE1/0/1 Circuit Id: 0000.0000.0003.01
State: Up HoldTime: 6s Type: L1 PRI: 64
System ID: 0000.0000.0002
Interface: GE1/0/1 Circuit Id: 0000.0000.0004.01
State: Up HoldTime: 23s Type: L2(L1L2) PRI: 64
System ID: 0000.0000.0004
Interface: GE1/0/1 Circuit Id: 0000.0000.0004.01
State: Up HoldTime: 23s Type: L2 PRI: 64
# 顯示Router A的IS-IS接口信息。
[RouterA] display isis interface
Interface information for IS-IS(1)
---------------------------------
Interface: GigabitEthernet0/0/1
Index IPv4 state IPv6 state Circuit ID MTU Type DIS
00001 Up Down 1 1497 L1/L2 No/No
# 顯示Router C的IS-IS接口信息。
[RouterC] display isis interface
Interface information for IS-IS(1)
---------------------------------
Interface: GigabitEthernet0/0/1
Index IPv4 state IPv6 state Circuit ID MTU Type DIS
00001 Up Down 1 1497 L1/L2 Yes/No
# 顯示Router D的IS-IS接口信息。
[RouterD] display isis interface
Interface information for IS-IS(1)
---------------------------------
Interface: GigabitEthernet0/0/1
Index IPv4 state IPv6 state Circuit ID MTU Type DIS
00001 Up Down 1 1497 L1/L2 No/Yes
從接口信息中可以看到,在使用缺省DIS優先級的情況下,Router C為Level-1的DIS,Router D為Level-2的DIS。Level-1和Level-2的偽節點分別是0000.0000.0003.01和0000.0000.0004.01。
# 配置Router A的DIS優先級。
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] isis dis-priority 100
# 查看Router A的IS-IS鄰居信息。
[RouterA] display isis peer
Peer information for IS-IS(1)
----------------------------
System ID: 0000.0000.0002
Interface: GE1/0/1 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 29s Type: L1(L1L2) PRI: 64
System ID: 0000.0000.0003
Interface: GE1/0/1 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 22s Type: L1 PRI: 64
System ID: 0000.0000.0002
Interface: GE1/0/1 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 22s Type: L2(L1L2) PRI: 64
System ID: 0000.0000.0004
Interface: GE1/0/1 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 22s Type: L2 PRI: 64
# 查看Router A的IS-IS接口信息。
[RouterA] display isis interface
Interface information for IS-IS(1)
---------------------------------
Interface: GigabitEthernet0/0/1
Index IPv4 state IPv6 state Circuit ID MTU Type DIS
00001 Up Down 1 1497 L1/L2 Yes/Yes
從上述信息中可以看到,在改變IS-IS接口的DIS優先級後,Router A立即成為Level-1-2的DIS,且偽節點是0000.0000.0001.01。
# 顯示Router C的IS-IS鄰居和接口信息。
[RouterC] display isis peer
Peer information for IS-IS(1)
----------------------------
System ID: 0000.0000.0001
Interface: GE1/0/1 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 7s Type: L1 PRI: 100
System ID: 0000.0000.0002
Interface: GE1/0/1 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 23s Type: L1 PRI: 64
[RouterC] display isis interface
Interface information for IS-IS(1)
---------------------------------
Interface: GigabitEthernet0/0/1
Index IPv4 state IPv6 state Circuit ID MTU Type DIS
00 1 Up Down 1 1497 L1/L2 No/No
# 顯示Router D的IS-IS鄰居和接口信息。
[RouterD] display isis peer
Peer information for IS-IS(1)
----------------------------
System ID: 0000.0000.0001
Interface: GE1/0/1 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 7s Type: L2 PRI: 100
System ID: 0000.0000.0002
Interface: GE1/0/1 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 26s Type: L2 PRI: 64
[RouterD] display isis interface
Interface information for IS-IS(1)
---------------------------------
Interface: GigabitEthernet0/0/1
Index IPv4 state IPv6 state Circuit ID MTU Type DIS
00001 Up Down 1 1497 L1/L2 No/No
如圖1-25所示:
· Router A、Router B、Router C和Router D屬於同一自治係統,要求它們之間通過IS-IS協議達到IP網絡互連的目的。
· Router A和Router B為Level-1路由器,Router D為Level-2路由器,Router C作為Level-1-2路由器將兩個區域相連。Router A、Router B和Router C的區域號為10,Router D的區域號為20。
· 在Router D的IS-IS進程中引入RIP路由。
圖1-25 IS-IS引入外部路由配置組網圖
按照組網圖配置各接口的IP地址。
(1) 配置IS-IS基本功能
# 配置Router A。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] is-level level-1
[RouterA-isis-1] network-entity 10.0000.0000.0001.00
[RouterA-isis-1] quit
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] isis enable 1
[RouterA-GigabitEthernet0/0/1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] is-level level-1
[RouterB-isis-1] network-entity 10.0000.0000.0002.00
[RouterB-isis-1] quit
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] isis enable 1
[RouterB-GigabitEthernet0/0/1] quit
# 配置Router C。
<RouterC> system-view
[RouterC] isis 1
[RouterC-isis-1] network-entity 10.0000.0000.0003.00
[RouterC-isis-1] quit
[RouterC] interface gigabitethernet 0/0/1
[RouterC-GigabitEthernet0/0/1] isis enable 1
[RouterC-GigabitEthernet0/0/1] quit
[RouterC] interface gigabitethernet 0/0/2
[RouterC-GigabitEthernet0/0/2] isis enable 1
[RouterC-GigabitEthernet0/0/2] quit
[RouterC] interface gigabitethernet 0/0/3
[RouterC-GigabitEthernet0/0/3] isis enable 1
[RouterC-GigabitEthernet0/0/3] quit
# 配置Router D。
<RouterD> system-view
[RouterD] isis 1
[RouterD-isis-1] is-level level-2
[RouterD-isis-1] network-entity 20.0000.0000.0004.00
[RouterD-isis-1] quit
[RouterD] interface gigabitethernet 0/0/1
[RouterD-GigabitEthernet0/0/1] isis enable 1
[RouterD-GigabitEthernet0/0/1] quit
[RouterD] interface gigabitethernet 0/0/2
[RouterD-GigabitEthernet0/0/2] isis enable 1
[RouterD-GigabitEthernet0/0/2] quit
# 顯示各路由器的IS-IS路由信息。
[RouterA] display isis route
Route information for IS-IS(1)
------------------------------
Level-1 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
10.1.1.0/24 10 NULL GE1/0/1 Direct D/L/-
10.1.2.0/24 20 NULL GE1/0/1 10.1.1.1 R/-/-
192.168.0.0/24 20 NULL GE1/0/1 10.1.1.1 R/-/-
0.0.0.0/0 10 NULL GE1/0/1 10.1.1.1 R/-/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
[RouterC] display isis route
Route information for IS-IS(1)
-----------------------------
Level-1 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
10.1.1.0/24 10 NULL GE1/0/1 Direct D/L/-
10.1.2.0/24 10 NULL GE1/0/3 Direct D/L/-
192.168.0.0/24 10 NULL GE1/0/2 Direct D/L/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
Level-2 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
10.1.1.0/24 10 NULL D/L/-
10.1.2.0/24 10 NULL D/L/-
10.1.4.0/24 10 NULL D/L/-
192.168.0.0/24 10 NULL D/L/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
[RouterD] display isis route
Route information for IS-IS(1)
-----------------------------
Level-2 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
10.1.1.0/24 20 NULL GE1/0/2 192.168.0.1 R/-/-
10.1.2.0/24 20 NULL GE1/0/2 192.168.0.1 R/-/-
10.1.4.0/24 10 NULL GE1/0/1 Direct D/L/-
192.168.0.0/24 10 NULL GE1/0/2 Direct D/L/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
(2) 在Router D和Router E之間運行RIPv2,在Router D上配置IS-IS進程引入RIP路由。
# 在Router D上配置RIPv2。
[RouterD] rip 1
[RouterD-rip-1] network 10.0.0.0
[RouterD-rip-1] version 2
[RouterD-rip-1] undo summary
# 在Router E上配置RIPv2。
[RouterE] rip 1
[RouterE-rip-1] network 10.0.0.0
[RouterE-rip-1] version 2
[RouterE-rip-1] undo summary
# 在Router D上配置IS-IS進程引入RIP進程的路由。
[RouterD-rip-1] quit
[RouterD] isis 1
[RouterD–isis-1] address-family ipv4
[RouterD–isis-1-ipv4] import-route rip level-2
# 顯示Router C的IS-IS路由信息。
[RouterC] display isis route
Route information for IS-IS(1)
-----------------------------
Level-1 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
10.1.1.0/24 10 NULL GE1/0/1 Direct D/L/-
10.1.2.0/24 10 NULL GE1/0/3 Direct D/L/-
192.168.0.0/24 10 NULL GE1/0/2 Direct D/L/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
Level-2 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
10.1.1.0/24 10 NULL D/L/-
10.1.2.0/24 10 NULL D/L/-
192.168.0.0/24 10 NULL D/L/-
10.1.4.0/24 20 NULL GE1/0/2 192.168.0.2 R/L/-
10.1.5.0/24 10 0 GE1/0/2 192.168.0.2 R/L/-
10.1.6.0/24 10 0 GE1/0/2 192.168.0.2 R/L/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
如圖1-26所示,Router A、Router B、Router C和Router D屬於同一路由域,要求它們之間通過IS-IS協議達到IP網絡互連的目的。
其中,Router A、Router B和Router C屬於同一個區域,區域號為10,Router D屬於另外一個區域,區域號為20。
在區域10內配置區域驗證,防止不可信任的路由信息加入到區域10的LSDB中;在Router C和Router D上配置路由域驗證,防止將不可信的路由信息注入當前路由域;分別在Router A、Router B、Router C和Router D上配置鄰居關係驗證。
圖1-26 IS-IS驗證配置舉例圖
按照組網圖配置各接口的IP地址。
(1) 配置IS-IS基本功能
# 配置Router A。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] network-entity 10.0000.0000.0001.00
[RouterA-isis-1] is-level level-1
[RouterA-isis-1] quit
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] isis enable 1
[RouterA-GigabitEthernet0/0/1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] network-entity 10.0000.0000.0002.00
[RouterB-isis-1] is-level level-1
[RouterB-isis-1] quit
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] isis enable 1
[RouterB-GigabitEthernet0/0/1] quit
# 配置Router C。
<RouterC> system-view
[RouterC] isis 1
[RouterC-isis-1] network-entity 10.0000.0000.0003.00
[RouterC-isis-1] quit
[RouterC] interface gigabitethernet 0/0/1
[RouterC-GigabitEthernet0/0/1] isis enable 1
[RouterC-GigabitEthernet0/0/1] quit
[RouterC] interface gigabitethernet 0/0/2
[RouterC-GigabitEthernet0/0/2] isis enable 1
[RouterC-GigabitEthernet0/0/2] quit
[RouterC] interface gigabitethernet 0/0/3
[RouterC-GigabitEthernet0/0/3] isis enable 1
[RouterC-GigabitEthernet0/0/3] quit
# 配置Router D。
<RouterD> system-view
[RouterD] isis 1
[RouterD-isis-1] network-entity 20.0000.0000.0001.00
[RouterD-isis-1] quit
[RouterD] interface gigabitethernet 0/0/1
[RouterD-GigabitEthernet0/0/1] isis enable 1
[RouterD-GigabitEthernet0/0/1] quit
(2) 在Router A、Router B、Router C和Router D之間建立鄰居關係驗證
# 分別在Router A的GigabitEthernet0/0/1、Router C的GigabitEthernet0/0/3配置鄰居關係驗證,驗證方式為MD5明文,驗證密鑰為“eRg”。
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] isis authentication-mode md5 plain eRg
[RouterA-GigabitEthernet0/0/1] quit
[RouterC] interface gigabitethernet 0/0/3
[RouterC-GigabitEthernet0/0/3] isis authentication-mode md5 plain eRg
[RouterC-GigabitEthernet0/0/3] quit
# 分別在Router B的GigabitEthernet0/0/1、Router C的GigabitEthernet0/0/1配置鄰居關係驗證,驗證方式為MD5明文,驗證密鑰為“t5Hr”。
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] isis authentication-mode md5 plain t5Hr
[RouterB-GigabitEthernet0/0/1] quit
[RouterC] interface gigabitethernet 0/0/1
[RouterC-GigabitEthernet0/0/1] isis authentication-mode md5 plain t5Hr
[RouterC-GigabitEthernet0/0/1] quit
# 分別在Router C的GigabitEthernet0/0/2、Router D的GigabitEthernet0/0/1配置鄰居關係驗證,驗證方式為MD5明文,驗證密鑰為“hSec”。
[RouterC] interface gigabitethernet 0/0/2
[RouterC-GigabitEthernet0/0/2] isis authentication-mode md5 plain hSec
[RouterC-GigabitEthernet0/0/2] quit
[RouterD] interface gigabitethernet 0/0/1
[RouterD-GigabitEthernet0/0/1] isis authentication-mode md5 plain hSec
[RouterD-GigabitEthernet0/0/1] quit
(3) 在Router A、Router B和Router C上配置區域驗證,驗證方式為MD5明文驗證,驗證密鑰為“10Sec”。
[RouterA] isis 1
[RouterA-isis-1] area-authentication-mode md5 plain 10Sec
[RouterA-isis-1] quit
[RouterB] isis 1
[RouterB-isis-1] area-authentication-mode md5 plain 10Sec
[RouterB-isis-1] quit
[RouterC] isis 1
[RouterC-isis-1] area-authentication-mode md5 plain 10Sec
[RouterC-isis-1] quit
(4) 在Router C和Router D上配置路由域驗證,驗證方式為MD5明文驗證,驗證密鑰為“1020Sec”。
[RouterC] isis 1
[RouterC-isis-1] domain-authentication-mode md5 plain 1020Sec
[RouterC-isis-1] quit
[RouterD] isis 1
[RouterD-isis-1] domain-authentication-mode md5 plain 1020Sec
如圖1-27所示,Router A、Router B和Router C屬於同一域。這三台路由器都運行IS-IS協議以實現路由互連。
圖1-27 IS-IS GR配置組網圖
按照組網圖配置各接口的IP地址。
配置各路由器之間采用IS-IS協議進行互連,確保Router A、Router B和Router C之間能夠在網絡層互通,並且各路由器之間能夠借助IS-IS協議實現動態路由更新。
# 使能Router A的IS-IS協議的GR能力。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] graceful-restart
[RouterA-isis-1] return
# 重啟Router A的IS-IS進程。
<RouterA> reset isis all 1 graceful-restart
Reset IS-IS process? [Y/N]:y
# 查看Router A上IS-IS協議的GR狀態。
<RouterA> display isis graceful-restart status
Restart information for IS-IS(1)
--------------------------------
Restart status: COMPLETE
Restart phase: Finish
Restart t1: 3, count 10; Restart t2: 60; Restart t3: 300
SA Bit: supported
Level-1 restart information
---------------------------
Total number of interfaces: 1
Number of waiting LSPs: 0
Level-2 restart information
---------------------------
Total number of interfaces: 1
Number of waiting LSPs: 0
如圖1-28所示,Router S、Router A、Router B屬於同一IS-IS區域,通過IS-IS協議實現網絡互連。要求對Router S進行主備倒換時,Router A和Router B到Router S的鄰居沒有中斷,Router A到Router B的流量沒有中斷。
圖1-28 IS-IS NSR配置組網圖
按照組網圖配置各接口的IP地址。
配置各路由器之間采用IS-IS協議進行互連,確保Router S、Router A和Router B之間能夠在網絡層互通,並且各路由器之間能夠借助IS-IS協議實現動態路由更新。
# 使能Router S的IS-IS NSR功能。
<RouterS> system-view
[RouterS] isis 1
[RouterS-isis-1] non-stop-routing
[RouterS-isis-1] return
# Router S進行主備倒換。
<RouterS> system-view
[RouterS] placement reoptimize
Predicted changes to the placement
Program Current location New location
---------------------------------------------------------------------
staticroute 0/0 0/0
rib 0/0 0/0
rib6 0/0 0/0
staticroute6 0/0 0/0
isis 0/0 1/0
Continue? [y/n]:y
Re-optimization of the placement start. You will be notified on completion.
Re-optimization of the placement complete. Use 'display placement' to view the new placement.
# 查看Router A上IS-IS協議的鄰居和路由。
<RouterA> display isis peer
Peer information for IS-IS(1)
----------------------------
System ID: 0000.0000.0001
Interface: GE1/0/1 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 23s Type: L1(L1L2) PRI: 64
System ID: 0000.0000.0001
Interface: GE1/0/1 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 28s Type: L2(L1L2) PRI: 64
<RouterA> display isis route
Route information for IS-IS(1)
-----------------------------
Level-1 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
12.12.12.0/24 10 NULL GE1/0/1 Direct D/L/-
22.22.22.22/32 10 NULL Loop0 Direct D/-/-
14.14.14.0/32 10 NULL GE1/0/1 12.12.12.2 R/L/-
44.44.44.44/32 10 NULL GE1/0/1 12.12.12.2 R/L/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
Level-2 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
12.12.12.0/24 10 NULL GE1/0/1 Direct D/L/-
22.22.22.22/32 10 NULL Loop0 Direct D/-/-
14.14.14.0/32 10 NULL
44.44.44.44/32 10 NULL
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
# 查看Router B上IS-IS協議的鄰居和路由。
<RouterB> display isis peer
Peer information for IS-IS(1)
----------------------------
System ID: 0000.0000.0001
Interface: GE1/0/1 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 23s Type: L1(L1L2) PRI: 64
System ID: 0000.0000.0001
Interface: GE1/0/1 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 28s Type: L2(L1L2) PRI: 64
<RouterB> display isis route
Route information for IS-IS(1)
-----------------------------
Level-1 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
14.14.14.0/24 10 NULL GE1/0/1 Direct D/L/-
44.44.44.44/32 10 NULL Loop0 Direct D/-/-
12.12.12.0/32 10 NULL GE1/0/1 14.14.14.4 R/L/-
22.22.22.22/32 10 NULL GE1/0/1 14.14.14.4 R/L/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
Level-2 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
14.14.14.0/24 10 NULL GE1/0/1 Direct D/L/-
44.44.44.44/32 10 NULL Loop0 Direct D/-/-
12.12.12.0/32 10 NULL
22.22.22.22/32 10 NULL
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
通過上麵信息可以看出Router A和Router B的鄰居和路由信息保持不變,即NSR特性使周邊設備無法感知Router S的主備倒換。
· Router A、Router B和Router C上運行IS-IS,網絡層相互可達。
· 當Router A和Router B通過L2 Switch通信的鏈路出現故障時BFD能夠快速感知通告IS-IS協議,並且切換到Router C進行通信。
圖1-29 IS-IS與BFD聯動配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Router A |
GE0/0/1 |
192.168.0.102/24 |
Router B |
GE0/0/1 |
192.168.0.100/24 |
|
GE0/0/2 |
10.1.1.102/24 |
|
GE0/0/2 |
13.1.1.1/24 |
|
Loop0 |
121.1.1.1/32 |
|
Loop0 |
120.1.1.1/32 |
Router C |
GE0/0/1 |
10.1.1.100/24 |
|
|
|
|
GE0/0/2 |
13.1.1.2/24 |
|
|
|
按照組網圖配置各接口的IP地址。
(1) 配置IS-IS基本功能
# 配置Router A。
<RouterA> system-view
[RouterA] isis
[RouterA-isis-1] network-entity 10.0000.0000.0001.00
[RouterA-isis-1] quit
[RouterA] interface loopback 0
[RouterA-LoopBack0] isis enable
[RouterA-LoopBack0] quit
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] isis enable
[RouterA-GigabitEthernet0/0/1] quit
[RouterA] interface gigabitethernet 0/0/2
[RouterA-GigabitEthernet0/0/2] isis enable
[RouterA-GigabitEthernet0/0/2] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis
[RouterB-isis-1] network-entity 10.0000.0000.0002.00
[RouterB-isis-1] quit
[RouterB] interface loopback 0
[RouterB-LoopBack0] isis enable
[RouterB-LoopBack0] quit
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] isis enable
[RouterB-GigabitEthernet0/0/1] quit
[RouterB] interface gigabitethernet 0/0/2
[RouterB-GigabitEthernet0/0/2] isis enable
[RouterB-GigabitEthernet0/0/2] quit
# 配置Router C。
<RouterC> system-view
[RouterC] isis
[RouterC-isis-1] network-entity 10.0000.0000.0003.00
[RouterC-isis-1] quit
[RouterC] interface gigabitethernet 0/0/1
[RouterC-GigabitEthernet0/0/1] isis enable
[RouterC-GigabitEthernet0/0/1] quit
[RouterC] interface gigabitethernet 0/0/2
[RouterC-GigabitEthernet0/0/2] isis enable
[RouterC-GigabitEthernet0/0/2] quit
(2) 配置BFD功能
# 在Router A上使能BFD檢測功能,並配置BFD參數。
[RouterA] bfd session init-mode active
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] isis bfd enable
[RouterA-GigabitEthernet0/0/1] bfd min-receive-interval 500
[RouterA-GigabitEthernet0/0/1] bfd min-transmit-interval 500
[RouterA-GigabitEthernet0/0/1] bfd detect-multiplier 7
# 在Router B上使能BFD檢測功能,並配置BFD參數。
[RouterB] bfd session init-mode active
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] isis bfd enable
[RouterB-GigabitEthernet0/0/1] bfd min-receive-interval 500
[RouterB-GigabitEthernet0/0/1] bfd min-transmit-interval 500
[RouterB-GigabitEthernet0/0/1] bfd detect-multiplier 8
下麵以Router A為例,Router B和Router A類似,不再贅述。
# 顯示Router A的BFD信息。
<RouterA> display bfd session
Total sessions: 1 Up sessions: 1 Init mode: Active
IPv4 session working in control packet mode:
LD/RD SourceAddr DestAddr State Holdtime Interface
3/1 192.168.0.102 192.168.0.100 Up 1700ms GE0/0/1
# 在Router A上查看120.1.1.1/32的路由信息,可以看出Router A和Router B是通過L2 Switch進行通信的。
<RouterA> display ip routing-table 120.1.1.1 verbose
Summary count : 1
Destination: 120.1.1.1/32
Protocol: IS_L1
Process ID: 1
SubProtID: 0x1 Age: 04h20m37s
Cost: 10 Preference: 10
IpPre: N/A QosLocalID: N/A
Tag: 0 State: Active Adv
OrigTblID: 0x0 OrigVrf: default-vrf
TableID: 0x2 OrigAs: 0
NibID: 0x26000002 LastAs: 0
AttrID: 0xffffffff Neighbor: 0.0.0.0
Flags: 0x1008c OrigNextHop: 192.168.0.100
Label: NULL RealNextHop: 192.168.0.100
BkLabel: NULL BkNextHop: N/A
SRLabel: NULL Interface: GigabitEthernet0/0/1
BkSRLabel: NULL BkInterface: N/A
Tunnel ID: Invalid IPInterface: GigabitEthernet0/0/1
BkTunnel ID: Invalid BkIPInterface: N/A
InLabel: NULL ColorInterface: N/A
SIDIndex: NULL BkColorInterface: N/A
FtnIndex: 0x0 TunnelInterface: N/A
TrafficIndex: N/A BkTunnelInterface: N/A
Connector: N/A PathID: 0x0
SRTunnelID: Invalid
SID Type: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid StatFlags: 0x0
Exp: N/A
VpnPeerId: N/A Dscp: N/A
SID: N/A
BkSID: N/A
CommBlockLen: 0
當Router A和Router B通過L2 Switch通信的鏈路出現故障時:
# 在Router A上查看120.1.1.1/32的路由信息,可以看出Router A和Router B已經切換到Router C進行通信。
<RouterA> display ip routing-table 120.1.1.1 verbose
Summary count : 1
Destination: 120.1.1.1/32
Protocol: IS_L1
Process ID: 1
SubProtID: 0x1 Age: 04h20m37s
Cost: 20 Preference: 10
IpPre: N/A QosLocalID: N/A
Tag: 0 State: Active Adv
OrigTblID: 0x0 OrigVrf: default-vrf
TableID: 0x2 OrigAs: 0
NibID: 0x26000002 LastAs: 0
AttrID: 0xffffffff Neighbor: 0.0.0.0
Flags: 0x1008c OrigNextHop: 10.1.1.100
Label: NULL RealNextHop: 10.1.1.100
BkLabel: NULL BkNextHop: N/A
SRLabel: NULL Interface: GigabitEthernet0/0/2
BkSRLabel: NULL BkInterface: N/A
Tunnel ID: Invalid IPInterface: GigabitEthernet0/0/2
BkTunnel ID: Invalid BkIPInterface: N/A
InLabel: NULL ColorInterface: N/A
SIDIndex: NULL BkColorInterface: N/A
FtnIndex: 0x0 TunnelInterface: N/A
TrafficIndex: N/A BkTunnelInterface: N/A
Connector: N/A PathID: 0x0
SRTunnelID: Invalid
SID Type: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid StatFlags: 0x0
Exp: N/A
VpnPeerId: N/A Dscp: N/A
SID: N/A
BkSID: N/A
CommBlockLen: 0
如圖1-30所示,Router A、Router B和Router C屬於同一IS-IS區域,通過IS-IS協議實現網絡互連。要求當Router A和Router B之間的鏈路出現故障時,業務可以快速切換到鏈路B上。
圖1-30 IS-IS快速重路由配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Router A |
GE0/0/1 |
12.12.12.1/24 |
Router B |
GE0/0/1 |
24.24.24.4/24 |
|
GE0/0/2 |
13.13.13.1/24 |
|
GE0/0/2 |
13.13.13.2/24 |
|
Loop0 |
1.1.1.1/32 |
|
Loop0 |
4.4.4.4/32 |
Router C |
GE0/0/1 |
12.12.12.2/24 |
|
|
|
|
GE0/0/2 |
24.24.24.2/24 |
|
|
|
按照組網圖配置各接口的IP地址。
配置各路由器之間采用IS-IS協議進行互連,確保Router A、Router B和Router C之間能夠在網絡層互通,並且各路由器之間能夠借助IS-IS協議實現動態路由更新。
IS-IS支持快速重路由配置有兩種配置方法,一種是通過LFA(Loop Free Alternate)算法選取備份下一跳,另一種是在路由策略中指定備份下一跳,兩種方法任選一種。
方法一:使能Router A和Router B的IS-IS協議的自動計算快速重路由能力。
# 配置Router A。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] address-family ipv4
[RouterA-isis-1-ipv4] fast-reroute lfa
[RouterA-isis-1-ipv4] quit
[RouterA-isis-1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] address-family ipv4
[RouterB-isis-1-ipv4] fast-reroute lfa
[RouterB-isis-1-ipv4] quit
[RouterB-isis-1] quit
方法二:使能Router A和Router B的IS-IS協議的指定路由策略快速重路由能力。
# 配置Router A。
<RouterA> system-view
[RouterA] ip prefix-list abc index 10 permit 4.4.4.4 32
[RouterA] route-policy frr permit node 10
[RouterA-route-policy-frr-10] if-match ip address prefix-list abc
[RouterA-route-policy-frr-10] apply fast-reroute backup-interface gigabitethernet 0/0/1 backup-nexthop 12.12.12.2
[RouterA-route-policy-frr-10] quit
[RouterA] isis 1
[RouterA-isis-1] address-family ipv4
[RouterA-isis-1-ipv4] fast-reroute route-policy frr
[RouterA-isis-1-ipv4] quit
[RouterA-isis-1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] ip prefix-list abc index 10 permit 1.1.1.1 32
[RouterB] route-policy frr permit node 10
[RouterB-route-policy-frr-10] if-match ip address prefix-list abc
[RouterB-route-policy-frr-10] apply fast-reroute backup-interface gigabitethernet 0/0/1 backup-nexthop 24.24.24.2
[RouterB-route-policy-frr-10] quit
[RouterB] isis 1
[RouterB-isis-1] address-family ipv4
[RouterB-isis-1-ipv4] fast-reroute route-policy frr
[RouterB-isis-1-ipv4] quit
[RouterB-isis-1] quit
# 在Router A上查看4.4.4.4/32路由,可以看到備份下一跳信息。
[RouterA] display ip routing-table 4.4.4.4 verbose
Summary count : 1
Destination: 4.4.4.4/32
Protocol: IS_L1
Process ID: 1
SubProtID: 0x1 Age: 04h20m37s
Cost: 10 Preference: 10
IpPre: N/A QosLocalID: N/A
Tag: 0 State: Active Adv
OrigTblID: 0x0 OrigVrf: default-vrf
TableID: 0x2 OrigAs: 0
NibID: 0x26000002 LastAs: 0
AttrID: 0xffffffff Neighbor: 0.0.0.0
Flags: 0x1008c OrigNextHop: 13.13.13.2
Label: NULL RealNextHop: 13.13.13.2
BkLabel: NULL BkNextHop: 12.12.12.2
SRLabel: NULL Interface: GigabitEthernet0/0/2
BkSRLabel: NULL BkInterface: GigabitEthernet0/0/1
Tunnel ID: Invalid IPInterface: GigabitEthernet0/0/2
BkTunnel ID: Invalid BkIPInterface: GigabitEthernet0/0/1
InLabel: NULL ColorInterface: N/A
SIDIndex: NULL BkColorInterface: N/A
FtnIndex: 0x0 TunnelInterface: N/A
TrafficIndex: N/A BkTunnelInterface: N/A
Connector: N/A PathID: 0x0
SRTunnelID: Invalid
SID Type: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid StatFlags: 0x0
Exp: N/A
VpnPeerId: N/A Dscp: N/A
SID: N/A
BkSID: N/A
CommBlockLen: 0
# 在Router B上查看1.1.1.1/32路由,可以看到備份下一跳信息。
[RouterB] display ip routing-table 1.1.1.1 verbose
Summary count : 1
Destination: 1.1.1.1/32
Protocol: IS_L1
Process ID: 1
SubProtID: 0x1 Age: 04h20m37s
Cost: 10 Preference: 10
IpPre: N/A QosLocalID: N/A
Tag: 0 State: Active Adv
OrigTblID: 0x0 OrigVrf: default-vrf
TableID: 0x2 OrigAs: 0
NibID: 0x26000002 LastAs: 0
AttrID: 0xffffffff Neighbor: 0.0.0.0
Flags: 0x1008c OrigNextHop: 13.13.13.1
Label: NULL RealNextHop: 13.13.13.1
BkLabel: NULL BkNextHop: 24.24.24.2
SRLabel: NULL Interface: GigabitEthernet0/0/2
BkSRLabel: NULL BkInterface: GigabitEthernet0/0/1
Tunnel ID: Invalid IPInterface: GigabitEthernet0/0/2
BkTunnel ID: Invalid BkIPInterface: GigabitEthernet0/0/1
InLabel: NULL ColorInterface: N/A
SIDIndex: NULL BkColorInterface: N/A
FtnIndex: 0x0 TunnelInterface: N/A
TrafficIndex: N/A BkTunnelInterface: N/A
Connector: N/A PathID: 0x0
SRTunnelID: Invalid
SID Type: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid StatFlags: 0x0
Exp: N/A
VpnPeerId: N/A Dscp: N/A
SID: N/A
BkSID: N/A
CommBlockLen: 0
如圖1-31所示,Router A、Router B、Router C和Router D屬於同一IS-IS區域,通過IS-IS協議實現網絡互連,且配置MPLS LDP功能。當Router A和Router B之間的鏈路Link A出現故障時,鏈路Link B上存在環路,流量無法通過Router C轉發到目的節點Router B。通過部署Remote LFA FRR消除環路,同時使流量可以快速切換到鏈路Link B。
圖1-31 IS-IS Remote LFA快速重路由配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Router A |
GE0/0/1 |
12.12.12.1/24 |
Router B |
GE0/0/1 |
12.12.12.2/24 |
|
GE0/0/2 |
13.13.13.1/24 |
|
GE0/0/2 |
15.15.15.1/24 |
|
Loop1 |
1.1.1.1/32 |
|
Loop1 |
2.2.2.2/32 |
Router C |
GE0/0/1 |
13.13.13.2/24 |
Router D |
GE0/0/1 |
15.15.15.2/24 |
|
GE0/0/2 |
14.14.14.1/24 |
|
GE0/0/2 |
14.14.14.2/24 |
|
Loop1 |
3.3.3.3/32 |
|
Loop1 |
4.4.4.4/32 |
按照組網圖配置各接口的IP地址。
(1) 配置IS-IS協議實現網絡層互通,並開啟MPLS LDP功能
# 配置Router A。
<RouterA> system-view
[RouterA] mpls lsr-id 1.1.1.1
[RouterA] mpls ldp
[RouterA-ldp] accept target-hello all
[RouterA-ldp] quit
[RouterA] isis 1
[RouterA-isis-1] network-entity 00.0000.0000.0001.00
[RouterA-isis-1] quit
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] isis enable 1
[RouterA-GigabitEthernet0/0/1] isis cost 10
[RouterA-GigabitEthernet0/0/1] mpls enable
[RouterA-GigabitEthernet0/0/1] mpls ldp enable
[RouterA-GigabitEthernet0/0/1] quit
[RouterA] interface gigabitethernet 0/0/2
[RouterA-GigabitEthernet0/0/2] isis enable 1
[RouterA-GigabitEthernet0/0/2] isis cost 20
[RouterA-GigabitEthernet0/0/2] mpls enable
[RouterA-GigabitEthernet0/0/2] mpls ldp enable
[RouterA-GigabitEthernet0/0/2] quit
[RouterA] interface loopback 1
[RouterA-LoopBack1] isis enable 1
[RouterA-LoopBack1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] mpls lsr-id 2.2.2.2
[RouterB] mpls ldp
[RouterB-ldp] accept target-hello all
[RouterB-ldp] quit
[RouterB] isis 1
[RouterB-isis-1] network-entity 00.0000.0000.0002.00
[RouterB-isis-1] quit
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] isis enable 1
[RouterB-GigabitEthernet0/0/1] isis cost 10
[RouterB-GigabitEthernet0/0/1] mpls enable
[RouterB-GigabitEthernet0/0/1] mpls ldp enable
[RouterB-GigabitEthernet0/0/1] quit
[RouterB] interface gigabitethernet 0/0/2
[RouterB-GigabitEthernet0/0/2] isis enable 1
[RouterB-GigabitEthernet0/0/2] isis cost 20
[RouterB-GigabitEthernet0/0/2] mpls enable
[RouterB-GigabitEthernet0/0/2] mpls ldp enable
[RouterB-GigabitEthernet0/0/2] quit
[RouterB] interface loopback 1
[RouterB-LoopBack1] isis enable 1
[RouterB-LoopBack1] quit
# 配置Router C。
<RouterC> system-view
[RouterC] mpls lsr-id 3.3.3.3
[RouterC] mpls ldp
[RouterC-ldp] accept target-hello all
[RouterC-ldp] quit
[RouterC] isis 1
[RouterC-isis-1] network-entity 00.0000.0000.0003.00
[RouterC-isis-1] quit
[RouterC] interface gigabitethernet 0/0/1
[RouterC-GigabitEthernet0/0/1] isis enable 1
[RouterC-GigabitEthernet0/0/1] isis cost 20
[RouterC-GigabitEthernet0/0/1] mpls enable
[RouterC-GigabitEthernet0/0/1] mpls ldp enable
[RouterC-GigabitEthernet0/0/1] quit
[RouterC] interface gigabitethernet 0/0/2
[RouterC-GigabitEthernet0/0/2] isis enable 1
[RouterC-GigabitEthernet0/0/2] isis cost 20
[RouterC-GigabitEthernet0/0/2] mpls enable
[RouterC-GigabitEthernet0/0/2] mpls ldp enable
[RouterC-GigabitEthernet0/0/2] quit
[RouterC] interface loopback 1
[RouterC-LoopBack1] isis enable 1
[RouterC-LoopBack1] quit
# 配置Router D。
<RouterD> system-view
[RouterD] mpls lsr-id 4.4.4.4
[RouterD] mpls ldp
[RouterD-ldp] accept target-hello all
[RouterD-ldp] quit
[RouterD] isis 1
[RouterD-isis-1] network-entity 00.0000.0000.0004.00
[RouterD-isis-1] quit
[RouterD] interface gigabitethernet 0/0/1
[RouterD-GigabitEthernet0/0/1] isis enable 1
[RouterD-GigabitEthernet0/0/1] isis cost 20
[RouterD-GigabitEthernet0/0/1] mpls enable
[RouterD-GigabitEthernet0/0/1] mpls ldp enable
[RouterD-GigabitEthernet0/0/1] quit
[RouterD] interface gigabitethernet 0/0/2
[RouterD-GigabitEthernet0/0/2] isis enable 1
[RouterD-GigabitEthernet0/0/2] isis cost 20
[RouterD-GigabitEthernet0/0/2] mpls enable
[RouterD-GigabitEthernet0/0/2] mpls ldp enable
[RouterD-GigabitEthernet0/0/2] quit
[RouterD] interface loopback 1
[RouterD-LoopBack1] isis enable 1
[RouterD-LoopBack1] quit
(2) 配置IS-IS Remote LFA FRR
# 配置Router A。
[RouterA] isis 1
[RouterA-isis-1] address-family ipv4
[RouterA-isis-1-ipv4] fast-reroute lfa
[RouterA-isis-1-ipv4] fast-reroute remote-lfa tunnel ldp
[RouterA-isis-1-ipv4] quit
[RouterA-isis-1] quit
# 在Router A上查看2.2.2.2/32路由,可以看到備份下一跳信息。
[RouterA] display isis route ipv4 2.2.2.2 32 verbose
Route information for IS-IS(1)
------------------------------
Level-1 IPv4 Forwarding Table
-----------------------------
IPv4 Dest : 2.2.2.2/32 Int. Cost : 10 Ext. Cost : NULL
Admin Tag : - Src Count : 1 Flag : R/L/-
InLabel : 4294967295 InLabel Flag: -/-/-/-/-/-
NextHop : Interface : ExitIndex :
12.12.12.2 GE0/0/1 0x00000002
Nib ID : 0x14000008 OutLabel : 4294967295 OutLabelFlag: -
LabelSrc : N/A Delay Flag : N/A
Remote-LFA:
Interface : GE0/0/2
BkNextHop : 13.13.13.2 LsIndex : 0x01000002
Tunnel destination address: 4.4.4.4
Backup label: {1149}
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
InLabel flags: R-Readvertisement, N-Node SID, P-no PHP
E-Explicit null, V-Value, L-Local
OutLabelFlags: E-Explicit null, I-Implicit null, N-Nomal, P-SR label prefer
Level-2 IPv4 Forwarding Table
-----------------------------
IPv4 Dest : 2.2.2.2/32 Int. Cost : 10 Ext. Cost : NULL
Admin Tag : - Src Count : 3 Flag : -/-/-
InLabel : 4294967295 InLabel Flag: -/-/-/-/-/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
InLabel flags: R-Readvertisement, N-Node SID, P-no PHP
E-Explicit null, V-Value, L-Local
OutLabelFlags: E-Explicit null, I-Implicit null, N-Nomal, P-SR label prefer
如圖1-32所示,IPv4網絡和IPv6的接口開銷值不同,要求通過IS-IS多實例隔離IPv4和IPv6網絡,避免使用傳統IS-IS進程導致IPv6路由計算出錯的問題。
圖1-32 IS-IS多實例進程基本功能配置組網圖
設備 |
接口 |
IPv4地址 |
IPv6地址 |
設備 |
接口 |
IPv4地址 |
IPv6地址 |
Router A |
GE0/0/1 |
10.1.1.1/24 |
2001::1/64 |
Router B |
GE0/0/1 |
10.1.1.2/24 |
2001::2/64 |
|
Loop0 |
1.1.1.1/32 |
10::1/128 |
|
Loop0 |
2.2.2.2/32 |
20::1/128 |
按照組網圖配置各接口的IPv4地址和IPv6地址。
(1) 配置傳統IPv4 IS-IS進程
# 配置Router A。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] network-entity 10.0000.0000.0001.00
[RouterA-isis-1] quit
[RouterA] interface loopback 0
[RouterA-LoopBack0] isis enable 1
[RouterA-LoopBack0] quit
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] isis enable 1
[RouterA-GigabitEthernet0/0/1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] network-entity 10.0000.0000.0002.00
[RouterB-isis-1] quit
[RouterB] interface loopback 0
[RouterB-LoopBack0] isis enable 1
[RouterB-LoopBack0] quit
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] isis enable 1
[RouterB-GigabitEthernet0/0/1] quit
(2) 配置多實例IPv6 IS-IS進程
# 配置Router A。
[RouterA] isis 2
[RouterA-isis-2] network-entity 20.0000.0000.0010.00
[RouterA-isis-2] multi-instance enable iid 1
[RouterA-isis-2] address-family ipv6
[RouterA-isis-2-ipv6] quit
[RouterA-isis-2] quit
[RouterA] interface loopback 0
[RouterA-LoopBack0] isis ipv6 enable 2
[RouterA-LoopBack0] quit
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] isis ipv6 enable 2
[RouterA-GigabitEthernet0/0/1] isis process-id 2 cost 63
[RouterA-GigabitEthernet0/0/1] quit
# 配置Router B。
[RouterB] isis 2
[RouterB-isis-2] network-entity 20.0000.0000.0020.00
[RouterB-isis-2] multi-instance enable iid 1
[RouterB-isis-2] address-family ipv6
[RouterB-isis-2-ipv6] quit
[RouterB-isis-2] quit
[RouterB] interface loopback 0
[RouterB-LoopBack0] isis ipv6 enable 2
[RouterB-LoopBack0] quit
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] isis ipv6 enable 2
[RouterB-GigabitEthernet0/0/1] isis process-id 2 cost 63
[RouterB-GigabitEthernet0/0/1] quit
# 查看Router A的IPv4 IS-IS路由表,可以看到路由計算的結果正確。
[RouterA] display isis route ipv4
Route information for IS-IS(1)
------------------------------
Level-1 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
1.1.1.1/32 0 NULL Loop0 Direct D/L/-
10.1.1.0/24 10 NULL GE0/0/1 Direct D/L/-
2.2.2.2/32 10 NULL GE0/0/1 10.1.1.2 R/L/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
Level-2 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
1.1.1.1/32 0 NULL Loop0 Direct D/L/-
10.1.1.0/24 10 NULL ULL Direct D/L/-
2.2.2.2/32 10 NULL
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
# 查看Router B的IPv4 IS-IS路由表,可以看到路由計算的結果正確。
[RouterB] display isis route ipv4
Route information for IS-IS(1)
------------------------------
Level-1 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
1.1.1.1/32 10 NULL GE0/0/1 10.1.1.1 R/L/-
10.1.1.0/24 10 NULL GE0/0/1 Direct D/L/-
2.2.2.2/32 0 NULL Loop0 Direct D/L/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
Level-2 IPv4 Forwarding Table
-----------------------------
IPv4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
1.1.1.1/32 10 NULL
10.1.1.0/24 10 NULL GE0/0/1 Direct D/L/-
2.2.2.2/32 0 NULL Loop0 Direct D/L/-
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
# 查看Router A的IPv6 IS-IS路由表,可以看到路由計算的結果正確。
[RouterA] display isis route ipv6
Route information for IS-IS(2)
------------------------------
Level-1 IPv6 forwarding table
-----------------------------
Destination : 10::1 PrefixLen: 128
Flag : D/L/- Cost : 0
Next hop : Direct Interface: Loop0
Destination : 2001:: PrefixLen: 64
Flag : D/L/- Cost : 63
Next hop : Direct Interface: GE0/0/1
Destination : 20::1 PrefixLen: 128
Flag : R/L/- Cost : 63
Next hop : FE80::861F:31FF:FE6D:201 Interface: GE0/0/1
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
Level-2 IPv6 forwarding table
-----------------------------
Destination : 10::1 PrefixLen: 128
Flag : D/L/- Cost : 0
Next hop : Direct Interface: Loop0
Destination : 2001:: PrefixLen: 64
Flag : D/L/- Cost : 63
Next hop : Direct Interface: GE0/0/1
Destination : 20::1 PrefixLen: 128
Flag : -/-/- Cost : 63
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
# 查看Router B的IPv6 IS-IS路由表,可以看到路由計算的結果正確。
[RouterB] display isis route ipv6
Route information for IS-IS(2)
------------------------------
Level-1 IPv6 forwarding table
-----------------------------
Destination : 10::1 PrefixLen: 128
Flag : R/L/- Cost : 63
Next hop : FE80::861F:29FF:FE93:101 Interface: GE0/0/1
Destination : 2001:: PrefixLen: 64
Flag : D/L/- Cost : 63
Next hop : Direct Interface: GE0/0/1
Destination : 20::1 PrefixLen: 128
Flag : D/L/- Cost : 0
Next hop : Direct Interface: Loop0
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
Level-2 IPv6 forwarding table
-----------------------------
Destination : 10::1 PrefixLen: 128
Flag : -/-/- Cost : 63
Destination : 2001:: PrefixLen: 64
Flag : D/L/- Cost : 63
Next hop : Direct Interface: GE0/0/1
Destination : 20::1 PrefixLen: 128
Flag : D/L/- Cost : 0
Next hop : Direct Interface: Loop0
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
如下圖所示,Router A、Router B、Router C和Router D屬於同一自治係統,所有路由器已使能了IPv6能力,要求它們之間通過IPv6 IS-IS協議達到IPv6網絡互連的目的。
其中Router A和Router B是Level-1路由器,Router D是Level-2路由器,Router C是Level-1-2路由器。Router A、Router B和Router C屬於區域10,而Router D屬於區域20。
圖1-33 IPv6 IS-IS基本配置組網圖
(1) 配置各接口的IPv6地址(略)
(2) 配置IPv6 IS-IS
# 配置Router A。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] is-level level-1
[RouterA-isis-1] network-entity 10.0000.0000.0001.00
[RouterA-isis-1] address-family ipv6
[RouterA-isis-1-ipv6] quit
[RouterA-isis-1] quit
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] isis ipv6 enable 1
[RouterA-GigabitEthernet0/0/1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] is-level level-1
[RouterB-isis-1] network-entity 10.0000.0000.0002.00
[RouterB-isis-1] address-family ipv6
[RouterB-isis-1-ipv6] quit
[RouterB-isis-1] quit
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] isis ipv6 enable 1
[RouterB-GigabitEthernet0/0/1] quit
# 配置Router C。
<RouterC> system-view
[RouterC] isis 1
[RouterC-isis-1] network-entity 10.0000.0000.0003.00
[RouterC-isis-1] address-family ipv6
[RouterC-isis-1-ipv6] quit
[RouterC-isis-1] quit
[RouterC] interface gigabitethernet 0/0/1
[RouterC-GigabitEthernet0/0/1] isis ipv6 enable 1
[RouterC-GigabitEthernet0/0/1] quit
[RouterC] interface gigabitethernet 0/0/2
[RouterC-GigabitEthernet0/0/2] isis ipv6 enable 1
[RouterC-GigabitEthernet0/0/2] quit
[RouterC] interface gigabitethernet 0/0/3
[RouterC-GigabitEthernet0/0/3] isis ipv6 enable 1
[RouterC-GigabitEthernet0/0/3] quit
# 配置Router D。
<RouterD> system-view
[RouterD] isis 1
[RouterD-isis-1] is-level level-2
[RouterD-isis-1] network-entity 20.0000.0000.0004.00
[RouterD-isis-1] address-family ipv6
[RouterD-isis-1-ipv6] quit
[RouterD-isis-1] quit
[RouterD] interface gigabitethernet 0/0/1
[RouterD-GigabitEthernet0/0/1] isis ipv6 enable 1
[RouterD-GigabitEthernet0/0/1] quit
[RouterD] interface gigabitethernet 0/0/2
[RouterD-GigabitEthernet0/0/2] isis ipv6 enable 1
[RouterD-GigabitEthernet0/0/2] quit
# 查看Router A的IPv6 IS-IS路由表。
[RouterA] display isis route ipv6
Route information for IS-IS(1)
------------------------------
Level-1 IPv6 forwarding table
-----------------------------
Destination : :: PrefixLen: 0
Flag : R/-/- Cost : 10
Next hop : FE80::200:FF:FE0F:4 Interface: GE0/0/1
Destination : 2001:1:: PrefixLen: 64
Flag : D/L/- Cost : 10
Next hop : Direct Interface: GE0/0/1
Destination : 2001:2:: PrefixLen: 64
Flag : R/-/- Cost : 20
Next hop : FE80::200:FF:FE0F:4 Interface: GE0/0/1
Destination : 2001:3:: PrefixLen: 64
Flag : R/-/- Cost : 20
Next hop : FE80::200:FF:FE0F:4 Interface: GE0/0/1
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
# 查看Router B的IPv6 IS-IS路由表。
[RouterB] display isis route ipv6
Route information for IS-IS(1)
------------------------------
Level-1 IPv6 forwarding table
-----------------------------
Destination : :: PrefixLen: 0
Flag : R/-/- Cost : 10
Next hop : FE80::200:FF:FE0F:4 Interface: GE0/0/1
Destination : 2001:1:: PrefixLen: 64
Flag : D/L/- Cost : 10
Next hop : FE80::200:FF:FE0F:4 Interface: GE0/0/1
Destination : 2001:2:: PrefixLen: 64
Flag : R/-/- Cost : 20
Next hop : Direct Interface: GE0/0/1
Destination : 2001:3:: PrefixLen: 64
Flag : R/-/- Cost : 20
Next hop : FE80::200:FF:FE0F:4 Interface: GE0/0/1
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
# 查看Router C的IPv6 IS-IS路由表。
[RouterC] display isis route ipv6
Route information for IS-IS(1)
------------------------------
Level-1 IPv6 forwarding table
-----------------------------
Destination : 2001:1:: PrefixLen: 64
Flag : D/L/- Cost : 10
Next hop : Direct Interface: GE0/0/2
Destination : 2001:2:: PrefixLen: 64
Flag : D/L/- Cost : 10
Next hop : Direct Interface: GE0/0/1
Destination : 2001:3:: PrefixLen: 64
Flag : D/L/- Cost : 10
Next hop : Direct Interface: GE0/0/3
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
Level-2 IPv6 forwarding table
-----------------------------
Destination : 2001:1:: PrefixLen: 64
Flag : D/L/- Cost : 10
Destination : 2001:2:: PrefixLen: 64
Flag : D/L/- Cost : 10
Destination : 2001:3:: PrefixLen: 64
Flag : D/L/- Cost : 10
Destination : 2001:4:: PrefixLen: 64
Flag : R/-/- Cost : 10
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
# 查看Router D的IPv6 IS-IS路由表。
[RouterD] display isis route ipv6
Route information for IS-IS(1)
------------------------------
Level-2 IPv6 forwarding table
-----------------------------
Destination : 2001:1:: PrefixLen: 64
Flag : R/-/- Cost : 20
Next hop : FE80::200:FF:FE0F:4 Interface: GE0/0/1
Destination : 2001:2:: PrefixLen: 64
Flag : R/-/- Cost : 20
Next hop : FE80::200:FF:FE0F:4 Interface: GE0/0/1
Destination : 2001:3:: PrefixLen: 64
Flag : D/L/- Cost : 10
Next hop : Direct Interface: GE0/0/1
Destination : 2001:4:: PrefixLen: 64
Flag : D/L/- Cost : 0
Next hop : Direct Interface: GE0/0/2
Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set
· Router A、Router B通過二層交換機互連,並且在雙方接口上使能BFD應用,之間運行IPv6 IS-IS,網絡層相互可達。
· 當Router B和二層交換機之間的鏈路發生故障後,BFD能夠快速檢測並通告IPv6 IS-IS協議。
圖1-34 IPv6 IS-IS與BFD聯動配置組網圖
設備 |
接口 |
IPv6地址 |
設備 |
接口 |
IPv6地址 |
Router A |
GE0/0/1 |
2001::1/64 |
Router B |
GE0/0/1 |
2001::2/64 |
|
GE0/0/2 |
2001:2::1/64 |
|
GE0/0/2 |
2001:3::2/64 |
Router C |
GE0/0/1 |
2001:2::2/64 |
|
|
|
|
GE0/0/2 |
2001:3::1/64 |
|
|
|
(1) 配置各接口的IPv6地址(略)
(2) 配置IPv6 IS-IS
# 配置Router A。
<RouterA> system-view
[RouterA] isis 1
[RouterA-isis-1] is-level level-1
[RouterA-isis-1] network-entity 10.0000.0000.0001.00
[RouterA-isis-1] address-family ipv6
[RouterA-isis-1-ipv6] quit
[RouterA-isis-1] quit
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] isis ipv6 enable 1
[RouterA-GigabitEthernet0/0/1] quit
[RouterA] interface gigabitethernet 0/0/2
[RouterA-GigabitEthernet0/0/2] isis ipv6 enable 1
[RouterA-GigabitEthernet0/0/2] quit
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] is-level level-1
[RouterB-isis-1] network-entity 10.0000.0000.0002.00
[RouterB-isis-1] address-family ipv6
[RouterB-isis-1-ipv6] quit
[RouterB-isis-1] quit
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] isis ipv6 enable 1
[RouterB-GigabitEthernet0/0/1] quit
[RouterB] interface gigabitethernet 0/0/2
[RouterB-GigabitEthernet0/0/2] isis ipv6 enable 1
[RouterB-GigabitEthernet0/0/2] quit
# 配置Router C。
<RouterC> system-view
[RouterC] isis 1
[RouterC-isis-1] network-entity 10.0000.0000.0003.00
[RouterC-isis-1] address-family ipv6
[RouterC-isis-1-ipv6] quit
[RouterC-isis-1] quit
[RouterC] interface gigabitethernet 0/0/1
[RouterC-GigabitEthernet0/0/1] isis ipv6 enable 1
[RouterC-GigabitEthernet0/0/1] quit
[RouterC] interface gigabitethernet 0/0/2
[RouterC-GigabitEthernet0/0/2] isis ipv6 enable 1
[RouterC-GigabitEthernet0/0/2] quit
(3) 配置BFD功能
# 在Router A上使能IPv6 IS-IS BFD功能,並配置BFD參數。
[RouterA] bfd session init-mode active
[RouterA] interface gigabitethernet 0/0/1
[RouterA-GigabitEthernet0/0/1] isis ipv6 bfd enable
[RouterA-GigabitEthernet0/0/1] bfd min-transmit-interval 500
[RouterA-GigabitEthernet0/0/1] bfd min-receive-interval 500
[RouterA-GigabitEthernet0/0/1] bfd detect-multiplier 7
[RouterA-GigabitEthernet0/0/1] return
# 在Router B上使能IPv6 IS-IS BFD功能,並配置BFD參數。
[RouterB] bfd session init-mode active
[RouterB] interface gigabitethernet 0/0/1
[RouterB-GigabitEthernet0/0/1] isis ipv6 bfd enable
[RouterB-GigabitEthernet0/0/1] bfd min-transmit-interval 500
[RouterB-GigabitEthernet0/0/1] bfd min-receive-interval 500
[RouterB-GigabitEthernet0/0/1] bfd detect-multiplier 6
下麵以Router A為例,Router B和Router A類似,不再贅述。
# 顯示Router A的BFD信息。
<RouterA> display bfd session
Total sessions: 1 Up sessions: 1 Init mode: Active
IPv6 session working in control packet mode:
Local discr: 1441 Remote discr: 1450
Source IP: FE80::20F:FF:FE00:1202(Router A接口GigabitEthernet0/0/1的鏈路本地地址)
Destination IP: FE80::20F:FF:FE00:1200(Router B接口GigabitEthernet0/0/1的鏈路本地地址)
Session state: Up Interface: GE0/0/1
Hold time: 2319ms
# 在Router A上查看2001:4::0/64的路由信息,可以看出Router A和Router B是通過L2 Switch進行通信的。
<RouterA> display ipv6 routing-table 2001:4::0 64
Summary count : 2
Destination: 2001:4::/64 Protocol : IS_L1
NextHop : FE80::20F:FF:FE00:1200 Preference: 15
Interface : GE1/0/1 Cost : 10
當Router A和Router B通過L2 Switch通信的鏈路出現故障時:
# 在Router A上查看2001:4::0/64的路由信息,可以看出Router A和Router B已經切換到Router C進行通信。
<RouterA> display ipv6 routing-table 2001:4::0 64
Summary count : 1
Destination: 2001:4::/64 Protocol : IS_L1
NextHop : FE80::BAAF:67FF:FE27:DCD0 Preference: 15
Interface : GE1/0/2 Cost : 20
如圖1-35所示,Router A、Router B和Router C屬於同一IS-IS區域,通過IPv6 IS-IS協議實現網絡互連。要求當Router A和Router B之間的鏈路出現故障時,業務可以快速切換到鏈路B上。
圖1-35 IPv6 IS-IS快速重路由配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Router A |
GE0/0/1 |
1::1/64 |
Router B |
GE0/0/1 |
3::1/64 |
|
GE0/0/2 |
2::1/64 |
|
GE0/0/2 |
2::2/64 |
|
Loop0 |
10::1/128 |
|
Loop0 |
20::1/128 |
Router C |
GE0/0/1 |
1::2/64 |
|
|
|
|
GE0/0/2 |
3::2/64 |
|
|
|
(1) 配置各路由器接口的IPv6地址和IPv6 IS-IS協議
請按照上麵組網圖配置各接口的IPv6地址,具體配置過程略。
配置各路由器之間
(2) 配置IPv6 IS-IS快速重路由
IPv6 IS-IS支持快速重路由的配置方法有兩種,可以任選一種。
方法一:使能Router A和Router B的IPv6 IS-IS快速重路由功能(通過LFA算法選取備份下一跳信息)
# 配置Router A。
<RouterA>system-view
[RouterA] isis 1
[RouterA-isis-1] address-family ipv6
[RouterA-isis-1-ipv6] fast-reroute lfa
# 配置Router B。
<RouterB> system-view
[RouterB] isis 1
[RouterB-isis-1] address-family ipv6
[RouterB-isis-1-ipv6] fast-reroute lfa
方法二:使能Router A和Router B的IPv6 IS-IS快速重路由功能(通過路由策略指定備份下一跳)
# 配置Router A。
<RouterA> system-view
[RouterA] ipv6 prefix-list abc index 10 permit 20::1 128
[RouterA] route-policy frr permit node 10
[RouterA-route-policy-frr-10] if-match ipv6 address prefix-list abc
[RouterA-route-policy-frr-10] apply ipv6 fast-reroute backup-interface gigabitethernet 0/0/1 backup-nexthop 1::2
[RouterA-route-policy-frr-10] quit
[RouterA] isis 1
[RouterA-isis-1] address-family ipv6
[RouterA-isis-1-ipv6] fast-reroute route-policy frr
[RouterA-isis-1-ipv6] quit
[RouterA-isis-1] quit
# 配置Router B。
<RouterB> system-view
[RouterB] ipv6 prefix-list abc index 10 permit 10::1 128
[RouterB] route-policy frr permit node 10
[RouterB-route-policy-frr-10] if-match ipv6 address prefix-list abc
[RouterB-route-policy-frr-10] apply ipv6 fast-reroute backup-interface gigabitethernet 0/0/1 backup-nexthop 3::2
[RouterB-route-policy-frr-10] quit
[RouterB] isis 1
[RouterB-isis-1] address-family ipv6
[RouterB-isis-1-ipv6] fast-reroute route-policy frr
[RouterB-isis-1-ipv6] quit
[RouterB-isis-1] quit
# 在Router A上查看20::1/128的路由信息,可以看到備份下一跳信息。
[RouterA] display ipv6 routing-table 20::1 128 verbose
Summary count : 1
Destination: 20::1/128
Protocol: IS_L1
Process ID: 1
SubProtID: 0x1 Age: 00h27m45s
Cost: 10 Preference: 15
IpPre: N/A QosLocalID: N/A
Tag: 0 State: Active Adv
OrigTblID: 0xa OrigVrf: default-vrf
TableID: 0xa OrigAs: 0
NibID: 0x24000005 LastAs: 0
AttrID: 0xffffffff Neighbor: ::
Flags: 0x10041 OrigNextHop: FE80::34CD:9FF:FE2F:D02
Label: NULL RealNextHop: FE80::34CD:9FF:FE2F:D02
BkLabel: NULL BkNextHop: FE80::7685:45FF:FEAD:102
SRLabel: NULL Interface: GigabitEthernet0/0/2
BkSRLabel: NULL BkInterface: GigabitEthernet0/0/1
Tunnel ID: Invalid IPInterface: GigabitEthernet0/0/2
BkTunnel ID: Invalid BkIPInterface: GigabitEthernet0/0/1
InLabel: 0 ColorInterface: N/A
SIDIndex: 0 BkColorInterface: N/A
FtnIndex: 0x0 TunnelInterface: N/A
TrafficIndex: N/A BkTunnelInterface: N/A
Connector: N/A PathID: 0x0
SRTunnelID: Invalid
SID Type: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid StatFlags: 0x0
Exp: N/A
VpnPeerId: N/A Dscp: N/A
SID: N/A
BkSID: N/A
CommBlockLen: 0
# 在Router B上查看10::1/128的路由信息,可以看到備份下一跳信息。
[RouterB] display ipv6 routing-table 10::1 128 verbose
Summary count : 1
Destination: 10::1/128
Protocol: IS_L1
Process ID: 1
SubProtID: 0x1 Age: 00h33m23s
Cost: 10 Preference: 15
IpPre: N/A QosLocalID: N/A
Tag: 0 State: Active Adv
OrigTblID: 0xa OrigVrf: default-vrf
TableID: 0xa OrigAs: 0
NibID: 0x24000006 LastAs: 0
AttrID: 0xffffffff Neighbor: ::
Flags: 0x10041 OrigNextHop: FE80::34CC:E8FF:FE5B:C02
Label: NULL RealNextHop: FE80::34CC:E8FF:FE5B:C02
BkLabel: NULL BkNextHop: FE80::7685:45FF:FEAD:102
SRLabel: NULL Interface: GigabitEthernet0/0/2
BkSRLabel: NULL BkInterface: GigabitEthernet0/0/1
Tunnel ID: Invalid IPInterface: GigabitEthernet0/0/2
BkTunnel ID: Invalid BkIPInterface: GigabitEthernet0/0/1
InLabel: 0 ColorInterface: N/A
SIDIndex: 0 BkColorInterface: N/A
FtnIndex: 0x0 TunnelInterface: N/A
TrafficIndex: N/A BkTunnelInterface: N/A
Connector: N/A PathID: 0x0
SRTunnelID: Invalid
SID Type: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid StatFlags: 0x0
Exp: N/A
VpnPeerId: N/A Dscp: N/A
SID: N/A
BkSID: N/A
CommBlockLen: 0
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!