05-IS-IS配置
本章節下載: 05-IS-IS配置 (1.62 MB)
目 錄
1.4.3 配置路由器的Level級別和接口的鏈路鄰接關係類型
1.7.7 配置IS-IS對接收的路由是否加入IP路由表進行過濾
1.7.10 配置允許設備將IS-IS鏈路狀態信息發布到BGP
1.11.1 配置在P2P接口上建立鄰接關係必須在同一網段的檢查功能
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)、SystemID和SEL三個部分組成:
· HO-DSP用來分割區域。
· SystemID用來區分主機。
· 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來保證。
· 由於Circuit ID為一個字節,因此廣播網絡中設備能夠建立的鄰居數量不能超過255個。當所需要建立鄰居的廣播鏈路數量超過255個時,則超出部分的廣播鏈路上不能建立IS-IS鄰居關係。
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 |
222 |
MT-ISN |
LSP |
229 |
M-Topologies |
IIH,、LSP |
235 |
MT IP. Reach |
LSP |
237 |
MT IPv6 IP. Reach |
LSP |
其中,Code值從1到10的CLV在ISO 10589中定義(有2類未在上表中列出),128到132的CLV在RFC 1195中定義,多拓撲相關CLV在RFC 5120中定義。
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 4972:Routing Extensions for Discovery of Multiprotocol (MPLS) Label Switch Router (LSR) Traffic Engineering (TE) Mesh Membership
· 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 5305:IS-IS Extensions for Traffic Engineering
· 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 7810:IS-IS Traffic Engineering (TE) Metric Extensions
· 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支持IPv4單播拓撲
(3) (可選)配置IS-IS路由信息控製
(4) (可選)配置IS-IS定時器
¡ 配置SPF參數
(5) (可選)配置IS-IS報文相關功能
(6) (可選)限製LSP泛洪
(7) (可選)配置IS-IS高級功能
¡ 配置ATT連接位
(8) (可選)配置IS-IS日誌和告警功能
(9) (可選)配置IS-IS快速收斂
¡ 配置ISPF
¡ 配置前綴抑製
¡ 配置PIC
(10) (可選)提高IS-IS網絡的安全性
¡ 配置鄰居關係驗證
¡ 配置區域驗證
¡ 配置路由域驗證
(11) (可選)提高IS-IS網絡的可靠性
IPv6 IS-IS配置任務如下:
(1) 配置IS-IS基本功能
b. (可選)配置路由器的Level級別和接口的鏈路鄰接關係類型
c. (可選)配置接口網絡類型
(2) (可選)配置IS-IS支持IPv6單播拓撲
(3) (可選)配置IS-IS路由信息控製
(4) (可選)配置IS-IS定時器
¡ 配置SPF參數
(5) (可選)配置IS-IS報文相關功能
(6) (可選)限製LSP泛洪
(7) (可選)配置IS-IS高級功能
¡ 配置ATT連接位
(8) (可選)配置IS-IS日誌和告警功能
(9) (可選)配置IS-IS快速收斂
¡ 配置ISPF
¡ 配置前綴抑製
¡ 配置PIC
(10) (可選)提高IS-IS網絡的安全性
¡ 配置鄰居關係驗證
¡ 配置區域驗證
¡ 配置路由域驗證
(11) (可選)提高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)網絡,如ATM,需對其配置子接口,並將子接口類型配置為點到點網絡或廣播網絡。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口的網絡類型為P2P。
isis circuit-type p2p
缺省情況下,路由器接口網絡類型根據物理接口決定 。
僅當接口的網絡類型為廣播網,且隻有兩台路由器接入該廣播網時才需要進行該項配置,並且兩台路由器都要進行此項配置。
對於傳統的路由技術,一個物理拓撲是依靠路由來建立邏輯結構的,同一目的的不同業務報文必然是通過相同的鏈路來進行轉發。雖然可以通過策略路由來改變下一跳,或者是通過TE來進行流量的規劃,但是MTR提供了另一個選擇。與策略路由相比,MTR的優勢在於是基於拓撲而不是下一跳。與TE相比,MTR的部署要更方便一些。MTR的實現是在某一個地址族中(如:IPv4),進行一個全拓撲計算的同時,按照拓撲號將全拓撲分為多子拓撲,對於不同的流量可以通過不同的子拓撲進行轉發。
圖1-7 IS-IS支持IPv4單播拓撲功能示意圖
如圖1-7所示,可以根據需要對全局拓撲進行劃分,分為多個子拓撲,這樣不同的流量就可以走不同的拓撲。例如,語音流可以走子拓撲A,視頻流可以走子拓撲B。
對於子拓撲A而言,Router B並不存在;而對於子拓撲B而言,它認為Router A和Router D之間,以及Router B和Router C之間並沒有可用的鏈路相連。每一個單獨的拓撲都根據路由協議計算出自己的路由,屬於本拓撲的流量則根據本拓撲的路由表進行轉發。
本特性的支持情況與設備型號有關,請以設備的實際情況為準。
設備型號 |
主控板類型 |
說明 |
MSR5620 |
MPU-60 |
支持 |
MSR 56-60 MSR 56-80 |
MPU-100 |
支持 |
MPU-100-X1 |
支持 |
|
MPU-100-G |
不支持 |
在配置IS-IS支持IPv4單播拓撲之前,需要配置MTR,關於MTR的詳細配置過程,請參見“三層技術-IP路由配置指導”中的“MTR”。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ]
(3) 配置IS-IS的Wide Metric屬性。
cost-style { compatible | wide | wide-compatible }
缺省情況下,IS-IS隻收發采用narrow方式的報文。
(4) 進入IPv4地址族視圖。
address-family ipv4 [ unicast ]
(5) 創建IS-IS IPv4單播拓撲,並進入IS-IS IPv4單播拓撲視圖。
topology topo-name tid tid
(6) 在接口的指定拓撲中使能IS-IS功能。
a. 退回IPv4地址族視圖。
quit
b. 退回IS-IS視圖。
quit
c. 退回係統視圖。
quit
d. 進入接口視圖。
interface interface-type interface-number
e. 進入接口IPv4單播拓撲視圖。
topology ipv4 [ unicast ] topo-name
f. 在接口的指定拓撲中使能IS-IS功能。
isis topology enable
缺省情況下,接口未使能拓撲的IS-IS功能。
IPv6 IS-IS和IPv4 IS-IS使用同樣的最短路徑進行路由計算,IPv4和IPv6的混合拓撲被看成是一個集成的拓撲,這就要求所有IPv4和IPv6的拓撲信息必須一致。但是IPv4和IPv6協議在網絡中的部署可能不一致,IPv4和IPv6的拓撲信息可能不同。當一些路由器和鏈路不支持IPv6協議時,支持雙協議棧的路由器因為無法感知到這些路由器和鏈路不支持IPv6,仍然會把IPv6報文轉發給它們,這就導致IPv6報文由於無法轉發而被丟棄。
IS-IS MTR(Multi-Topology Routing,多拓撲路由)的功能之一就是實現IS-IS支持IPv6單播拓撲,即IPv4和IPv6分拓撲計算,從而解決上麵的問題。關於MTR的介紹,請參見“三層技術-IP路由配置指導”中的“MTR”。
圖1-8 IS-IS支持IPv6單播拓撲功能示意圖
如圖1-8所示,圖中的數值表示對應鏈路上的開銷值;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) 進入接口視圖或接口IPv4單播拓撲視圖。
¡ 進入接口視圖。
interface interface-type interface-number
¡ 請依次執行以下命令進入接口IPv4單播拓撲視圖。
interface interface-type interface-number
topology ipv4 [ unicast ] topo-name
(6) 配置IS-IS接口的鏈路開銷值。
isis cost cost-value [ level-1 | level-2 ]
缺省情況下,未配置IS-IS接口的鏈路開銷值。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖或IS-IS IPv4單播拓撲視圖。
¡ 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(3) 全局配置IS-IS的鏈路開銷值。
circuit-cost cost-value [ level-1 | level-2 ]
缺省情況下,未全局配置IS-IS的鏈路開銷值。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖或IS-IS IPv4單播拓撲視圖。
¡ 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(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 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 { wide | wide-compatible }
缺省情況下,IS-IS隻收發采用narrow方式的報文。
(4) 進入IPv6地址族視圖。
address-family ipv6 [ unicast ]
(5) 使能自動計算接口鏈路開銷值功能。
auto-cost enable
缺省情況下,自動計算接口鏈路開銷值功能處於關閉狀態。
(6) (可選)配置IPv6 IS-IS自動計算鏈路開銷值時依據的帶寬參考值。
bandwidth-reference value
缺省情況下,帶寬參考值為100Mbps。
一台路由器可同時運行多個路由協議,當多個路由協議都發現到同一目的地的路由時,將選用高優先級路由協議所發現的路由。
以下配置用來為IS-IS路由設置優先級,使用路由策略可以為特定的路由設置特定的優先級,路由策略的相關知識請參見“三層技術-IP路由配置指導”中的“路由策略”。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖或IS-IS IPv4單播拓撲視圖。
¡ 請依次執行以下命令進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(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 { route-policy route-policy-name | preference } *
缺省情況下,IPv6 IS-IS路由優先級為15。
如果到一個目的地有幾條開銷相同的路徑,可以通過等價路由負載分擔來提高鏈路利用率。該配置用以設置IS-IS協議的最大等價路由條數。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖或IS-IS IPv4單播拓撲視圖。
¡ 請依次執行以下命令進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(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單播地址族視圖或IS-IS IPv4單播拓撲視圖。
¡ 請依次執行以下命令進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(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發布出去,其它同級別的路由器中將在自己的路由表中新增一條缺省路由。
當現網中有大量設備時,配置IS-IS發布缺省路由的方式比配置缺省靜態路由的方式更靈活。例如,如果在IS-IS路由域中存在多台邊界設備,那麼可以通過配置路由策略,使某台邊界設備在滿足條件時才發布缺省路由,從而避免造成路由黑洞。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖或IS-IS IPv4單播拓撲視圖。
¡ 請依次執行以下命令進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(3) 配置IS-IS發布Level-1或Level-2級別的缺省路由。
default-route-advertise [ [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name ] *
缺省情況下,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發布缺省路由後,IS-IS域內的其他設備將去往外部路由域的流量轉發到該設備,然後通過該設備去往外部路由域。當大量流量被轉發到發布缺省路由的邊界設備時,會導致該設備負擔過重。另外,IS-IS域中有多台邊界設備時,會存在去往其他路由域的最優路由的選擇問題。通過讓IS-IS域內的其他設備獲悉全部或部分外部路由的方法可以解決上述問題。
IS-IS引入IGP路由協議的路由或BGP路由協議的路由時,可指定引入路由的缺省開銷。IS-IS通過ACL、IP地址前綴列表或路由策略可以對引入的路由信息進行過濾,隻有滿足條件的路由信息才能加入到IS-IS路由表中,否則不能加入到IS-IS路由表中。沒有加入IS-IS路由表的路由將不會通過LSP發布出去。
在實際組網環境中,每台路由器的性能即處理能力不同,如果在處理能力強的高端設備上引入大量外部路由,那麼可能會對網絡上其它低端設備的性能造成較大的衝擊,網絡管理員可以通過配置支持的最大引入路由條數,限製引入外部路由的條數,從而最終限製發布路由的數量。
隻能引入路由表中狀態為active的路由,是否為active狀態可以通過display ip routing-table protocol命令來查看。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖或IS-IS IPv4單播拓撲視圖。
¡ 請依次執行以下命令進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(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 bgp [ as-number ] [ allow-ibgp ] inherit-cost [ [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *
import-route { direct | static | unr } [ 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 | unr } inherit-cost [ [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *
import-route eigrp [ eigrp-as | all-as ] [ allow-direct | cost cost-value | cost-type { external | internal } | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *
import-route eigrp [ eigrp-as | all-as ] inherit-cost [ allow-direct | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *
import-route rip [ process-id | all-processes ] [ allow-direct | cost cost-value | cost-type { external | internal } | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *
import-route rip [ process-id | all-processes ] inherit-cost [ allow-direct | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *
import-route { isis | ospf } [ 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 ] *
import-route { isis | ospf } [ process-id | all-processes ] inherit-cost [ allow-direct | [ level-1 | level-1-2 | level-2 ] | no-sid | route-policy route-policy-name | tag tag ] *
缺省情況下,IPv4 IS-IS不從其它路由協議或其它IS-IS進程引入路由信息。
(4) (可選)配置引入Level1/Level2的IPv4路由最大條數。
import-route limit number
缺省情況下,引入Level1/Level2的路由條數為設備所支持最大值。
(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 bgp4+ [ as-number ] [ allow-ibgp ] [ [ cost cost-value | inherit-cost ] | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *
import-route { direct | static } [ [ cost cost-value | inherit-cost ] | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] *
import-route { isisv6 | ospfv3 | ripng } [ process-id ] [ allow-direct | [ cost cost-value | inherit-cost ] | [ 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
缺省情況下,引入Level1/Level2的路由條數為設備所支持最大值。
運行IS-IS的路由器會把從鄰居收到的LSP保存到自己維護的鏈路狀態數據庫中,使用SPF算法計算出以自己為根的最短路徑樹,並把計算好的路由信息加入到IS-IS路由表中,最終把最優路由加入到IP路由表中。
通過ACL、IP地址前綴列表或路由策略可以對將要加入到IP路由表中的路由進行過濾,滿足條件則加入到IP路由表中,否則將不能加入到IP路由表中。沒有加入IP路由表的路由仍然在IS-IS路由表中,可以通過LSP發布出去。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖或IS-IS IPv4單播拓撲視圖。
¡ 請依次執行以下命令進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(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可以從其它路由協議或其它IS-IS進程引入路由信息,把它直接加入到IS-IS的路由表中並通過LSP發布出去。
通過ACL、IP地址前綴列表或路由策略可以對引入的路由信息進行過濾,滿足條件加入到IS-IS路由表中,否則將不能加入到IS-IS路由表中。沒有加入IS-IS路由表的路由將不會通過LSP發布出去。
本命令一般和import-route命令結合使用。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖或IS-IS IPv4單播拓撲視圖。
¡ 請依次執行以下命令進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(3) 配置IS-IS對引入的路由信息進行過濾。
filter-policy { ipv4-acl-number | prefix-list prefix-list-name | route-policy route-policy-name } export [ bgp | direct | eigrp [ eigrp-as ] | { 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對引入的路由進行過濾。
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不對引入的路由信息進行過濾。
當網絡中同時部署了Level-1區域和Level-2區域時,缺省情況下,Level-2路由器不會將自己知道的其他Level-1區域以及Level-2區域的路由信息發布到Level-1區域。這樣,Level-1路由器不了解本區域以外的路由信息,隻將去往其他區域的報文發送到最近的Level-1-2路由器,所以可能導致對本區域之外的目的地址無法選擇最佳的路由。
路由滲透功能通過在Level-1-2路由器上定義路由策略、Tag標記等方式,將符合條件的路由篩選出來,然後將其他Level-1區域和骨幹區域的部分路由信息發布到自己所在的Level-1區域,使得Level-1區域能夠獲得全網的路由信息。
例如,如圖1-9所示,Device A發送報文給Device F的最佳路徑應該是Device A->Device B-> Device D-> Device E-> Device F,該路徑的開銷值為40。但是Device A上查看到達Device F的路徑是Device A->Device C-> Device E-> Device F,其開銷值為70,是一條次優路徑。
這是由於Device A不知道本區域外部的路由,所以發往非本區域網段的報文都是由最近的Level-1-2路由器轉發出去。這種情況下,分別在Device C和Device D上配置路由滲透功能後,Device A到達Device F的路徑將變為Device A->Device B-> Device D-> Device E-> Device F。
通過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單播地址族視圖或IS-IS IPv4單播拓撲視圖。
¡ 請依次執行以下命令進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(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 } | 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 } | 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進行路由滲透。
本功能允許設備將鏈路狀態信息發布到BGP,由BGP向外發布,以滿足需要知道鏈路狀態信息的應用的需求。BGP LS的相關內容請參見“三層技術-IP路由配置指導”中的“BGP”。
如果兩台設備間存在多個IS-IS P2P鄰居,請開啟IS-IS進程的MPLS TE能力,將本地接口的IP地址添加到鏈路狀態信息中,以便BGP區分不同的PPP鏈路。關於MPLS TE的詳細介紹,請參見“MPLS配置指導”中的“MPLS TE”。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 配置允許設備將IS-IS鏈路狀態信息發布到BGP。
distribute bgp-ls [ instance-id id ] [ level-1 | level-2 ]
缺省情況下,不允許設備將IS-IS鏈路狀態信息發布到BGP。
配置接口鏈路標記的設備和開啟IPv6 IS-IS鏈路標記繼承功能的設備相互配合,可以實現路由篩選。具體機製如下:
(1) 設備上配置了IPv6 IS-IS接口的鏈路標記後,該設備將發布攜帶鏈路標記的LSP。
(2) 開啟IPv6 IS-IS鏈路標記繼承功能的設備收到攜帶鏈路標記的LSP時,設備將提取並繼承LSP中的鏈路標記值。如果設備提取到了多個鏈路標記值(假設為tag 1、tag 2、tag n),設備將根據一定的規則選取其中一個(假設為tag 1)進行繼承。設備計算出來的到達某個目的地的路徑包含攜帶鏈路標記的鏈路時,將該路由的路由標記設置為tag 1,借助路由標記可以實現路由篩選。
上述機製通常用於域內SAVA(Source Address Validation Architecture,源地址驗證架構)場景。該場景中,如果局域網存在多個網關設備,那麼這些設備上的IPv6 SAVA表項需要保持一致,以避免用戶的合法報文被錯誤丟棄。具體機製如下:
(1) 需要發布IPv6 SAVA表項的網關設備上,在靠近用戶側接口上開啟接口鏈路標記功能。
(2) 在接收IPv6 SAVA表項的網關設備上開啟鏈路標記繼承功能。當該設備計算出來的IPv6 IS-IS路由條目的路由標記與自身為遠端路由指定的路由標記相同時,設備將使用IPv6 IS-IS路由的目的前綴生成IPv6 SAVA表項,從而實現IPv6 SAVA表項的同步。
關於SAVA功能以及IPv6 SAVA表項的詳細介紹,請參見“安全配置指導”中的“SAVA”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置IPv6 IS-IS接口的鏈路標記。
isis ipv6 link-tag tag
缺省情況下,未配置接口的鏈路標記。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
(3) 進入IPv6地址族視圖。
address-family ipv6 [ unicast ]
(4) 開啟IPv6 IS-IS的鏈路標記繼承功能。
link-tag inherit enable
缺省情況下,IPv6 IS-IS鏈路標記繼承功能處於關閉狀態。
IS-IS協議通過收發Hello報文來維護與相鄰設備的鄰居關係,如果路由器在鄰居關係保持時間內(即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秒。
根據本地維護的LSDB,運行IS-IS協議的路由器通過SPF算法計算出以自己為根的最短路徑樹,並根據這一最短路徑樹決定到目的網絡的下一跳。通過調節SPF的計算間隔,可以抑製網絡頻繁變化可能導致的占用過多帶寬資源和路由器資源。
本命令在網絡變化不頻繁的情況下將連續路由計算的時間間隔縮小到minimum-interval,而在網絡變化頻繁的情況下可以進行相應懲罰,增加incremental-interval×2n-2(n為連續觸發路由計算的次數),將等待時間按照配置的懲罰增量延長,最大不超過maximum-interval。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖或IS-IS IPv4單播拓撲視圖。
¡ 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(3) 配置IPv4 IS-IS路由計算時間間隔。
timer spf maximum-interval [ minimum-interval [ incremental-interval ] ]
缺省情況下,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 ] ]
缺省情況下,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。
管理標記特性允許在IS-IS域中通過管理標記對地址前綴進行控製,達到簡化管理的目的。
如圖1-10所示,Device A需要與處於其他Level-1區域的Device B、Device C、Device D相互通信。為了保證信息安全,其他Level-1區域內的設備不能收到Device A發送的報文。為了達到此目的,可以在Device B、Device C、Device D上使能了IS-IS的接口配置相同的管理標記值tag。然後在Area 4的Level-1-2設備上將Level-2區域的路由信息滲透到Level-1區域時,需要匹配指定的tag。這樣就可以滿足Device A僅與其他Level-1區域中的Device B、Device C、Device D進行通信的目的。此時,在Device A上形成的拓撲結構如圖1-11所示。
圖1-10 IS-IS組網示意圖
圖1-11 IS-IS管理標記應用示意圖
(1) 進入係統視圖。
system-view
(2) 進入接口視圖或接口IPv4單播拓撲視圖。
¡ 進入接口視圖。
interface interface-type interface-number
¡ 請依次執行以下命令進入接口IPv4單播拓撲視圖。
interface interface-type interface-number
topology ipv4 [ unicast ] topo-name
(3) 配置接口的管理標記值。
isis tag tag
缺省情況下,未配置接口的管理標記值。
僅當IS-IS開銷值類型為wide、wide-compatible或compatible時,IS-IS才會在發布的LSP的IPv4網段地址信息中攜帶tag值。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口的管理標記值。
isis ipv6 tag tag
缺省情況下,未配置接口的管理標記值。
無論IS-IS使用何種開銷值類型,IS-IS均會在發布的LSP的IPv6地址前綴信息中攜帶tag值。
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快速擴散功能處於關閉狀態。
當LSP容量不足時,新引入的路由以及新增的TLV均無法添加到LSP中。此時,可以使用LSP分片擴展功能擴大LSP容量,當LSP容量擴大時,IS-IS會自動嚐試將引入失敗的路由以及添加失敗的TLV重新添加到LSP中。
LSP分片擴展功能可以使IS-IS設備生成更多的LSP分片,用來攜帶更多的IS-IS信息。
LSP分片擴展功能涉及如下基本概念:
· 初始係統(Originating System):實際運行IS-IS協議的進程。
· 初始係統ID(Normal System ID):初始係統的係統ID。
· 虛擬係統ID(Additional System ID):虛擬係統ID由用戶配置。虛擬係統ID和初始係統ID一樣,在整個路由域中必須唯一。
· 虛擬係統(Virtual System):由虛擬係統ID標識的係統,用來生成擴展LSP分片。擴展LSP分片的LSP ID中攜帶虛擬係統ID。
· 24號TLV(IS Alias ID TLV):用來表示初始係統與虛擬係統的關係。
一個IS-IS進程最多可以產生256個分片,能夠攜帶的路由數量有限。分片擴展功能通過增加虛擬係統ID,IS-IS進程可以生成更多的LSP分片。每個虛擬係統ID都允許生成256個擴展的LSP分片。配置虛擬係統和分片擴展功能後,IS-IS會將初始係統發布的LSP報文無法裝下的內容,放入虛擬係統的LSP中發出,並在LSP中添加IS Alias ID TLV來聲明此虛擬係統和初始係統的關係。
如圖1-12所示,Device A和Device B均支持LSP分片擴展功能。在Device A上配置LSP分片擴展功能後,Device A將一部分路由信息放入Device A1和Device A2的LSP報文中向外發送。當Device B收到Device A1和Device A2發送的LSP時,Device B通過IS Alias ID TLV判斷出報文的初始係統是Device A,則把Device A1和Device A2發布的信息均視為Device A的信息。這種情況下,虛擬係統不參與路由計算。
圖1-12 IS-IS 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。
在ATM、FR等NBMA網絡中,如果網絡聯通程度較高、網絡中存在多條點到點鏈路時,如圖1-13所示,Router A、Router B、Router C和Router D均使能了IS-IS,Router A新生成一個LSP時,將把該LSP分別從Serial2/1/0、Serial2/1/1和Serial2/1/2泛洪出去,Router D從Serial2/1/2收到Router A發送的LSP後,也會把該LSP從Serial2/1/0和Serial2/1/1發送給Router B和Router C,而Router B和Router C已經從Serial2/1/0、Serial2/1/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且接口不阻塞。
以上配置隻對點到點類型鏈路的接口起作用。
當接口的網絡類型為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:中優先級。
· Low:低優先級。
IS-IS路由收斂的優先級越高收斂的速度越快。
配置IS-IS路由收斂優先級後,IS-IS按照如下機製設置路由的收斂優先級。
· 對於已經存在的IS-IS路由,IS-IS按照prefix-priority命令重新設置路由的收斂優先級。
· 對於新增加的IS-IS路由,IS-IS按照prefix-priority命令的過濾結果設置路由的收斂優先級。
· 如果一條路由符合多個收斂優先級的匹配規則,則這些收斂優先級中最高者當選為路由的收斂優先級。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖或IS-IS IPv4單播拓撲視圖。
¡ 請依次執行以下命令進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(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路由收斂的優先級為低優先級。
IS-IS使用過載標誌位來標識過載狀態。IS-IS過載標誌位是指LSP報文中的OL位。對設備設置過載標誌位後,其他設備在進行SPF計算時不會使用這台設備做轉發,隻計算該設備上的直連路由。
當運行IS-IS的路由器因為內存不足或其他原因無法記錄完整的LSDB時,將會導致區域路由的計算錯誤,在故障排除過程中,通過給懷疑有問題的路由器設置過載標誌位,可以將其從IS-IS網絡中暫時隔離,便於進行故障定位。
如圖1-14所示,正常情況下,Device A到達IP network網段的報文由Device D轉發。當Device D發送的LSP報文中的過載標誌位置位後,Device A到達IP network網段的報文將通過Device B、Device C轉發到IP network網段,但轉發到Device D直連網段的報文則不受影響。
圖1-14 LSDB過載示意圖
同時存在IPv4和IPv6拓撲時,在不同的視圖下配置set-overload命令的生效範圍與是否配置multi-topology命令有關,具體如下:
· 如果未配置multi-topology命令,則在IS-IS視圖下配置set-overload命令後,同時對IPv4 IS-IS和IPv6 IS-IS生效。
· 如果未配置multi-topology命令,並且未在IS-IS視圖下配置set-overload命令,則在IS-IS IPv6單播地址族視圖下配置set-overload命令後,不會對IPv6 IS-IS生效。
· 如果配置了multi-topology命令,則在IS-IS視圖下配置set-overload命令後,僅對IPv4 IS-IS生效。需要在IS-IS IPv6單播地址族視圖下配置set-overload命令,才會對IPv6 IS-IS生效。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖或IS-IS IPv4單播拓撲視圖。
¡ 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(3) 配置過載標誌位。
set-overload [ on-startup [ [ start-from-nbr system-id [ timeout1 [ nbr-timeout ] ] ] | timeout2 | wait-for-bgp [ timeout3 ] ] ] [ allow { external | interlevel } * ]
缺省情況下,未配置過載標誌位。
(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單播拓撲。
(6) 配置IPv6拓撲的LSDB過載標誌位。
set-overload [ on-startup [ [ start-from-nbr system-id [ timeout1 [ nbr-timeout ] ] ] | timeout2 | wait-for-bgp4+ [ timeout3 ] ] ] [ allow { external | interlevel } * ]
缺省情況下,未配置過載標誌位。
Isolate是一種對網絡設備進行軟件或硬件維護的方式。Isolate使用網絡中的冗餘路徑,平滑移除需要維護的設備。當完成設備維護後,關閉Isolate功能可以讓該設備重新投入使用。
當用戶需要對網絡中某台設備的IS-IS協議進行升級時,為了不對當前網絡中通過該設備發布的IS-IS路由指導轉發的流量產生影響,可以使用IS-IS isolate功能把該設備上的IS-IS協議從當前網絡中隔離出來。具體工作機製如下:
(1) 開啟IS-IS isolate功能後,IS-IS發布的LSP報文中的過載標誌位置位,並將IS-IS接口的鏈路開銷值調整為16777214,以便鄰居重新進行路徑優選。
(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計算出等價路由時,將同一前綴的等價路由組合起來一次性下發給路由管理,從而避免逐條下發各條等價路由,加快收斂速度。
本功能適用於存在大量IS-IS等價路由且不同前綴都具有相同的等價下一跳場景中。例如,IS-IS學到了1萬條不同的路由前綴且每條前綴都具有1.1.1.1~1.1.1.16的16個下一跳。缺省情況下,IS-IS會向路由管理分別下發各條等價路由,開啟本功能後,IS-IS會將等價路由組合起來統一下發給路由管理,從而加快收斂速度。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS IPv4單播地址族視圖或IS-IS IPv4單播拓撲視圖。
¡ 請依次執行以下命令進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(3) 開啟IPv4 IS-IS等價路由組功能。
ecmp-group enable
缺省情況下,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等價路由組功能。
ecmp-group enable
缺省情況下,IPv6 IS-IS等價路由組功能處於關閉狀態。
在IS-IS網絡中,鄰居關係震蕩會導致網絡不穩定、網絡頻繁收斂消耗設備資源,甚至可能會造成用戶流量丟失。因此,當出現鄰居關係震蕩時,必須盡快定位並解決。
為了方便在出現鄰居關係震蕩時及時定位問題,可以打開IS-IS鄰接狀態變化的輸出開關,將鄰居狀態變化信息記錄到日誌中。
打開鄰接狀態輸出開關後,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視圖或IS-IS IPv4單播拓撲視圖。
¡ 進入IS-IS視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(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) 進入接口視圖或接口IPv4單播拓撲視圖。
¡ 進入接口視圖。
interface interface-type interface-number
¡ 請依次執行以下命令進入接口IPv4單播拓撲視圖。
interface interface-type interface-number
topology ipv4 [ unicast ] topo-name
(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報文源地址。
建議配置本命令,且配置的源IP地址不屬於該設備任何一個接口所在網段,以避免對端發送大量的ICMP重定向報文造成網絡擁塞。
本命令的詳細情況請參見“可靠性命令參考”中的“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 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報文進行驗證密鑰的檢查。
所有骨幹層(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失敗。
IS-IS GR特性與IS-IS NSR特性互斥,不能同時配置。
配置GR定時器時請遵循以下規則,否則將導致定時器配置失敗:
· T1定時器超時值×超時次數小於T2定時器的超時值。
· T2定時器超時值小於T3定時器的超時值。
(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(Nonstop Routing,不間斷路由)就是為了解決GR特性的一些缺陷和使用場景限製而實現的一種新特性。NSR將IS-IS鏈路狀態信息從主進程備份到備進程,在發生主備倒換時不需要周邊設備配合就可以完成鏈路狀態的恢複和路由的重新生成。
IS-IS NSR與IS-IS GR具有如下區別,請根據實際情況選擇合適的方式確保數據轉發不中斷:
· 對設備要求不同:IS-IS協議的主進程和備進程運行在不同的主控板或IRF成員設備上,因此要運行IS-IS NSR功能,必須有兩個或兩個以上的主控板;要運行IS-IS GR功能,可以隻有一個主控板。(分布式設備)
· 對IS-IS鄰居的要求不同:使用IS-IS NSR功能時,IS-IS鄰居不會感知本地設備發生了IS-IS進程的異常重啟或主備倒換等故障,不需要IS-IS鄰居協助恢複IS-IS路由信息。IS-IS GR要求IS-IS鄰居具有GR Helper能力,協助GR Restarter完成GR流程。
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。
isis bfd enable
缺省情況下,IPv4 IS-IS的BFD功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 在指定接口上使能IPv6 IS-IS BFD。
isis ipv6 bfd enable
缺省情況下,IPv6 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 FRR流量保護類型分為:
· 鏈路保護:當需要保護的對象是經過特定鏈路的流量時,流量保護類型為鏈路保護。
· 節點保護:當需要保護的對象是經過特定設備的流量時,流量保護類型為節點保護。
節點保護優先級高於鏈路保護。
當IS-IS網絡中的鏈路或某台路由器發生故障時,需要通過故障鏈路或故障路由器傳輸才能到達目的地的報文將會丟失,數據流量將會中斷,直到IS-IS根據新的拓撲網絡路由收斂完畢後,被中斷的流量才能恢複正常的傳輸。
為了盡可能縮短網絡故障導致的流量中斷時間,網絡管理員可以配置IS-IS快速重路由功能。
圖1-15 IS-IS快速重路由功能示意圖
如圖1-15所示,通過在Router B上使能快速重路由功能,IS-IS將為路由計算或指定備份下一跳,當Router B檢測到網絡故障時,IS-IS會使用事先獲取的備份下一跳替換失效下一跳,通過備份下一跳來指導報文的轉發,從而大大縮短了流量中斷時間。在使用備份下一跳指導報文轉發的同時,IS-IS會根據變化後的網絡拓撲重新計算最短路徑,網絡收斂完畢後,使用新計算出來的最優路由來指導報文轉發。
網絡管理員可以配置給所有IS-IS路由通過LFA(Loop Free Alternate)算法選取備份下一跳,也可以在路由策略中指定備份下一跳,為符合過濾條件的路由指定備份下一跳。
IS-IS快速重路由通過LFA(Loop Free Alternate)算法選取備份下一跳功能與IS-IS TE特性互斥。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖或接口IPv4單播拓撲視圖。
¡ 進入接口視圖。
interface interface-type interface-number
¡ 請依次執行以下命令進入接口IPv4單播拓撲視圖。
interface interface-type interface-number
topology ipv4 [ unicast ] topo-name
(3) (可選)禁止接口參與LFA計算。
isis fast-reroute lfa-backup exclude [ level-1 | level-2 ]
缺省情況下,接口參與LFA計算,能夠被選為備份接口。
(4) 退回係統視圖。
quit
如果是在接口IPv4單播拓撲視圖下,需要執行兩次quit命令才能退回係統視圖。
(5) 進入IS-IS IPv4單播地址族視圖或IS-IS IPv4單播拓撲視圖。
¡ 請依次執行以下命令進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(6) 配置IS-IS支持快速重路由功能(通過LFA算法選取備份下一跳信息)。
fast-reroute lfa [ level-1 | level-2 ]
缺省情況下,IS-IS支持快速重路由功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖或接口IPv4單播拓撲視圖。
¡ 進入接口視圖。
interface interface-type interface-number
¡ 請依次執行以下命令進入接口IPv4單播拓撲視圖。
interface interface-type interface-number
topology ipv4 [ unicast ] topo-name
(3) (可選)禁止接口參與LFA計算。
isis fast-reroute lfa-backup exclude [ level-1 | level-2 ]
缺省情況下,接口參與LFA計算,能夠被選為備份接口。
(4) 退回係統視圖。
quit
如果是在接口IPv4單播拓撲視圖下,需要執行兩次quit命令才能退回係統視圖。
(5) 進入IS-IS IPv4單播地址族視圖或IS-IS IPv4單播拓撲視圖。
¡ 請依次執行以下命令進入IS-IS IPv4單播地址族視圖。
isis [ process-id ] [ vpn-instance vpn-instance-name ]
address-family ipv4 [ unicast ]
¡ 請依次執行以下命令進入IS-IS IPv4單播拓撲視圖。
isis [ process-id ]
cost-style { compatible | wide | wide-compatible }
address-family ipv4 [ unicast ]
topology topo-name tid tid
(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報文源地址。
建議配置本命令,且配置的源IP地址不屬於該設備任何一個接口所在網段,以避免對端發送大量的ICMP重定向報文造成網絡擁塞。
本命令的詳細情況請參見“可靠性命令參考”中的“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 [ 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報文源地址。
建議配置本命令,且配置的源IPv6地址不屬於該設備任何一個接口所在網段,以避免對端發送大量的ICMPv6重定向報文造成網絡擁塞。
本命令的詳細情況請參見“可靠性命令參考”中的“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-16所示,鏈路中間的數字表示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-16中,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-16 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 } preference preference [ level-1 | level-2 ]
缺省情況下,最小開銷路徑優選方案的優先級為20,節點保護優選方案的優先級為40。
如果設備通過質量差的鏈路轉發IS-IS報文,可能會出現報文發送緩慢、報文被丟棄等情況。本功能用於盡可能減小質量差的鏈路對IS-IS網絡的影響。
以下兩種因素會影響鏈路的質量等級:
· 誤碼。誤碼是指通信設備接收到的信號與源信號之間存在比特差錯。由於不可避免的線路老化、光路抖動等原因,誤碼是不能從根本上避免的。當誤碼積累到一定程度可能導致服務等級降低,甚至停止服務。鏈路質量檢測模塊會根據誤碼率調整鏈路質量等級。關於誤碼的詳細介紹,請參見“可靠性配置指導”中的“誤碼檢測”。
· 單板健康度。單板因不同的原因出現故障時,會影響單板健康度。鏈路質量檢測模塊會根據單板健康度調整鏈路質量等級。關於硬件檢測功能的詳細介紹,請參見“基礎配置指導”中的“設備管理”。
配置本規模後,IS-IS將根據鏈路質量等級來調整接口開銷值,具體機製如下:
· 當鏈路質量檢測模塊檢測到鏈路質量變差,即鏈路質量檢測模塊將鏈路的質量等級由GOOD變為LOW時,鏈路質量檢測模塊向IS-IS上報高誤碼事件,IS-IS將接口開銷值調大。
· 當鏈路質量檢測模塊檢測到鏈路質量變好,即鏈路質量檢測模塊將鏈路的質量等級由LOW變為GOOD時,鏈路質量檢測模塊向IS-IS上報高誤碼解除事件,IS-IS將接口開銷值恢複為該接口的原始開銷值。
上述機製可以使IS-IS選擇質量等級為GOOD的鏈路轉發流量,從而盡可能減少鏈路質量對IS-IS網絡的影響。
本功能隻能調整問題鏈路在本端的開銷值,因此隻能影響單方向的路由優選和流量路徑,無法影響另一方向的路由和流量。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟IS-IS根據鏈路質量等級調整接口開銷值的功能,並設置開銷調整值。
isis [ process-id process-id ] link-quality adjust-cost { cost-offset | max }
缺省情況下,未開啟IS-IS根據鏈路質量等級調整接口開銷值的功能。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IS-IS的運行情況,用戶可以通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除IS-IS進程所有的數據結構信息。
表1-4 IPv4 IS-IS顯示和維護
操作 |
命令 |
顯示IS-IS的進程信息 |
display isis [ process-id ] |
顯示IS-IS LSP日誌信息 |
display isis event-log lsp { purged | refreshed } [ level-1 | level-2 ] * [ process-id ] |
顯示IS-IS路由計算日誌信息 |
display isis event-log spf [ ipv4 [ topology topo-name ] ] [ [ level-1 | level-2 ] | verbose ] * [ process-id ] |
顯示IS-IS GR日誌信息 |
(獨立運行模式) display isis graceful-restart event-log slot slot-number (IRF模式) display isis graceful-restart event-log chassis chassis-number slot slot-number |
顯示IS-IS協議的GR狀態 |
display isis graceful-restart status [ level-1 | level-2 ] [ 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 Mesh-Group的配置信息 |
display isis mesh-group [ process-id ] |
顯示係統ID到主機名稱的映射關係表 |
display isis name-table [ process-id ] |
顯示IS-IS NSR日誌信息 |
(獨立運行模式) display isis non-stop-routing event-log slot slot-number (IRF模式) display isis non-stop-routing event-log chassis chassis-number slot slot-number |
顯示IS-IS的NSR狀態 |
display isis non-stop-routing status |
顯示IS-IS的鄰居信息 |
display isis peer [ statistics | verbose ] [ process-id ] |
顯示IS-IS引入的IPv4路由信息 |
display isis redistribute [ ipv4 [ topology topo-name ] [ ip-address mask-lengh ] ] [ level-1 | level-2 ] [ process-id ] |
顯示IS-IS的IPv4路由信息 |
display isis route [ ipv4 [ topology topo-name ] [ ip-address mask-length ] ] [ [ level-1 | level-2 ] | verbose ] * [ process-id ] |
顯示IS-IS的IPv4拓撲信息 |
display isis spf-tree [ ipv4 [ topology topo-name ] ] [ [ level-1 | level-2 ] | [ source-id source-id | verbose ] ] * [ process-id ] |
顯示IS-IS的IPv4統計信息 |
display isis statistics [ ipv4 [ topology topo-name ] ] [ level-1 | level-1-2 | level-2 ] [ process-id ] |
顯示OSI連接的信息 |
(獨立運行模式) display osi [ slot slot-number ] (IRF模式) display osi [ chassis chassis-number slot slot-number ] |
顯示OSI連接的報文統計信息 |
(獨立運行模式) display osi statistics [ slot slot-number ] (IRF模式) display osi statistics [ chassis chassis-number slot slot-number ] |
清除IS-IS進程所有的數據結構信息 |
reset isis all [ process-id ] [ graceful-restart ] |
清除IS-IS LSP日誌信息 |
reset isis event-log lsp { purged | refreshed } [ process-id ] |
清除IS-IS路由計算日誌信息 |
reset isis event-log spf [ process-id ] |
清除IS-IS GR的日誌信息 |
(獨立運行模式) reset isis graceful-restart event-log slot slot-number (IRF模式) reset isis graceful-restart event-log chassis chassis-number slot slot-number |
清除IS-IS NSR的日誌信息 |
(獨立運行模式) reset isis non-stop-routing event-log slot slot-number (IRF模式) reset isis non-stop-routing event-log chassis chassis-number slot slot-number |
清除IS-IS指定鄰居的數據結構信息 |
reset isis peer system-id [ process-id ] |
清除OSI連接的報文統計信息 |
reset osi statistics |
表1-5 IPv6 IS-IS顯示和維護
操作 |
命令 |
顯示IS-IS的進程信息 |
display isis [ process-id ] |
顯示IS-IS LSP日誌信息 |
display isis event-log lsp { purged | refreshed } [ level-1 | level-2 ] * [ process-id ] |
顯示IS-IS的IPv6路由計算日誌信息 |
display isis event-log spf ipv6 [ [ level-1 | level-2 ] | verbose ] * [ process-id ] |
顯示IS-IS GR日誌信息 |
(獨立運行模式) display isis graceful-restart event-log slot slot-number (IRF模式) display isis graceful-restart event-log chassis chassis-number slot slot-number |
顯示IS-IS協議的GR狀態 |
display isis graceful-restart status [ level-1 | level-2 ] [ 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 lsdb statistics [ 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 NSR日誌信息 |
(獨立運行模式) display isis non-stop-routing event-log slot slot-number (IRF模式) display isis non-stop-routing event-log chassis chassis-number slot slot-number |
顯示IS-IS的NSR狀態 |
display isis non-stop-routing status |
顯示IS-IS的鄰居信息 |
display isis peer [ statistics | verbose ] [ process-id ] |
顯示IS-IS引入的IPv6路由信息 |
display isis redistribute ipv6 [ ipv6-address mask-length ] [ level-1 | level-2 ] [ process-id ] |
顯示IS-IS的IPv6路由信息 |
display isis route ipv6 [ ipv6-address ] [ [ level-1 | level-2 ] | verbose ] * [ process-id ] |
顯示IS-IS的IPv6拓撲信息 |
display isis spf-tree ipv6 [ [ level-1 | level-2 ] | [ source-id source-id | verbose ] ] * [ process-id ] |
顯示IS-IS的IPv6統計信息 |
display isis statistics ipv6 [ level-1 | level-1-2 | level-2 ] [ process-id ] |
顯示OSI連接的信息 |
(獨立運行模式) display osi [ slot slot-number ] (IRF模式) display osi [ chassis chassis-number slot slot-number ] |
顯示OSI連接的報文統計信息 |
(獨立運行模式) display osi statistics [ slot slot-number ] (IRF模式) display osi statistics [ chassis chassis-number slot slot-number ] |
清除IS-IS進程所有的數據結構信息 |
reset isis all [ process-id ] [ graceful-restart ] |
清除IS-IS LSP日誌信息 |
reset isis event-log lsp { purged | refreshed } [ process-id ] |
清除IS-IS路由計算日誌信息 |
reset isis event-log spf [ process-id ] |
清除IS-IS GR的日誌信息 |
(獨立運行模式) reset isis graceful-restart event-log slot slot-number (IRF模式) reset isis graceful-restart event-log chassis chassis-number slot slot-number |
清除IS-IS NSR的日誌信息 |
(獨立運行模式) reset isis non-stop-routing event-log slot slot-number (IRF模式) reset isis non-stop-routing event-log chassis chassis-number slot slot-number |
清除IS-IS指定鄰居的數據結構信息 |
reset isis peer system-id [ process-id ] |
清除OSI連接的報文統計信息 |
reset osi statistics |
如圖1-17所示,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-17 IS-IS基本功能配置組網圖
(1) 配置各接口的IP地址(略)
(2) 配置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 1/0/1
[RouterA-GigabitEthernet1/0/1] isis enable 1
[RouterA-GigabitEthernet1/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 1/0/1
[RouterB-GigabitEthernet1/0/1] isis enable 1
[RouterB-GigabitEthernet1/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 1/0/3
[RouterC-GigabitEthernet1/0/3] isis enable 1
[RouterC-GigabitEthernet1/0/3] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] isis enable 1
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] isis enable 1
[RouterC-GigabitEthernet1/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 1/0/1
[RouterD-GigabitEthernet1/0/1] isis enable 1
[RouterD-GigabitEthernet1/0/1] quit
[RouterD] interface gigabitethernet 1/0/2
[RouterD-GigabitEthernet1/0/2] isis enable 1
[RouterD-GigabitEthernet1/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-18所示,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-18 IS-IS的DIS選擇配置組網圖
(1) 配置各接口的IP地址(略)
(2) 配置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 gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] isis enable 1
[RouterA-GigabitEthernet1/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 1/0/1
[RouterB-GigabitEthernet1/0/1] isis enable 1
[RouterB-GigabitEthernet1/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 1/0/1
[RouterC-GigabitEthernet1/0/1] isis enable 1
[RouterC-GigabitEthernet1/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 1/0/1
[RouterD-GigabitEthernet1/0/1] isis enable 1
[RouterD-GigabitEthernet1/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: GigabitEthernet1/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: GigabitEthernet1/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: GigabitEthernet1/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 1/0/1
[RouterA-GigabitEthernet1/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: GigabitEthernet1/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: GigabitEthernet1/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: GigabitEthernet1/0/1
Index IPv4 state IPv6 state Circuit ID MTU Type DIS
00001 Up Down 1 1497 L1/L2 No/No
如圖1-19所示:
· 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-19 IS-IS引入外部路由配置組網圖
(1) 配置各接口的IP地址(略)
(2) 配置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 1/0/1
[RouterA-GigabitEthernet1/0/1] isis enable 1
[RouterA-GigabitEthernet1/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 1/0/1
[RouterB-GigabitEthernet1/0/1] isis enable 1
[RouterB-GigabitEthernet1/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 1/0/1
[RouterC-GigabitEthernet1/0/1] isis enable 1
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] isis enable 1
[RouterC-GigabitEthernet1/0/2] quit
[RouterC] interface gigabitethernet 1/0/3
[RouterC-GigabitEthernet1/0/3] isis enable 1
[RouterC-GigabitEthernet1/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 1/0/1
[RouterD-GigabitEthernet1/0/1] isis enable 1
[RouterD-GigabitEthernet1/0/1] quit
[RouterD] interface gigabitethernet 1/0/2
[RouterD-GigabitEthernet1/0/2] isis enable 1
[RouterD-GigabitEthernet1/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
(3) 在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-20所示,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-20 IS-IS驗證配置舉例圖
(1) 配置各接口的IP地址(略)
(2) 配置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 1/0/1
[RouterA-GigabitEthernet1/0/1] isis enable 1
[RouterA-GigabitEthernet1/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 1/0/1
[RouterB-GigabitEthernet1/0/1] isis enable 1
[RouterB-GigabitEthernet1/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 1/0/1
[RouterC-GigabitEthernet1/0/1] isis enable 1
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] isis enable 1
[RouterC-GigabitEthernet1/0/2] quit
[RouterC] interface gigabitethernet 1/0/3
[RouterC-GigabitEthernet1/0/3] isis enable 1
[RouterC-GigabitEthernet1/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 1/0/1
[RouterD-GigabitEthernet1/0/1] isis enable 1
[RouterD-GigabitEthernet1/0/1] quit
(3) 在Router A、Router B、Router C和Router D之間建立鄰居關係驗證
# 分別在Router A的GigabitEthernet1/0/1、Router C的GigabitEthernet1/0/3配置鄰居關係驗證,驗證方式為MD5明文,驗證密鑰為“eRg”。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] isis authentication-mode md5 plain eRg
[RouterA-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/3
[RouterC-GigabitEthernet1/0/3] isis authentication-mode md5 plain eRg
[RouterC-GigabitEthernet1/0/3] quit
# 分別在Router B的GigabitEthernet1/0/1、Router C的GigabitEthernet1/0/1配置鄰居關係驗證,驗證方式為MD5明文,驗證密鑰為“t5Hr”。
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] isis authentication-mode md5 plain t5Hr
[RouterB-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] isis authentication-mode md5 plain t5Hr
[RouterC-GigabitEthernet1/0/1] quit
# 分別在Router C的GigabitEthernet1/0/2、Router D的GigabitEthernet1/0/1配置鄰居關係驗證,驗證方式為MD5明文,驗證密鑰為“hSec”。
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] isis authentication-mode md5 plain hSec
[RouterC-GigabitEthernet1/0/2] quit
[RouterD] interface gigabitethernet 1/0/1
[RouterD-GigabitEthernet1/0/1] isis authentication-mode md5 plain hSec
[RouterD-GigabitEthernet1/0/1] quit
(4) 在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
(5) 在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-21所示,Router A、Router B和Router C屬於同一域。這三台路由器都運行IS-IS協議以實現路由互連。
圖1-21 IS-IS GR配置組網圖
(1) 配置各路由器接口的IP地址和IS-IS協議
請按照圖1-21配置各接口的IP地址和子網掩碼,具體配置過程略。
配置各路由器之間采用IS-IS協議進行互連,確保Router A、Router B和Router C之間能夠在網絡層互通,並且各路由器之間能夠借助IS-IS協議實現動態路由更新,具體配置過程略。
(2) 配置IS-IS GR
# 使能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-22所示,Router S、Router A、Router B屬於同一IS-IS區域,通過IS-IS協議實現網絡互連。要求對Router S進行主備倒換時,Router A和Router B到Router S的鄰居沒有中斷,Router A到Router B的流量沒有中斷。
圖1-22 IS-IS NSR配置組網圖
(1) 配置各路由器接口的IP地址和IS-IS協議
請按照圖1-22配置各接口的IP地址和子網掩碼,具體配置過程略。
配置各路由器之間采用IS-IS協議進行互連,確保Router S、Router A和Router B之間能夠在網絡層互通,並且各路由器之間能夠借助IS-IS協議實現動態路由更新。具體配置過程略。
(2) 配置IS-IS NSR
# 使能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
Service Group(instance name) Cur location New location
----------------------------------------------------------------------------
rib 0/0 0/0
staticroute 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-23 IS-IS與BFD聯動配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Router A |
GE1/0/1 |
192.168.0.102/24 |
Router B |
GE1/0/1 |
192.168.0.100/24 |
|
GE1/0/2 |
10.1.1.102/24 |
|
GE1/0/2 |
13.1.1.1/24 |
|
Loop0 |
121.1.1.1/32 |
|
Loop0 |
120.1.1.1/32 |
Router C |
GE1/0/1 |
10.1.1.100/24 |
|
|
|
|
GE1/0/2 |
13.1.1.2/24 |
|
|
|
(1) 配置各接口的IP地址(略)
(2) 配置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 1/0/1
[RouterA-GigabitEthernet1/0/1] isis enable
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] isis enable
[RouterA-GigabitEthernet1/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 1/0/1
[RouterB-GigabitEthernet1/0/1] isis enable
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] isis enable
[RouterB-GigabitEthernet1/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 1/0/1
[RouterC-GigabitEthernet1/0/1] isis enable
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] isis enable
[RouterC-GigabitEthernet1/0/2] quit
(3) 配置BFD功能
# 在Router A上使能BFD檢測功能,並配置BFD參數。
[RouterA] bfd session init-mode active
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] isis bfd enable
[RouterA-GigabitEthernet1/0/1] bfd min-receive-interval 500
[RouterA-GigabitEthernet1/0/1] bfd min-transmit-interval 500
[RouterA-GigabitEthernet1/0/1] bfd detect-multiplier 7
# 在Router B上使能BFD檢測功能,並配置BFD參數。
[RouterB] bfd session init-mode active
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] isis bfd enable
[RouterB-GigabitEthernet1/0/1] bfd min-receive-interval 500
[RouterB-GigabitEthernet1/0/1] bfd min-transmit-interval 500
[RouterB-GigabitEthernet1/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 SourceIP DestinationIP State Holdtime Interface
3/1 192.168.0.102 192.168.0.100 Up 1700ms GE1/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: GigabitEthernet1/0/1
BkSRLabel: NULL BkInterface: N/A
SIDIndex: NULL InLabel: NULL
Tunnel ID: Invalid IPInterface: GigabitEthernet1/0/1
BkTunnel ID: Invalid BkIPInterface: N/A
FtnIndex: 0x0 ColorInterface: N/A
TrafficIndex: N/A BkColorInterface: N/A
Connector: N/A VpnPeerId: N/A
Dscp: N/A Exp: N/A
SRTunnelID: Invalid StatFlags: 0x0
SID Type: N/A SID: N/A
BkSID: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid PathID: 0x0
CommBlockLen: 0
OrigLinkID: 0x0 RealLinkID: 0x0
當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: GigabitEthernet1/0/2
BkSRLabel: NULL BkInterface: N/A
SIDIndex: NULL InLabel: NULL
Tunnel ID: Invalid IPInterface: GigabitEthernet1/0/2
BkTunnel ID: Invalid BkIPInterface: N/A
FtnIndex: 0x0 ColorInterface: N/A
TrafficIndex: N/A BkColorInterface: N/A
Connector: N/A VpnPeerId: N/A
Dscp: N/A Exp: N/A
SRTunnelID: Invalid StatFlags: 0x0
SID Type: N/A SID: N/A
BkSID: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid PathID: 0x0
CommBlockLen: 0
OrigLinkID: 0x0 RealLinkID: 0x0
如圖1-24所示,Router A、Router B和Router C屬於同一IS-IS區域,通過IS-IS協議實現網絡互連。要求當Router A和Router B之間的鏈路出現故障時,業務可以快速切換到鏈路B上。
圖1-24 IS-IS快速重路由配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Router A |
GE1/0/1 |
12.12.12.1/24 |
Router B |
GE1/0/1 |
24.24.24.4/24 |
|
GE1/0/2 |
13.13.13.1/24 |
|
GE1/0/2 |
13.13.13.2/24 |
|
Loop0 |
1.1.1.1/32 |
|
Loop0 |
4.4.4.4/32 |
Router C |
GE1/0/1 |
12.12.12.2/24 |
|
|
|
|
GE1/0/2 |
24.24.24.2/24 |
|
|
|
(1) 配置各路由器接口的IP地址和IS-IS協議
請按照圖1-24配置各接口的IP地址和子網掩碼,具體配置過程略。
配置各路由器之間采用IS-IS協議進行互連,確保Router A、Router B和Router C之間能夠在網絡層互通,並且各路由器之間能夠借助IS-IS協議實現動態路由更新。
具體配置過程略。
(2) 配置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 1/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 1/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: GigabitEthernet1/0/2
BkSRLabel: NULL BkInterface: GigabitEthernet1/0/1
SIDIndex: NULL InLabel: NULL
Tunnel ID: Invalid IPInterface: GigabitEthernet1/0/2
BkTunnel ID: Invalid BkIPInterface: GigabitEthernet1/0/1
FtnIndex: 0x0 ColorInterface: N/A
TrafficIndex: N/A BkColorInterface: N/A
Connector: N/A VpnPeerId: N/A
Dscp: N/A Exp: N/A
SRTunnelID: Invalid StatFlags: 0x0
SID Type: N/A SID: N/A
BkSID: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid PathID: 0x0
CommBlockLen: 0
OrigLinkID: 0x0 RealLinkID: 0x0
# 在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: GigabitEthernet1/0/2
BkSRLabel: NULL BkInterface: GigabitEthernet1/0/1
SIDIndex: NULL InLabel: NULL
Tunnel ID: Invalid IPInterface: GigabitEthernet1/0/2
BkTunnel ID: Invalid BkIPInterface: GigabitEthernet1/0/1
FtnIndex: 0x0 ColorInterface: N/A
TrafficIndex: N/A BkColorInterface: N/A
Connector: N/A VpnPeerId: N/A
Dscp: N/A Exp: N/A
SRTunnelID: Invalid StatFlags: 0x0
SID Type: N/A SID: N/A
BkSID: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid PathID: 0x0
CommBlockLen: 0
OrigLinkID: 0x0 RealLinkID: 0x0
如下圖所示,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-25 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 1/0/1
[RouterA-GigabitEthernet1/0/1] isis ipv6 enable 1
[RouterA-GigabitEthernet1/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 1/0/1
[RouterB-GigabitEthernet1/0/1] isis ipv6 enable 1
[RouterB-GigabitEthernet1/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 1/0/1
[RouterC-GigabitEthernet1/0/1] isis ipv6 enable 1
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] isis ipv6 enable 1
[RouterC-GigabitEthernet1/0/2] quit
[RouterC] interface gigabitethernet 1/0/3
[RouterC-GigabitEthernet1/0/3] isis ipv6 enable 1
[RouterC-GigabitEthernet1/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 1/0/1
[RouterD-GigabitEthernet1/0/1] isis ipv6 enable 1
[RouterD-GigabitEthernet1/0/1] quit
[RouterD] interface gigabitethernet 1/0/2
[RouterD-GigabitEthernet1/0/2] isis ipv6 enable 1
[RouterD-GigabitEthernet1/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: GE1/0/1
Destination : 2001:1:: PrefixLen: 64
Flag : D/L/- Cost : 10
Next hop : Direct Interface: GE1/0/1
Destination : 2001:2:: PrefixLen: 64
Flag : R/-/- Cost : 20
Next hop : FE80::200:FF:FE0F:4 Interface: GE1/0/1
Destination : 2001:3:: PrefixLen: 64
Flag : R/-/- Cost : 20
Next hop : FE80::200:FF:FE0F:4 Interface: GE1/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: GE1/0/1
Destination : 2001:1:: PrefixLen: 64
Flag : D/L/- Cost : 10
Next hop : FE80::200:FF:FE0F:4 Interface: GE1/0/1
Destination : 2001:2:: PrefixLen: 64
Flag : R/-/- Cost : 20
Next hop : Direct Interface: GE1/0/1
Destination : 2001:3:: PrefixLen: 64
Flag : R/-/- Cost : 20
Next hop : FE80::200:FF:FE0F:4 Interface: GE1/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: GE1/0/2
Destination : 2001:2:: PrefixLen: 64
Flag : D/L/- Cost : 10
Next hop : Direct Interface: GE1/0/1
Destination : 2001:3:: PrefixLen: 64
Flag : D/L/- Cost : 10
Next hop : Direct Interface: GE1/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::1 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: GE1/0/1
Destination : 2001:2:: PrefixLen: 64
Flag : R/-/- Cost : 20
Next hop : FE80::200:FF:FE0F:4 Interface: GE1/0/1
Destination : 2001:3:: PrefixLen: 64
Flag : D/L/- Cost : 10
Next hop : Direct Interface: GE1/0/1
Destination : 2001:4::1 PrefixLen: 64
Flag : D/L/- Cost : 0
Next hop : Direct Interface: GE1/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-26 IPv6 IS-IS與BFD聯動配置組網圖
設備 |
接口 |
IPv6地址 |
設備 |
接口 |
IPv6地址 |
Router A |
GE1/0/1 |
2001::1/64 |
Router B |
GE1/0/1 |
2001::2/64 |
|
GE1/0/2 |
2001:2::1/64 |
|
GE1/0/2 |
2001:3::2/64 |
Router C |
GE1/0/1 |
2001:2::2/64 |
|
|
|
|
GE1/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 1/0/1
[RouterA-GigabitEthernet1/0/1] isis ipv6 enable 1
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] isis ipv6 enable 1
[RouterA-GigabitEthernet1/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 1/0/1
[RouterB-GigabitEthernet1/0/1] isis ipv6 enable 1
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] isis ipv6 enable 1
[RouterB-GigabitEthernet1/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 1/0/1
[RouterC-GigabitEthernet1/0/1] isis ipv6 enable 1
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] isis ipv6 enable 1
[RouterC-GigabitEthernet1/0/2] quit
(3) 配置BFD功能
# 在Router A上使能IPv6 IS-IS BFD功能,並配置BFD參數。
[RouterA] bfd session init-mode active
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] isis ipv6 bfd enable
[RouterA-GigabitEthernet1/0/1] bfd min-transmit-interval 500
[RouterA-GigabitEthernet1/0/1] bfd min-receive-interval 500
[RouterA-GigabitEthernet1/0/1] bfd detect-multiplier 7
[RouterA-GigabitEthernet1/0/1] return
# 在Router B上使能IPv6 IS-IS BFD功能,並配置BFD參數。
[RouterB] bfd session init-mode active
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] isis ipv6 bfd enable
[RouterB-GigabitEthernet1/0/1] bfd min-transmit-interval 500
[RouterB-GigabitEthernet1/0/1] bfd min-receive-interval 500
[RouterB-GigabitEthernet1/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接口GigabitEthernet1/0/1的鏈路本地地址)
Destination IP: FE80::20F:FF:FE00:1200(Router B接口GigabitEthernet1/0/1的鏈路本地地址)
Session state: Up Interface: GE1/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-27所示,Router A、Router B和Router C屬於同一IS-IS區域,通過IPv6 IS-IS協議實現網絡互連。要求當Router A和Router B之間的鏈路出現故障時,業務可以快速切換到鏈路B上。
圖1-27 IPv6 IS-IS快速重路由配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Router A |
GE1/0/1 |
1::1/64 |
Router B |
GE1/0/1 |
3::1/64 |
|
GE1/0/2 |
2::1/64 |
|
GE1/0/2 |
2::2/64 |
|
Loop0 |
10::1/128 |
|
Loop0 |
20::1/128 |
Router C |
GE1/0/1 |
1::2/64 |
|
|
|
|
GE1/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 1/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 1/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: GigabitEthernet1/0/2
BkSRLabel: NULL BkInterface: GigabitEthernet1/0/1
SIDIndex: NULL InLabel: NULL
Tunnel ID: Invalid IPInterface: GigabitEthernet1/0/2
BkTunnel ID: Invalid BkIPInterface: GigabitEthernet1/0/1
FtnIndex: 0x0 ColorInterface: N/A
TrafficIndex: N/A BkColorInterface: N/A
Connector: N/A VpnPeerId: N/A
Dscp: N/A Exp: N/A
SRTunnelID: Invalid StatFlags: 0x0
SID Type: N/A SID: N/A
BkSID: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid PathID: 0x0
CommBlockLen: 0
OrigLinkID: 0x0 RealLinkID: 0x0
# 在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: GigabitEthernet1/0/2
BkSRLabel: NULL BkInterface: GigabitEthernet1/0/1
SIDIndex: NULL InLabel: NULL
Tunnel ID: Invalid IPInterface: GigabitEthernet1/0/2
BkTunnel ID: Invalid BkIPInterface: GigabitEthernet1/0/1
FtnIndex: 0x0 ColorInterface: N/A
TrafficIndex: N/A BkColorInterface: N/A
Connector: N/A VpnPeerId: N/A
Dscp: N/A Exp: N/A
SRTunnelID: Invalid StatFlags: 0x0
SID Type: N/A SID: N/A
BkSID: N/A NID: Invalid
FlushNID: Invalid BkNID: Invalid
BkFlushNID: Invalid PathID: 0x0
CommBlockLen: 0
OrigLinkID: 0x0 RealLinkID: 0x0
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!