IS-IS理論知識詳解(一)

IS-IS理論知識詳解一

1、IS-IS簡介

中間系統到中間系統IS-IS(Intermediate System to Intermediate System)屬於內部網關協議IGP(Interior Gateway Protocol),用於自治系統內部。IS-IS也是一種鏈路狀態協議,使用最短路徑優先SPF(Shortest Path First)算法進行路由計算。

IS-IS是國際標準化組織ISO(the International Organization for Standardization)為它的無連接網絡協議CLNP(ConnectionLess Network Protocol)設計的一種動態路由協議。

隨著TCP/IP協議的流行,為了提供對IP路由的支持,IETF(Internet Engineering Task Force )在RFC1195中對IS-IS進行了擴充和修改,使它能夠同時應用在TCP/IP和OSI(Open System Interconnection)環境中,稱為集成IS-IS(Integrated IS-IS或Dual IS-IS)。

本文中所指的IS-IS,如不加特殊說明,均指集成IS-IS。

隨著IPv6網絡的建設,同樣需要動態路由協議為IPv6報文的轉發提供準確有效的路由信息。IS-IS路由協議結合自身具有良好的擴展性的特點,實現了對IPv6網絡層協議的支持,可以發現、生成和轉發IPv6路由。

2、IS-IS拓撲結構

為了支持大規模的路由網絡,IS-IS在自治系統內採用骨幹區域與非骨幹區域兩級的分層結構。

一般來說,將Level-1路由器部署在非骨幹區域,Level-2路由器和Level-1-2路由器部署在骨幹區域。每一個非骨幹區域都通過Level-1-2路由器與骨幹區域相連。

IS-IS理論知識詳解(一)

圖1 IS-IS拓撲結構圖一

如上圖1所示為一個運行IS-IS協議的網絡,它與OSPF的多區域網絡拓撲結構非常相似。整個骨幹區域不僅包括Area1中的所有路由器,還包括其它區域的Level-1-2路由器。

IS-IS理論知識詳解(一)

圖2 IS-IS拓撲結構圖二

如上圖2所示是IS-IS的另外一種拓撲結構圖。在這個拓撲中,Level-2級別的路由器沒有在同一個區域,而是分別屬於不同的區域。此時所有物理連續的Level-1-2和Level-2路由器就構成了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算法,區域之間的路由需要通過骨幹區域來轉發。

3、IS-IS路由器的分類

1、Level-1路由器

Level-1路由器負責區域內的路由,它只與屬於同一區域的Level-1和Level-1-2路由器形成鄰居關係,屬於不同區域的Level-1路由器不能形成鄰居關係。

Level-1路由器只負責維護Level-1的鏈路狀態數據庫LSDB(Link State Database),該LSDB包含本區域的路由信息,到本區域外的報文轉發給最近的Level-1-2路由器。

2、Level-2路由器

Level-2路由器負責區域間的路由,它可以與同一或者不同區域的Level-2路由器或者其它區域的Level-1-2路由器形成鄰居關係。Level-2路由器維護一個Level-2的LSDB,該LSDB包含區域間的路由信息。

所有Level-2級別(即形成Level-2鄰居關係)的路由器組成路由域的骨幹網,負責在不同區域間通信。路由域中Level-2級別的路由器必須是物理連續的,以保證骨幹網的連續性。只有Level-2級別的路由器才能直接與區域外的路由器交換數據報文或路由信息。

3、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用於區域間路由。

4、IS-IS的網絡類型

IS-IS只支持兩種類型的網絡,根據物理鏈路不同可分為:廣播鏈路:如Ethernet、Token-Ring等;點到點鏈路:如PPP、HDLC等。

對於NBMA(Non-Broadcast Multi-Access)網絡,需對其配置子接口,並注意子接口類型應配置為P2P。IS-IS不能在點到多點鏈路P2MP(Point to MultiPoint)上運行。

5、IS-IS的DIS和偽節點

在廣播網絡中,IS-IS需要在所有的路由器中選舉一個路由器作為DIS(Designated Intermediate System)。DIS用來創建和更新偽節點(Pseudonodes),並負責生成偽節點的鏈路狀態協議數據單元LSP(Link state Protocol Data Unit),用來描述這個網絡上有哪些網絡設備。

偽節點是用來模擬廣播網絡的一個虛擬節點,並非真實的路由器。在IS-IS中,偽節點用DIS的System ID和一個字節的Circuit ID(非0值)標識。

IS-IS理論知識詳解(一)

圖3 IS-IS偽節點示意圖

如上圖3所示,使用偽節點可以簡化網絡拓撲,使路由器產生的LSP長度較小。另外,當網絡發生變化時,需要產生的LSP數量也會較少,減少SPF的資源消耗。

Level-1和Level-2的DIS是分別選舉的,用戶可以為不同級別的DIS選舉設置不同的優先級。

DIS優先級數值最大的被選為DIS。如果優先級數值最大的路由器有多臺,則其中MAC地址最大的路由器會被選中。不同級別的DIS可以是同一臺路由器,也可以是不同的路由器。

IS-IS協議中DIS與OSPF協議中DR(Designated Router)的區別:

在IS-IS廣播網中,優先級為0的路由器也參與DIS的選舉,而在OSPF中優先級為0的路由器則不參與DR的選舉。

在IS-IS廣播網中,當有新的路由器加入,並符合成為DIS的條件時,這個路由器會被選中成為新的DIS,原有的偽節點被刪除。此更改會引起一組新的LSP泛洪。而在OSPF中,當一臺新路由器加入後,即使它的DR優先級值最大,也不會立即成為該網段中的DR。

在IS-IS廣播網中,同一網段上的同一級別的路由器之間都會形成鄰接關係,包括所有的非DIS路由器之間也會形成鄰接關係。而在OSPF中,路由器只與DR和BDR建立鄰接關係。

IS-IS廣播網上所有的路由器之間都形成鄰接關係,但LSDB的同步仍然依靠DIS來保證。

IS-IS理論知識詳解(一)

圖4 IS-IS協議的地址結構示意圖

網絡服務訪問點NSAP(Network Service Access Point)是OSI協議中用於定位資源的地址。NSAP的地址結構如上圖4所示,它由IDP(Initial Domain Part)和DSP(Domain Specific Part)組成。IDP和DSP的長度都是可變的,NSAP總長最多是20個字節,最少8個字節。

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(NSAP Selector)用來指示服務類型。

1、Area Address

IDP和DSP中的High Order DSP一起,既能夠標識路由域,也能夠標識路由域中的區域,因此,它們一起被稱為區域地址(Area Address),相當於OSPF中的區域編號。同一Level-1區域內的所有路由器必須具有相同的區域地址,Level-2區域內的路由器可以具有不同的區域地址。

一般情況下,一個路由器只需要配置一個區域地址,且同一區域中所有節點的區域地址都要相同。為了支持區域的平滑合併、分割及轉換,在設備的實現中,一個IS-IS進程下最多可配置3個區域地址。

2、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的指定可以有不同的方法,但要保證能夠唯一標識主機或路由器。

3、SEL

SEL的作用類似IP中的“協議標識符”,不同的傳輸協議對應不同的SEL。在IP上SEL均為00。

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

例如有NET為:ab.cdef.1234.5678.9abc.00,則其中Area Address為ab.cdef,System ID為1234.5678.9abc,SEL為00。


分享到:


相關文章: