网工路由基础(5)ISIS协议
IS-IS是國際標準化組織ISO為它的無連接網絡協議CLNP設計的一種動態路由協議。
隨著TCP/IP協議的流行,為了提供對IP路由的支持,IETF(Internet Engineering Task Force )在RFC1195中對IS-IS進行了擴充和修改,使它能夠同時應用在TCP/IP和OSI環境中,稱為集成IS-IS(Integrated IS-IS或Dual IS-IS)。
在IS-IS中,路由器被描述為是一個中間系統(Intermediate System,IS),主機被描述為端系統(End System,ES)。因此提供主機和路由器之間的通信的協議即為ES-IS;而路由器之間的通信即為IS-IS。
和IP中使用Proxy ARP或IRDP,或在主機上配置默認網關不同的是,CLNP會在ES和IS之間形成ES-IS的鄰接關系。
隨著IPv6網絡的建設,同樣需要動態路由協議為IPv6報文的轉發提供準確有效的路由信息。IS-IS路由協議結合自身具有良好的擴展性的特點,實現了對IPv6網絡層協議的支持,可以發現、生成和轉發IPv6路由。
?
IS-IS是一種鏈路狀態路由協議,每一臺路由器都會生成一個LSP,它包含了該路由器所有使能IS-IS協議接口的鏈路狀態信息。
通過跟相鄰設備建立IS-IS鄰接關系,互相更新本地設備的LSDB,可以使得LSDB與整個IS-IS網絡的其他設備的LSDB實現同步。然后根據LSDB運用SPF算法計算出IS-IS路由。如果此IS-IS路由是到目的地址的最優路由,則此路由會下發的IP路由表中,并指導報文的轉發。
Level-1路由器
Level-1路由器負責區域內的路由,它只與屬于同一區域的Level-1和Level-1-2路由器形成鄰居關系,屬于不同區域的Level-1路由器不能形成鄰居關系。
Level-1路由器只負責維護Level-1的鏈路狀態數據庫LSDB(Link State Database),該LSDB包含本區域的路由信息,到本區域外的報文轉發給最近的Level-1-2路由器。
Level-2路由器
Level-2路由器負責區域間的路由,它可以與同一或者不同區域的Level-2路由器或者其它區域的Level-1-2路由器形成鄰居關系。Level-2路由器維護一個Level-2的LSDB,該LSDB包含區域間的路由信息。
所有Level-2級別(即形成Level-2鄰居關系)的路由器組成路由域的骨干網,負責在不同區域間通信。路由域中Level-2級別的路由器必須是物理連續的,以保證骨干網的連續性。只有Level-2級別的路由器才能直接與區域外的路由器交換數據報文或路由信息。
Level-1-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用于區域間路由。
IS-IS只支持兩種類型的網絡,根據物理鏈路不同可分為:廣播鏈路:如Ethernet、Token-Ring等;點到點鏈路:如PPP、HDLC等。
對于NBMA(Non-Broadcast Multi-Access)網絡,需對其配置子接口,并注意子接口類型應配置為P2P。IS-IS不能在點到多點鏈路P2MP(Point to MultiPoint)上運行。
在IS-IS中,可以通過Network Entity Tiyle(NET)來同時定義區域ID和系統ID。即使集成IS-IS只使用在TCP/IP的環境中,由于它是以CLNP為基礎的,所以仍然要配置OSI CLNP地址。
IS-IS報文有以下幾種類型:HELLO PDU(Protocol Data Unit)、LSP和SNP。
Hello PDU
Hello報文用于建立和維持鄰居關系,也稱為IIH(IS-to-IS Hello PDUs)。其中,廣播網中的Level-1 IS-IS使用Level-1 LAN IIH;廣播網中的Level-2 IS-IS使用Level-2 LAN IIH;非廣播網絡中則使用P2P IIH。它們的報文格式有所不同。
P2P IIH中相對于LAN IIH來說,多了一個表示本地鏈路ID的Local Circuit ID字段,缺少了表示廣播網中DIS的優先級的Priority字段以及表示DIS和偽節點System ID的LAN ID字段。
LSP
鏈路狀態報文LSP(Link State PDUs)用于交換鏈路狀態信息。LSP分為兩種:Level-1 LSP和Level-2 LSP。Level-1 LSP由Level-1 IS-IS傳送,Level-2 LSP由Level-2 IS-IS傳送,Level-1-2 IS-IS則可傳送以上兩種LSP。
LSP報文中主要字段的解釋如下:
ATT字段:當Level-1-2 IS-IS在Level-1區域內傳送Level-1 LSP時,如果Level-1 LSP中設置了ATT位,則表示該區域中的Level-1 IS-IS可以通過此Level-1-2 IS-IS通往外部區域。
OL(LSDB Overload)字段:過載標志位。
設置了過載標志位的LSP雖然還會在網絡中擴散,但是在計算通過過載路由器的路由時不會被采用。即對路由器設置過載位后,其它路由器在進行SPF計算時不會使用這臺路由器做轉發,只計算該節點上的直連路由。更多內容請參見后面介紹的-IS-IS過載位。
IS Type字段:用來指明生成此LSP的IS-IS類型是Level-1還是Level-2 IS-IS(01表示Level-1,11表示Level-2)。
SNP
序列號報文SNP(Sequence Number PDUs)通過描述全部或部分數據庫中的LSP來同步各LSDB(Link-State DataBase),從而維護LSDB的完整與同步。
SNP包括全序列號報文CSNP(Complete SNP)和部分序列號報文PSNP(Partial SNP),進一步又可分為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。
定義區域和地址
在ISIS中,所有區域間數據流都必須穿越L2主干區域。因此,必須規劃CLNS地址,以實現兩級的層次結構。必須確定哪些路由器將作為主干(L2)路由器,哪些路由器將作為(L1/L2) ABR,哪些路由器作為內部區域(L1)路由器。
如果有些路由器必須同時進行L1和L2路由選擇,還應確定接口參與哪種路由選擇。
路由器的CLNS地址被稱為NET,它由3個主要部分組成:
- 區域地址(前綴):標識路由器所在的區域
- 系統ID:唯一的標識設備。在Cisco設備上為定長6字節。在每個區域中系統ID必須要保證唯一性。
- NSEL:作為NET,這個字段必須為0
啟用集成ISIS
router(config)#router isis [area-tag]
#在全局下啟用ISIS。還可以使用可選的名稱來標識多個ISIS進程(就像在同一臺路由器上可以存在多個OSPF進程一樣)。進程名稱只對本地有意義;如果省略,則Cisco IOS軟件將假定它為0。
如果要使用多個ISIS進程,則進行網絡規劃時應配置哪些接口分別參與哪些ISIS進程。
router(config)#clns routing
#默認情況下,IP路由選擇被啟用,而CLNS路由選擇是被禁用的。要啟用CLNS路由選擇,除了在全局模式下使用這個命令以外,還必須在每個接口上啟用CLNS路由選擇。在TCP/IP環境中可以不必要開啟這個功能。
配置路由器的NET
router(config-router)#net 49.0000.0000.0000.0001.00
#配置NET以標識路由器。即使只將ISIS用于IP路由選擇(沒有啟用CLNS路由選擇),也必須配置NET。因為集成ISIS依賴于CLNS路由選擇的支持。
在適當的接口上啟用集成ISIS
包括那些連接到末節IP網絡的接口,比如環回接口(盡管他們沒有CLNS鄰居)
router(config-if)#ip router isis [area-tag]
#在需要使用ISIS來分發其路由選擇信息的接口上進行配置。如果有多個ISIS進程,還必須使用area-tag字段指明此接口屬于哪個ISIS進程。
router(config-if)#clns router isis [area-tag]
#在接口上啟用ISIS路由選擇進程,以支持CLNS路由選擇。
修改ISIS路由器的級別
router(config-router)#is-type {level-1/level-1-2/level-2-only}
#默認的ISIS配置將路由器設置為L1/L2路由器。這種配置的缺點就是路由器需要同時發送L1和L2 Hello,并需要同時維護L1和L2 LSDB。
修改ISIS接口級別
router(config-if)#isis circuit-type {level-1/level-1-2/level-2-only}
#盡管路由器可以配置成L1/L2路由器,但是可能并不需要在其所有接口上建立兩種類型的鄰接關系。為了讓ISIS在這些情況下效率更高,需要將接口配置成只發送必要類型的Hello報文。
修改ISIS度量值
router(config-if)#isis metric metric_number {level-1/level-2}
#ISIS規范定義了4種度量值。默認度量值為成本,所有路由器都支持它;延遲、花費和差錯是可選的度量值。延遲度量值指的是傳輸延遲,花費是鏈路的經濟成本,差錯度量值指的是鏈路出現錯誤的可能性。對于同一個接口,可以為L1和L2指定不同的度量值。metric取值范圍為1~63。
配置ISIS的IP路由匯總
router(config-router)#summary-address prefix mask [level-1/level-1-2/level-2] [tag tag-number] [metric metric_value]
#路由器將IP路由匯總為L1、L2或L1/L2,默認為L2(level-2)。
可選的tag-number用于標記匯總的路由,可選的metric_value用于指定匯總路由的度量值。
雖然這個命令適用于所有的ISIS路由器,但它只能匯總來至外部ISIS的L1路由(重分發到ISIS L1中的路由)。
歡迎關注微信公眾號【廈門微思網絡】。www.xmws.cn專業IT認證培訓19周年
主要課程:思科、華為、紅帽、ORACLE、VMware、CISP、PMP等認證培訓及考試?
?
?
?
?往期回顧?
?網工路由基礎(1)靜態路由
網工路由基礎(2)路由選路原理
網工路由基礎(3)RIP原理與配置
網工路由基礎(4)EIGRP協議
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的网工路由基础(5)ISIS协议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 问题分析,性能优化
- 下一篇: Mac地址怎么做到全球唯一的?