IS-IS協議的內容介紹

IS-IS協議

歷史起源

IS-IS(Intermediate System to Intermediate System)最初是國際標準化組織ISO(the International Organization for Standardization)爲它的無連接網絡協議CLNP(ConnectionLess Network Protocol)設計的一種動態路由協議
爲了提供對IP的路由支持,IETF在RFC1195中對IS-IS進行了擴充和修改,使它能夠同時應用在TCP/IP和OSI環境中,稱爲集成化IS-IS(Integrated IS-IS或Dual IS-IS 資料中所指的IS-IS,如不加特殊說明,均指集成IS-IS)
IS-IS屬於內部網關協議,用於自治系統內部。IS-IS是一種鏈路狀態協議,使用SPF算法(Shortest Path First)進行路由計算
由於IS-IS的簡便性及擴展性強的特點,目前在大型ISP的網絡中被廣泛地部署
IS-IS協議報文在數據鏈路層傳輸,但是屬於網絡層協議
IS-IS協議的內容介紹

路由計算過程

① 鄰居關係建立
鄰居關係建立主要是通過HELLO包交互並協商各種參數
② 鏈路信息交換
與OSPF不同,ISIS交互鏈路狀態的基本載體不是LSA(link state advertisement),而是LSP(link state PDU);交互的過程沒有OSPF協議那樣經歷了多個階段,主要是通過CSNP報文和PSNP報文兩種協議報文來同步,請求以及確認鏈路狀態信息(承載的是鏈路狀態信息摘要),而鏈路狀態信息的詳細拓撲和路由信息是由LSP報文傳遞
③ 路由計算
SPF計算和OSPF基本一樣的,但ISIS算法分離了拓撲結構和IP網段,加快了網絡收斂速度(ISIS協議的優化)
IS-IS協議的內容介紹

地址結構

網絡服務訪問點NSAP(Network Service Access Point)是OSI協議中用於定位資源的地址。NSAP的地址結構它由IDP(Initial Domain Part)和DSP(Domain Specific Part)組成。IDP和DSP的長度都是可變的,NSAP總長最多是20個字節,最少8個字節 習慣上配置爲10B 由16進制進行表示
① IDP相當於IP地址中的主網絡號。它是由ISO規定,並由AFI(Authority and Format Identifier)與IDI(Initial Domain Identifier)。AFI表示地址分配機構和地址格式,IDI用來標識域
② DSP相當於IP地址中的子網號和主機地址。它由High Order DSP、System ID和SEL三個部分組成。High Order DSP用來分割區域,System ID用來區分主機,SEL用來指示服務類型
③ AFI(1字節) IDI(2字節) HODSO(0-10字節) SID(6字節) NSEL(1字節)
IS-IS協議的內容介紹

Area ID(Area address)

① 既能夠標識路由域,也能夠標識路由域中的區域。因此,它們一起被稱爲區域地址,相當於OSPF中的區域編號(其中49代表路由域,0001表示區域)
② 一般情況下,一個路由器只需要配置一個區域地址,且同一區域中所有節點的區域地址都要相同。爲了支持區域的平滑合併、分割及轉換,在設備的實現中,一個IS-IS進程下最多可配置3個區域地址必須保證他們的system id都相同

System ID

用來在區域內唯一標識主機或路由器。在設備的實現中,它的長度固定爲48bit(6字節)
在實際應用中,一般使用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。重新組合的1680.1000.1001就是System ID
③ 實際System ID的指定可以有不同的方法,但要保證能夠唯一標識主機或路由器

SEL

作用類似IP中的協議標識符,不同的傳輸協議對應不同的SEL。在IP上SEL均爲00
NET地址,這個地址服務於IP環境,其中SEL=00

NET地址

網絡實體名稱NET(Network Entity Title)指的是設備本身的網絡層信息,可以看作是一類特殊的NSAP(SEL=00)。NET的長度與NSAP的相同,最多爲20個字節,最少爲8個字節。在路由器上配置IS-IS時,只需要考慮NET即可,NSAP可不必去關注

路由器分類

在OSPF協議裏面也有一些比較特殊的路由器:如ABR路由器、ASBR路由器、區域內部路由器、骨幹路由器等 代表這該設備可以執行不同的功能和角色
在IS-IS協議裏面一共只有三種不同角色的路由器:level-1路由器、level-2路由器、level-1-2路由器 默認情況下 華爲設備默認都是level-1-2角色
① level-1路由器只具有level-1的功能
② level-2路由器只具有level-2的功能
③ level-1-2路由器只具有level-1和level-2的功能

#
isis 100
 is-level level-1       修改爲level-1路由器
#

Level-1路由器

Level-1只能與屬於同一區域的Level-1和Level-1-2路由器形成鄰居關係,只負責維護Level-1的鏈路狀態數據庫,該LSDB包含本區域內的路由信息,到本區域外的報文轉發給最近的Level-1-2路由器
IS-IS協議的內容介紹
 注意點:
① 能夠和level-1建立起關係的只能在同一個區域裏面的設備

Level-2路由器

Level-2路由器負責區域間的路由,它可以與相同或者不同區域的Level-2路由器或者不同區域的Level-1-2路由器形成鄰居關係。Level-2路由器維護一個Level-2的LSDB,該LSDB包含區域間的路由信息
IS-IS協議的內容介紹
 注意點:
② level-2路由器可以和同一個區域的level-2路由器建立起關係
③ level-2路由器可以和不同一個區域的level-2路由器建立起關係
④ level-2路由器可以和同一個區域的level-1-2路由器建立起關係
⑤ level-2路由器可以和不同一個區域的level-1-2路由器建立起關係

Level-1-2路由器

Level-1-2路由器維護兩個LSDB,Level-1的LSDB用於區域內路由,Level-2的LSDB用於區域間路由 Level-1-2路由器可以與同一區域的Level-1形成Level-1鄰居關係,也可以與其他區域的Level-2和Level-1-2路由器形成Level-2的鄰居關係
 注意點:
⑥ level-1-2路由器可以和同一個區域的level-1路由器建立起關係
⑦ level-1-2路由器可以和同一個區域的level-2路由器建立起關係
⑧ level-1-2路由器可以和不同一個區域的level-2路由器建立起關係
⑨ level-1-2路由器可以和同一個區域的level-1-2路由器建立兩個關係
⑩ level-1-2路由器可以和不同一個區域的level-1-2路由器建立起level-2關係

小結如下

① 不同區域間,只能建立Level-2的鄰接關係
② Level-2路由器可以與Level-2路由器建立鄰接關係
③ Level-1-2路由器可以與Level-2路由器建立鄰接關係
④ Level-1-2路由器可以與Level-1-2路由器建立鄰接關係

IS-IS的拓撲結構

IS-IS協議的區域邊界在整個Router,OSPF協議的區域邊界在Router的接口
爲了支持大規模的路由網絡,IS-IS在自治系統內採用骨幹區域與非骨幹區域兩級的分層結構
一般來說,將Level-1路由器部署在非骨幹區域,Level-2路由器和Level-1-2路由器部署在骨幹區域。每一個非骨幹區域都通過Level-1-2路由器與骨幹區域相連
下圖是一個運行IS-IS協議的網絡,它與OSPF的多區域網絡拓撲結構非常相似。整個骨幹區域不僅包括Area1中的所有路由器,還包括其它區域的Level-1-2路由器
IS-IS協議的內容介紹
IS-IS協議的內容介紹
下圖是IS-IS的另外一種拓撲結構圖。在這個拓撲中,Level-2級別的路由器沒有在同一個區域,而是分別屬於不同的區域。此時所有物理連續的Level-1-2和Level-2路由器就構成了IS-IS的骨幹區域
IS-IS協議的內容介紹
 通過以上兩種拓撲結構圖可以體現IS-IS與OSPF的不同點:
① 在IS-IS中,每個路由器都只屬於一個區域;而在OSPF中,一個路由器的不同接口可以屬於不同的區域
② 在IS-IS中,單個區域沒有骨幹與非骨幹區域的概念;而在OSPF中,Area0被定義爲骨幹區域
③ 在IS-IS中,Level-1和Level-2級別的路由都採用SPF算法,分別生成最短路徑樹SPT(Shortest Path Tree);而在OSPF中,只有在同一個區域內才使用SPF算法,區域之間的路由需要通過骨幹區域來轉發

區域內算法

 SPF計算過程
① 單區域LSDB同步完成
② 生成全網拓撲結構圖
③ 以本節點爲根生成最短路徑樹
④ 默認跨越每個節點開銷一樣
IS-IS協議的內容介紹
 ISIS路由計算的開銷方式
IS-IS在計算路由時 是不基於鏈路計算cost值的 沒經過一跳 cost數值都加上10
① Narrow模式(設備默認模式開銷都是10,手工配置接口開銷取值範圍爲1-63)
② Wide模式(設備默認模式開銷都是10,手工配置接口開銷取值範圍是1-16777215)
進程下加入auto-cost enable命令,Narrow模式和Wide模式都會參考接口帶寬大小計算開銷值,只是參考準則有少許差異 缺省情況 模式爲Narrow模式
③ 使能IS-IS自動計算接口的開銷

執行命令isis [ process-id ],進入IS-IS視圖
執行命令bandwidth-reference value,配置計算帶寬的參考值 缺省情況下,帶寬參考值爲100,單位是Mbit/s
執行命令auto-cost enable [ compatible ],使能自動計算接口的開銷值

① 只有當開銷類型爲wide或wide-compatible時,使用命令bandwidth-reference配置的帶寬參考值纔是有效的,此時各接口的開銷值=(bandwidth-reference/接口帶寬值)×10
② 當開銷類型爲narrow、narrow-compatible或compatible時,各個接口的開銷值根據如下表來確定
IS-IS協議的內容介紹

區域間路由

 區域49.0001訪問區域49.0002
① L1/2路由器RTA產生ATT置位爲1的LSP
② L1路由器收到ATT爲1的LSP會產生下一跳指向L1/2路由器的默認路由
 區域49.0002訪問區域49.0001
① L1/2路由器RTA會把區域49.0001的明細路由以葉子節點方式掛載在L2級別的LSP上面並處在Level-2的LSDB中
② L2路由器通過自己SPF計算得出訪問Area49.0001的明細路由
IS-IS協議的內容介紹
 小結如下
Level-1路由器的路由特點:
① 只擁有Level-1的鏈路狀態數據庫
② 其鏈路狀態數據庫中只有本區域路由器LSP
③ 其路由表裏沒有其他區域的路由信息
④ 其路由表裏都有一條默認路由,下一條是指向到Level-1-2路由器
Level-2路由器的路由特點
① Level-2路由器只有Level-2的鏈路狀態數據庫
② 其LSDB中有骨幹區域路由器的LSP,但是沒有Level-1路由器產生的LSP
③ 路由表裏面有整個網絡的路由信息
Level-1-2路由器的路由特點:
① Level-1-2路由器同時擁有Level-2和Level-1的鏈路狀態數據庫
② Level-1數據庫包含本區域的LSP,Level-2數據庫包含骨幹區域LSP
③ 在自己產生的Level-1的LSP中設置了ATT比特位爲1
④ 路由表裏面有整個網絡的路由信息

IS-IS支持的網絡類型

① 點對點網絡類型(如PPP、HDLC等)
② 廣播多路訪問網絡類型(Ethernet等)
 注意點
① 對於NBMA(Non-Broadcast Multi-Access)網絡,如ATM,需對其配置子接口,並注意子接口類型應配置爲P2P
② IS-IS不能在點到多點鏈路P2MP(Point to MultiPoint)上運行

IS-IS的報文類型

 IS-IS報文有以下幾種類型:HELLO PDU(Protocol Data Unit)、LSP和SNP
① Hello PDU
Hello報文用於建立和維持鄰居關係,也稱爲IIH(IS-to-IS Hello PDUs)類似於OSPF的Hello報文
② LSP
鏈路狀態報文LSP(Link State PDUs)用於交換鏈路狀態信息 類似於OSPF中的LSA
③ SNP
序列號報文SNP(Sequence Number PDUs)通過描述全部或部分數據庫中的LSP來同步各LSDB(Link-State DataBase),從而維護LSDB的完整與同步
CSNP(Complete Sequence Number PDU)類似於OSPF的DD報文傳遞的是LSDB裏所有鏈路信息摘要
PSNP(Partial Sequence Number PDU)類似於OSPF的LSR或LSAck報文用於請求和確認部分鏈路信息

鄰居hello報文

 HELLO報文的作用是鄰居發現,協商參數並建立鄰居關係,後期充當保活報文
 IS-IS建立鄰居關係和OSPF一樣,通過hello報文的交互來完成。但是會根據場景分爲三種類型的hello報文
① 廣播網中的Level-1 IS-IS使用Level-1 LAN IIH(Level-1 LAN IS-IS Hello),目的組播MAC爲:0180-c200-0014
② 廣播網中的Level-2 IS-IS使用Level-2 LAN IIH(Level-2 LAN IS-IS Hello),目的組播MAC爲:0180-c200-0015
③ 非廣播網絡中則使用P2P IIH(point to point IS-IS Hello)
 Hello報文的類型
a) Level-1的hello報文
b) Level-2的hello報文
c) P2P的hello報文
IS-IS協議的內容介紹

鄰居關係建立

P2P鏈路

 在P2P鏈路上,分爲兩次握手機制(沒有鄰居列表)和三次握手機制
① 兩次握手只要路由器收到對端發來的Hello報文,就單方面宣佈鄰居爲up狀態,建立鄰居關係,不過容易存在單通風險
② 通過三次發送P2P的IS-IS Hello PDU最終建立起鄰居關係,與廣播鏈路鄰居關係的建立情況相同
IS-IS協議的內容介紹

以太網鏈路

 在廣播鏈路上,使用LAN IIH報文執行三次握手建立鄰居關係
① 當收到鄰居發送的合法Hello PDU報文裏面沒有自己的system ID的時候,狀態機進入initialized
② 只有收到鄰居發過來的Hello PDU有自己的system ID纔會up,排除了鏈路單通的風險
③ 廣播網絡中鄰居up後會選舉DIS(虛節點),DIS的功能類似OSPF的DR(指定路由器)
IS-IS協議的內容介紹

DIS的介紹

DIS是指指定中間系統(Designated IS)DIS的功能類似OSPF的DR(指定路由器) 僞節點是指在廣播網絡中由DIS創建的虛擬路由器
在廣播網絡,需要選舉DIS,所以在鄰居關係建立後,路由器會等待兩個Hello報文間隔再進行DIS的選舉
① Hello報文中包含Priority字段,Priority值最大的將被選舉爲該廣播網的DIS
② 若優先級相同,接口MAC地址較大的被選舉爲DIS
 注意:
① IS-IS中DIS發送Hello時間間隔默認爲10/3秒
② 而其他非DIS路由器發送Hello間隔爲10秒
IS-IS協議的內容介紹

DIS的作用

① 進行SPF計算時,都把它當成虛節點,簡化MA網絡的邏輯拓撲(相同點)
② 都是爲了減少LSP/LSA的泛洪(相同點)
③ 在ISIS中還可以由DIS發送CSNP來同步鏈路的LSDB(ISIS擴展作用)

DIS和DR的區別

① 選舉時優選級的比較,DIS的優先級爲0也可以參與選舉。OSPF中優先級爲0不參與選舉DR
② 選舉的過程需要一定的時間,OSPF選舉DR/BDR需要waiting time達40秒,過程也較爲複雜,而ISIS選舉DIS等待兩個Hello報文間隔就可以,簡單快捷
③ 選舉結果ISIS只有一個DIS,但是OSPF除了有DR,還有一個BDR用做備份
④ 選舉結束後,後期有新的Router加入到鏈路進來,如果優先級比DIS高是可搶佔的,但是DR是不可搶佔的
⑤ 選舉完成後,ISIS網絡鏈路內所有的路由器之間都建立的是鄰接關係。OSPF中DRothers只與DR/BDR形成full鄰接關係, DRothers之間只有2-way的關係
IS-IS協議的內容介紹

LSP報文

LSP PDU(Link State Protocol PDU)LSP類似於OSPF的LSA,承載的是鏈路狀態信息,包含了拓撲結構和網絡號
鏈路狀態報文LSP(Link State PDUs)用於交換鏈路狀態信息。LSP分爲兩種:Level-1 LSP和Level-2 LSP
① Level-1 LSP由Level-1路由器傳送
② Level-2 LSP由Level-2路由器傳送
③ Level-1-2路由器則可傳送以上兩種LSP
LSP的刷新間隔爲15分鐘 老化時間爲20分鐘 但是一條LSP的老化除了要等待20分鐘外,還要等待60秒的零老化時延 LSP重傳時間爲5秒
LSP報文中主要字段的解釋如下
 LSP報文中包含了兩個重要字段是ATT字段、IS-Type字段
① ATT字段:當Level-1-2 IS-IS在Level-1區域內傳送Level-1 LSP時,如果Level-1 LSP中設置了ATT位,則表示該區域中的Level-1 IS-IS可以通過此Level-1-2 IS-IS通往外部區域S-Type用來指明生成此LSP的IS-IS類型是Level-1還是Level-2 IS-IS
② IS Type字段:用來指明生成此LSP的IS-IS類型是Level-1還是Level-2 IS-IS(01表示Level-1,11表示Level-2)
協議報文都分爲Level-1和Level-2兩種,在MA網絡中所有協議報文的目的MAC都是組播地址 實節點LSP僞節點LSP(只在廣播鏈路存在)
① Level-1地址爲:0180-C200-0014
② Level-2地址爲:0180-C200-0015

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類似於OSPF的DD報文傳遞的是LSDB裏所有鏈路信息摘要
② PSNP類似於OSPF的LSR或LSAck報文用於請求和確認部分鏈路信息

P2P網絡LSDB同步過程

① 建立鄰居關係之後,RTA與RTB會先發送CSNP給對端設備。如果對端的LSDB與CSNP沒有同步,則發送PSNP請求索取相應的LSP
② 假定RTB向RTA索取相應的LSP,此時向RTA發送PSNP。RTA發送RTB請求的LSP的同時啓動LSP重傳定時器,並等待RTB發送PSNP作爲收到LSP的確認
③ 如果在接口LSP重傳定時器超時後,RTA還沒有收到RTB發送的PSNP報文作爲應答,則重新發送該LSP直至收到RTB的PSNP報文作爲確認
 P2P網絡CSNP報文只發送一次,鄰居建立後立即發送
IS-IS協議的內容介紹

MA網絡中DIS的LSDB同步交互過程

① 假設新加入的路由器RTC已經與RTB(DIS)和RTA建立了鄰居關係
② 建立鄰居關係之後,RTC將自己的LSP發往組播地址(Level-1:01-80-C2-00-00-14;Level-2:01-80-C2-00-00-15)。這樣網絡上所有的鄰居都將收到該LSP
③ 該網段中的DIS會把收到RTC的LSP加入到LSDB中,並等待CSNP報文定時器超時(DIS每隔10秒發送CSNP報文)併發送CSNP報文,進行該網絡內的LSDB同步
④ RTC收到DIS發來的CSNP報文,對比自己的LSDB數據庫,然後向DIS發送PSNP報文請求自己沒有的LSP(如RTA和RTB的LSP就沒有)
⑤ RTB作爲DIS收到該PSNP報文請求後向RTC發送對應的LSP進行LSDB的同步
 MA網絡CSNP報文只由DIS組播發送,時間默認爲10秒
IS-IS協議的內容介紹

鏈路狀態信息的載體

IS-IS報文中的變長字段部分是多個TLV(Type-Length-Value)三元組 TLV也稱爲CLV(Code-Length-Value)
TLV的含義是:類型(TYPE),長度(LENGTH),值(VALUE)
IS-IS協議的內容介紹
使用TLV結構構建報文的好處是靈活性和擴展性好。採用TLV使得報文的整體結構固定,增加新特點只需要增加新TLV即可。不需要改變整個報文的整體結構
網絡拓撲結構和路由信息用TLV結構表現使得報文的靈活性和擴展性得到了極大的發揮
不同PDU類型所包含的TLV是不同的
IS-IS協議的內容介紹

路由***

通常情況下,Level-1區域內的路由通過Level-1路由器進行管理。所有的Level-2和Level-1-2路由器構成一個連續的骨幹區域。Level-1區域必須且只能與骨幹區域相連,不同的Level-1區域之間並不相連
Level-1-2路由器將學習到的Level-1路由信息裝進Level-2 LSP,再泛洪LSP給其他Level-2和Level-1-2路由器。因此,Level-1-2和Level-2路由器知道整個IS-IS路由域的路由信息。但是,爲了有效減小路由表的規模,在缺省情況下,Level-1-2路由器並不將自己知道的其他Level-1區域以及骨幹區域的路由信息通報給它所在的Level-1區域。這樣,Level-1路由器將不瞭解本區域以外的路由信息,可能導致與本區域之外的目的地址通信時無法選擇最佳的路由
爲解決上述問題,IS-IS提供了路由***功能。通過在Level-1-2路由器上定義ACL(Access Control List)、路由策略、Tag標記等方式,將符合條件的路由篩選出來,實現將其他Level-1區域和骨幹區域的部分路由信息通報給自己所在的Level-1區域
IS-IS協議的內容介紹
RouterA發送報文給RouterF,選擇的最佳路徑應該是RouterA->RouterB->RouterD->RouterE->RouterF因爲這條鏈路上的cost值爲40
但在RouterA上查看發送到RouterF的報文選擇的路徑是RouterA->RouterC->RouterE->RouterF,其cost值爲70,不是RouterA到RouterF的最優路由
RouterA作爲Level-1路由器並不知道本區域外部的路由,那麼發往區域外的報文都會選擇由最近的Level-1-2路由器產生的缺省路由發送出去,所以會出現RouterA選擇次最優路由轉發報文的情況
如果分別在Level-1-2路由器RouterC和RouterD上使能路由***功能,Aera10中的Level-1路由器就會擁有經這兩個Level-1-2路由器通向區域外的路由信息。經過路由計算,選擇的轉發路徑爲RouterA->RouterB->RouterD->RouterE->RouterF,即RouterA到RouterF的最優路由

ISIS和OSPF的區別

IS-IS與OSPF差異性

 網絡類型和開銷方式
IS-IS協議只支持兩種網絡類型,且所有帶寬默認開銷值都是一樣的,OSPF協議支持四種網絡類型,且會根據不同的帶寬設定相應的開銷值,對幀中繼,按需鏈路等網絡類型有很好的支持
 區域類型
IS-IS協議分L1/L2區域,L2區域是骨幹區域有全部明細路由。L1去往L2只有默認路由。OSPF協議分骨幹區域,普通區域,特殊區域。普通區域和特殊區域跨區域訪問需要經過骨幹區域
 報文類型
IS-IS協議路由承載報文類型只有LSP報文且裏面路由信息是不區分內部與外部的,簡單高效,無需遞歸計算。OSPF協議路由承載報文LSA類型多樣,有1/2/3/4/5/7類等。路由級別等級森嚴,且需要遞歸計算,適合精細化調度計算
 路由算法
ISIS協議區域內某個節點上的網段發生變化時,觸發的是PRC算法,收斂比較快,計算路由的報文開銷也比較小。OSPF協議由於網絡地址參與了拓撲的構建,在區域內當網段地址改變觸發的是i-spf算法,相對來說過程繁瑣複雜些
 擴展性
ISIS協議任何路由信息都使用TLV傳遞,結構簡單,易於擴展,如對IPv6的支持只增加2個TLV就解決了。且ISIS本身對IPX等協議是支持的。OSPF協議本身是爲IP特定開發的,支持IPv4和IPv6的OSPF協議是兩個獨立的版本(OSPFv2和OSPFv3)
IS-IS協議的內容介紹

術語對照表

IS-IS協議的內容介紹

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章