IS-IS配置:
ISIS認證:
接口認證:如果配置了send-only則表示僅對發送的Hello封裝認證資訊,而不檢查收到的Hello封包是否通過了認證。在本端不需要進行認證檢查且對端認證通過時,才可以建立起鄰居關系。
如果沒有配置send-only,此時應保證同一網絡所有接口的相同級别的認證密碼一緻。
區域認證或路由器域認證:對發送的LSP和SNP都封裝認證資訊,并檢查收到的LSP和SNP是否通過認證,丢棄沒有通過認證的封包。該情況下不配置參數snp-packet或all-send-only。
對發送的LSP封裝認證資訊并檢查收到的LSP,對發送的SNP不封裝認證資訊,也不檢查收到的SNP。該情況下需要配置參數snp-packet authentication-avoid。
對發送的LSP和SNP都封裝認證資訊,隻檢查收到的LSP,不檢查收到的SNP。該情況下需要配置參數snp-packet send-only。
對發送的LSP和SNP都封裝認證資訊,不檢查收到的LSP和SNP。該情況下需要配置參數all-send-only。
配置optional checksum:
在網絡運作期間,IS-IS路由器可能會收到惡意封包的攻擊,或者IS-IS封包被篡改,可能導緻網絡的重要資訊被竊取,給網絡造成重大損失。optional checksum特性是指在IS-IS路由器發送的CSNP、PSNP及Hello封包中,封裝optional checksum TLV,對端在收到封裝後的封包後,首先檢查其攜帶的TLV是否正确,如果不正确,則拒絕接收,進而保證網絡的安全性。
optional-checksum enable //使能IS-IS程序的optional checksum功能。如果IS-IS接口或者區域已經配置了MD5認證或者含有生效MD5認證的Keychain認證,則IS-IS路由器發送Hello和SNP封包時不攜帶checksum TLV,隻校驗接收到的封包。
IS-IS的選路:
preference 15
//配置IS-IS路由的優先級。
//預設情況下,IS-IS協定的優先級為15。配置preference的值越小,優先級越高。
ISIS接口開銷:
IS-IS有三種方式來确定接口的開銷,按照優先級由高到低分别是:接口開銷:為單個接口設定開銷。
全局開銷:為所有接口設定開銷。
自動計算開銷:根據接口帶寬自動計算開銷。
如果沒有為IS-IS接口配置任何開銷值,IS-IS接口的預設開銷為10,開銷類型是narrow。
auto-cost enable:
//使能自動計算接口的開銷值。
IS-IS接口開銷和帶寬對應關系表:開銷值接口帶寬範圍
配置ISIS對等價路由的處理方式:
當IS-IS網絡中有多條備援鍊路時,可能會出現多條等價路由,此時可以采取兩種方式:配置負載分擔。流量會被均勻的配置設定到每條鍊路上。
該方式可以提高網絡中鍊路的使用率及減少某些鍊路負擔過重造成阻塞發生的情況。但是由于對流量轉發具有一定的随機性,是以可能不利于對業務流量的管理。
配置等價路由優先級。針對等價路由中的每一條路由,明确指定其優先級,優先級高的路由将被優選,優先級低的路由可以作為備用鍊路。
該方式可以在不修改原有配置的基礎上,指定某條路由被優選,便于業務的管理,同時提高網絡的可靠性。
[isis] maximum load-balancing 8
//配置在負載分擔方式下的等價路由的最大數量。
//配置ISIS等價路由的優先級:
[isis] nexthop ip-address weight value
//配置等價路由的優先級
//預設情況下,不設定IS-IS等價路由的優先級。value值越小,表示優先級越高。
配置IS-IS路由滲透:
[isis] import-route isis level-2 into level-1
//将Level-2區域的路由滲透到本地Level-1區域。
控制Level-1裝置是否生成預設路由:
IS-IS協定規定,如果IS-IS Level-1-2裝置根據鍊路狀态資料庫判斷到通過Level-2區域比Level-1區域能夠到達更多的區域,該裝置會在所釋出的Level-1 LSP内将ATT比特位置位。對于收到ATT比特位置位的LSP封包的Level-1裝置,會生成一條目的地為發送該LSP的Level-1-2裝置的預設路由。
以上是協定的預設原則,在實際應用中,可以根據需要對ATT比特位進行手動配置以更好地為網絡服務。
[isis] attached-bit advertise { always | never}
//設定Level-1-2裝置釋出的LSP封包中ATT比特位的置位情況。
[isis] attached-bit avoid-learning
//設定即使收到Level-1 LSP封包的ATT比特位置位,Level-1裝置也不生成預設路由。always參數用來設定ATT比特位永遠置位,收到該LSP的Level-1裝置會生成預設路由。
never參數用來設定ATT比特位永遠不置位,可以避免Level-1裝置生成預設路由,減小路由表的規模。
控制IS-IS的路由資訊的互動
配置IS-IS釋出預設路由:
在具有外部路由的邊界裝置上配置IS-IS釋出預設路由可以使該裝置在IS-IS路由域内釋出一條0.0.0.0/0的預設路由。在執行此配置後,IS-IS域内的其他裝置在轉發流量時,将所有去往外部路由域的流量首先轉發到該裝置,然後通過該裝置去往外部路由域。
配置靜态預設路由雖然也可以實作該功能,但是當現網中有大量裝置時,配置工作量巨大且不利于管理。
此外,采用IS-IS釋出預設路由的方式更加靈活。例如,如果存在多個邊界裝置,那麼可以通過配置路由政策,使某台邊界裝置在滿足條件時才釋出預設路由,進而避免造成路由黑洞。
[isis] default-route-advertise [ always | match default | route-policy route-policy-name ] [ cost cost | tag tag | [ level-1 | level-1-2 | level-2 ] ] * [ avoid-learning ],
//配置IS-IS釋出預設路由。
參數參數說明取值
配置路由聚合:
summary ip-address mask [ avoid-feedback | generate_null0_route | tag tag | [ level-1 | level-1-2 | level-2 ] ] *
//配置聚合路由
參數參數說明取值
控制IS-IS路由的收斂:
配置Hello封包屬性:
isis timer hello hello-interval [ level-1 | level-2 ]
//指定IS-IS接口發送Hello封包的間隔時間。
參數參數說明取值
isis timer holding-multiplier number [ level-1 | level-2 ]
//配置Hello封包的發送間隔時間的倍數,以達到修改IS-IS的鄰居保持時間的目的。
參數參數說明取值
配置LSP封包屬性:
LSP封包用于交換鍊路狀态資訊。通過配置LSP的基本屬性,可以控制LSP封包的大小及最大有效時間。還可以通過使能LSP快速擴散,以及減小接口發送LSP封包的最小時間間隔和LSP的重新整理周期可以加快LSP封包的擴散速度,可以使得網絡快速收斂。但是如果網絡變化比較頻繁,又會過度占用CPU資源。此時可以通過配置LSP生成的智能定時器,既可以快速響應突發事件,加快網絡的收斂速度,又可以在網絡變化頻繁時自動延長智能定時器的間隔時間,避免過度占用CPU資源。
配置的參數作用應用場景
配置LSP的大小:
[isis] lsp-length { originate | receive } max-size
//配置目前IS-IS路由器生成LSP封包的長度以及接收LSP封包的長度。
//預設情況下,IS-IS路由器生成的LSP封包和接收的LSP封包長度均為1497位元組。
參數參數說明取值
配置LSP的最大有效時間:
timer lsp-max-age age-time
//配置目前IS-IS程序生成的LSP的最大有效時間。
//預設情況下,LSP的最大有效時間為1200秒。
配置LSP的重新整理周期:
timer lsp-refresh refresh-time
//配置LSP的重新整理周期。
//預設情況下,LSP重新整理周期的預設值為900秒。
配置接口發送LSP的最小時間間隔:
isis timer lsp-throttle throttle-interval [ count count ]
//來配置IS-IS接口發送LSP封包的最小間隔時間和此時間内發送的最大的封包數。
//預設情況下,接口上發送LSP封包的最小間隔時間是50毫秒,每次發送LSP封包的最大數目是10。
配置LSP生成的智能定時器:
timer lsp-generation max-interval [ init-interval [ incr-interval ] ] [ level-1 | level-2 ]
//來配置LSP生成智能定時器。
參數參數說明取值
初次産生同一LSP(或者LSP分片)的延遲時間為init-interval;第二次産生同一LSP(或者LSP分片)的延遲時間為incr-interval。随後,每變化一次,延遲時間都增大為前一次的兩倍,直到max-interval。穩定在max-interval三次或者IS-IS程序被重新開機,延遲時間又降回到init-interval。
在不使用incr-interval的情況下,初次産生同一LSP(或者LSP分片)仍然使用init-interval作為延遲時間,随後都是使用max-interval作為延遲時間。同樣,穩定在max-interval三次或者IS-IS程序被重新開機,延遲時間又降回到init-interval。
在隻使用max-interval的情況下,智能定時器退化為一般的一次性觸發定時器。
配置LSP快速擴散:
flash-flood [ lsp-count | max-timer-interval interval | [ level-1 | level-2 ] ] *
//使能LSP快速擴散特性,以便加快IS-IS網絡的收斂速度。
參數參數說明取值
配置點到點鍊路上LSP重傳的時間間隔:
isis circuit-type p2p [ strict-snpa-check ]
//将IS-IS廣播網接口的網絡類型模拟為P2P類型。
//指定IS-IS對LSP和SNP封包的SNPA進行檢查。
isis timer lsp-retransmit retransmit-interval
//配置點到點鍊路上LSP封包的重傳間隔時間。
//預設情況下,點到點鍊路上LSP封包的重傳間隔時間為5秒。
配置CSNP封包屬性:
全序列号封包CSNP(Complete Sequence Number
PDUs)包括LSDB中所有LSP的摘要資訊,可以保證相鄰裝置間LSDB的同步。在廣播網鍊路和點到點鍊路中,運作機制略有不同:在廣播網鍊路上,CSNP由DIS裝置周期性的發送。當鄰居發現LSDB不同步時,發送PSNP封包來請求缺失的LSP封包。
在點到點鍊路上,CSNP隻在第一次建立鄰接關系時發送。
isis timer csnp csnp-interval [ level-1 | level-2 ]
//指定在廣播網絡上發送CSNP封包的間隔時間。
//預設情況下,在廣播網絡上發送CSNP封包的間隔時間是10秒。
調整SPF的計算時間:
當網絡變化比較頻繁時,IS-IS會頻繁的進行SPF計算。頻繁的SPF計算會消耗系統大量的CPU資源,進而影響其他業務的運作。
配置智能定時器的優勢在于當剛開始進行SPF計算時,兩次計算的間隔時間較小,保證IS-IS路由的收斂速度。之後随着整個IS-IS網絡的拓撲趨于穩定時,就可以适當的延長兩次SPF計算的間隔時間,進而減少不必要的資源消耗。
timer spf max-interval [ init-interval [ incr-interval ] ]
//配置SPF路由計算的延遲時間。
//預設情況下,SPF路由計算的最大延遲時間為5秒。
suppress-flapping route-calculate timer delay-interval [ threshold threshold-value ]
//設定路由震蕩時收到LSP後啟動路由計算的抑制時間。
//預設情況下,路由震蕩情況下收到LSP後啟動路由計算的抑制時間為10秒。
timer purge-zero-lsp route-calculate-delay delay-interval
//設定收到Purge LSP封包後啟動路由計算的抑制時間。
//預設情況下,收到Purge LSP封包後啟動路由計算的抑制時間為10秒。
spf-slice-size duration-time
//配置IS-IS每次路由計算的最大持續時間。
參數參數說明取值
配置ISIS路由按優先級收斂:
裝置支援通過配置IS-IS路由的收斂優先級,可以使某些重要路由在網絡拓撲發生變化時優先收斂。
prefix-priority [ level-1 | level-2 ] { critical | high | medium } { ip-prefix prefix-name | 配置IS-IS路由的收斂優先級。tag tag-value }
//配置IS-IS路由的收斂優先級。
//預設情況下,IS-IS主機路由和預設路由的收斂優先級為medium,其他IS-IS路由的收斂優先級為low。
參數參數說明取值
配置LSP分片擴充:
通過配置LSP分片擴充,使運作IS-IS的裝置生成多個LSP分片來釋出資訊,以便攜帶更多的IS-IS資訊。
lsp-fragments-extend [ [ level-1 | level-2 | level-1-2 ] | [ mode-1 | mode-2 ] ] *
//使能IS-IS路由器的LSP分片擴充功能。
virtual-system virtual-system-id
//配置IS-IS程序的虛拟系統ID。沒有該ID,将不會生成擴充LSP。一個IS-IS程序最多可配置50個虛拟系統ID。
數參數說明取值
在NBMA網絡中配置Mesh Group:
通過在NBMA網絡中配置Mesh Group,可以避免因LSP的重複擴散而造成的帶寬浪費。
isis mesh-group { mesh-group-number | mesh-blocked }
//将IS-IS接口加入指定的mesh-group。
參數參數說明取值
配置過載位:
set-overload [ on-startup [ timeout1 | start-from-nbr system-id [ timeout1 [ timeout2 ] ] | wait-for-bgp [ timeout1 ] ] [ send-sa-bit [ timeout3 ] ] ] [ allow { interlevel | external }* ]
//配置非僞節點LSP的過載标志位。
數參數說明取值
#ISIS 其他常見配置指令:
adjacency-strict-check enable
//用來使能IS-IS的鄰居嚴格檢查功能
circuit-cost { cost | maximum } [ level-1 | level-2 ]
//配置進行SPF計算時所有IS-IS接口的鍊路開銷值。
circuit default-tag
//配置指定IS-IS程序下所有接口的管理标記值。
cost-style { narrow | wide | wide-compatible | { compatible | narrow-compatible } [ relax-spf-limit ] }
//設定IS-IS裝置接收和發送路由的開銷類型。
display default-parameter isis
//檢視IS-IS的預設配置資訊。
display isis cost interface
//檢視接口的開銷值及其具體來源。
display isis error
//檢視接口或程序收到的錯誤LSP封包和Hello封包的統計資訊。
display isis graceful-restart status
//檢視IS-IS GR的狀态資訊。
display isis last-peer-change
//檢視IS-IS的鄰居變化資訊。
display isis migp-routing
//顯示IS-IS的MIGP(Multicast IGP)路由資訊。
display isis name-table
//檢視本地和遠端IS-IS裝置主機名到系統ID的映射關系表。
display isis process-id peer [ verbose ]
//檢視IS-IS的鄰居資訊。
display isis purge packet
//檢視IS-IS收到攜帶POI TLV的Purge LSP封包統計資訊。
display isis spf-log
//檢視IS-IS的SPF計算日志資訊。
display isis spf-tree
//檢視SPF樹的拓撲資訊。
graceful-restart
//使能IS-IS程序的GR功能。
graceful-restart no-impact-holdtime
//配置IS-IS鄰居的Holdtime不受GR影響。
graceful-restart interval interval-value
//配置IS-IS GR過程中T3定時器的時間。
//預設情況下,GR T3定時器為300秒。
graceful-restart t2-interval
//預設情況下,GR T2定時器為60秒。
isis circuit-level [ level-1 | level-1-2 | level-2 ]
//配置Level-1-2路由器的接口鍊路類型。
isis dis-name
//為DIS配置名稱。
isis dis-priority
//指定挑選對應級别DIS時IS-IS接口的優先級。
isis padding-hello
//來配置IS-IS接口發送帶有填充字段的标準Hello封包。
isis small-hello
//配置IS-IS接口發送不帶有填充字段的Hello封包。
isis peer-ip-ignore
//配置對接收的Hello封包不作IP位址檢查。
isis ppp-negotiation { 2-way | 3-way [ only ] }
//來指定在建立鄰接關系時采用的PPP協商類型。
isis silent [ advertise-zero-cost ]
//配置IS-IS接口為抑制狀态,即抑制該接口接收和發送IS-IS封包,但此接口所在網段的路由可以被釋出出去。
isis suppress-flapping peer
//設定指定接口的IS-IS鄰居震蕩抑制的檢測參數。
isis suppress-flapping peer hold-down
//設定Hold-down鄰居震蕩抑制模式和抑制持續時間。
isis tag-value
//配置IS-IS接口的管理标記值。
lsp-fragments-extend
//使能IS-IS路由器的LSP分片擴充功能。
reset isis all
//重新開機IS-IS程序。
reset isis peer
//重置與特定IS-IS的鄰居關系。
IS-IS配置示例
IS-IS綜合實驗示例:
實驗拓撲如下:
圖:IS-IS綜合實驗拓撲圖
實驗要求:
公司A網絡如實驗拓撲所示,請根據如下需求對網絡進行部署:R1所屬區域ID為49.0001,R2、R3、R4和R5所屬區域ID為49.0002,R6所屬區域ID為49.0006,各個裝置的System ID為0000.0000.000X;
根據拓撲通告相應裝置上的接口,R6的E1/0/0運作IS-IS協定,但是不會将任何IS-IS封包發往E1/0/0所連接配接網段,另外IS-IS區域需要學習到E1/0/0直連網段的位址;
R1為Level-2層級裝置,R2和R3為Level-1-2層級裝置,R4和R5為接口級别的Level-1層級裝置,R6為接口的Level-2層級裝置;
由于使用System ID辨別裝置不便于網絡維護,請通過合适指令以使用裝置編号(裝置編号即為R1,R2,R3等)進行辨別;
R4與R5之間不能出現DIS,并建立可靠的鄰居關系;
IS-IS可以自動計算Cost;
選擇合适的認證模式對區域49.0002的LSP和SNP進行驗證,驗證密碼HUAWEI,認證類型為MD5;
為了進一步提升R4和R5之間帶寬的使用率,需要禁止R4與R5互相發送Hello使用填充字段;
R4将直連網段4.0.X.0/24引入IS-IS且不需要聚合;R1将直連網段1.0.X.0/24引入IS-IS,并進行最優聚合,請使用最少指令;
R2與R3禁止将4.0.0.0/24和4.0.2.0/24釋出進區域49.0001,請使用ACL,禁用Route-policy;保證R4和R5能夠學習到彙總之後網段1.0.X.0/24,禁用Route-policy; R6禁止将R1産生的彙總路由加入到路由表;但是當R1存在彙總之後網段1.0.X.0/24的路由資訊時,需釋出預設路由。
配置檔案:
AR1:
[AR1]display current-configuration
#
sysname AR1
#
acl number 2000
rule 10 permit source 1.0.0.0 0.0.252.255
acl number 2001
rule 5 permit source 1.0.0.0 0.0.255.255
#
isis 1
is-level level-2
cost-style wide
auto-cost enable
network-entity 49.0001.0000.0000.0001.00
is-name R1
import-route direct route-policy D2I
default-route-advertise route-policy Default
summary 1.0.0.0 255.255.252.0 avoid-feedback generate_null0_route
#
interface Serial4/0/0
link-protocol ppp
ip address 12.1.1.1 255.255.255.0
isis enable 1
#
interface Serial4/0/1
link-protocol ppp
ip address 13.1.1.1 255.255.255.0
isis enable 1
#
interface GigabitEthernet0/0/0
ip address 16.1.1.1 255.255.255.0
isis enable 1
#
interface LoopBack0
ip address 10.1.1.1 255.255.255.255
isis enable 1
#
interface LoopBack1
ip address 1.0.0.1 255.255.255.0
#
interface LoopBack2
ip address 1.0.1.1 255.255.255.0
#
interface LoopBack3
ip address 1.0.2.1 255.255.255.0
#
interface LoopBack4
ip address 1.0.3.1 255.255.255.0
#
route-policy D2I permit node 10
if-match acl 2000
#
route-policy Default permit node 10
if-match acl 2001
#
return
AR2:
[AR2]dis current-configuration
#
sysname AR2
#
acl number 2000
rule 5 deny source 4.0.0.0 0.0.0.255
rule 10 deny source 4.0.2.0 0.0.0.255
rule 15 permit
#
isis 1
cost-style wide
auto-cost enable
//自動開銷
network-entity 49.0002.0000.0000.0002.00
is-name R2
filter-policy 2000 import
import-route isis level-2 into level-1
//路由滲透
area-authentication-mode md5 plain HUAWEI
#
interface Serial4/0/0
link-protocol ppp
ip address 12.1.1.2 255.255.255.0
isis enable 1
#
interface Serial4/0/1
link-protocol ppp
ip address 24.1.1.2 255.255.255.0
isis enable 1
#
interface LoopBack0
ip address 10.2.2.2 255.255.255.255
isis enable 1
#
return
AR3:
dis current-configuration
#
sysname AR3
#
acl number 2000
rule 5 deny source 4.0.0.0 0.0.0.255
rule 10 deny source 4.0.2.0 0.0.0.255
rule 15 permit
#
isis 1
cost-style wide
auto-cost enable
network-entity 49.0002.0000.0000.0002.00
is-name R3
filter-policy 2000 import
import-route isis level-2 into level-1
area-authentication-mode md5 plain HUAWEI
#
interface Serial4/0/0
link-protocol ppp
ip address 13.1.1.3 255.255.255.0
isis enable 1
#
interface Serial4/0/1
link-protocol ppp
ip address 35.1.1.3 255.255.255.0
isis enable 1
#
interface LoopBack0
ip address 10.3.3.3 255.255.255.255
isis enable 1
#
return
AR4;
[AR4]DIS current-configuration ]
#
sysname AR4
#
acl number 2000
rule 10 permit source 4.0.0.0 0.0.3.255
#
isis 1
is-level level-1
cost-style wide
auto-cost enable
network-entity 49.0002.0000.0000.0004.00
is-name R4
import-route direct level-1 route-policy D2I
area-authentication-mode md5 plain HUAWEI
#
interface Serial4/0/0
link-protocol ppp
ip address 24.1.1.4 255.255.255.0
isis enable 1
isis circuit-level level-1
#
interface Serial4/0/1
link-protocol ppp
#
interface GigabitEthernet0/0/0
ip address 45.1.1.4 255.255.255.0
isis enable 1
isis circuit-type p2p
isis circuit-level level-1
isis ppp-negotiation 3-way only
isis small-hello
#
interface LoopBack0
ip address 10.4.4.4 255.255.255.255
isis enable 1
isis circuit-level level-1
#
interface LoopBack1
ip address 4.0.0.1 255.255.255.0
#
interface LoopBack2
ip address 4.0.1.1 255.255.255.0
#
interface LoopBack3
ip address 4.0.2.1 255.255.255.0
#
interface LoopBack4
ip address 4.0.3.1 255.255.255.0
#
route-policy D2I permit node 10
if-match acl 2000
#
return
AR5:
dis current-configuration
#
sysname AR5
#
isis 1
is-level level-1
cost-style wide
auto-cost enable
network-entity 49.0002.0000.0000.0005.00
is-name R5
area-authentication-mode md5 plain HUAWEI
#
interface Serial4/0/0
link-protocol ppp
ip address 35.1.1.5 255.255.255.0
isis enable 1
isis circuit-level level-1
#
interface Serial4/0/1
link-protocol ppp
#
interface GigabitEthernet0/0/0
ip address 45.1.1.5 255.255.255.0
isis enable 1
isis circuit-type p2p
isis circuit-level level-1
isis ppp-negotiation 3-way only
isis small-hello
#
interface LoopBack0
ip address 10.5.5.5 255.255.255.255
isis enable 1
isis circuit-level level-1
#
return
AR6:
dis current-configuration
#
sysname AR6
#
acl number 2000
rule 5 deny source 1.0.0.0 0.0.255.255
rule 10 permit
#
isis 1
cost-style wide
auto-cost enable
network-entity 49.0006.0000.0000.0006.00
is-name R6
filter-policy 2000 import
#
interface GigabitEthernet0/0/0
ip address 16.1.1.6 255.255.255.0
isis enable 1
isis circuit-level level-2
#
interface GigabitEthernet0/0/1
ip address 6.0.0.1 255.255.255.0
isis enable 1
isis silent
isis circuit-level level-2
#
interface LoopBack0
ip address 10.6.6.6 255.255.255.255
isis enable 1
isis circuit-level level-2
#
return
配置結果:
圖:AR1的路由表
圖:AR6的路由表