小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

ISIS基礎(chǔ)知識

 網(wǎng)絡(luò)搬運工 2022-04-05

ISIS簡介

中間系統(tǒng)到中間系統(tǒng)IS-IS(Intermediate System to Intermediate System)屬于內(nèi)部網(wǎng)關(guān)協(xié)議IGP(Interior Gateway Protocol),用于自治系統(tǒng)內(nèi)部。IS-IS也是一種鏈路狀態(tài)協(xié)議,使用最短路徑優(yōu)先SPF(Shortest Path First)算法進行路由計算。

目的:

IS-IS是國際標準化組織ISO(the International Organization for Standardization)為它的無連接網(wǎng)絡(luò)協(xié)議CLNP(ConnectionLess Network Protocol)設(shè)計的一種動態(tài)路由協(xié)議。

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

IS-IS原理描述

ISIS基本概念:

IS-IS的拓撲結(jié)構(gòu):

為了支持大規(guī)模的路由網(wǎng)絡(luò),IS-IS在自治系統(tǒng)內(nèi)采用骨干區(qū)域與非骨干區(qū)域兩級的分層結(jié)構(gòu)。一般來說,將Level-1路由器部署在非骨干區(qū)域,Level-2路由器和Level-1-2路由器部署在骨干區(qū)域。每一個非骨干區(qū)域都通過Level-1-2路由器與骨干區(qū)域相連。

OSPF與ISIS的拓撲不同點:

  • 在IS-IS中,每個路由器都只屬于一個區(qū)域;而在OSPF中,一個路由器的不同接口可以屬于不同的區(qū)域。
  • 在IS-IS中,單個區(qū)域沒有骨干與非骨干區(qū)域的概念;而在OSPF中,Area0被定義為骨干區(qū)域。
  • 在IS-IS中,Level-1和Level-2級別的路由都采用SPF算法,分別生成最短路徑樹SPT(Shortest Path Tree);而在OSPF中,只有在同一個區(qū)域內(nèi)才使用SPF算法,區(qū)域之間的路由需要通過骨干區(qū)域來轉(zhuǎn)發(fā)。

IS-IS路由器的分類:

  • Level-1路由器

    Level-1路由器負責區(qū)域內(nèi)的路由,它只與屬于同一區(qū)域的Level-1和Level-1-2路由器形成鄰居關(guān)系,屬于不同區(qū)域的Level-1路由器不能形成鄰居關(guān)系。Level-1路由器只負責維護Level-1的鏈路狀態(tài)數(shù)據(jù)庫LSDB(Link State Database),該LSDB包含本區(qū)域的路由信息,到本區(qū)域外的報文轉(zhuǎn)發(fā)給最近的Level-1-2路由器。

  • Level-2路由器

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

    所有Level-2級別(即形成Level-2鄰居關(guān)系)的路由器組成路由域的骨干網(wǎng),負責在不同區(qū)域間通信。路由域中Level-2級別的路由器必須是物理連續(xù)的,以保證骨干網(wǎng)的連續(xù)性。只有Level-2級別的路由器才能直接與區(qū)域外的路由器交換數(shù)據(jù)報文或路由信息。

  • Level-1-2路由器

    同時屬于Level-1和Level-2的路由器稱為Level-1-2路由器,它可以與同一區(qū)域的Level-1和Level-1-2路由器形成Level-1鄰居關(guān)系,也可以與其他區(qū)域的Level-2和Level-1-2路由器形成Level-2的鄰居關(guān)系。Level-1路由器必須通過Level-1-2路由器才能連接至其他區(qū)域。

    Level-1-2路由器維護兩個LSDB,Level-1的LSDB用于區(qū)域內(nèi)路由,Level-2的LSDB用于區(qū)域間路由。

IS-IS的網(wǎng)絡(luò)類型:

IS-IS只支持兩種類型的網(wǎng)絡(luò),根據(jù)物理鏈路不同可分為:

  • 廣播鏈路:如Ethernet、Token-Ring等。
  • 點到點鏈路:如PPP、HDLC等。

對于NBMA(Non-Broadcast Multi-Access)網(wǎng)絡(luò),如ATM,需對其配置子接口,并注意子接口類型應(yīng)配置為P2P。

IS-IS不能在點到多點鏈路P2MP(Point to MultiPoint)上運行。

DIS和偽節(jié)點:

在廣播網(wǎng)絡(luò)中,IS-IS需要在所有的路由器中選舉一個路由器作為DIS(Designated Intermediate System)。DIS用來創(chuàng)建和更新偽節(jié)點(Pseudonodes),并負責生成偽節(jié)點的鏈路狀態(tài)協(xié)議數(shù)據(jù)單元LSP(Link state Protocol Data Unit),用來描述這個網(wǎng)絡(luò)上有哪些網(wǎng)絡(luò)設(shè)備。

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

Level-1和Level-2的DIS是分別選舉的,用戶可以為不同級別的DIS選舉設(shè)置不同的優(yōu)先級。DIS優(yōu)先級數(shù)值最大的被選為DIS。如果優(yōu)先級數(shù)值最大的路由器有多臺,則其中MAC地址最大的路由器會被選中。不同級別的DIS可以是同一臺路由器,也可以是不同的路由器。

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

  • 在IS-IS廣播網(wǎng)中,優(yōu)先級為0的路由器也參與DIS的選舉,而在OSPF中優(yōu)先級為0的路由器則不參與DR的選舉。

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

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

    IS-IS廣播網(wǎng)上所有的路由器之間都形成鄰接關(guān)系,但LSDB的同步仍然依靠DIS來保證。

IS-IS的地址結(jié)構(gòu):

網(wǎng)絡(luò)服務(wù)訪問點NSAP(Network Service Access Point)是OSI協(xié)議中用于定位資源的地址。NSAP的地址結(jié)構(gòu)如下圖所示,它由IDP(Initial Domain Part)和DSP(Domain Specific Part)組成。IDP和DSP的長度都是可變的,NSAP總廠最多是20個字節(jié),最少8個字節(jié)。

這里寫圖片描述

圖:ISIS協(xié)議的地址結(jié)構(gòu)示意圖
  • IDP相當于IP地址中的主網(wǎng)絡(luò)號。它是由ISO規(guī)定,并由AFI(Authority and Format Identifier)與IDI(Initial Domain Identifier)兩部分組成。AFI表示地址分配機構(gòu)和地址格式,IDI用來標識域。

  • DSP相當于IP地址中的子網(wǎng)號和主機地址。它由High Order DSP、System ID和SEL三個部分組成。High Order DSP用來分割區(qū)域,System ID用來區(qū)分主機,SEL(NSAP Selector)用來指示服務(wù)類型。

  • Area Address

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

    一般情況下,一個路由器只需要配置一個區(qū)域地址,且同一區(qū)域中所有節(jié)點的區(qū)域地址都要相同。為了支持區(qū)域的平滑合并、分割及轉(zhuǎn)換,在設(shè)備的實現(xiàn)中,一個IS-IS進程下最多可配置3個區(qū)域地址。

  • System ID

    System ID用來在區(qū)域內(nèi)唯一標識主機或路由器。在設(shè)備的實現(xiàn)中,它的長度固定為48bit(6字節(jié))。

    • 將IP地址168.10.1.1的每個十進制數(shù)都擴展為3位,不足3位的在前面補0,得到168.010.001.001。
    • 將擴展后的地址分為3部分,每部分由4位數(shù)字組成,得到1680.1000.1001。重新組合的1680.1000.1001就是System ID。

    實際System ID的指定可以有不同的方法,但要保證能夠唯一標識主機或路由器。

  • SEL

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

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

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

IS-IS基本原理:

IS-IS是一種鏈路狀態(tài)路由協(xié)議,每一臺路由器都會生成一個LSP,它包含了該路由器所有使能IS-IS協(xié)議接口的鏈路狀態(tài)信息。通過跟相鄰設(shè)備建立IS-IS鄰接關(guān)系,互相更新本地設(shè)備的LSDB,可以使得LSDB與整個IS-IS網(wǎng)絡(luò)的其他設(shè)備的LSDB實現(xiàn)同步。然后根據(jù)LSDB運用SPF算法計算出IS-IS路由。如果此IS-IS路由是到目的地址的最優(yōu)路由,則此路由會下發(fā)到IP路由表中,并指導(dǎo)報文的轉(zhuǎn)發(fā)。

IS-IS鄰居關(guān)系的建立:

兩臺運行IS-IS的路由器在交互協(xié)議報文實現(xiàn)路由功能之前必須首先建立鄰居關(guān)系。在不同類型的網(wǎng)絡(luò)上,IS-IS的鄰居建立方式并不相同。

廣播鏈路鄰居關(guān)系的建立:

下圖以Level-2路由器為例,描述了廣播鏈路中建立鄰接的過程。Level-1路由器之間建立鄰居與此相同。

這里寫圖片描述

圖:廣播鏈路鄰居關(guān)系的建立過程
  1. RouterA廣播發(fā)送Level-2 LAN IIH,此報文中無鄰居標識。
  2. RouterB收到此報文后,將自己和RouterA的鄰居狀態(tài)標識為Initial。然后,RouterB再向RouterA回復(fù)Level-2 LAN IIH,此報文中標識RouterA為RouterB的鄰居。
  3. RouterA收到此報文后,將自己與RouterB的鄰居狀態(tài)標識為Up。然后RouterA再向RouterB發(fā)送一個標識RouterB為RouterA鄰居的Level-2 LAN IIH。
  4. RouterB收到此報文后,將自己與RouterA的鄰居狀態(tài)標識為Up。這樣,兩個路由器成功建立了鄰居關(guān)系。

因為是廣播網(wǎng)絡(luò),需要選舉DIS,所以在鄰居關(guān)系建立后,路由器會等待兩個Hello報文間隔,再進行DIS的選舉。Hello報文中包含Priority字段,Priority值最大的將被選舉為該廣播網(wǎng)的DIS。若優(yōu)先級相同,接口MAC地址較大的被選舉為DIS。

P2P鏈路鄰居關(guān)系的建立:

在P2P鏈路上,鄰居關(guān)系的建立不同于廣播鏈路。分為兩次握手機制和三次握手機制。

  • 兩次握手機制

    只要路由器收到對端發(fā)來的Hello報文,就單方面宣布鄰居為Up狀態(tài),建立鄰居關(guān)系。

  • 三次握手機制

    此方式通過三次發(fā)送P2P的IS-IS Hello PDU最終建立起鄰居關(guān)系,類似廣播鄰居關(guān)系的建立。

兩次握手機制存在明顯的缺陷。當路由器間存在兩條及以上的鏈路時,如果某條鏈路上到達對端的單向狀態(tài)為Down,而另一條鏈路同方向的狀態(tài)為Up,路由器之間還是能建立起鄰接關(guān)系。SPF在計算時會使用狀態(tài)為UP的鏈路上的參數(shù),這就導(dǎo)致沒有檢測到故障的路由器在轉(zhuǎn)發(fā)報文時仍然試圖通過狀態(tài)為Down的鏈路。三次握手機制解決了上述不可靠點到點鏈路中存在的問題。這種方式下,路由器只有在知道鄰居路由器也接收到它的報文時,才宣布鄰居路由器處于Up狀態(tài),從而建立鄰居關(guān)系。

IS-IS按如下原則建立鄰居關(guān)系:

  • 只有同一層次的相鄰路由器才有可能成為鄰居。

  • 對于Level-1路由器來說,區(qū)域號必須一致。

  • 鏈路兩端IS-IS接口的網(wǎng)絡(luò)類型必須一致。

  • 鏈路兩端IS-IS接口的地址必須處于同一網(wǎng)段。

    由于IS-IS是直接運行在數(shù)據(jù)鏈路層上的協(xié)議,并且最早設(shè)計是給CLNP使用的,IS-IS鄰居關(guān)系的形成與IP地址無關(guān)。但在實際的實現(xiàn)中,由于只在IP上運行IS-IS,所以是要檢查對方的IP地址的。如果接口配置了從IP,那么只要雙方有某個IP(主IP或者從IP)在同一網(wǎng)段,就能建立鄰居,不一定要主IP相同。

    當鏈路兩端IS-IS接口的地址不在同一網(wǎng)段時,如果配置接口對接收的Hello報文不作IP地址檢查,也可以建立鄰居關(guān)系。對于P2P接口,可以配置接口忽略IP地址檢查;對于以太網(wǎng)接口,需要將以太網(wǎng)接口模擬成P2P接口,然后才可以配置接口忽略IP地址檢查。

IS-IS的LSP交互過程:

LSP產(chǎn)生的原因:

IS-IS路由域內(nèi)的所有路由器都會產(chǎn)生LSP,以下事件會觸發(fā)一個新的LSP:

  • 鄰居Up或Down
  • IS-IS相關(guān)接口Up或Down
  • 引入的IP路由發(fā)生變化
  • 區(qū)域間的IP路由發(fā)生變化
  • 接口被賦了新的metric值
  • 周期性更新

收到鄰居新的LSP的處理過程:

  1. 將接收的新的LSP合入到自己的LSDB數(shù)據(jù)庫中,并標記為flooding。
  2. 發(fā)送新的LSP到除了收到該LSP的接口之外的接口。
  3. 鄰居再擴散到其他鄰居。

LSP的"泛洪":

LSP報文的“泛洪”(flooding)是指當一個路由器向相鄰路由器通告自己的LSP后,相鄰路由器再將同樣的LSP報文傳送到除發(fā)送該LSP的路由器外的其它鄰居,并這樣逐級將LSP傳送到整個層次內(nèi)所有路由器的一種方式。通過這種“泛洪”,整個層次內(nèi)的每一個路由器就都可以擁有相同的LSP信息,并保持LSDB的同步。

每一個LSP都擁有一個標識自己的4字節(jié)的序列號。在路由器啟動時所發(fā)送的第一個LSP報文中的序列號為1,以后當需要生成新的LSP時,新LSP的序列號在前一個LSP序列號的基礎(chǔ)上加1。更高的序列號意味著更新的LSP。

廣播鏈路中新加入路由器與DIS同步LSDB數(shù)據(jù)庫的過程:

這里寫圖片描述

圖:廣播鏈路數(shù)據(jù)庫更新過程
  1. 如上圖所示,新加入的路由器RouterC首先發(fā)送Hello報文,與該廣播域中的路由器建立鄰居關(guān)系。
  2. 建立鄰居關(guān)系之后,RouterC等待LSP刷新定時器超時,然后將自己的LSP發(fā)往組播地址(Level-1:01-80-C2-00-00-14;Level-2:01-80-C2-00-00-15)。這樣網(wǎng)絡(luò)上所有的鄰居都將收到該LSP。
  3. 該網(wǎng)段中的DIS會把收到RouterC的LSP加入到LSDB中,并等待CSNP報文定時器超時并發(fā)送CSNP報文,進行該網(wǎng)絡(luò)內(nèi)的LSDB同步。
  4. RouterC收到DIS發(fā)來的CSNP報文,對比自己的LSDB數(shù)據(jù)庫,然后向DIS發(fā)送PSNP報文請求自己沒有的LSP。
  5. DIS收到該PSNP報文請求后向RouterC發(fā)送對應(yīng)的LSP進行LSDB的同步。

在上述過程中DIS的LSDB更新過程如下:

  1. DIS接收到LSP,在數(shù)據(jù)庫中搜索對應(yīng)的記錄。若沒有該LSP,則將其加入數(shù)據(jù)庫,并廣播新數(shù)據(jù)庫內(nèi)容。
  2. 若收到的LSP序列號大于本地LSP的序列號,就替換為新報文,并廣播新數(shù)據(jù)庫內(nèi)容;若收到的LSP序列號小本地LSP的序列號,就向入端接口發(fā)送本地LSP報文。
  3. 若收到的LSP和本地LSP的序列號相等,則比較Remaining Lifetime。若收到的LSP報文的Remaining Lifetime為0,則將本地的報文替換為新報文,并廣播新數(shù)據(jù)庫內(nèi)容;若收到的LSP報文的Remaining Lifetime不為0而本地LSP報文的Remaining Lifetime為0,就向入端接口發(fā)送本地LSP報文。
  4. 若兩個序列號和Remaining Lifetime都相等,則比較Checksum。若收到的LSP的Checksum大于本地LSP的Checksum,就替換為新報文,并廣播新數(shù)據(jù)庫內(nèi)容;若收到的LSP的Checksum小于本地LSP的Checksum,就向入端接口發(fā)送本地LSP報文。
  5. 若兩個序列號、Remaining Lifetime和Checksum都相等,則不轉(zhuǎn)發(fā)該報文。

P2P鏈路上LSDB數(shù)據(jù)庫同步過程:

這里寫圖片描述

圖:P2P鏈路數(shù)據(jù)庫更新過程
  1. RouterA先與RouterB建立鄰居關(guān)系。
  2. 建立鄰居關(guān)系之后,RouterA與RouterB會先發(fā)送CSNP給對端設(shè)備。如果對端的LSDB與CSNP沒有同步,則發(fā)送PSNP請求索取相應(yīng)的LSP。
  3. 如上圖所示假定RouterB向RouterA索取相應(yīng)的LSP。RouterA發(fā)送RouterB請求的LSP的同時啟動LSP重傳定時器,并等待RouterB發(fā)送的PSNP作為收到LSP的確認。
  4. 如果在接口LSP重傳定時器超時后,RouterA還沒有收到RouterB發(fā)送的PSNP報文作為應(yīng)答,則重新發(fā)送該LSP直至收到PSNP報文。

在P2P鏈路上PSNP有兩種作用:

  • 作為Ack應(yīng)答以確認收到的LSP。
  • 用來請求所需的LSP。

在P2P鏈路中設(shè)備的LSDB更新過程如下:

  1. 若收到的LSP比本地的序列號更小,則直接給對方發(fā)送本地的LSP,然后等待對方給自己一個PSNP報文作為確認;若收到的LSP比本地的序列號更大,則將這個新的LSP存入自己的LSDB,再通過一個PSNP報文來確認收到此LSP,最后再將這個新LSP發(fā)送給除了發(fā)送該LSP的鄰居以外的鄰居。
  2. 若收到的LSP序列號和本地相同,則比較Remaining Lifetime,若收到的LSP報文的Remaining Lifetime為0,則將收到的LSP存入LSDB中并發(fā)送PSNP報文來確認收到此LSP,然后將該LSP發(fā)送給除了發(fā)送該LSP的鄰居以外的鄰居;若收到的LSP報文的Remaining Lifetime不為0而本地LSP報文的Remaining Lifetime為0,則直接給對方發(fā)送本地的LSP,然后等待對方給自己一個PSNP報文作為確認。
  3. 若收到的LSP和本地LSP的序列號相同且Remaining Lifetime都不為0,則比較Checksum,若收到LSP的Checksum大于本地LSP的Checksum,則將收到的LSP存入LSDB中并發(fā)送PSNP報文來確認收到此LSP,然后將該LSP發(fā)送給除了發(fā)送該LSP的鄰居以外的鄰居;若收到LSP的Checksum小于本地LSP的Checksum,則直接給對方發(fā)送本地的LSP,然后等待對方給自己一個PSNP報文作為確認。
  4. 若收到的LSP和本地LSP的序列號、Remaining Lifetime和Checksum都相同,則不轉(zhuǎn)發(fā)該報文。

#ISIS高級特性

IS-IS認證:

IS-IS認證是基于網(wǎng)絡(luò)安全性的要求而實現(xiàn)的一種認證手段,通過在IS-IS報文中增加認證字段對報文進行認證。當本地路由器接收到遠端路由器發(fā)送過來的IS-IS報文,如果發(fā)現(xiàn)認證密碼不匹配,則將收到的報文進行丟棄,達到自我保護的目的。

認證的分類:

根據(jù)報文的種類,認證可以分為以下三類:

  • 接口認證:是指使能IS-IS協(xié)議的接口以指定方式和密碼對Level-1和Level-2的Hello報文進行認證。

  • 區(qū)域認證:是指運行IS-IS的區(qū)域以指定方式和密碼對Level-1的SNP和LSP報文進行認證。

  • 路由域認證:是指運行IS-IS的路由域以指定方式和密碼對Level-2的SNP和LSP報文進行認證。

對于接口認證,有以下兩種設(shè)置:

  • 發(fā)送帶認證TLV的認證報文,本地對收到的報文也進行認證檢查。
  • 發(fā)送帶認證TLV的認證報文,但是本地對收到的報文不進行認證檢查。

對于區(qū)域和路由域認證,可以設(shè)置為SNP和LSP分開認證。

  • 本地發(fā)送的LSP報文和SNP報文都攜帶認證TLV,對收到的LSP報文和SNP報文都進行認證檢查。
  • 本地發(fā)送的LSP報文攜帶認證TLV,對收到的LSP報文進行認證檢查;發(fā)送的SNP報文攜帶認證TLV,但不對收到的SNP報文進行檢查。
  • 本地發(fā)送的LSP報文攜帶認證TLV,對收到的LSP報文進行認證檢查;發(fā)送的SNP報文不攜帶認證TLV,也不對收到的SNP報文進行認證檢查。
  • 本地發(fā)送的LSP報文和SNP報文都攜帶認證TLV,對收到的LSP報文和SNP報文都不進行認證檢查。

根據(jù)報文的認證方式,可以分為以下三類:

  • 明文認證:一種簡單的認證方式,將配置的密碼直接加入報文中,這種認證方式安全性不夠。
  • MD5認證:通過將配置的密碼進行MD5算法之后再加入報文中,這樣提高了密碼的安全性。
  • Keychian認證:通過配置隨時間變化的密碼鏈表來進一步提升網(wǎng)絡(luò)的安全性。

認證信息的攜帶形式:

IS-IS通過TLV的形式攜帶認證信息,認證TLV的類型為10,具體格式如下:

  • Type:ISO定義認證報文的類型值為10,長度為1字節(jié)。

  • Length:指定認證TLV值的長度,長度1字節(jié)。

  • Value:指定認證的具體內(nèi)容,其中包括了認證的類型和認證的密碼,長度為1~254字節(jié)。

    其中認證的類型為1字節(jié),具體定義如下:

    • 0:保留的類型
    • 1:明文認證
    • 54:MD5認證
    • 255:路由域私有認證方式

ISIS路由滲透:

通常情況下,Level-1區(qū)域內(nèi)的路由通過Level-1路由器進行管理。所有的Level-2和Level-1-2路由器構(gòu)成一個連續(xù)的骨干區(qū)域。Level-1區(qū)域必須且只能與骨干區(qū)域相連,不同的Level-1區(qū)域之間并不相連。

Level-1-2路由器將學(xué)習(xí)到的Level-1路由信息裝進Level-2 LSP,再泛洪LSP給其他Level-2和Level-1-2路由器。因此,Level-1-2和Level-2路由器知道整個IS-IS路由域的路由信息。但是,為了有效減小路由表的規(guī)模,在缺省情況下,Level-1-2路由器并不將自己知道的其他Level-1區(qū)域以及骨干區(qū)域的路由信息通報給它所在的Level-1區(qū)域。這樣,Level-1路由器將不了解本區(qū)域以外的路由信息,可能導(dǎo)致與本區(qū)域之外的目的地址通信時無法選擇最佳的路由。

為解決上述問題,IS-IS提供了路由滲透功能。通過在Level-1-2路由器上定義ACL(Access Control List)、路由策略、Tag標記等方式,將符合條件的路由篩選出來,實現(xiàn)將其他Level-1區(qū)域和骨干區(qū)域的部分路由信息通報給自己所在的Level-1區(qū)域。

ISIS Overload:

IS-IS OverLoad使用IS-IS過載標記位來標識過載狀態(tài)。IS-IS過載標志位是指IS-IS LSP報文中的OL字段。對設(shè)備設(shè)置過載標志位后,其它設(shè)備在進行SPF計算時不會使用這臺設(shè)備做轉(zhuǎn)發(fā),只計算該設(shè)備上的直連路由。

當系統(tǒng)因為各種原因無法保存新的LSP,以致無法維持正常的LSDB同步時,該系統(tǒng)計算出的路由信息將出現(xiàn)錯誤。在這種情況下,系統(tǒng)就可以自動進入過載狀態(tài),即通過該設(shè)備到達的路由不計算,但該設(shè)備的直連路由不會被忽略。

除了設(shè)備異常可導(dǎo)致自動進入過載狀態(tài),也可以通過手動配置使系統(tǒng)進入過載狀態(tài)。當網(wǎng)絡(luò)中的某些IS-IS設(shè)備需要升級或維護時,需要暫時將該設(shè)備從網(wǎng)絡(luò)中隔離。此時可以給該設(shè)備設(shè)置過載標志位,這樣就可以避免其他設(shè)備通過該節(jié)點來轉(zhuǎn)發(fā)流量。

ISIS網(wǎng)絡(luò)收斂:

為了提高IS-IS網(wǎng)絡(luò)的收斂,有快速收斂和按優(yōu)先級收斂兩種方式??焖偈諗總?cè)重于從路由的計算角度加快收斂速度;按優(yōu)先級收斂側(cè)重于從路由優(yōu)先級角度提高網(wǎng)絡(luò)性能。

快速收斂:

IS-IS快速收斂是為了提高路由的收斂速度而做的擴展特性。它包括以下幾個功能:

  • 增量最短路徑優(yōu)先算法I-SPF(Incremental SPF):是指當網(wǎng)絡(luò)拓撲改變的時候,只對受影響的節(jié)點進行路由計算,而不是對全部節(jié)點重新進行路由計算,從而加快了路由的計算。

    在ISO10589中定義使用SPF算法進行路由計算。當網(wǎng)絡(luò)拓撲中有一個節(jié)點發(fā)生變化時,這種算法需要重新計算網(wǎng)絡(luò)中的所有節(jié)點,計算時間長,占用過多的CPU資源,影響整個網(wǎng)絡(luò)的收斂速度。

    I-SPF改進了這個算法,除了第一次計算時需要計算全部節(jié)點外,每次只計算受到影響的節(jié)點,而最后生成的最短路徑樹SPT與原來的算法所計算的結(jié)果相同,大大降低了CPU的占用率,提高了網(wǎng)絡(luò)收斂速度。

  • 部分路由計算PRC(Partial Route Calculation):是指當網(wǎng)絡(luò)上路由發(fā)生變化的時候,只對發(fā)生變化的路由進行重新計算。

    PRC的原理與I-SPF相同,都是只對發(fā)生變化的路由進行重新計算。不同的是,PRC不需要計算節(jié)點路徑,而是根據(jù)I-SPF算出來的SPT來更新路由。

    在路由計算中,葉子代表路由,節(jié)點則代表路由器。如果I-SPF計算后的SPT改變,PRC會只處理那個變化的節(jié)點上的所有葉子;如果經(jīng)過I-SPF計算后的SPT并沒有變化,則PRC只處理變化的葉子信息。比如一個節(jié)點使能一個IS-IS接口,則整個網(wǎng)絡(luò)拓撲的SPT是不變的,這時PRC只更新這個節(jié)點的接口路由,從而節(jié)省CPU占用率。

    PRC和I-SPF配合使用可以將網(wǎng)絡(luò)的收斂性能進一步提高,它是原始SPF算法的改進,已經(jīng)代替了原有的算法。

  • 智能定時器:在進行SPF計算和產(chǎn)生LSP的時候用到的一種智能定時器。該定時器首次超時時間是一個固定的時間。如果在定時器超時前,又有觸發(fā)定時器的事件發(fā)生,則該定時器下一次的超時時間會增加。

    改進了路由算法后,如果觸發(fā)路由計算的時間間隔較長,同樣會影響網(wǎng)絡(luò)的收斂速度。使用毫秒級定時器可以縮短這個間隔時間,但如果網(wǎng)絡(luò)變化比較頻繁,又會造成過度占用CPU資源。SPF智能定時器既可以對少量的外界突發(fā)事件進行快速響應(yīng),又可以避免過度的占用CPU。通常情況下,一個正常運行的IS-IS網(wǎng)絡(luò)是穩(wěn)定的,發(fā)生大量的網(wǎng)絡(luò)變動的幾率很小,IS-IS不會頻繁的進行路由計算,所以第一次觸發(fā)的時間可以設(shè)置的非常短(毫秒級)。如果拓撲變化比較頻繁,智能定時器會隨著計算次數(shù)的增加,間隔時間也會逐漸延長,從而避免占用大量的CPU資源。

    與SPF智能定時器類似的還有LSP生成智能定時器。在IS-IS協(xié)議中,當LSP生成定時器到期時,系統(tǒng)會根據(jù)當前拓撲重新生成一個自己的LSP。原有的實現(xiàn)機制是采用間隔時間固定的定時器,這樣就不能同時滿足快速收斂和低CPU占用率的需要。為此將LSP生成定時器也設(shè)計成智能定時器,使其可以對于突發(fā)事件(如接口Up/Down)快速響應(yīng),加快網(wǎng)絡(luò)的收斂速度。同時,當網(wǎng)絡(luò)變化頻繁時,智能定時器的間隔時間會自動延長,避免過度占用CPU資源。

  • LSP快速擴散:此特性可以加快LSP的擴散速度。

    正常情況下,當IS-IS收到其它路由器發(fā)來的LSP時,如果此LSP比本地LSDB中相應(yīng)的LSP要新,則更新LSDB中的LSP,并用一個定時器定期將LSDB內(nèi)已更新的LSP擴散出去。

    LSP快速擴散特性改進了這種方式,使能了此特性的設(shè)備收到一個或多個較新的LSP時,在路由計算之前,先將小于指定數(shù)目的LSP擴散出去,加快LSDB的同步過程。這種方式在很大程度上可以提高整個網(wǎng)絡(luò)的收斂速度。

按優(yōu)先級收斂:

IS-IS按優(yōu)先級收斂是指在大量路由情況下,能夠讓某些特定的路由(例如匹配指定IP前綴的路由)優(yōu)先收斂的一種技術(shù)。因此用戶可以把和關(guān)鍵業(yè)務(wù)相關(guān)的路由配置成相對較高的優(yōu)先級,使這些路由更快的收斂,從而使關(guān)鍵的業(yè)務(wù)收到的影響減小。通過對不同的路由配置不同的收斂優(yōu)先級,達到重要的路由先收斂的目的,提高網(wǎng)絡(luò)的可靠性。

ISIS管理標記:

管理標記特性允許在IS-IS域中通過管理標記對IP地址前綴進行控制,可以達到簡化管理。其用途包括控制不同級別和不同區(qū)域間的路由引入,以及在同一路由器上運行的IS-IS多實例。

管理標記值與某些屬性相關(guān)聯(lián)。當cost-sytle為wide、wide-compatible或compatible時,如果發(fā)布可達的IP地址前綴具有該屬性,IS-IS會將管理標記加入到該前綴的IP可達信息TLV中。這樣,管理標記就會隨著前綴發(fā)布到整個路由域。

ISIS Wide Metric:

在早期的ISO10589中,使能IS-IS協(xié)議的接口下最大只能配置值為63的開銷值,此時認為IS-IS開銷類型為narrow。但是在大型網(wǎng)絡(luò)設(shè)計中,較小的度量范圍不能滿足實際需求。所以在RFC3784中規(guī)定,使能IS-IS協(xié)議的接口開銷值可以擴展到16777215,IS-IS路由開銷值可以達到4261412864,此時IS-IS的開銷類型為wide。

  • narrow類型下使用的TLV:
    • 128號TLV(IP Internal Reachability TLV):用來攜帶路由域內(nèi)的IS-IS路由信息。
    • 130號TLV(IP External Reachability TLV):用來攜帶路由域外的IS-IS路由信息。
    • 2號TLV(IS Neighbors TLV):用來攜帶鄰居信息。
  • wide類型下使用的TLV:
    • 135號TLV(Extended IP Reachability TLV):用來替換原有的IP reachability TLV,攜帶IS-IS路由信息,它擴展了路由開銷值的范圍,并可以攜帶sub TLV。
    • 22號TLV(IS Extended Neighbors TLV):用來攜帶鄰居信息。

不同開銷類型接收和發(fā)送ISIS信息的類型詳細列表:

開銷類型接收發(fā)送
narrownarrownarrow
narrow-compatiblenarrow&widenarrow
compatiblenarrow&widenarrow&wide
wide-compatiblenarrow&widewide
widewidewide
  • 當配置開銷類型為compatible的時候,會按照narrow類型和wide類型分別發(fā)送一份信息。
  • wide類型下的IS-IS和narrow類型下的IS-IS不可實現(xiàn)互通。如果需要互通,就必須設(shè)置成一致的開銷類型,讓網(wǎng)絡(luò)上所有路由器都可以接收其他路由器發(fā)的所有報文。

ISIS LSP分片擴展:

當IS-IS要發(fā)布的鏈路狀態(tài)協(xié)議數(shù)據(jù)報文PDU(Protocol Data Unit)中的信息量太大時,IS-IS路由器將會生成多個LSP分片,用來攜帶更多的IS-IS信息。

IS-IS LSP分片由LSP ID中的LSP Number字段進行標識,這個字段的長度是1字節(jié)。因此,一個IS-IS進程最多可產(chǎn)生256個LSP分片,攜帶的信息量有限。在RFC3786中規(guī)定,IS-IS可以配置虛擬的SystemID ,并生成虛擬IS-IS的LSP報文來攜帶路由等信息。

基本概念:

  • 初始系統(tǒng)(Originating System):初始系統(tǒng)是實際運行IS-IS協(xié)議的路由器。允許一個單獨的IS-IS進程像多個虛擬路由器一樣發(fā)布LSP,而“Originating System”指的是那個“真正”的IS-IS進程。

  • 系統(tǒng)ID(Normal System-ID):初始系統(tǒng)的系統(tǒng)ID。

  • 虛擬系統(tǒng)(Virtual System):由附加系統(tǒng)ID標識的系統(tǒng),用來生成擴展LSP分片。這些分片在其LSP ID中攜帶附加系統(tǒng)ID。

  • 附加系統(tǒng)ID(Additional System-ID):虛擬系統(tǒng)的系統(tǒng)ID,由網(wǎng)絡(luò)管理器統(tǒng)一分配。每個附加系統(tǒng)ID都允許生成256個擴展的LSP分片。

  • 24號TLV(IS Alias ID TLV):用來表示初始系統(tǒng)與虛擬系統(tǒng)的關(guān)系。

工作原理:

在IS-IS中,每個系統(tǒng)ID都標識一個系統(tǒng),每個系統(tǒng)都最多可生成256個LSP分片。通過增加附加系統(tǒng)ID,可以最多配置50個虛擬系統(tǒng),從而使得IS-IS進程最多可生成13056個LSP分片。

使能分片擴展功能之后,如果存在由于報文裝滿而丟失的信息,系統(tǒng)會提醒重啟IS-IS。重啟之后,初始系統(tǒng)會盡最大能力裝載路由信息,裝不下的信息將放入虛擬系統(tǒng)的LSP中發(fā)送出去,并通過24號TLV來告知其他路由器此虛擬系統(tǒng)和自己的關(guān)系。

工作模式:

IS-IS路由器可以在兩種模式下運行LSP分片擴展特性:

模式一:

  • 應(yīng)用場景:

    用于網(wǎng)絡(luò)中的部分路由器不支持LSP分片擴展特性的情況。

  • 工作原理:

    虛擬系統(tǒng)參與路由SPF計算,初始系統(tǒng)發(fā)布的LSP中攜帶了到每個虛擬系統(tǒng)的鏈路信息。類似地,虛擬系統(tǒng)發(fā)布的LSP也包含到初始系統(tǒng)的鏈路信息。這樣,在網(wǎng)絡(luò)中虛擬系統(tǒng)看起來與初始系統(tǒng)相連的真實路由器是一樣的。
    這種方式是為了兼容不支持分片擴展的老版本所做的一個過渡模式。在老版本中,IS-IS無法識別IS Alias ID
    TLV,所以虛擬系統(tǒng)的LSP必須表現(xiàn)的像一個普通IS-IS發(fā)出的報文。

  • 注意事項:

    虛擬系統(tǒng)的LSP中包含和原LSP中相同的區(qū)域地址和過載標志位。如果還有其它特性的TLV,也必須保持一致。
    虛擬系統(tǒng)所攜帶的鄰居信息指向初始系統(tǒng),metric為最大值減1;初始系統(tǒng)所攜帶的鄰居信息指向虛擬系統(tǒng),metric必須為0。這樣就保證了其它路由器在進行路由計算的時候,虛擬系統(tǒng)一定會成為初始系統(tǒng)的下游節(jié)點。

模式二:

  • 應(yīng)用場景:

    用于網(wǎng)絡(luò)中所有路由器都支持LSP分片擴展特性的情況。

  • 工作原理:

    虛擬系統(tǒng)不參與路由SPF計算,網(wǎng)絡(luò)中所有路由器都知道虛擬系統(tǒng)生成的LSP實際屬于初始系統(tǒng)。
    在該模式下工作的IS-IS,可以識別IS Alias ID TLV的內(nèi)容,并作為計算樹和路由的依據(jù)。

注:無論在哪種方式下,初始系統(tǒng)和虛擬系統(tǒng)的LSP零分片中,都必須包含IS Alias ID TLV來表示初始系統(tǒng)是誰。

ISIS主機名映射:

IS-IS主機名映射機制為運行IS-IS協(xié)議的設(shè)備提供了一種從主機名到System ID映射的服務(wù),它包括動態(tài)主機名映射和靜態(tài)主機名映射。動態(tài)主機名映射的優(yōu)先級高于靜態(tài)主機名映射。當兩者同時存在時,由動態(tài)主機名代替靜態(tài)主機名。

在沒有使能主機名交換特性的運行IS-IS協(xié)議的設(shè)備上,查看IS-IS鄰居和鏈路狀態(tài)數(shù)據(jù)庫等信息時,IS-IS域中的各設(shè)備都是用由12位十六進制數(shù)組成的System ID來表示的,例如:aaaa.eeee.1234。這種表示方法比較繁瑣,而且易用性不好。主機名交換機制就是為了方便對IS-IS網(wǎng)絡(luò)的維護和管理而引入的。

  • 顯示IS-IS鄰居時,將IS-IS鄰居的System ID替換為主機名。如果該鄰居為DIS,則DIS的System ID也替換為該鄰居的主機名。
  • 顯示IS-IS鏈路狀態(tài)數(shù)據(jù)庫中的LSP時,將LSP ID中的System ID替換為發(fā)布該LSP的設(shè)備的主機名。
  • 顯示IS-IS鏈路狀態(tài)數(shù)據(jù)庫的詳細信息時,對于使能了動態(tài)主機名交換的設(shè)備發(fā)送的LSP報文會增加顯示Host Name字段,而此字段顯示內(nèi)容中的System ID也將替換為發(fā)送此LSP的設(shè)備的動態(tài)主機名。

動態(tài)主機名映射:

在使能了動態(tài)主機名映射的設(shè)備上,IS-IS動態(tài)主機名的信息在LSP中以137號TLV(Dynamic Hostname TLV)的形式發(fā)布給其他IS-IS設(shè)備。在其他設(shè)備上使用IS-IS相關(guān)顯示命令查看IS-IS信息時,本地設(shè)備的System ID將被設(shè)置的主機名所代替,這樣更直觀,也更容易記憶。

動態(tài)主機名的TLV是可選的,它可以存在于LSP中的任何位置。其中TLV的value值不能為空。設(shè)備在發(fā)送LSP的時候可以決定是否攜帶該TLV,接收端的設(shè)備也可以決定是否忽略該TLV,或者提取該TLV的內(nèi)容放在自己的映射表中。

靜態(tài)主機映射:

靜態(tài)主機名映射是指在本地設(shè)備上對其他運行IS-IS協(xié)議的設(shè)備設(shè)置主機名與System ID的映射。靜態(tài)主機名映射僅在本地設(shè)備生效,并不會通過LSP報文發(fā)送出去。

IS-IS擴展知識

ISIS GR:

IS-IS GR(Graceful Restart)是一種支持GR能力的高可靠性技術(shù),可以實現(xiàn)數(shù)據(jù)的不間斷轉(zhuǎn)發(fā)。

設(shè)備發(fā)生主備倒換后,由于沒有保存任何重啟前的鄰居信息,因此一開始發(fā)送的Hello報文中不包含鄰居列表。此時鄰居設(shè)備收到后,執(zhí)行兩次握手機制鄰居關(guān)系檢查,發(fā)現(xiàn)在重啟設(shè)備的Hello報文的鄰居列表中沒有自己,這樣鄰居關(guān)系將會斷掉。同時,鄰居設(shè)備通過生成新的LSP報文,將拓撲變化的信息泛洪給區(qū)域內(nèi)的其它設(shè)備。區(qū)域內(nèi)的其他設(shè)備會基于新的鏈路狀態(tài)數(shù)據(jù)庫進行路由計算,從而造成路由中斷或者路由環(huán)路。

IETF針對這種情況為IS-IS制定了GR規(guī)范(RFC3847),對保留FIB表和不保留FIB表的協(xié)議重啟都進行了處理,避免協(xié)議重啟帶來的路由震蕩和流量轉(zhuǎn)發(fā)中斷的現(xiàn)象。

基本概念:

IS-IS GR過程由GR-Restarter和GR-Helper配合完成。

  • GR-Restarter:具備GR能力,且要進行GR的設(shè)備。
  • GR-Helper:具備GR能力,輔助GR設(shè)備完成GR功能的設(shè)備。GR-Restarter一定具有GR-Helper的能力。

為了實現(xiàn)GR,IS-IS引入211號TLV(Restart TLV)和T1、T2、T3三個定時器。

Restart TLV:

Restart TLV是包含在IIH(IS-to-IS Hello PDUs)報文中的擴展部分。支持IS-IS GR能力的設(shè)備的所有IIH報文都包含Restart TLV。Restart TLV中攜帶了協(xié)議重啟的一些參數(shù)。其報文格式如下圖所示:

這里寫圖片描述

圖:Restart TLV格式

報文字段解釋如下:

字段名長度含義
Type1字節(jié)TLV的類型。值為211表示是Restart TLV。
Length1字節(jié)TLV值的長度。
RR1比特重啟請求位(Restart Request)。設(shè)備發(fā)送的RR置位的Hello報文用于通告鄰居自己發(fā)生Restarting/Starting,請求鄰居保留當前的IS-IS鄰接關(guān)系并返回CSNP報文。
RA1比特重啟應(yīng)答位(Restart Acknowledgement)。設(shè)備發(fā)送的RA置位的Hello報文用于通告鄰居確認收到了RR置位的報文。
SA1比特抑制發(fā)布鄰接關(guān)系位(Suppress adjacency advertisement)。用于發(fā)生Starting的設(shè)備請求鄰居抑制與自己相關(guān)的鄰居關(guān)系的廣播,以避免路由黑洞。
Remaining Time2字節(jié)鄰居保持鄰接關(guān)系不重置的時間。長度是2字節(jié),單位是秒。當RA置位時,這個值是必需的。

定時器:

IS-IS的GR能力擴展中,引入了三個定時器,分別是T1、T2和T3。

  • T1定時器:如果GR Restarter已發(fā)送RR置位的IIH報文,但直到T1定時器超時還沒有收到GR Helper的包含Restart TLV且RA置位的IIH報文的確認消息時,會重置T1定時器并繼續(xù)發(fā)送包含Restart TLV的IIH報文。當收到確認報文或者T1定時器已超時3次時,取消T1定時器。T1定時器缺省設(shè)置為3秒。

    使能了IS-IS GR特性的進程,在每個接口都會維護一個T1定時器。在Level-1-2路由器上,廣播網(wǎng)接口為每個Level維護一個T1定時器。

  • T2定時器:GR Restarter從重啟開始到本Level所有設(shè)備LSDB完成同步的時間。T2定時器是系統(tǒng)等待各層LSDB同步的最長時間,一般情況下為60秒。

    Level-1和Level-2的LSDB各維護一個T2定時器。

  • T3定時器:GR Restarter成功完成GR所允許的最大時間。T3定時器的初始值為65535秒,但在收到鄰居回應(yīng)的RA置位的IIH報文后,取值會變?yōu)楦鱾€IIH報文的Remaining time字段值中的最小者。T3定時器超時表示GR失敗。

    整個系統(tǒng)維護一個T3定時器。

會話機制:

為了以示區(qū)別,主備倒換和重啟IS-IS進程觸發(fā)的GR過程稱為Restarting,F(xiàn)IB表保持不變。設(shè)備重啟觸發(fā)的GR過程稱為Starting,進行FIB表更新。

下面分Restarting和Starting兩種情況說明IS-IS GR的詳細過程。

ISIS Restarting的過程:

這里寫圖片描述

圖:IS-IS Restarting過程
  1. GR Restarter進行協(xié)議重啟后,GR Restarter進行如下操作:

    • 啟動T1、T2和T3定時器。
    • 從所有接口發(fā)送包含Restart TLV的IIH報文,其中RR置位,RA和SA位清除。
  2. GR Helper收到IIH報文以后,進行如下操作:

    • GR Helper維持鄰居關(guān)系,刷新當前的Holdtime。

    • 回送一個包含Restart TLV的IIH報文(RR清除,RA置位,Remaining time是從現(xiàn)在到Holdtime超時的時間間隔)。

    • 發(fā)送CSNP報文和所有LSP報文給GR Restarter。

      在點到點鏈路上,鄰居必須發(fā)送CSNP。

      在廣播鏈路上,是DIS的鄰居才發(fā)送CSNP報文,如果重啟的是DIS,則在LAN中的其它設(shè)備中選舉一個臨時的DIS。

      如果鄰居設(shè)備不具備GR Helper能力,就忽略Restart TLV,按正常的IS-IS過程處理,重置和GR Restarter的鄰接關(guān)系。

  3. GR Restarter接收到鄰居的IIH回應(yīng)報文(RR清除、RA置位),做如下處理:

    • 把T3的當前值和報文中Remaining time比較,取其中較小者作為T3的值。
    • 在接口收到確認報文和CSNP報文之后,取消該接口的T1定時器。
    • 如果該接口沒有收到確認報文和CSNP報文,T1會不停地重置,重發(fā)含Restart TLV的IIH報文。如果T1超時次數(shù)超過閾值,GR Restarter強制取消T1定時器,啟動正常的IS-IS處理流程。
  4. 當GR Restarter所有接口上的T1定時器都取消,CSNP列表清空并且收集全所有的LSP報文后,可以認為和所有的鄰居都完成了同步,取消T2定時器。

  5. T2定時器被取消,表示本Level的LSDB已經(jīng)同步。

    • 如果是單Level系統(tǒng),則直接觸發(fā)SPF計算。
    • 如果是Level-1-2系統(tǒng),此時判斷另一個Level的T2定時器是否也取消。如果兩個Level的T2定時器都被取消,那么觸發(fā)SPF計算,否則等待另一個Level的T2定時器超時。
  6. 各層的T2定時器都取消后,GR Restarter取消T3定時器,更新FIB表。GR Restarter可以重新生成各層的LSP并泛洪,在同步過程中收到的自己重啟前生成的LSP此時也可以被刪除。

  7. 至此,GR Restarter的IS-IS Restarting過程結(jié)束。

ISIS Starting過程:

對于Starting設(shè)備,因為沒有保留FIB表項,所以一方面希望在Starting之前和自己的鄰接關(guān)系為“Up”的鄰居重置和自己的鄰接關(guān)系,同時希望鄰居能在一段時間內(nèi)抑制和自己的鄰接關(guān)系的發(fā)布。其處理過程和Restarting不同,具體如下圖所示:

這里寫圖片描述

圖:IS-IS Starting過程
  1. 為每層LSDB的同步啟動T2定時器。
  • 從各個接口發(fā)送攜帶Restart TLV的IIH報文,其中RR位清除,SA位置位。
  • RR位清除表示是Starting完成。
  • SA位置位則表示希望鄰居在收到SA位清除的IIH報文之前,一直抑制和自己的鄰接關(guān)系的發(fā)布。
  1. 鄰居收到攜帶Restart TLV的IIH報文,根據(jù)設(shè)備是否支持GR,進行如下處理。
  • 支持GR

    重新初始化鄰接關(guān)系。

    在發(fā)送的LSP中取消和GR Restarter鄰接關(guān)系的描述,進行SPF計算時也不考慮和GR Restarter相連的鏈路,直到收到SA位清除的IIH為止。

  • 不支持GR

    鄰居忽略Restart TLV,重置和GR Restarter之間的鄰接關(guān)系。

    回應(yīng)一個不含Restart TLV的IIH報文,轉(zhuǎn)入正常的IS-IS處理流程。這時不會抑制和GR Restarter的鄰接關(guān)系的發(fā)布。在點到點鏈路上,還會發(fā)送一個CSNP報文。

  1. 鄰接關(guān)系重新初始化之后,在每個接口上GR Restarter都和鄰居重建鄰接關(guān)系。當有一個鄰接關(guān)系到達Up狀態(tài)后,GR Restarter為該接口啟動T1定時器。

  2. 在T1定時器超時之后,GR Restarter發(fā)送RR置位、SA置位的IIH報文。

  3. 鄰居收到RR置位和SA置位的IIH報文后,發(fā)送一個RR清除、RA置位的IIH報文作為確認報文,并發(fā)送CSNP報文。

  4. GR Restarter收到鄰居的IIH確認報文和CSNP報文以后,取消T1定時器。

    如果沒有收到IIH報文或者CSNP報文,就不停重置T1定時器,重發(fā)RR置位、SA置位的IIH報文。如果T1超時次數(shù)超過閾值,GR Restarter強制取消T1定時器,進入正常的IS-IS處理流程完成LSDB同步。

  5. GR Restarter收到Helper端的CSNP以后,開始同步LSDB。

  6. 本Level的LSDB同步完成后,GR Restarter取消T2定時器。

  7. 所有的T2定時器都取消以后,啟動SPF計算,重新生成LSP,并泛洪。

  8. 至此,GR Restarter的IS-IS Starting過程完成。

IS-IS NSR(不間斷路由):

在網(wǎng)絡(luò)高速發(fā)展的今天,用戶對數(shù)據(jù)、視頻、語音等應(yīng)用的需求日漸增多,運營商對IP網(wǎng)絡(luò)的可靠性也提出了更高的需求。當網(wǎng)絡(luò)中某個節(jié)點發(fā)生故障,或者維護過程中人為進行的主備倒換,都可能導(dǎo)致設(shè)備無法組建路由信息,導(dǎo)致流量丟失甚至網(wǎng)絡(luò)癱瘓。部署NSR(Non-Stop Routing)能夠解決上述問題,給用戶的關(guān)鍵業(yè)務(wù)提供不間斷轉(zhuǎn)發(fā)的高可靠性保障。

IS-IS NSR特性通過IS-IS實時數(shù)據(jù)的主備間高度同步來保證主備倒換后備板能夠快速接管原主控板的業(yè)務(wù),使鄰居不感知本設(shè)備故障。在主備倒換后,新主用主控板利用這些實時數(shù)據(jù)可以迅速地恢復(fù)協(xié)議,使鄰居設(shè)備對主備倒換不感知。IS-IS NSR主要通過備份以下數(shù)據(jù)來實現(xiàn):

  • 配置數(shù)據(jù):用戶完成的所有配置,包括鄰居信息,定時器參數(shù)信息及進程下的配置信息等。
  • 動態(tài)數(shù)據(jù):包括接口參數(shù)及狀態(tài)、鄰居、LSDB等信息。

IS-IS與BFD(雙向轉(zhuǎn)發(fā)檢測)聯(lián)動:

通常情況下,IS-IS設(shè)定發(fā)送Hello報文的時間間隔為10秒,一般將宣告鄰居Down掉的時間(即鄰居的保持時間)配置為Hello報文間隔的3倍。若在相鄰路由器失效時間內(nèi)沒有收到鄰居發(fā)來的Hello報文,將會刪除鄰居。由此可見路由器能感知到鄰居故障的時間最小為秒級。這樣可能會出現(xiàn)在高速的網(wǎng)絡(luò)環(huán)境中大量報文丟失的問題。

雙向轉(zhuǎn)發(fā)檢測BFD(Bidirectional Forwarding Detection)能夠提供輕負荷、快速(毫秒級)的通道故障檢測,解決了IS-IS現(xiàn)有檢測機制的不足的問題。使用BFD并不是代替IS-IS協(xié)議本身的Hello機制,而是配合IS-IS協(xié)議更快的發(fā)現(xiàn)鄰接方面出現(xiàn)的故障,并及時通知IS-IS重新計算相關(guān)路由以便正確指導(dǎo)報文的轉(zhuǎn)發(fā)。

IS-IS與BFD聯(lián)動的實現(xiàn)方式工作原理區(qū)別
IS-IS與靜態(tài)BFD聯(lián)動通過命令行手工配置BFD會話參數(shù),包括了配置本地標識符和遠端標識符等,然后手工下發(fā)BFD會話建立請求。靜態(tài)BFD的優(yōu)點是可以人為控制,部署比較靈活,為了節(jié)省內(nèi)存,同時又保證關(guān)鍵鏈路的可靠性,可以在某些指定鏈路部署B(yǎng)FD,而其他鏈路不部署。靜態(tài)BFD的缺點在于建立和刪除BFD會話時都需要手工觸發(fā),配置時缺乏靈活性。而且有可能造成人為的配置錯誤。例如,如果配置了錯誤的本地標識符或者遠端標識符時,BFD會話將不能正常工作。
IS-IS與動態(tài)BFD聯(lián)動通過IS-IS動態(tài)創(chuàng)建BFD的會話,不再依靠手工配置。當BFD檢測到故障的時候,通過路由管理通知IS-IS。IS-IS進行相應(yīng)鄰居Down處理,快速發(fā)布變化的LSP信息和進行增量路由計算,從而實現(xiàn)路由的快速收斂。動態(tài)BFD比靜態(tài)BFD更具有靈活性。動態(tài)BFD由路由協(xié)議動態(tài)觸發(fā)BFD會話建立,避免了人為控制可能導(dǎo)致的配置錯誤,且配置比較簡單,適用在全網(wǎng)需要配置BFD的情況。

IS-IS Auto FRR(快速重路由):

隨著網(wǎng)絡(luò)的不斷發(fā)展,VoIP和在線視頻等業(yè)務(wù)對實時性的要求越來越高,而IS-IS故障恢復(fù)需要經(jīng)歷“故障感知、LSP更新、LSP泛洪、路由計算和下發(fā)FIB”這幾個過程才能讓流量切換到新的鏈路上,因此故障恢復(fù)的時間遠遠超過了50ms(即用戶感知流量中斷的時間),不能滿足此類網(wǎng)絡(luò)業(yè)務(wù)的實時性要求。

IS-IS Auto FRR(Fast reroute)遵循RFC 5286(Basic Specification for IP Fast Reroute Loop-Free Alternates)協(xié)議,可為流量提供鏈路和節(jié)點的保護。IS-IS Auto FRR能夠保證轉(zhuǎn)發(fā)系統(tǒng)快速地響應(yīng)這種故障事件并采取措施,盡快讓業(yè)務(wù)流恢復(fù)正常。

通常情況下,通過將BFD會話與IS-IS Auto FRR進行綁定,可以使故障恢復(fù)時間降低到50ms以內(nèi)。當BFD檢測到接口鏈路故障后,BFD會話狀態(tài)會變?yōu)镈own并觸發(fā)接口進行快速重路由,將流量從故障鏈路切換到備份鏈路上,從而達到流量保護的目的。

工作原理:

IS-IS Auto FRR利用LFA(Loop-Free Alternates)算法預(yù)先計算好備份鏈路,并與主鏈路一起加入轉(zhuǎn)發(fā)表。當網(wǎng)絡(luò)出現(xiàn)故障時,IS-IS Auto FRR可以在控制平面路由收斂前將流量快速切換到備份鏈路上,保證流量不中斷,從而達到保護流量的目的,因此極大的提高了IS-IS網(wǎng)絡(luò)的可靠性。

LFA計算備份鏈路的基本思路是:以可提供備份鏈路的鄰居為根節(jié)點,利用SPF算法計算出到目的節(jié)點的最短距離。然后,按照RFC5286規(guī)定計算出無環(huán)的備份鏈路。

IS-IS Auto FRR支持對需要加入IP路由表的備份路由進行過濾,通過過濾策略的備份路由才會加入到IP路由表,因此,用戶可以更靈活的控制加入IP路由表的IS-IS備份路由。

IS-IS TE(流量工程):

傳統(tǒng)的路由器選擇最短的路徑作為主路由,不考慮帶寬等因素。這樣,即使某條路徑發(fā)生擁塞,也不會將流量切換到其他的路徑上。MPLS TE(Multiprotocol Label Routering Traffic Engineering)解決網(wǎng)絡(luò)擁塞問題有自己的優(yōu)勢。通過MPLS TE,用戶可以精確地控制流量流經(jīng)的路徑,從而可以避開擁塞的節(jié)點。同時,MPLS TE在建立隧道的過程中,可以預(yù)留資源,保證服務(wù)質(zhì)量。

為了保證服務(wù)的連續(xù)性,MPLS TE還引入路由備份和快速重路由的機制,可以在鏈路出現(xiàn)問題時及時進行切換。通過MPLS TE技術(shù),服務(wù)提供商能夠充分利用現(xiàn)有的網(wǎng)絡(luò)資源,提供多樣化的服務(wù)。同時可以優(yōu)化網(wǎng)絡(luò)資源,進行科學(xué)的網(wǎng)絡(luò)管理。

MPLS TE為了實現(xiàn)上述目的,需要了解整個網(wǎng)絡(luò)中所有路由器的TE配置信息,但是MPLS TE缺乏這樣一個機制:每個路由器在整個網(wǎng)絡(luò)中泛洪各自的TE信息,并完成整網(wǎng)TE信息的同步。這個機制恰恰是IS-IS路由協(xié)議的一個基本特性,MPLS TE需要借助IS-IS完成TE信息的發(fā)布和同步。

IS-IS TE是IS-IS為了支持MPLS TE而做的擴展,它遵循RFC5305和RFC4205中關(guān)于IS-IS部分擴展的規(guī)定,通過在IS-IS LSP報文中定義新的TLV的方式,攜帶該路由器MPLS TE的配置信息,通過LSP的泛洪同步,實現(xiàn)MPLS TE信息的泛洪和同步。IS-IS TE把所有LSP中攜帶的TE信息提取出來,傳遞給MPLS的CSPF(Constraint Shortest Path First)模塊,用來計算隧道路徑。IS-IS TE在MPLS TE的流程中扮演著“搬運工”的角色,IS-IS TE和MPLS TE、CSPF的關(guān)系可以用下圖來概括:

這里寫圖片描述

圖:MPLS TE、CSPF和IS-IS TE關(guān)系圖

IS-IS TE新增TLV:

IS-IS TE為了在LSP中攜帶TE信息,在RFC5305中新定義了如下四種TLV:

  • Extended IS reachability TLV

    此TLV用來替換IS reachability TLV,并采用sub TLV的形式擴展了原來的TLV格式。sub TLV在TLV中的實現(xiàn)方式與TLV在LSP中的實現(xiàn)方式相同。這些sub TLV用來攜帶配置在物理接口下的TE信息。

  • Traffic Engineering router ID TLV

    此TLV type為134,包含了四字節(jié)的Router ID,在目前實現(xiàn)中就是MPLS LSR-ID。對于MPLS TE來說,Router ID用來唯一的標識一臺路由器,它必須要和路由器一一對應(yīng)。

  • Extended IP reachability TLV

    此TLV用來替換IP reachability TLV,用來攜帶路由信息。擴展了路由開銷值的范圍(四個字節(jié)),并可以攜帶sub TLV。

  • Shared Risk Link Group TLV

    此TLV type為138,用來攜帶共享風(fēng)險鏈路組信息。每個共享鏈路信息為四字節(jié)的正整數(shù)值,該TLV可以攜帶多個共享鏈路信息。

Extended IS reachability TLV 已經(jīng)定義的Sub TLV:

  • 名稱類型長度(Byte)
    Administrative Group34管理組
    IPv4 Interface Address64本端IPv4接口地址
    IPv4 Neighbour Address84鄰居的IPv4接口地址
    Maximum Link Bandwidth94最大鏈路帶寬
    Maximum Reserved Link Bandwidth104最大預(yù)留鏈路帶寬
    Unreserved Bandwidth1132未預(yù)留帶寬
    Traffic Engineering Default Metric183流量工程缺省開銷值
    Bandwidth Constraints sub-TLV2236帶寬約束TLV

IS-IS TE工作流程:

IS-IS TE主要有兩個流程:

  • 響應(yīng)MPLS TE的配置消息流程

    只有使能了MPLS TE,IS-IS TE特性才能運行。

    根據(jù)MPLS TE的配置,更新IS-IS LSP報文中的TE信息。

    將MPLS TE的配置傳遞給CSPF模塊。

  • 處理LSP中TE信息的流程

    提取收到的IS-IS LSP報文中的TE信息,傳遞給CSPF模塊。

IS-IS TE的典型應(yīng)用是協(xié)助MPLS TE建立TE隧道。

IS-IS多實例和多進程:

對于支持VPN(Virtual Private Network)的設(shè)備,IS-IS多實例是指在同一臺路由器上,可以配置多個VPN實例與多個IS-IS進程相關(guān)聯(lián)。IS-IS多進程指在同一個VPN下(或者同在公網(wǎng)下)可以創(chuàng)建多個IS-IS進程,每個進程之間互不影響,彼此獨立。不同進程之間的路由交互相當于不同路由協(xié)議之間的路由交互。

每個IS-IS進程都可以綁定一個指定的VPN實例,其典型應(yīng)用就是在VPN場景中PE和CE之間運行IS-IS協(xié)議,同時VPN骨干網(wǎng)上的IGP也采用IS-IS。那么,在PE上這兩個IS-IS進程互不影響。

  • IS-IS多進程共用同一個RM路由表。而IS-IS多實例使用VPN中的RM路由表,并且每個VPN都有自己單獨的RM路由表。
  • IS-IS多進程允許為一個指定的IS-IS進程關(guān)聯(lián)一組接口,從而保證該進程進行的所有協(xié)議操作都僅限于這一組接口。這樣,就可以實現(xiàn)一臺路由器有多個IS-IS協(xié)議進程,每個進程負責唯一的一組接口。
  • IS-IS進程在創(chuàng)建時可以選擇綁定一個VPN實例,于是這個IS-IS進程就與此VPN實例相關(guān)聯(lián),并且只接收和處理此VPN實例內(nèi)的事件。當VPN實例刪除時,IS-IS進程也會跟著被刪除。

IS-IS鄰居震蕩抑制:

IS-IS鄰居震蕩抑制功能是一種震蕩抑制方式,通過延遲鄰居建立或調(diào)整鏈路開銷為最大值的方法達到抑制震蕩的目的。

產(chǎn)生原因:

如果承載IS-IS業(yè)務(wù)的接口狀態(tài)在Up和Down之間切換,就會引起鄰居狀態(tài)的頻繁震蕩。此時,IS-IS會快速發(fā)送Hello報文重新建立鄰居,同步數(shù)據(jù)庫LSDB,觸發(fā)路由計算,會造成大量報文交互,影響現(xiàn)有鄰居的穩(wěn)定性,對IS-IS業(yè)務(wù)造成較大影響,同時也會影響依賴IS-IS的其他業(yè)務(wù)(如:LDP、BGP)的正常運行。為了解決這個問題,IS-IS實現(xiàn)了鄰居震蕩抑制功能,即在鄰居頻繁震蕩時,啟動震蕩抑制,實現(xiàn)鄰居延遲建立,或?qū)崿F(xiàn)業(yè)務(wù)流量延遲經(jīng)過頻繁震蕩的鏈路,達到抑制震蕩的目的。

相關(guān)概念:

  • flapping_event:震蕩事件,接口上最后一次鄰居狀態(tài)由Up切換為Init或Down,稱之為flapping_event。flapping_event作為震蕩源輸入,用來觸發(fā)震蕩檢測機制啟動工作。
  • flapping_count:當前震蕩次數(shù)。
  • detect-interval:震蕩檢測間隔,用于判斷是否觸發(fā)一次有效震蕩事件。
  • threshold:震蕩抑制閾值,有效震蕩事件觸發(fā)累計超過該值時,進入震蕩抑制階段。
  • resume-interval:恢復(fù)間隔,連續(xù)兩次有效震蕩事件超過該值時,退出震蕩抑制階段。

實現(xiàn)原理:

震蕩檢測

IS-IS接口啟動一個flapping_count計數(shù)器,相鄰兩次flapping_event產(chǎn)生時間的間隔在detect-interval之內(nèi),記為一次有效震蕩事件。flapping_count計數(shù)加1,當flapping_count計數(shù)大于threshold時,系統(tǒng)判定震蕩發(fā)生,需要進入震蕩抑制階段。進入震蕩抑制階段后,flapping_count清0。在flapping_count大于threshold之前,如果兩次flapping_event的間隔大于resume-interval,則flapping_count清0。鄰居震蕩抑制從最后一次鄰居狀態(tài)變?yōu)镮nit或Down開始計時。

用戶可以通過命令行配置detect-interval,threshold,resume-interval三個震蕩檢測的關(guān)鍵參數(shù)。

震蕩抑制

震蕩抑制分為Hold-down和Hold-max-cost兩種模式:

  • Hold-down模式:針對鄰居建立過程中的頻繁泛洪和拓撲變化的問題,在一段時間內(nèi)禁止該鄰居重新建立,避免頻繁的數(shù)據(jù)庫同步和大量的報文交互。
  • Hold-max-cost模式:針對用戶業(yè)務(wù)流量頻繁切換的問題,在一段時間內(nèi)將鏈路開銷值設(shè)置為最大值Max-cost(IS-IS Wide模式的Max-cost=16777214,IS-IS Narrow模式的Max-cost=63),避免用戶的業(yè)務(wù)流量經(jīng)過頻繁震蕩的鏈路。

Hold-down模式和Hold-max-cost模式可以疊加使用,同時生效時,先進入Hold-down模式,待Hold-down模式退出后,再進入Hold-max-cost模式。

缺省情況下,IS-IS使能Hold-max-cost模式,用戶可以通過命令行修改震蕩抑制方案和震蕩抑制周期。

接口進入震蕩抑制階段后,接口下的全部鄰居都會進入震蕩抑制階段。

退出震蕩抑制

退出震蕩抑制有以下幾種方式:

  • 抑制定時器超時。
  • 復(fù)位IS-IS進程。
  • 用戶通過命令行強制退出震蕩抑制狀態(tài)。
  • 通過連續(xù)發(fā)送三個攜帶特殊信息的Hello報文(Padding TLV攜帶一個特殊的Sub TLV=251),通知對端設(shè)備強制退出震蕩抑制狀態(tài)。

參考文檔:華為HedEx文檔


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多