激情五月天婷婷,亚洲愉拍一区二区三区,日韩视频一区,a√天堂中文官网8

<ul id="buwfs"><strike id="buwfs"><strong id="buwfs"></strong></strike></ul>
    <output id="buwfs"></output>
  • <dfn id="buwfs"><source id="buwfs"></source></dfn>
      <dfn id="buwfs"><td id="buwfs"></td></dfn>
      <div id="buwfs"><small id="buwfs"></small></div>
      <dfn id="buwfs"><source id="buwfs"></source></dfn>
      1. <dfn id="buwfs"><td id="buwfs"></td></dfn>
        始創(chuàng)于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
        • 掛牌上市企業(yè)
        • 60秒人工響應(yīng)
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補(bǔ)償
        全部產(chǎn)品
        您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

        OSPF的DR選舉

        發(fā)布時(shí)間:  2012/5/31 15:10:52




        OSPF是Open Shortest Path First(開(kāi)放最短路徑優(yōu)先)的縮寫(xiě)。它是IETF組織開(kāi)發(fā)的一個(gè)基于鏈路狀態(tài)的內(nèi)部網(wǎng)關(guān)協(xié)議。目前針對(duì)IPv4協(xié)議使用的是OSPF Version 2(RFC 2328)。
        OSPF具有如下特點(diǎn):
        l 適應(yīng)范圍廣——支持各種規(guī)模的網(wǎng)絡(luò),最多可支持幾百臺(tái)路由器。
        l 快速收斂——在網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)發(fā)生變化后立即發(fā)送更新報(bào)文,使這一變化在自治系統(tǒng)中同步。
        l 無(wú)自環(huán)——由于OSPF根據(jù)收集到的鏈路狀態(tài)用最短路徑樹(shù)算法計(jì)算路由,從算法本身保證了不會(huì)生成自環(huán)路由。
        l 區(qū)域劃分——允許自治系統(tǒng)的網(wǎng)絡(luò)被劃分成區(qū)域來(lái)管理,區(qū)域間傳送的路由信息被進(jìn)一步抽象,從而減少了占用的網(wǎng)絡(luò)帶寬。
        l 等價(jià)路由——支持到同一目的地址的多條等價(jià)路由。
        l 路由分級(jí)——使用4類不同的路由,按優(yōu)先順序來(lái)說(shuō)分別是:區(qū)域內(nèi)路由、區(qū)域間路由、第一類外部路由、第二類外部路由。
        l 支持驗(yàn)證——支持基于接口的報(bào)文驗(yàn)證,以保證報(bào)文交互的安全性。
        l 組播發(fā)送——在某些類型的鏈路上以組播地址發(fā)送協(xié)議報(bào)文,減少對(duì)其他設(shè)備的干擾。
        OSPF的基本概念
        1. 自治系統(tǒng)(Autonomous System)
        一組使用相同路由協(xié)議交換路由信息的路由器,縮寫(xiě)為AS。
        2. OSPF路由的計(jì)算過(guò)程
        OSPF協(xié)議路由的計(jì)算過(guò)程可簡(jiǎn)單描述如下:
        l 每臺(tái)OSPF路由器根據(jù)自己周圍的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)生成LSA(Link State Advertisement,鏈路狀態(tài)通告),并通過(guò)更新報(bào)文將LSA發(fā)送給網(wǎng)絡(luò)中的其它OSPF路由器。
        l 每臺(tái)OSPF路由器都會(huì)收集其它路由器通告的LSA,所有的LSA放在一起便組成了LSDB(Link State Database,鏈路狀態(tài)數(shù)據(jù)庫(kù))。LSA是對(duì)路由器周圍網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的描述,LSDB則是對(duì)整個(gè)自治系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的描述。
        l OSPF路由器將LSDB轉(zhuǎn)換成一張帶權(quán)的有向圖,這張圖便是對(duì)整個(gè)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的真實(shí)反映。各個(gè)路由器得到的有向圖是完全相同的。
        l 每臺(tái)路由器根據(jù)有向圖,使用SPF算法計(jì)算出一棵以自己為根的最短路徑樹(shù),這棵樹(shù)給出了到自治系統(tǒng)中各節(jié)點(diǎn)的路由。
        3. 路由器ID號(hào)
        一臺(tái)路由器如果要運(yùn)行OSPF協(xié)議,則必須存在RID(Router ID,路由器ID)。RID是一個(gè)32比特?zé)o符號(hào)整數(shù),可以在一個(gè)自治系統(tǒng)中唯一的標(biāo)識(shí)一臺(tái)路由器。
        RID可以手工配置,也可以自動(dòng)生成;如果沒(méi)有通過(guò)命令指定RID,將按照如下順序自動(dòng)生成一個(gè)RID:
        l 如果當(dāng)前設(shè)備配置了Loopback接口,將選取所有Loopback接口上數(shù)值最大的IP地址作為RID;
        l 如果當(dāng)前設(shè)備沒(méi)有配置Loopback接口,將選取它所有已經(jīng)配置IP地址且鏈路有效的接口上數(shù)值最大的IP地址作為RID。
        4. OSPF的協(xié)議報(bào)文
        OSPF有五種類型的協(xié)議報(bào)文:
        l Hello報(bào)文:周期性發(fā)送,用來(lái)發(fā)現(xiàn)和維持OSPF鄰居關(guān)系。內(nèi)容包括一些定時(shí)器的數(shù)值、DR(Designated Router,指定路由器)、BDR(Backup Designated Router,備份指定路由器)以及自己已知的鄰居。
        l DD(Database Description,數(shù)據(jù)庫(kù)描述)報(bào)文:描述了本地LSDB中每一條LSA的摘要信息,用于兩臺(tái)路由器進(jìn)行數(shù)據(jù)庫(kù)同步。
        l LSR(Link State Request,鏈路狀態(tài)請(qǐng)求)報(bào)文:向?qū)Ψ秸?qǐng)求所需的LSA。兩臺(tái)路由器互相交換DD報(bào)文之后,得知對(duì)端的路由器有哪些LSA是本地的LSDB所缺少的,這時(shí)需要發(fā)送LSR報(bào)文向?qū)Ψ秸?qǐng)求所需的LSA。內(nèi)容包括所需要的LSA的摘要。
        l LSU(Link State Update,鏈路狀態(tài)更新)報(bào)文:向?qū)Ψ桨l(fā)送其所需要的LSA。
        l LSAck(Link State Acknowledgment,鏈路狀態(tài)確認(rèn))報(bào)文:用來(lái)對(duì)收到的LSA進(jìn)行確認(rèn)。內(nèi)容是需要確認(rèn)的LSA的Header(一個(gè)報(bào)文可對(duì)多個(gè)LSA進(jìn)行確認(rèn))。
        5. LSA的類型
        OSPF中對(duì)鏈路狀態(tài)信息的描述都是封裝在LSA中發(fā)布出去,常用的LSA有以下幾種類型:
        l Router LSA(Type1):由每個(gè)路由器產(chǎn)生,描述路由器的鏈路狀態(tài)和開(kāi)銷,在其始發(fā)的區(qū)域內(nèi)傳播。
        l Network LSA(Type2):由DR產(chǎn)生,描述本網(wǎng)段所有路由器的鏈路狀態(tài),在其始發(fā)的區(qū)域內(nèi)傳播。
        l Network Summary LSA(Type3):由ABR(Area Border Router,區(qū)域邊界路由器)產(chǎn)生,描述區(qū)域內(nèi)某個(gè)網(wǎng)段的路由,并通告給其他區(qū)域。
        l ASBR Summary LSA(Type4):由ABR產(chǎn)生,描述到ASBR(Autonomous System Boundary Router,自治系統(tǒng)邊界路由器)的路由,通告給相關(guān)區(qū)域。
        l AS External LSA(Type5):由ASBR產(chǎn)生,描述到AS(Autonomous System,自治系統(tǒng))外部的路由,通告到所有的區(qū)域(除了Stub區(qū)域和NSSA區(qū)域)。
        l NSSA External LSA(Type7):由NSSA(Not-So-Stubby Area)區(qū)域內(nèi)的ASBR產(chǎn)生,描述到AS外部的路由,僅在NSSA區(qū)域內(nèi)傳播。
        l Opaque LSA:是一個(gè)被提議的LSA類別,由標(biāo)準(zhǔn)的LSA頭部后面跟隨特殊應(yīng)用的信息組成,可以直接由OSPF協(xié)議使用,或者由其它應(yīng)用分發(fā)信息到整個(gè)OSPF域間接使用。Opaque LSA分為Type 9、Type10、Type11三種類型,泛洪區(qū)域不同;其中,Type 9的Opaque LSA僅在本地鏈路范圍進(jìn)行泛洪,Type 10的Opaque LSA僅在本地區(qū)域范圍進(jìn)行泛洪,Type 11的LSA可以在一個(gè)自治系統(tǒng)范圍進(jìn)行泛洪。
        6. 鄰居和鄰接
        在OSPF中,鄰居(Neighbor)和鄰接(Adjacency)是兩個(gè)不同的概念。
        OSPF路由器啟動(dòng)后,便會(huì)通過(guò)OSPF接口向外發(fā)送Hello報(bào)文。收到Hello報(bào)文的OSPF路由器會(huì)檢查報(bào)文中所定義的參數(shù),如果雙方一致就會(huì)形成鄰居關(guān)系。
        形成鄰居關(guān)系的雙方不一定都能形成鄰接關(guān)系,這要根據(jù)網(wǎng)絡(luò)類型而定。只有當(dāng)雙方成功交換DD報(bào)文,交換LSA并達(dá)到LSDB的同步之后,才形成真正意義上的鄰接關(guān)系。

        OSPF的網(wǎng)絡(luò)類型
        1. OSPF的4種網(wǎng)絡(luò)類型
        OSPF根據(jù)鏈路層協(xié)議類型將網(wǎng)絡(luò)分為下列四種類型:
        l Broadcast:當(dāng)鏈路層協(xié)議是Ethernet、FDDI時(shí),OSPF缺省認(rèn)為網(wǎng)絡(luò)類型是Broadcast。在該類型的網(wǎng)絡(luò)中,通常以組播形式(224.0.0.5和224.0.0.6)發(fā)送協(xié)議報(bào)文。
        l NBMA(Non-Broadcast Multi-Access,非廣播多點(diǎn)可達(dá)網(wǎng)絡(luò)):當(dāng)鏈路層協(xié)議是幀中繼、ATM或X.25時(shí),OSPF缺省認(rèn)為網(wǎng)絡(luò)類型是NBMA。在該類型的網(wǎng)絡(luò)中,以單播形式發(fā)送協(xié)議報(bào)文。
        l P2MP(Point-to-MultiPoint,點(diǎn)到多點(diǎn)):沒(méi)有一種鏈路層協(xié)議會(huì)被缺省的認(rèn)為是P2MP類型。點(diǎn)到多點(diǎn)必須是由其他的網(wǎng)絡(luò)類型強(qiáng)制更改的。常用做法是將NBMA改為點(diǎn)到多點(diǎn)的網(wǎng)絡(luò)。在該類型的網(wǎng)絡(luò)中,以組播形式(224.0.0.5)發(fā)送協(xié)議報(bào)文。
        l P2P(Point-to-Point,點(diǎn)到點(diǎn)):當(dāng)鏈路層協(xié)議是PPP、HDLC時(shí),OSPF缺省認(rèn)為網(wǎng)絡(luò)類型是P2P。在該類型的網(wǎng)絡(luò)中,以組播形式(224.0.0.5)發(fā)送協(xié)議報(bào)文。
        2. NBMA網(wǎng)絡(luò)的配置原則
        NBMA網(wǎng)絡(luò)是指非廣播、多點(diǎn)可達(dá)的網(wǎng)絡(luò),比較典型的有ATM和幀中繼網(wǎng)絡(luò)。
        對(duì)于接口的網(wǎng)絡(luò)類型為NBMA的網(wǎng)絡(luò)需要進(jìn)行一些特殊的配置。由于無(wú)法通過(guò)廣播Hello報(bào)文的形式發(fā)現(xiàn)相鄰路由器,必須手工為該接口指定相鄰路由器的IP地址,以及該相鄰路由器是否有DR選舉權(quán)等。
        NBMA網(wǎng)絡(luò)必須是全連通的,即網(wǎng)絡(luò)中任意兩臺(tái)路由器之間都必須有一條虛電路直接可達(dá)。如果部分路由器之間沒(méi)有直接可達(dá)的鏈路時(shí),應(yīng)將接口配置成P2MP類型。如果路由器在NBMA網(wǎng)絡(luò)中只有一個(gè)對(duì)端,也可將接口類型配置為P2P類型。
        NBMA與P2MP網(wǎng)絡(luò)之間的區(qū)別如下:
        l NBMA網(wǎng)絡(luò)是指那些全連通的、非廣播、多點(diǎn)可達(dá)網(wǎng)絡(luò)。而P2MP網(wǎng)絡(luò),則并不需要一定是全連通的。
        l 在NBMA網(wǎng)絡(luò)中需要選舉DR與BDR,而在P2MP網(wǎng)絡(luò)中沒(méi)有DR與BDR。
        l NBMA是一種缺省的網(wǎng)絡(luò)類型,而P2MP網(wǎng)絡(luò)必須是由其它的網(wǎng)絡(luò)強(qiáng)制更改的。最常見(jiàn)的做法是將NBMA網(wǎng)絡(luò)改為P2MP網(wǎng)絡(luò)。
        l NBMA網(wǎng)絡(luò)采用單播發(fā)送報(bào)文,需要手工配置鄰居。P2MP網(wǎng)絡(luò)采用組播方式發(fā)送報(bào)文
        DR/BDR
        1. DR/BDR簡(jiǎn)介
        在廣播網(wǎng)和NBMA網(wǎng)絡(luò)中,任意兩臺(tái)路由器之間都要交換路由信息。如果網(wǎng)絡(luò)中有n臺(tái)路由器,則需要建立n(n-1)/2個(gè)鄰接關(guān)系。這使得任何一臺(tái)路由器的路由變化都會(huì)導(dǎo)致多次傳遞,浪費(fèi)了帶寬資源。為解決這一問(wèn)題,OSPF協(xié)議定義了指定路由器DR(Designated Router),所有路由器都只將信息發(fā)送給DR,由DR將網(wǎng)絡(luò)鏈路狀態(tài)發(fā)送出去。
        如果DR由于某種故障而失效,則網(wǎng)絡(luò)中的路由器必須重新選舉DR,再與新的DR同步。這需要較長(zhǎng)的時(shí)間,在這段時(shí)間內(nèi),路由的計(jì)算是不正確的。為了能夠縮短這個(gè)過(guò)程,OSPF提出了BDR(Backup Designated Router,備份指定路由器)的概念。
        BDR實(shí)際上是對(duì)DR的一個(gè)備份,在選舉DR的同時(shí)也選舉出BDR,BDR也和本網(wǎng)段內(nèi)的所有路由器建立鄰接關(guān)系并交換路由信息。當(dāng)DR失效后,BDR會(huì)立即成為DR。由于不需要重新選舉,并且鄰接關(guān)系事先已建立,所以這個(gè)過(guò)程是非常短暫的。當(dāng)然這時(shí)還需要再重新選舉出一個(gè)新的BDR,雖然一樣需要較長(zhǎng)的時(shí)間,但并不會(huì)影響路由的計(jì)算。
        DR和BDR之外的路由器(稱為DR Other)之間將不再建立鄰接關(guān)系,也不再交換任何路由信息。這樣就減少了廣播網(wǎng)和NBMA網(wǎng)絡(luò)上各路由器之間鄰接關(guān)系的數(shù)量。
        如圖7所示,用實(shí)線代表以太網(wǎng)物理連接,虛線代表建立的鄰接關(guān)系?梢钥吹剑捎肈R/BDR機(jī)制后,5臺(tái)路由器之間只需要建立7個(gè)鄰接關(guān)系就可以了。
        圖7 DR和BDR示意圖
        2. DR/BDR選舉過(guò)程
        DR和BDR是由同一網(wǎng)段中所有的路由器根據(jù)路由器優(yōu)先級(jí)、Router ID通過(guò)HELLO報(bào)文選舉出來(lái)的,只有優(yōu)先級(jí)大于0的路由器才具有選取資格。
        進(jìn)行DR/BDR選舉時(shí)每臺(tái)路由器將自己選出的DR寫(xiě)入Hello報(bào)文中,發(fā)給網(wǎng)段上的每臺(tái)運(yùn)行OSPF協(xié)議的路由器。當(dāng)處于同一網(wǎng)段的兩臺(tái)路由器同時(shí)宣布自己是DR時(shí),路由器優(yōu)先級(jí)高者勝出。如果優(yōu)先級(jí)相等,則Router ID大者勝出。如果一臺(tái)路由器的優(yōu)先級(jí)為0,則它不會(huì)被選舉為DR或BDR。
        需要注意的是:
        l 只有在廣播或NBMA類型接口才會(huì)選舉DR,在點(diǎn)到點(diǎn)或點(diǎn)到多點(diǎn)類型的接口上不需要選舉DR。
        l DR是某個(gè)網(wǎng)段中的概念,是針對(duì)路由器的接口而言的。某臺(tái)路由器在一個(gè)接口上可能是DR,在另一個(gè)接口上有可能是BDR,或者是DR Other。
        l 路由器的優(yōu)先級(jí)可以影響一個(gè)選取過(guò)程,但是當(dāng)DR/BDR已經(jīng)選取完畢,就算一臺(tái)具有更高優(yōu)先級(jí)的路由器變?yōu)橛行,也不?huì)替換該網(wǎng)段中已經(jīng)選取的DR/BDR成為新的DR/BDR。
        l DR并不一定就是路由器優(yōu)先級(jí)最高的路由器接口;同理,BDR也并不一定就是路由器優(yōu)先級(jí)次高的路由器接口。
        OSPF的報(bào)文格式
        OSPF報(bào)文直接封裝為IP報(bào)文協(xié)議報(bào)文,協(xié)議號(hào)為89。一個(gè)比較完整的OSPF報(bào)文(以LSU報(bào)文為例)結(jié)構(gòu)如圖8所示。
        圖8 OSPF報(bào)文結(jié)構(gòu)
        1. OSPF報(bào)文頭
        OSPF有五種報(bào)文類型,它們有相同的報(bào)文頭。如圖9所示。
        圖9 OSPF報(bào)文頭格式
        主要字段的解釋如下:
        l Version:OSPF的版本號(hào)。對(duì)于OSPFv2來(lái)說(shuō),其值為2。
        l Type:OSPF報(bào)文的類型。數(shù)值從1到5,分別對(duì)應(yīng)Hello報(bào)文、DD報(bào)文、LSR報(bào)文、LSU報(bào)文和LSAck報(bào)文。
        l Packet length:OSPF報(bào)文的總長(zhǎng)度,包括報(bào)文頭在內(nèi),單位為字節(jié)。
        l Router ID:始發(fā)該LSA的路由器的ID。
        l Area ID:始發(fā)LSA的路由器所在的區(qū)域ID。
        l Checksum:對(duì)整個(gè)報(bào)文的校驗(yàn)和。
        l AuType:驗(yàn)證類型。可分為不驗(yàn)證、簡(jiǎn)單(明文)口令驗(yàn)證和MD5驗(yàn)證,其值分別為0、1、2。
        l Authentication:其數(shù)值根據(jù)驗(yàn)證類型而定。當(dāng)驗(yàn)證類型為0時(shí)未作定義,為1時(shí)此字段為密碼信息,類型為2時(shí)此字段包括Key ID、MD5驗(yàn)證數(shù)據(jù)長(zhǎng)度和序列號(hào)的信息。
        & 說(shuō)明:
        MD5驗(yàn)證數(shù)據(jù)添加在OSPF報(bào)文后面,不包含在Authenticaiton字段中。

        2. Hello報(bào)文(Hello Packet)
        最常用的一種報(bào)文,周期性的發(fā)送給鄰居路由器用來(lái)維持鄰居關(guān)系以及DR/BDR的選舉,內(nèi)容包括一些定時(shí)器的數(shù)值、DR、BDR以及自己已知的鄰居。Hello報(bào)文格式如圖10所示。
        圖10 Hello報(bào)文格式
        主要字段解釋如下:
        l Network Mask:發(fā)送Hello報(bào)文的接口所在網(wǎng)絡(luò)的掩碼,如果相鄰兩臺(tái)路由器的網(wǎng)絡(luò)掩碼不同,則不能建立鄰居關(guān)系。
        l HelloInterval:發(fā)送Hello報(bào)文的時(shí)間間隔。如果相鄰兩臺(tái)路由器的Hello間隔時(shí)間不同,則不能建立鄰居關(guān)系。
        l Rtr Pri:路由器優(yōu)先級(jí)。如果設(shè)置為0,則該路由器接口不能成為DR/BDR。
        l RouterDeadInterval:失效時(shí)間。如果在此時(shí)間內(nèi)未收到鄰居發(fā)來(lái)的Hello報(bào)文,則認(rèn)為鄰居失效。如果相鄰兩臺(tái)路由器的失效時(shí)間不同,則不能建立鄰居關(guān)系。
        l Designated Router:指定路由器的接口的IP地址。
        l Backup Designated Router:備份指定路由器的接口的IP地址。
        l Neighbor:鄰居路由器的Router ID。
        3. DD報(bào)文(Database Description Packet)
        兩臺(tái)路由器進(jìn)行數(shù)據(jù)庫(kù)同步時(shí),用DD報(bào)文來(lái)描述自己的LSDB,內(nèi)容包括LSDB中每一條LSA的Header(LSA的Header可以唯一標(biāo)識(shí)一條LSA)。LSA Header只占一條LSA的整個(gè)數(shù)據(jù)量的一小部分,這樣可以減少路由器之間的協(xié)議報(bào)文流量,對(duì)端路由器根據(jù)LSA Header就可以判斷出是否已有這條LSA。
        DD報(bào)文格式如圖11所示。
        圖11 DD報(bào)文格式
        主要字段的解釋如下:
        l Interface MTU:在不分片的情況下,此接口最大可發(fā)出的IP報(bào)文長(zhǎng)度。
        l I(Initial):當(dāng)發(fā)送連續(xù)多個(gè)DD報(bào)文時(shí),如果這是第一個(gè)DD報(bào)文,則置為1,否則置為0。
        l M(More):當(dāng)連續(xù)發(fā)送多個(gè)DD報(bào)文時(shí),如果這是最后一個(gè)DD報(bào)文,則置為0。否則置為1,表示后面還有其他的DD報(bào)文。
        l MS(Master/Slave):當(dāng)兩臺(tái)OSPF路由器交換DD報(bào)文時(shí),首先需要確定雙方的主(Master)從(Slave)關(guān)系,Router ID大的一方會(huì)成為Master。當(dāng)值為1時(shí)表示發(fā)送方為Master。
        l DD Sequence Number:DD報(bào)文序列號(hào),由Master方規(guī)定起始序列號(hào),每發(fā)送一個(gè)DD報(bào)文序列號(hào)加1,Slave方使用Master的序列號(hào)作為確認(rèn)。主從雙方利用序列號(hào)來(lái)保證DD報(bào)文傳輸?shù)目煽啃院屯暾浴?br /> 4. LSR報(bào)文(Link State Request Packet)
        兩臺(tái)路由器互相交換過(guò)DD報(bào)文之后,知道對(duì)端的路由器有哪些LSA是本地的LSDB所缺少的,這時(shí)需要發(fā)送LSR報(bào)文向?qū)Ψ秸?qǐng)求所需的LSA。內(nèi)容包括所需要的LSA的摘要。LSR報(bào)文格式如圖12所示。
        圖12 LSR報(bào)文格式
        主要字段解釋如下:
        l LS type:LSA的類型號(hào)。例如Type1表示Router LSA。
        l Link State ID:鏈路狀態(tài)標(biāo)識(shí),根據(jù)LSA的類型而定。
        l Advertising Router:產(chǎn)生此LSA的路由器的Router ID。
        5. LSU報(bào)文(Link State Update Packet)
        LSU報(bào)文用來(lái)向?qū)Χ寺酚善靼l(fā)送所需要的LSA,內(nèi)容是多條LSA(全部?jī)?nèi)容)的集合。LSU報(bào)文格式如圖13所示。
        圖13 LSU報(bào)文格式
        主要字段解釋如下:
        Number of LSAs:該報(bào)文包含的LSA的數(shù)量。
        LSAs:該報(bào)文包含的所有LSA。
        6. LSAck報(bào)文(Link State Acknowledgment Packet)
        LSAck報(bào)文用來(lái)對(duì)接收到的LSU報(bào)文進(jìn)行確認(rèn),內(nèi)容是需要確認(rèn)的LSA的Header。一個(gè)LSAck報(bào)文可對(duì)多個(gè)LSA進(jìn)行確認(rèn)。報(bào)文格式如圖14所示。
        圖14 LSAck報(bào)文格式
        主要字段解釋如下:
        LSA Headers:該報(bào)文包含的LSA頭部。
        7. LSA頭格式
        所有的LSA都有相同的報(bào)文頭,其格式如圖15所示。
        圖15 LSA的頭格式
        主要字段的解釋如下:
        l LS age:LSA產(chǎn)生后所經(jīng)過(guò)的時(shí)間,以秒為單位。LSA在本路由器的鏈路狀態(tài)數(shù)據(jù)庫(kù)(LSDB)中會(huì)隨時(shí)間老化(每秒鐘加1),但在網(wǎng)絡(luò)的傳輸過(guò)程中卻不會(huì)。
        l LS type:LSA的類型。
        l Link State ID:具體數(shù)值根據(jù)LSA的類型而定。
        l Advertising Router:始發(fā)LSA的路由器的ID。
        l LS sequence number:LSA的序列號(hào),其他路由器根據(jù)這個(gè)值可以判斷哪個(gè)LSA是最新的。
        l LS checksum:除了LS age字段外,關(guān)于LSA的全部信息的校驗(yàn)和。
        l length:LSA的總長(zhǎng)度,包括LSA Header,以字節(jié)為單位。
        LSA類型
        (1) Router LSA
        圖16 Router LSA格式
        主要字段的解釋如下:
        l Link State ID:產(chǎn)生此LSA的路由器的Router ID。
        l V(Virtual Link):如果產(chǎn)生此LSA的路由器是虛連接的端點(diǎn),則置為1。
        l E(External):如果產(chǎn)生此LSA的路由器是ASBR,則置為1。
        l B(Border):如果產(chǎn)生此LSA的路由器是ABR,則置為1。
        l # links:LSA中所描述的鏈路信息的數(shù)量,包括路由器上處于某區(qū)域中的所有鏈路和接口。
        l Link ID:鏈路標(biāo)識(shí),具體的數(shù)值根據(jù)鏈路類型而定。
        l Link Data:鏈路數(shù)據(jù),具體的數(shù)值根據(jù)鏈路類型而定。
        l Type:鏈路類型,取值為1表示通過(guò)點(diǎn)對(duì)點(diǎn)鏈路與另一路由器相連,取值為2表示連接到傳送網(wǎng)絡(luò),取值為3表示連接到Stub網(wǎng)絡(luò),取值為4表示虛連接。
        l #TOS:描述鏈路的不同方式的數(shù)量。
        l metric:鏈路的開(kāi)銷。
        l TOS:服務(wù)類型。
        l TOS metric:指定服務(wù)類型的鏈路的開(kāi)銷。
        (2) Network LSA
        Network LSA由廣播網(wǎng)或NBMA網(wǎng)絡(luò)中的DR發(fā)出,LSA中記錄了這一網(wǎng)段上所有路由器的Router ID。
        圖17 Network LSA格式
        主要字段的解釋如下:
        l Link State ID:DR的IP地址。
        l Network Mask:廣播網(wǎng)或NBMA網(wǎng)絡(luò)地址的掩碼。
        l Attached Router:連接在同一個(gè)網(wǎng)段上的所有與DR形成了完全鄰接關(guān)系的路由器的Router ID,也包括DR自身的Router ID。
        (3) Summary LSA
        Network Summary LSA(Type3 LSA)和ASBR Summary LSA(Type4 LSA)除Link State ID字段有所不同外,有著相同的格式,它們都是由ABR產(chǎn)生。
        圖18 Summary LSA格式
        主要字段的解釋如下:
        l Link State ID:對(duì)于Type3 LSA來(lái)說(shuō),它是所通告的區(qū)域外的網(wǎng)絡(luò)地址;對(duì)于Type4來(lái)說(shuō),它是所通告區(qū)域外的ASBR的Router ID。
        l Network Mask:Type3 LSA的網(wǎng)絡(luò)地址掩碼。對(duì)于Type4 LSA來(lái)說(shuō)沒(méi)有意義,設(shè)置為0.0.0.0。
        l metric:到目的地址的路由開(kāi)銷。
        & 說(shuō)明:
        Type3的LSA可以用來(lái)通告缺省路由,此時(shí)Link State ID和Network Mask都設(shè)置為0.0.0.0。

        (4) AS External LSA
        由ASBR產(chǎn)生,描述到AS外部的路由信息。
        圖19 AS External LSA格式
        主要字段的解釋如下:
        l Link State ID:所要通告的其他外部AS的目的地址,如果通告的是一條缺省路由,那么鏈路狀態(tài)ID(Link State ID)和網(wǎng)絡(luò)掩碼(Network Mask)字段都將設(shè)置為0.0.0.0。
        l Network Mask:所通告的目的地址的掩碼。
        l E(External Metric):外部度量值的類型。如果是第2類外部路由就設(shè)置為1,如果是第1類外部路由則設(shè)置為0。關(guān)于外部路由類型的詳細(xì)描述請(qǐng)參見(jiàn)7. 路由類型部分。
        l metirc:路由開(kāi)銷。
        l Forwarding Address:到所通告的目的地址的報(bào)文將被轉(zhuǎn)發(fā)到的地址。
        l External Route Tag:添加到外部路由上的標(biāo)記。OSPF本身并不使用這個(gè)字段,它可以用來(lái)對(duì)外部路由進(jìn)行管理。
        (5) NSSA External LSA
        由NSSA區(qū)域內(nèi)的ASBR產(chǎn)生,且只能在NSSA區(qū)域內(nèi)傳播。其格式與AS External LSA相同,如圖20所示。
        如圖20所示。
        圖20 NSSA External LSA格式
        OSPF區(qū)域與路由聚合
        1. 區(qū)域劃分
        隨著網(wǎng)絡(luò)規(guī)模日益擴(kuò)大,當(dāng)一個(gè)大型網(wǎng)絡(luò)中的路由器都運(yùn)行OSPF路由協(xié)議時(shí),路由器數(shù)量的增多會(huì)導(dǎo)致LSDB非常龐大,占用大量的存儲(chǔ)空間,并使得運(yùn)行SPF算法的復(fù)雜度增加,導(dǎo)致CPU負(fù)擔(dān)很重。
        在網(wǎng)絡(luò)規(guī)模增大之后,拓?fù)浣Y(jié)構(gòu)發(fā)生變化的概率也增大,網(wǎng)絡(luò)會(huì)經(jīng)常處于“振蕩”之中,造成網(wǎng)絡(luò)中會(huì)有大量的OSPF協(xié)議報(bào)文在傳遞,降低了網(wǎng)絡(luò)的帶寬利用率。更為嚴(yán)重的是,每一次變化都會(huì)導(dǎo)致網(wǎng)絡(luò)中所有的路由器重新進(jìn)行路由計(jì)算。
        OSPF協(xié)議通過(guò)將自治系統(tǒng)劃分成不同的區(qū)域(Area)來(lái)解決上述問(wèn)題。區(qū)域是從邏輯上將路由器劃分為不同的組,每個(gè)組用區(qū)域號(hào)(Area ID)來(lái)標(biāo)識(shí)。區(qū)域的邊界是路由器,而不是鏈路。一個(gè)網(wǎng)段(鏈路)只能屬于一個(gè)區(qū)域,或者說(shuō)每個(gè)運(yùn)行OSPF的接口必須指明屬于哪一個(gè)區(qū)域。如圖1所示。
        圖1 OSPF區(qū)域劃分
        劃分區(qū)域后,可以在區(qū)域邊界路由器上進(jìn)行路由聚合,以減少通告到其他區(qū)域的LSA數(shù)量,還可以將網(wǎng)絡(luò)拓?fù)渥兓瘞?lái)的影響最小化。
        2. 路由器的類型
        OSPF路由器根據(jù)在AS中的不同位置,可以分為以下四類:
        (1) 區(qū)域內(nèi)路由器(Internal Router)
        該類路由器的所有接口都屬于同一個(gè)OSPF區(qū)域。
        (2) 區(qū)域邊界路由器ABR(Area Border Router)
        該類路由器可以同時(shí)屬于兩個(gè)以上的區(qū)域,但其中一個(gè)必須是骨干區(qū)域(骨干區(qū)域的介紹請(qǐng)參見(jiàn)下一小節(jié))。ABR用來(lái)連接骨干區(qū)域和非骨干區(qū)域,它與骨干區(qū)域之間既可以是物理連接,也可以是邏輯上的連接。
        (3) 骨干路由器(Backbone Router)
        該類路由器至少有一個(gè)接口屬于骨干區(qū)域。因此,所有的ABR和位于Area0的內(nèi)部路由器都是骨干路由器。
        (4) 自治系統(tǒng)邊界路由器ASBR
        與其他AS交換路由信息的路由器稱為ASBR。ASBR并不一定位于AS的邊界,它有可能是區(qū)域內(nèi)路由器,也有可能是ABR。只要一臺(tái)OSPF路由器引入了外部路由的信息,它就成為ASBR。
        圖2 OSPF路由器的類型
        3. 骨干區(qū)域與虛連接
        OSPF劃分區(qū)域之后,并非所有的區(qū)域都是平等的關(guān)系。其中有一個(gè)區(qū)域是與眾不同的,它的區(qū)域號(hào)(Area ID)是0,通常被稱為骨干區(qū)域。骨干區(qū)域負(fù)責(zé)區(qū)域之間的路由,非骨干區(qū)域之間的路由信息必須通過(guò)骨干區(qū)域來(lái)轉(zhuǎn)發(fā)。對(duì)此,OSPF有兩個(gè)規(guī)定:
        l 所有非骨干區(qū)域必須與骨干區(qū)域保持連通;
        l 骨干區(qū)域自身也必須保持連通。
        但在實(shí)際應(yīng)用中,可能會(huì)因?yàn)楦鞣矫鏃l件的限制,無(wú)法滿足這個(gè)要求。這時(shí)可以通過(guò)配置OSPF虛連接(Virtual Link)予以解決。
        虛連接是指在兩臺(tái)ABR之間通過(guò)一個(gè)非骨干區(qū)域而建立的一條邏輯上的連接通道。它的兩端必須是ABR,而且必須在兩端同時(shí)配置方可生效。為虛連接兩端提供一條非骨干區(qū)域內(nèi)部路由的區(qū)域稱為傳輸區(qū)(Transit Area)。
        在圖3中,Area2與骨干區(qū)域之間沒(méi)有直接相連的物理鏈路,但可以在ABR上配置虛連接,使Area2通過(guò)一條邏輯鏈路與骨干區(qū)域保持連通。
        圖3 虛連接示意圖之一
        虛連接的另外一個(gè)應(yīng)用是提供冗余的備份鏈路,當(dāng)骨干區(qū)域因鏈路故障不能保持連通時(shí),通過(guò)虛連接仍然可以保證骨干區(qū)域在邏輯上的連通性。如圖4所示。
        圖4 虛連接示意圖之二
        虛連接相當(dāng)于在兩個(gè)ABR之間形成了一個(gè)點(diǎn)到點(diǎn)的連接,因此,在這個(gè)連接上,和物理接口一樣可以配置接口的各參數(shù),如發(fā)送Hello報(bào)文間隔等。
        兩臺(tái)ABR之間直接傳遞OSPF報(bào)文信息,它們之間的OSPF路由器只是起到一個(gè)轉(zhuǎn)發(fā)報(bào)文的作用。由于協(xié)議報(bào)文的目的地址不是中間這些路由器,所以這些報(bào)文對(duì)于它們而言是透明的,只是當(dāng)作普通的IP報(bào)文來(lái)轉(zhuǎn)發(fā)。
        4. (Totally) Stub區(qū)域
        Stub區(qū)域是一些特定的區(qū)域,Stub區(qū)域的ABR不允許注入Type5 LSA,在這些區(qū)域中路由器的路由表規(guī)模以及路由信息傳遞的數(shù)量都會(huì)大大減少。
        為了進(jìn)一步減少Stub區(qū)域中路由器的路由表規(guī)模以及路由信息傳遞的數(shù)量,可以將該區(qū)域配置為Totally Stub(完全Stub)區(qū)域,該區(qū)域的ABR不會(huì)將區(qū)域間的路由信息和外部路由信息傳遞到本區(qū)域。
        (Totally) Stub區(qū)域是一種可選的配置屬性,但并不是每個(gè)區(qū)域都符合配置的條件。通常來(lái)說(shuō),(Totally) Stub區(qū)域位于自治系統(tǒng)的邊界。
        為保證到本自治系統(tǒng)的其他區(qū)域或者自治系統(tǒng)外的路由依舊可達(dá),該區(qū)域的ABR將生成一條缺省路由,并發(fā)布給本區(qū)域中的其他非ABR路由器。
        配置(Totally) Stub區(qū)域時(shí)需要注意下列幾點(diǎn):
        l 骨干區(qū)域不能配置成(Totally) Stub區(qū)域。
        l 如果要將一個(gè)區(qū)域配置成(Totally) Stub區(qū)域,則該區(qū)域中的所有路由器必須都要配置stub [ no-summary ]命令。
        l (Totally) Stub區(qū)域內(nèi)不能存在ASBR,即自治系統(tǒng)外部的路由不能在本區(qū)域內(nèi)傳播。
        l 虛連接不能穿過(guò)(Totally) Stub區(qū)域。
        5. NSSA區(qū)域
        NSSA(Not-So-Stubby Area)區(qū)域是Stub區(qū)域的變形,與Stub區(qū)域有許多相似的地方。NSSA區(qū)域也不允許Type5 LSA注入,但可以允許Type7 LSA注入。Type7 LSA由NSSA區(qū)域的ASBR產(chǎn)生,在NSSA區(qū)域內(nèi)傳播。當(dāng)Type7 LSA到達(dá)NSSA的ABR時(shí),由ABR將Type7 LSA轉(zhuǎn)換成Type5 LSA,傳播到其他區(qū)域。
        如圖5所示,運(yùn)行OSPF協(xié)議的自治系統(tǒng)包括3個(gè)區(qū)域:區(qū)域1、區(qū)域2和區(qū)域0,另外兩個(gè)自治系統(tǒng)運(yùn)行RIP協(xié)議。區(qū)域1被定義為NSSA區(qū)域,區(qū)域1接收的RIP路由傳播到NSSA ASBR后,由NSSA ASBR產(chǎn)生Type7 LSA在區(qū)域1內(nèi)傳播,當(dāng)Type7 LSA到達(dá)NSSA ABR后,轉(zhuǎn)換成Type5 LSA傳播到區(qū)域0和區(qū)域2。
        另一方面,運(yùn)行RIP的自治系統(tǒng)的RIP路由通過(guò)區(qū)域2的ASBR產(chǎn)生Type5 LSA在OSPF自治系統(tǒng)中傳播。但由于區(qū)域1是NSSA區(qū)域,所以Type5 LSA不會(huì)到達(dá)區(qū)域1。
        與Stub區(qū)域一樣,虛連接也不能穿過(guò)NSSA區(qū)域。
        圖5 NSSA區(qū)域
        6. 路由聚合
        路由聚合是指ABR或ASBR將具有相同前綴的路由信息聚合,只發(fā)布一條路由到其它區(qū)域。
        AS被劃分成不同的區(qū)域后,區(qū)域間可以通過(guò)路由聚合來(lái)減少路由信息,減小路由表的規(guī)模,提高路由器的運(yùn)算速度。
        例如,圖6中,Area 1內(nèi)有三條區(qū)域內(nèi)路由19.1.1.0/24,19.1.2.0/24,19.1.3.0/24,如果此時(shí)在Router A上配置了路由聚合,將三條路由聚合成一條19.1.0.0/16,則Router A就只生成一條聚合后的LSA,并發(fā)布給Area0中的其他路由器。
        圖6 路由聚合示意圖
        OSPF有兩類聚合:
        (1) ABR聚合
        ABR向其它區(qū)域發(fā)送路由信息時(shí),以網(wǎng)段為單位生成Type3 LSA。如果該區(qū)域中存在一些連續(xù)的網(wǎng)段,則可以將這些連續(xù)的網(wǎng)段聚合成一個(gè)網(wǎng)段。這樣ABR只發(fā)送一條聚合后的LSA,所有屬于聚合網(wǎng)段范圍的LSA將不再會(huì)被單獨(dú)發(fā)送出去,這樣可減少其它區(qū)域中LSDB的規(guī)模。
        (2) ASBR聚合
        配置引入路由聚合后,如果本地路由器是自治系統(tǒng)邊界路由器ASBR,將對(duì)引入的聚合地址范圍內(nèi)的Type5 LSA進(jìn)行聚合。當(dāng)配置了NSSA區(qū)域時(shí),還要對(duì)引入的聚合地址范圍內(nèi)的Type7 LSA進(jìn)行聚合。
        如果本地路由器是ABR,則對(duì)由Type7 LSA轉(zhuǎn)化成的Type5 LSA進(jìn)行聚合處理。
        7. 路由類型
        OSPF將路由分為四類,按照優(yōu)先級(jí)從高到低的順序依次為:
        l 區(qū)域內(nèi)路由(Intra Area)
        l 區(qū)域間路由(Inter Area)
        l 第一類外部路由(Type1 External)
        l 第二類外部路由(Type2 External)
        區(qū)域內(nèi)和區(qū)域間路由描述的是AS內(nèi)部的網(wǎng)絡(luò)結(jié)構(gòu),外部路由則描述了應(yīng)該如何選擇到AS以外目的地址的路由。OSPF將引入的AS外部路由分為兩類:Type1和Type2。
        第一類外部路由是指接收的是IGP(Interior Gateway Protocol,內(nèi)部網(wǎng)關(guān)協(xié)議)路由(例如靜態(tài)路由和RIP路由)。由于這類路由的可信程度較高,并且和OSPF自身路由的開(kāi)銷具有可比性,所以到第一類外部路由的開(kāi)銷等于本路由器到相應(yīng)的ASBR的開(kāi)銷與ASBR到該路由目的地址的開(kāi)銷之和。
        第二類外部路由是指接收的是EGP(Exterior Gateway Protocol,外部網(wǎng)關(guān)協(xié)議)路由。由于這類路由的可信度比較低,所以O(shè)SPF協(xié)議認(rèn)為從ASBR到自治系統(tǒng)之外的開(kāi)銷遠(yuǎn)遠(yuǎn)大于在自治系統(tǒng)之內(nèi)到達(dá)ASBR的開(kāi)銷。所以計(jì)算路由開(kāi)銷時(shí)將主要考慮前者,即到第二類外部路由的開(kāi)銷等于ASBR到該路由目的地址的開(kāi)銷。如果計(jì)算出開(kāi)銷值相等的兩條路由,再考慮本路由器到相應(yīng)的ASBR的開(kāi)銷。


        控制OSPF的DR選舉
        應(yīng)用環(huán)境

        在廣播網(wǎng)和NBMA網(wǎng)絡(luò)中,任何一臺(tái)路由器的路由變化都會(huì)導(dǎo)致多次傳遞,浪費(fèi)了帶寬資源。為解決這一問(wèn)題,OSPF協(xié)議定義了選舉路由器DR(Designated Router)和BDR(Backup Designated Router)。

        所有路由器都發(fā)送Router-LSA,但只有DR、BDR和DR other建立連接關(guān)系。所有路由器只將信息發(fā)送給DR,由DR將網(wǎng)絡(luò)鏈路狀態(tài)廣播出去。BDR是DR的備份,在選舉DR的同時(shí)也選舉出BDR,BDR也和本網(wǎng)段內(nèi)的所有路由器建立鄰接關(guān)系并交換路由信息。當(dāng)DR失效后,BDR會(huì)立即成為DR。

        除DR和BDR之外的路由器(稱為DR Other)之間將不再建立鄰接關(guān)系,也不再交換任何路由信息。這樣就減少了廣播網(wǎng)和NBMA網(wǎng)絡(luò)上各路由器之間鄰接關(guān)系的數(shù)量。
        配置思路

        在控制OSPF的DR選舉時(shí),采用如下的配置思路:
        配置各路由器上router id,使能OSPF基本功能。
        在缺省優(yōu)先級(jí)情況下,查看各路由器DR/BDR狀態(tài)。
        配置接口上的DR優(yōu)先級(jí),查看DR/BDR狀態(tài)。
        配置注意事項(xiàng)

        需要注意的是:
        只有在廣播或NBMA類型接口時(shí)才會(huì)選舉DR,在點(diǎn)到點(diǎn)或點(diǎn)到多點(diǎn)類型的接口上不需要選舉DR。
        DR是指某個(gè)網(wǎng)段的概念,是針對(duì)路由器的接口而言的。某臺(tái)路由器在一個(gè)接口上可能是DR,在另一個(gè)接口上有可能是BDR,或者是DR Other。
        若DR、BDR已經(jīng)選擇完畢,當(dāng)一臺(tái)新路由器加入后,即使它的DR優(yōu)先級(jí)值最大,也不會(huì)立即成為該網(wǎng)段中的DR。
        DR并不一定就是DR優(yōu)先級(jí)最大的路由器;同理,BDR也并不一定就是DR優(yōu)先級(jí)第二大的路由器。
        配置實(shí)例
        組網(wǎng)需求

        在下圖中,RouterA的GE1/0/0接口的優(yōu)先級(jí)為100,它是網(wǎng)絡(luò)上的最高優(yōu)先級(jí),所以RouterA被選為DR;RouterC的GE1/0/0接口的優(yōu)先級(jí)僅次于RouterA的GE1/0/0接口,被選為BDR;RouterB的優(yōu)先級(jí)為0,這意味著它將不參加DR選舉;RouterD沒(méi)有配置優(yōu)先級(jí),取缺省值1。

        控制OSPF的DR選擇組網(wǎng)圖


        適用的產(chǎn)品和版本

        路由器端可以使用任意一款NE產(chǎn)品,版本為(VRP5.30)及后續(xù)版本。
        配置步驟

        步驟 1 配置各接口的IP地址(略)

        步驟 2 配置OSPF基本功能

        # 配置RouterA。

        [RouterA] router id 1.1.1.1

        [RouterA] ospf

        [RouterA-ospf-1] area 0

        [RouterA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

        # 配置RouterB。

        [RouterB] router id 2.2.2.2

        [RouterB] ospf

        [RouterB-ospf-1] area 0

        [RouterB-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

        # 配置RouterC。

        [RouterC] router id 3.3.3.3

        [RouterC] ospf

        [RouterC-ospf-1] area 0

        [RouterC-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

        # 配置RouterD。

        [RouterD] router id 4.4.4.4

        [RouterD] ospf

        [RouterD-ospf-1] area 0

        [RouterD-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

        # 查看DR/BDR的狀態(tài)。

        [RouterA] display ospf peer



        OSPF Process 1 with Router ID 1.1.1.1

        Neighbors



        Area 0.0.0.0 interface 192.168.1.1(GigabitEthernet1/0/0)'s neighbors

        Router ID: 2.2.2.2 Address: 192.168.1.2 GR State: Normal

        State: 2-Way Mode:Nbr is Master Priority: 1

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 32 sec

        Neighbor is up for 00:04:21

        Authentication Sequence: [ 0 ]



        Router ID: 3.3.3.3 Address: 192.168.1.3 GR State: Normal

        State: Full Mode:Nbr is Master Priority: 1

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 37 sec

        Neighbor is up for 00:04:06

        Authentication Sequence: [ 0 ]



        Router ID: 4.4.4.4 Address: 192.168.1.4 GR State: Normal

        State: Full Mode:Nbr is Master Priority: 1

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 37 sec

        Neighbor is up for 00:03:53

        Authentication Sequence: [ 0 ]

        查看RouterA的鄰居信息,可以看到DR優(yōu)先級(jí)(缺省為1)以及鄰居狀態(tài),此時(shí)RouterD為DR,RouterC為BDR。

        說(shuō)明

        當(dāng)優(yōu)先級(jí)相同時(shí),router-id高的為DR。如果路由器的某個(gè)Ethernet接口成為DR之后,則這臺(tái)路由器的其他廣播接口在進(jìn)行后續(xù)的DR選擇時(shí),具有高優(yōu)先權(quán)。即選擇已經(jīng)是DR的路由器作為DR,DR不可搶占。

        步驟 3 配置接口上的DR優(yōu)先級(jí)

        # 配置RouterA。

        [RouterA] interface GigabitEthernet 1/0/0

        [RouterA-GigabitEthernet1/0/0] ospf dr-priority 100

        [RouterA-GigabitEthernet1/0/0] quit

        # 配置RouterB。

        [RouterB] interface GigabitEthernet 1/0/0

        [RouterB-GigabitEthernet1/0/0] ospf dr-priority 0

        [RouterB-GigabitEthernet1/0/0] quit

        # 配置RouterC。

        [RouterC] interface GigabitEthernet 1/0/0

        [RouterC-GigabitEthernet1/0/0] ospf dr-priority 2

        [RouterC-GigabitEthernet1/0/0] quit

        # 查看DR/BDR的狀態(tài)。

        [RouterD] display ospf peer



        OSPF Process 1 with Router ID 4.4.4.4

        Neighbors



        Area 0.0.0.0 interface 192.168.1.4(GigabitEthernet1/0/0)'s neighbors

        Router ID: 1.1.1.1 Address: 192.168.1.1 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 100

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 31 sec

        Neighbor is up for 00:11:17

        Authentication Sequence: [ 0 ]

        Router ID: 2.2.2.2 Address: 192.168.1.2 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 0

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 35 sec

        Neighbor is up for 00:11:19

        Authentication Sequence: [ 0 ]



        Router ID: 3.3.3.3 Address: 192.168.1.3 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 2

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 33 sec

        Neighbor is up for 00:11:15

        Authentication Sequence: [ 0 ]

        說(shuō)明

        在接口上配置DR優(yōu)先級(jí)之后并不會(huì)立即生效。

        步驟 4 重啟OSPF進(jìn)程

        在各路由器的用戶視圖下,同時(shí)執(zhí)行命令reset ospf 1 process,以重啟OSPF進(jìn)程。
        驗(yàn)證結(jié)果

        # 查看OSPF鄰居狀態(tài)。

        [RouterD] display ospf peer



        OSPF Process 1 with Router ID 4.4.4.4

        Neighbors



        Area 0.0.0.0 interface 192.168.1.4(GigabitEthernet1/0/0)'s neighbors

        Router ID: 1.1.1.1 Address: 192.168.1.1 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 100

        DR: 192.168.1.1 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 35 sec

        Neighbor is up for 00:07:19

        Authentication Sequence: [ 0 ]



        Router ID: 2.2.2.2 Address: 192.168.1.2 GR State: Normal

        State: 2-Way Mode:Nbr is Slave Priority: 0

        DR: 192.168.1.1 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 35 sec

        Neighbor is up for 00:07:19

        Authentication Sequence: [ 0 ]



        Router ID: 3.3.3.3 Address: 192.168.1.3 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 2

        DR: 192.168.1.1 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 37 sec

        Neighbor is up for 00:07:17

        Authentication Sequence: [ 0 ]

        # 查看OSPF接口的狀態(tài)。

        [RouterA] display ospf interface



        OSPF Process 1 with Router ID 1.1.1.1

        Interfaces



        Area: 0.0.0.0

        IP Address Type State Cost Pri DR BDR

        192.168.1.1 Broadcast DR 1 100 192.168.1.1 192.168.1.3



        [RouterB] display ospf interface



        OSPF Process 1 with Router ID 2.2.2.2

        Interfaces



        Area: 0.0.0.0

        IP Address Type State Cost Pri DR BDR

        192.168.1.2 Broadcast DROther 1 0 192.168.1.1 192.168.1.3



        如果鄰居的狀態(tài)是Full,這說(shuō)明它和鄰居之間形成了鄰接關(guān)系;如果停留在2-Way的狀態(tài),則說(shuō)明他們都不是DR或BDR,兩者之間不需要交換LSA。

        如果OSPF接口的狀態(tài)是DROther,則說(shuō)明它既不是DR,也不是BDR。
        配置文件
        RouterA的配置文件

        #

        sysname RouterA

        #

        router id 1.1.1.1

        #

        interface GigabitEthernet1/0/0

        ip address 192.168.1.1 255.255.255.0

        ospf dr-priority 100

        #

        ospf 1

        area 0.0.0.0

        network 192.168.1.0 0.0.0.255

        #

        return
        RouterB的配置文件

        #

        sysname RouterB

        #

        router id 2.2.2.2

        #

        interface GigabitEthernet1/0/0

        ip address 192.168.1.2 255.255.255.0

        ospf dr-priority 0

        #

        ospf 1

        area 0.0.0.0

        network 192.168.1.0 0.0.0.255

        #

        return
        RouterC的配置文件

        #

        sysname RouterC

        #

        router id 3.3.3.3

        #

        interface GigabitEthernet1/0/0

        ip address 192.168.1.3 255.255.255.0

        ospf dr-priority 2

        #

        ospf 1

        area 0.0.0.0

        network 192.168.1.0 0.0.0.255

        #

        return
        RouterD的配置文件

        #

        sysname RouterD

        #

        router id 4.4.4.4

        #

        interface GigabitEthernet1/0/0

        ip address 192.168.1.4 255.255.255.0

        #

        ospf 1

        area 0.0.0.0

        network 192.168.1.0 0.0.0.255

        #

        return
        OSPF的DR選舉



        OSPF是Open Shortest Path First(開(kāi)放最短路徑優(yōu)先)的縮寫(xiě)。它是IETF組織開(kāi)發(fā)的一個(gè)基于鏈路狀態(tài)的內(nèi)部網(wǎng)關(guān)協(xié)議。目前針對(duì)IPv4協(xié)議使用的是OSPF Version 2(RFC 2328)。
        OSPF具有如下特點(diǎn):
        l 適應(yīng)范圍廣——支持各種規(guī)模的網(wǎng)絡(luò),最多可支持幾百臺(tái)路由器。
        l 快速收斂——在網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)發(fā)生變化后立即發(fā)送更新報(bào)文,使這一變化在自治系統(tǒng)中同步。
        l 無(wú)自環(huán)——由于OSPF根據(jù)收集到的鏈路狀態(tài)用最短路徑樹(shù)算法計(jì)算路由,從算法本身保證了不會(huì)生成自環(huán)路由。
        l 區(qū)域劃分——允許自治系統(tǒng)的網(wǎng)絡(luò)被劃分成區(qū)域來(lái)管理,區(qū)域間傳送的路由信息被進(jìn)一步抽象,從而減少了占用的網(wǎng)絡(luò)帶寬。
        l 等價(jià)路由——支持到同一目的地址的多條等價(jià)路由。
        l 路由分級(jí)——使用4類不同的路由,按優(yōu)先順序來(lái)說(shuō)分別是:區(qū)域內(nèi)路由、區(qū)域間路由、第一類外部路由、第二類外部路由。
        l 支持驗(yàn)證——支持基于接口的報(bào)文驗(yàn)證,以保證報(bào)文交互的安全性。
        l 組播發(fā)送——在某些類型的鏈路上以組播地址發(fā)送協(xié)議報(bào)文,減少對(duì)其他設(shè)備的干擾。
        OSPF的基本概念
        1. 自治系統(tǒng)(Autonomous System)
        一組使用相同路由協(xié)議交換路由信息的路由器,縮寫(xiě)為AS。
        2. OSPF路由的計(jì)算過(guò)程
        OSPF協(xié)議路由的計(jì)算過(guò)程可簡(jiǎn)單描述如下:
        l 每臺(tái)OSPF路由器根據(jù)自己周圍的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)生成LSA(Link State Advertisement,鏈路狀態(tài)通告),并通過(guò)更新報(bào)文將LSA發(fā)送給網(wǎng)絡(luò)中的其它OSPF路由器。
        l 每臺(tái)OSPF路由器都會(huì)收集其它路由器通告的LSA,所有的LSA放在一起便組成了LSDB(Link State Database,鏈路狀態(tài)數(shù)據(jù)庫(kù))。LSA是對(duì)路由器周圍網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的描述,LSDB則是對(duì)整個(gè)自治系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的描述。
        l OSPF路由器將LSDB轉(zhuǎn)換成一張帶權(quán)的有向圖,這張圖便是對(duì)整個(gè)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的真實(shí)反映。各個(gè)路由器得到的有向圖是完全相同的。
        l 每臺(tái)路由器根據(jù)有向圖,使用SPF算法計(jì)算出一棵以自己為根的最短路徑樹(shù),這棵樹(shù)給出了到自治系統(tǒng)中各節(jié)點(diǎn)的路由。
        3. 路由器ID號(hào)
        一臺(tái)路由器如果要運(yùn)行OSPF協(xié)議,則必須存在RID(Router ID,路由器ID)。RID是一個(gè)32比特?zé)o符號(hào)整數(shù),可以在一個(gè)自治系統(tǒng)中唯一的標(biāo)識(shí)一臺(tái)路由器。
        RID可以手工配置,也可以自動(dòng)生成;如果沒(méi)有通過(guò)命令指定RID,將按照如下順序自動(dòng)生成一個(gè)RID:
        l 如果當(dāng)前設(shè)備配置了Loopback接口,將選取所有Loopback接口上數(shù)值最大的IP地址作為RID;
        l 如果當(dāng)前設(shè)備沒(méi)有配置Loopback接口,將選取它所有已經(jīng)配置IP地址且鏈路有效的接口上數(shù)值最大的IP地址作為RID。
        4. OSPF的協(xié)議報(bào)文
        OSPF有五種類型的協(xié)議報(bào)文:
        l Hello報(bào)文:周期性發(fā)送,用來(lái)發(fā)現(xiàn)和維持OSPF鄰居關(guān)系。內(nèi)容包括一些定時(shí)器的數(shù)值、DR(Designated Router,指定路由器)、BDR(Backup Designated Router,備份指定路由器)以及自己已知的鄰居。
        l DD(Database Description,數(shù)據(jù)庫(kù)描述)報(bào)文:描述了本地LSDB中每一條LSA的摘要信息,用于兩臺(tái)路由器進(jìn)行數(shù)據(jù)庫(kù)同步。
        l LSR(Link State Request,鏈路狀態(tài)請(qǐng)求)報(bào)文:向?qū)Ψ秸?qǐng)求所需的LSA。兩臺(tái)路由器互相交換DD報(bào)文之后,得知對(duì)端的路由器有哪些LSA是本地的LSDB所缺少的,這時(shí)需要發(fā)送LSR報(bào)文向?qū)Ψ秸?qǐng)求所需的LSA。內(nèi)容包括所需要的LSA的摘要。
        l LSU(Link State Update,鏈路狀態(tài)更新)報(bào)文:向?qū)Ψ桨l(fā)送其所需要的LSA。
        l LSAck(Link State Acknowledgment,鏈路狀態(tài)確認(rèn))報(bào)文:用來(lái)對(duì)收到的LSA進(jìn)行確認(rèn)。內(nèi)容是需要確認(rèn)的LSA的Header(一個(gè)報(bào)文可對(duì)多個(gè)LSA進(jìn)行確認(rèn))。
        5. LSA的類型
        OSPF中對(duì)鏈路狀態(tài)信息的描述都是封裝在LSA中發(fā)布出去,常用的LSA有以下幾種類型:
        l Router LSA(Type1):由每個(gè)路由器產(chǎn)生,描述路由器的鏈路狀態(tài)和開(kāi)銷,在其始發(fā)的區(qū)域內(nèi)傳播。
        l Network LSA(Type2):由DR產(chǎn)生,描述本網(wǎng)段所有路由器的鏈路狀態(tài),在其始發(fā)的區(qū)域內(nèi)傳播。
        l Network Summary LSA(Type3):由ABR(Area Border Router,區(qū)域邊界路由器)產(chǎn)生,描述區(qū)域內(nèi)某個(gè)網(wǎng)段的路由,并通告給其他區(qū)域。
        l ASBR Summary LSA(Type4):由ABR產(chǎn)生,描述到ASBR(Autonomous System Boundary Router,自治系統(tǒng)邊界路由器)的路由,通告給相關(guān)區(qū)域。
        l AS External LSA(Type5):由ASBR產(chǎn)生,描述到AS(Autonomous System,自治系統(tǒng))外部的路由,通告到所有的區(qū)域(除了Stub區(qū)域和NSSA區(qū)域)。
        l NSSA External LSA(Type7):由NSSA(Not-So-Stubby Area)區(qū)域內(nèi)的ASBR產(chǎn)生,描述到AS外部的路由,僅在NSSA區(qū)域內(nèi)傳播。
        l Opaque LSA:是一個(gè)被提議的LSA類別,由標(biāo)準(zhǔn)的LSA頭部后面跟隨特殊應(yīng)用的信息組成,可以直接由OSPF協(xié)議使用,或者由其它應(yīng)用分發(fā)信息到整個(gè)OSPF域間接使用。Opaque LSA分為Type 9、Type10、Type11三種類型,泛洪區(qū)域不同;其中,Type 9的Opaque LSA僅在本地鏈路范圍進(jìn)行泛洪,Type 10的Opaque LSA僅在本地區(qū)域范圍進(jìn)行泛洪,Type 11的LSA可以在一個(gè)自治系統(tǒng)范圍進(jìn)行泛洪。
        6. 鄰居和鄰接
        在OSPF中,鄰居(Neighbor)和鄰接(Adjacency)是兩個(gè)不同的概念。
        OSPF路由器啟動(dòng)后,便會(huì)通過(guò)OSPF接口向外發(fā)送Hello報(bào)文。收到Hello報(bào)文的OSPF路由器會(huì)檢查報(bào)文中所定義的參數(shù),如果雙方一致就會(huì)形成鄰居關(guān)系。
        形成鄰居關(guān)系的雙方不一定都能形成鄰接關(guān)系,這要根據(jù)網(wǎng)絡(luò)類型而定。只有當(dāng)雙方成功交換DD報(bào)文,交換LSA并達(dá)到LSDB的同步之后,才形成真正意義上的鄰接關(guān)系。

        OSPF的網(wǎng)絡(luò)類型
        1. OSPF的4種網(wǎng)絡(luò)類型
        OSPF根據(jù)鏈路層協(xié)議類型將網(wǎng)絡(luò)分為下列四種類型:
        l Broadcast:當(dāng)鏈路層協(xié)議是Ethernet、FDDI時(shí),OSPF缺省認(rèn)為網(wǎng)絡(luò)類型是Broadcast。在該類型的網(wǎng)絡(luò)中,通常以組播形式(224.0.0.5和224.0.0.6)發(fā)送協(xié)議報(bào)文。
        l NBMA(Non-Broadcast Multi-Access,非廣播多點(diǎn)可達(dá)網(wǎng)絡(luò)):當(dāng)鏈路層協(xié)議是幀中繼、ATM或X.25時(shí),OSPF缺省認(rèn)為網(wǎng)絡(luò)類型是NBMA。在該類型的網(wǎng)絡(luò)中,以單播形式發(fā)送協(xié)議報(bào)文。
        l P2MP(Point-to-MultiPoint,點(diǎn)到多點(diǎn)):沒(méi)有一種鏈路層協(xié)議會(huì)被缺省的認(rèn)為是P2MP類型。點(diǎn)到多點(diǎn)必須是由其他的網(wǎng)絡(luò)類型強(qiáng)制更改的。常用做法是將NBMA改為點(diǎn)到多點(diǎn)的網(wǎng)絡(luò)。在該類型的網(wǎng)絡(luò)中,以組播形式(224.0.0.5)發(fā)送協(xié)議報(bào)文。
        l P2P(Point-to-Point,點(diǎn)到點(diǎn)):當(dāng)鏈路層協(xié)議是PPP、HDLC時(shí),OSPF缺省認(rèn)為網(wǎng)絡(luò)類型是P2P。在該類型的網(wǎng)絡(luò)中,以組播形式(224.0.0.5)發(fā)送協(xié)議報(bào)文。
        2. NBMA網(wǎng)絡(luò)的配置原則
        NBMA網(wǎng)絡(luò)是指非廣播、多點(diǎn)可達(dá)的網(wǎng)絡(luò),比較典型的有ATM和幀中繼網(wǎng)絡(luò)。
        對(duì)于接口的網(wǎng)絡(luò)類型為NBMA的網(wǎng)絡(luò)需要進(jìn)行一些特殊的配置。由于無(wú)法通過(guò)廣播Hello報(bào)文的形式發(fā)現(xiàn)相鄰路由器,必須手工為該接口指定相鄰路由器的IP地址,以及該相鄰路由器是否有DR選舉權(quán)等。
        NBMA網(wǎng)絡(luò)必須是全連通的,即網(wǎng)絡(luò)中任意兩臺(tái)路由器之間都必須有一條虛電路直接可達(dá)。如果部分路由器之間沒(méi)有直接可達(dá)的鏈路時(shí),應(yīng)將接口配置成P2MP類型。如果路由器在NBMA網(wǎng)絡(luò)中只有一個(gè)對(duì)端,也可將接口類型配置為P2P類型。
        NBMA與P2MP網(wǎng)絡(luò)之間的區(qū)別如下:
        l NBMA網(wǎng)絡(luò)是指那些全連通的、非廣播、多點(diǎn)可達(dá)網(wǎng)絡(luò)。而P2MP網(wǎng)絡(luò),則并不需要一定是全連通的。
        l 在NBMA網(wǎng)絡(luò)中需要選舉DR與BDR,而在P2MP網(wǎng)絡(luò)中沒(méi)有DR與BDR。
        l NBMA是一種缺省的網(wǎng)絡(luò)類型,而P2MP網(wǎng)絡(luò)必須是由其它的網(wǎng)絡(luò)強(qiáng)制更改的。最常見(jiàn)的做法是將NBMA網(wǎng)絡(luò)改為P2MP網(wǎng)絡(luò)。
        l NBMA網(wǎng)絡(luò)采用單播發(fā)送報(bào)文,需要手工配置鄰居。P2MP網(wǎng)絡(luò)采用組播方式發(fā)送報(bào)文
        DR/BDR
        1. DR/BDR簡(jiǎn)介
        在廣播網(wǎng)和NBMA網(wǎng)絡(luò)中,任意兩臺(tái)路由器之間都要交換路由信息。如果網(wǎng)絡(luò)中有n臺(tái)路由器,則需要建立n(n-1)/2個(gè)鄰接關(guān)系。這使得任何一臺(tái)路由器的路由變化都會(huì)導(dǎo)致多次傳遞,浪費(fèi)了帶寬資源。為解決這一問(wèn)題,OSPF協(xié)議定義了指定路由器DR(Designated Router),所有路由器都只將信息發(fā)送給DR,由DR將網(wǎng)絡(luò)鏈路狀態(tài)發(fā)送出去。
        如果DR由于某種故障而失效,則網(wǎng)絡(luò)中的路由器必須重新選舉DR,再與新的DR同步。這需要較長(zhǎng)的時(shí)間,在這段時(shí)間內(nèi),路由的計(jì)算是不正確的。為了能夠縮短這個(gè)過(guò)程,OSPF提出了BDR(Backup Designated Router,備份指定路由器)的概念。
        BDR實(shí)際上是對(duì)DR的一個(gè)備份,在選舉DR的同時(shí)也選舉出BDR,BDR也和本網(wǎng)段內(nèi)的所有路由器建立鄰接關(guān)系并交換路由信息。當(dāng)DR失效后,BDR會(huì)立即成為DR。由于不需要重新選舉,并且鄰接關(guān)系事先已建立,所以這個(gè)過(guò)程是非常短暫的。當(dāng)然這時(shí)還需要再重新選舉出一個(gè)新的BDR,雖然一樣需要較長(zhǎng)的時(shí)間,但并不會(huì)影響路由的計(jì)算。
        DR和BDR之外的路由器(稱為DR Other)之間將不再建立鄰接關(guān)系,也不再交換任何路由信息。這樣就減少了廣播網(wǎng)和NBMA網(wǎng)絡(luò)上各路由器之間鄰接關(guān)系的數(shù)量。
        如圖7所示,用實(shí)線代表以太網(wǎng)物理連接,虛線代表建立的鄰接關(guān)系?梢钥吹,采用DR/BDR機(jī)制后,5臺(tái)路由器之間只需要建立7個(gè)鄰接關(guān)系就可以了。
        圖7 DR和BDR示意圖
        2. DR/BDR選舉過(guò)程
        DR和BDR是由同一網(wǎng)段中所有的路由器根據(jù)路由器優(yōu)先級(jí)、Router ID通過(guò)HELLO報(bào)文選舉出來(lái)的,只有優(yōu)先級(jí)大于0的路由器才具有選取資格。
        進(jìn)行DR/BDR選舉時(shí)每臺(tái)路由器將自己選出的DR寫(xiě)入Hello報(bào)文中,發(fā)給網(wǎng)段上的每臺(tái)運(yùn)行OSPF協(xié)議的路由器。當(dāng)處于同一網(wǎng)段的兩臺(tái)路由器同時(shí)宣布自己是DR時(shí),路由器優(yōu)先級(jí)高者勝出。如果優(yōu)先級(jí)相等,則Router ID大者勝出。如果一臺(tái)路由器的優(yōu)先級(jí)為0,則它不會(huì)被選舉為DR或BDR。
        需要注意的是:
        l 只有在廣播或NBMA類型接口才會(huì)選舉DR,在點(diǎn)到點(diǎn)或點(diǎn)到多點(diǎn)類型的接口上不需要選舉DR。
        l DR是某個(gè)網(wǎng)段中的概念,是針對(duì)路由器的接口而言的。某臺(tái)路由器在一個(gè)接口上可能是DR,在另一個(gè)接口上有可能是BDR,或者是DR Other。
        l 路由器的優(yōu)先級(jí)可以影響一個(gè)選取過(guò)程,但是當(dāng)DR/BDR已經(jīng)選取完畢,就算一臺(tái)具有更高優(yōu)先級(jí)的路由器變?yōu)橛行В膊粫?huì)替換該網(wǎng)段中已經(jīng)選取的DR/BDR成為新的DR/BDR。
        l DR并不一定就是路由器優(yōu)先級(jí)最高的路由器接口;同理,BDR也并不一定就是路由器優(yōu)先級(jí)次高的路由器接口。
        OSPF的報(bào)文格式
        OSPF報(bào)文直接封裝為IP報(bào)文協(xié)議報(bào)文,協(xié)議號(hào)為89。一個(gè)比較完整的OSPF報(bào)文(以LSU報(bào)文為例)結(jié)構(gòu)如圖8所示。
        圖8 OSPF報(bào)文結(jié)構(gòu)
        1. OSPF報(bào)文頭
        OSPF有五種報(bào)文類型,它們有相同的報(bào)文頭。如圖9所示。
        圖9 OSPF報(bào)文頭格式
        主要字段的解釋如下:
        l Version:OSPF的版本號(hào)。對(duì)于OSPFv2來(lái)說(shuō),其值為2。
        l Type:OSPF報(bào)文的類型。數(shù)值從1到5,分別對(duì)應(yīng)Hello報(bào)文、DD報(bào)文、LSR報(bào)文、LSU報(bào)文和LSAck報(bào)文。
        l Packet length:OSPF報(bào)文的總長(zhǎng)度,包括報(bào)文頭在內(nèi),單位為字節(jié)。
        l Router ID:始發(fā)該LSA的路由器的ID。
        l Area ID:始發(fā)LSA的路由器所在的區(qū)域ID。
        l Checksum:對(duì)整個(gè)報(bào)文的校驗(yàn)和。
        l AuType:驗(yàn)證類型?煞譃椴或(yàn)證、簡(jiǎn)單(明文)口令驗(yàn)證和MD5驗(yàn)證,其值分別為0、1、2。
        l Authentication:其數(shù)值根據(jù)驗(yàn)證類型而定。當(dāng)驗(yàn)證類型為0時(shí)未作定義,為1時(shí)此字段為密碼信息,類型為2時(shí)此字段包括Key ID、MD5驗(yàn)證數(shù)據(jù)長(zhǎng)度和序列號(hào)的信息。
        & 說(shuō)明:
        MD5驗(yàn)證數(shù)據(jù)添加在OSPF報(bào)文后面,不包含在Authenticaiton字段中。

        2. Hello報(bào)文(Hello Packet)
        最常用的一種報(bào)文,周期性的發(fā)送給鄰居路由器用來(lái)維持鄰居關(guān)系以及DR/BDR的選舉,內(nèi)容包括一些定時(shí)器的數(shù)值、DR、BDR以及自己已知的鄰居。Hello報(bào)文格式如圖10所示。
        圖10 Hello報(bào)文格式
        主要字段解釋如下:
        l Network Mask:發(fā)送Hello報(bào)文的接口所在網(wǎng)絡(luò)的掩碼,如果相鄰兩臺(tái)路由器的網(wǎng)絡(luò)掩碼不同,則不能建立鄰居關(guān)系。
        l HelloInterval:發(fā)送Hello報(bào)文的時(shí)間間隔。如果相鄰兩臺(tái)路由器的Hello間隔時(shí)間不同,則不能建立鄰居關(guān)系。
        l Rtr Pri:路由器優(yōu)先級(jí)。如果設(shè)置為0,則該路由器接口不能成為DR/BDR。
        l RouterDeadInterval:失效時(shí)間。如果在此時(shí)間內(nèi)未收到鄰居發(fā)來(lái)的Hello報(bào)文,則認(rèn)為鄰居失效。如果相鄰兩臺(tái)路由器的失效時(shí)間不同,則不能建立鄰居關(guān)系。
        l Designated Router:指定路由器的接口的IP地址。
        l Backup Designated Router:備份指定路由器的接口的IP地址。
        l Neighbor:鄰居路由器的Router ID。
        3. DD報(bào)文(Database Description Packet)
        兩臺(tái)路由器進(jìn)行數(shù)據(jù)庫(kù)同步時(shí),用DD報(bào)文來(lái)描述自己的LSDB,內(nèi)容包括LSDB中每一條LSA的Header(LSA的Header可以唯一標(biāo)識(shí)一條LSA)。LSA Header只占一條LSA的整個(gè)數(shù)據(jù)量的一小部分,這樣可以減少路由器之間的協(xié)議報(bào)文流量,對(duì)端路由器根據(jù)LSA Header就可以判斷出是否已有這條LSA。
        DD報(bào)文格式如圖11所示。
        圖11 DD報(bào)文格式
        主要字段的解釋如下:
        l Interface MTU:在不分片的情況下,此接口最大可發(fā)出的IP報(bào)文長(zhǎng)度。
        l I(Initial):當(dāng)發(fā)送連續(xù)多個(gè)DD報(bào)文時(shí),如果這是第一個(gè)DD報(bào)文,則置為1,否則置為0。
        l M(More):當(dāng)連續(xù)發(fā)送多個(gè)DD報(bào)文時(shí),如果這是最后一個(gè)DD報(bào)文,則置為0。否則置為1,表示后面還有其他的DD報(bào)文。
        l MS(Master/Slave):當(dāng)兩臺(tái)OSPF路由器交換DD報(bào)文時(shí),首先需要確定雙方的主(Master)從(Slave)關(guān)系,Router ID大的一方會(huì)成為Master。當(dāng)值為1時(shí)表示發(fā)送方為Master。
        l DD Sequence Number:DD報(bào)文序列號(hào),由Master方規(guī)定起始序列號(hào),每發(fā)送一個(gè)DD報(bào)文序列號(hào)加1,Slave方使用Master的序列號(hào)作為確認(rèn)。主從雙方利用序列號(hào)來(lái)保證DD報(bào)文傳輸?shù)目煽啃院屯暾浴?br /> 4. LSR報(bào)文(Link State Request Packet)
        兩臺(tái)路由器互相交換過(guò)DD報(bào)文之后,知道對(duì)端的路由器有哪些LSA是本地的LSDB所缺少的,這時(shí)需要發(fā)送LSR報(bào)文向?qū)Ψ秸?qǐng)求所需的LSA。內(nèi)容包括所需要的LSA的摘要。LSR報(bào)文格式如圖12所示。
        圖12 LSR報(bào)文格式
        主要字段解釋如下:
        l LS type:LSA的類型號(hào)。例如Type1表示Router LSA。
        l Link State ID:鏈路狀態(tài)標(biāo)識(shí),根據(jù)LSA的類型而定。
        l Advertising Router:產(chǎn)生此LSA的路由器的Router ID。
        5. LSU報(bào)文(Link State Update Packet)
        LSU報(bào)文用來(lái)向?qū)Χ寺酚善靼l(fā)送所需要的LSA,內(nèi)容是多條LSA(全部?jī)?nèi)容)的集合。LSU報(bào)文格式如圖13所示。
        圖13 LSU報(bào)文格式
        主要字段解釋如下:
        Number of LSAs:該報(bào)文包含的LSA的數(shù)量。
        LSAs:該報(bào)文包含的所有LSA。
        6. LSAck報(bào)文(Link State Acknowledgment Packet)
        LSAck報(bào)文用來(lái)對(duì)接收到的LSU報(bào)文進(jìn)行確認(rèn),內(nèi)容是需要確認(rèn)的LSA的Header。一個(gè)LSAck報(bào)文可對(duì)多個(gè)LSA進(jìn)行確認(rèn)。報(bào)文格式如圖14所示。
        圖14 LSAck報(bào)文格式
        主要字段解釋如下:
        LSA Headers:該報(bào)文包含的LSA頭部。
        7. LSA頭格式
        所有的LSA都有相同的報(bào)文頭,其格式如圖15所示。
        圖15 LSA的頭格式
        主要字段的解釋如下:
        l LS age:LSA產(chǎn)生后所經(jīng)過(guò)的時(shí)間,以秒為單位。LSA在本路由器的鏈路狀態(tài)數(shù)據(jù)庫(kù)(LSDB)中會(huì)隨時(shí)間老化(每秒鐘加1),但在網(wǎng)絡(luò)的傳輸過(guò)程中卻不會(huì)。
        l LS type:LSA的類型。
        l Link State ID:具體數(shù)值根據(jù)LSA的類型而定。
        l Advertising Router:始發(fā)LSA的路由器的ID。
        l LS sequence number:LSA的序列號(hào),其他路由器根據(jù)這個(gè)值可以判斷哪個(gè)LSA是最新的。
        l LS checksum:除了LS age字段外,關(guān)于LSA的全部信息的校驗(yàn)和。
        l length:LSA的總長(zhǎng)度,包括LSA Header,以字節(jié)為單位。
        LSA類型
        (1) Router LSA
        圖16 Router LSA格式
        主要字段的解釋如下:
        l Link State ID:產(chǎn)生此LSA的路由器的Router ID。
        l V(Virtual Link):如果產(chǎn)生此LSA的路由器是虛連接的端點(diǎn),則置為1。
        l E(External):如果產(chǎn)生此LSA的路由器是ASBR,則置為1。
        l B(Border):如果產(chǎn)生此LSA的路由器是ABR,則置為1。
        l # links:LSA中所描述的鏈路信息的數(shù)量,包括路由器上處于某區(qū)域中的所有鏈路和接口。
        l Link ID:鏈路標(biāo)識(shí),具體的數(shù)值根據(jù)鏈路類型而定。
        l Link Data:鏈路數(shù)據(jù),具體的數(shù)值根據(jù)鏈路類型而定。
        l Type:鏈路類型,取值為1表示通過(guò)點(diǎn)對(duì)點(diǎn)鏈路與另一路由器相連,取值為2表示連接到傳送網(wǎng)絡(luò),取值為3表示連接到Stub網(wǎng)絡(luò),取值為4表示虛連接。
        l #TOS:描述鏈路的不同方式的數(shù)量。
        l metric:鏈路的開(kāi)銷。
        l TOS:服務(wù)類型。
        l TOS metric:指定服務(wù)類型的鏈路的開(kāi)銷。
        (2) Network LSA
        Network LSA由廣播網(wǎng)或NBMA網(wǎng)絡(luò)中的DR發(fā)出,LSA中記錄了這一網(wǎng)段上所有路由器的Router ID。
        圖17 Network LSA格式
        主要字段的解釋如下:
        l Link State ID:DR的IP地址。
        l Network Mask:廣播網(wǎng)或NBMA網(wǎng)絡(luò)地址的掩碼。
        l Attached Router:連接在同一個(gè)網(wǎng)段上的所有與DR形成了完全鄰接關(guān)系的路由器的Router ID,也包括DR自身的Router ID。
        (3) Summary LSA
        Network Summary LSA(Type3 LSA)和ASBR Summary LSA(Type4 LSA)除Link State ID字段有所不同外,有著相同的格式,它們都是由ABR產(chǎn)生。
        圖18 Summary LSA格式
        主要字段的解釋如下:
        l Link State ID:對(duì)于Type3 LSA來(lái)說(shuō),它是所通告的區(qū)域外的網(wǎng)絡(luò)地址;對(duì)于Type4來(lái)說(shuō),它是所通告區(qū)域外的ASBR的Router ID。
        l Network Mask:Type3 LSA的網(wǎng)絡(luò)地址掩碼。對(duì)于Type4 LSA來(lái)說(shuō)沒(méi)有意義,設(shè)置為0.0.0.0。
        l metric:到目的地址的路由開(kāi)銷。
        & 說(shuō)明:
        Type3的LSA可以用來(lái)通告缺省路由,此時(shí)Link State ID和Network Mask都設(shè)置為0.0.0.0。

        (4) AS External LSA
        由ASBR產(chǎn)生,描述到AS外部的路由信息。
        圖19 AS External LSA格式
        主要字段的解釋如下:
        l Link State ID:所要通告的其他外部AS的目的地址,如果通告的是一條缺省路由,那么鏈路狀態(tài)ID(Link State ID)和網(wǎng)絡(luò)掩碼(Network Mask)字段都將設(shè)置為0.0.0.0。
        l Network Mask:所通告的目的地址的掩碼。
        l E(External Metric):外部度量值的類型。如果是第2類外部路由就設(shè)置為1,如果是第1類外部路由則設(shè)置為0。關(guān)于外部路由類型的詳細(xì)描述請(qǐng)參見(jiàn)7. 路由類型部分。
        l metirc:路由開(kāi)銷。
        l Forwarding Address:到所通告的目的地址的報(bào)文將被轉(zhuǎn)發(fā)到的地址。
        l External Route Tag:添加到外部路由上的標(biāo)記。OSPF本身并不使用這個(gè)字段,它可以用來(lái)對(duì)外部路由進(jìn)行管理。
        (5) NSSA External LSA
        由NSSA區(qū)域內(nèi)的ASBR產(chǎn)生,且只能在NSSA區(qū)域內(nèi)傳播。其格式與AS External LSA相同,如圖20所示。
        如圖20所示。
        圖20 NSSA External LSA格式
        OSPF區(qū)域與路由聚合
        1. 區(qū)域劃分
        隨著網(wǎng)絡(luò)規(guī)模日益擴(kuò)大,當(dāng)一個(gè)大型網(wǎng)絡(luò)中的路由器都運(yùn)行OSPF路由協(xié)議時(shí),路由器數(shù)量的增多會(huì)導(dǎo)致LSDB非常龐大,占用大量的存儲(chǔ)空間,并使得運(yùn)行SPF算法的復(fù)雜度增加,導(dǎo)致CPU負(fù)擔(dān)很重。
        在網(wǎng)絡(luò)規(guī)模增大之后,拓?fù)浣Y(jié)構(gòu)發(fā)生變化的概率也增大,網(wǎng)絡(luò)會(huì)經(jīng)常處于“振蕩”之中,造成網(wǎng)絡(luò)中會(huì)有大量的OSPF協(xié)議報(bào)文在傳遞,降低了網(wǎng)絡(luò)的帶寬利用率。更為嚴(yán)重的是,每一次變化都會(huì)導(dǎo)致網(wǎng)絡(luò)中所有的路由器重新進(jìn)行路由計(jì)算。
        OSPF協(xié)議通過(guò)將自治系統(tǒng)劃分成不同的區(qū)域(Area)來(lái)解決上述問(wèn)題。區(qū)域是從邏輯上將路由器劃分為不同的組,每個(gè)組用區(qū)域號(hào)(Area ID)來(lái)標(biāo)識(shí)。區(qū)域的邊界是路由器,而不是鏈路。一個(gè)網(wǎng)段(鏈路)只能屬于一個(gè)區(qū)域,或者說(shuō)每個(gè)運(yùn)行OSPF的接口必須指明屬于哪一個(gè)區(qū)域。如圖1所示。
        圖1 OSPF區(qū)域劃分
        劃分區(qū)域后,可以在區(qū)域邊界路由器上進(jìn)行路由聚合,以減少通告到其他區(qū)域的LSA數(shù)量,還可以將網(wǎng)絡(luò)拓?fù)渥兓瘞?lái)的影響最小化。
        2. 路由器的類型
        OSPF路由器根據(jù)在AS中的不同位置,可以分為以下四類:
        (1) 區(qū)域內(nèi)路由器(Internal Router)
        該類路由器的所有接口都屬于同一個(gè)OSPF區(qū)域。
        (2) 區(qū)域邊界路由器ABR(Area Border Router)
        該類路由器可以同時(shí)屬于兩個(gè)以上的區(qū)域,但其中一個(gè)必須是骨干區(qū)域(骨干區(qū)域的介紹請(qǐng)參見(jiàn)下一小節(jié))。ABR用來(lái)連接骨干區(qū)域和非骨干區(qū)域,它與骨干區(qū)域之間既可以是物理連接,也可以是邏輯上的連接。
        (3) 骨干路由器(Backbone Router)
        該類路由器至少有一個(gè)接口屬于骨干區(qū)域。因此,所有的ABR和位于Area0的內(nèi)部路由器都是骨干路由器。
        (4) 自治系統(tǒng)邊界路由器ASBR
        與其他AS交換路由信息的路由器稱為ASBR。ASBR并不一定位于AS的邊界,它有可能是區(qū)域內(nèi)路由器,也有可能是ABR。只要一臺(tái)OSPF路由器引入了外部路由的信息,它就成為ASBR。
        圖2 OSPF路由器的類型
        3. 骨干區(qū)域與虛連接
        OSPF劃分區(qū)域之后,并非所有的區(qū)域都是平等的關(guān)系。其中有一個(gè)區(qū)域是與眾不同的,它的區(qū)域號(hào)(Area ID)是0,通常被稱為骨干區(qū)域。骨干區(qū)域負(fù)責(zé)區(qū)域之間的路由,非骨干區(qū)域之間的路由信息必須通過(guò)骨干區(qū)域來(lái)轉(zhuǎn)發(fā)。對(duì)此,OSPF有兩個(gè)規(guī)定:
        l 所有非骨干區(qū)域必須與骨干區(qū)域保持連通;
        l 骨干區(qū)域自身也必須保持連通。
        但在實(shí)際應(yīng)用中,可能會(huì)因?yàn)楦鞣矫鏃l件的限制,無(wú)法滿足這個(gè)要求。這時(shí)可以通過(guò)配置OSPF虛連接(Virtual Link)予以解決。
        虛連接是指在兩臺(tái)ABR之間通過(guò)一個(gè)非骨干區(qū)域而建立的一條邏輯上的連接通道。它的兩端必須是ABR,而且必須在兩端同時(shí)配置方可生效。為虛連接兩端提供一條非骨干區(qū)域內(nèi)部路由的區(qū)域稱為傳輸區(qū)(Transit Area)。
        在圖3中,Area2與骨干區(qū)域之間沒(méi)有直接相連的物理鏈路,但可以在ABR上配置虛連接,使Area2通過(guò)一條邏輯鏈路與骨干區(qū)域保持連通。
        圖3 虛連接示意圖之一
        虛連接的另外一個(gè)應(yīng)用是提供冗余的備份鏈路,當(dāng)骨干區(qū)域因鏈路故障不能保持連通時(shí),通過(guò)虛連接仍然可以保證骨干區(qū)域在邏輯上的連通性。如圖4所示。
        圖4 虛連接示意圖之二
        虛連接相當(dāng)于在兩個(gè)ABR之間形成了一個(gè)點(diǎn)到點(diǎn)的連接,因此,在這個(gè)連接上,和物理接口一樣可以配置接口的各參數(shù),如發(fā)送Hello報(bào)文間隔等。
        兩臺(tái)ABR之間直接傳遞OSPF報(bào)文信息,它們之間的OSPF路由器只是起到一個(gè)轉(zhuǎn)發(fā)報(bào)文的作用。由于協(xié)議報(bào)文的目的地址不是中間這些路由器,所以這些報(bào)文對(duì)于它們而言是透明的,只是當(dāng)作普通的IP報(bào)文來(lái)轉(zhuǎn)發(fā)。
        4. (Totally) Stub區(qū)域
        Stub區(qū)域是一些特定的區(qū)域,Stub區(qū)域的ABR不允許注入Type5 LSA,在這些區(qū)域中路由器的路由表規(guī)模以及路由信息傳遞的數(shù)量都會(huì)大大減少。
        為了進(jìn)一步減少Stub區(qū)域中路由器的路由表規(guī)模以及路由信息傳遞的數(shù)量,可以將該區(qū)域配置為Totally Stub(完全Stub)區(qū)域,該區(qū)域的ABR不會(huì)將區(qū)域間的路由信息和外部路由信息傳遞到本區(qū)域。
        (Totally) Stub區(qū)域是一種可選的配置屬性,但并不是每個(gè)區(qū)域都符合配置的條件。通常來(lái)說(shuō),(Totally) Stub區(qū)域位于自治系統(tǒng)的邊界。
        為保證到本自治系統(tǒng)的其他區(qū)域或者自治系統(tǒng)外的路由依舊可達(dá),該區(qū)域的ABR將生成一條缺省路由,并發(fā)布給本區(qū)域中的其他非ABR路由器。
        配置(Totally) Stub區(qū)域時(shí)需要注意下列幾點(diǎn):
        l 骨干區(qū)域不能配置成(Totally) Stub區(qū)域。
        l 如果要將一個(gè)區(qū)域配置成(Totally) Stub區(qū)域,則該區(qū)域中的所有路由器必須都要配置stub [ no-summary ]命令。
        l (Totally) Stub區(qū)域內(nèi)不能存在ASBR,即自治系統(tǒng)外部的路由不能在本區(qū)域內(nèi)傳播。
        l 虛連接不能穿過(guò)(Totally) Stub區(qū)域。
        5. NSSA區(qū)域
        NSSA(Not-So-Stubby Area)區(qū)域是Stub區(qū)域的變形,與Stub區(qū)域有許多相似的地方。NSSA區(qū)域也不允許Type5 LSA注入,但可以允許Type7 LSA注入。Type7 LSA由NSSA區(qū)域的ASBR產(chǎn)生,在NSSA區(qū)域內(nèi)傳播。當(dāng)Type7 LSA到達(dá)NSSA的ABR時(shí),由ABR將Type7 LSA轉(zhuǎn)換成Type5 LSA,傳播到其他區(qū)域。
        如圖5所示,運(yùn)行OSPF協(xié)議的自治系統(tǒng)包括3個(gè)區(qū)域:區(qū)域1、區(qū)域2和區(qū)域0,另外兩個(gè)自治系統(tǒng)運(yùn)行RIP協(xié)議。區(qū)域1被定義為NSSA區(qū)域,區(qū)域1接收的RIP路由傳播到NSSA ASBR后,由NSSA ASBR產(chǎn)生Type7 LSA在區(qū)域1內(nèi)傳播,當(dāng)Type7 LSA到達(dá)NSSA ABR后,轉(zhuǎn)換成Type5 LSA傳播到區(qū)域0和區(qū)域2。
        另一方面,運(yùn)行RIP的自治系統(tǒng)的RIP路由通過(guò)區(qū)域2的ASBR產(chǎn)生Type5 LSA在OSPF自治系統(tǒng)中傳播。但由于區(qū)域1是NSSA區(qū)域,所以Type5 LSA不會(huì)到達(dá)區(qū)域1。
        與Stub區(qū)域一樣,虛連接也不能穿過(guò)NSSA區(qū)域。
        圖5 NSSA區(qū)域
        6. 路由聚合
        路由聚合是指ABR或ASBR將具有相同前綴的路由信息聚合,只發(fā)布一條路由到其它區(qū)域。
        AS被劃分成不同的區(qū)域后,區(qū)域間可以通過(guò)路由聚合來(lái)減少路由信息,減小路由表的規(guī)模,提高路由器的運(yùn)算速度。
        例如,圖6中,Area 1內(nèi)有三條區(qū)域內(nèi)路由19.1.1.0/24,19.1.2.0/24,19.1.3.0/24,如果此時(shí)在Router A上配置了路由聚合,將三條路由聚合成一條19.1.0.0/16,則Router A就只生成一條聚合后的LSA,并發(fā)布給Area0中的其他路由器。
        圖6 路由聚合示意圖
        OSPF有兩類聚合:
        (1) ABR聚合
        ABR向其它區(qū)域發(fā)送路由信息時(shí),以網(wǎng)段為單位生成Type3 LSA。如果該區(qū)域中存在一些連續(xù)的網(wǎng)段,則可以將這些連續(xù)的網(wǎng)段聚合成一個(gè)網(wǎng)段。這樣ABR只發(fā)送一條聚合后的LSA,所有屬于聚合網(wǎng)段范圍的LSA將不再會(huì)被單獨(dú)發(fā)送出去,這樣可減少其它區(qū)域中LSDB的規(guī)模。
        (2) ASBR聚合
        配置引入路由聚合后,如果本地路由器是自治系統(tǒng)邊界路由器ASBR,將對(duì)引入的聚合地址范圍內(nèi)的Type5 LSA進(jìn)行聚合。當(dāng)配置了NSSA區(qū)域時(shí),還要對(duì)引入的聚合地址范圍內(nèi)的Type7 LSA進(jìn)行聚合。
        如果本地路由器是ABR,則對(duì)由Type7 LSA轉(zhuǎn)化成的Type5 LSA進(jìn)行聚合處理。
        7. 路由類型
        OSPF將路由分為四類,按照優(yōu)先級(jí)從高到低的順序依次為:
        l 區(qū)域內(nèi)路由(Intra Area)
        l 區(qū)域間路由(Inter Area)
        l 第一類外部路由(Type1 External)
        l 第二類外部路由(Type2 External)
        區(qū)域內(nèi)和區(qū)域間路由描述的是AS內(nèi)部的網(wǎng)絡(luò)結(jié)構(gòu),外部路由則描述了應(yīng)該如何選擇到AS以外目的地址的路由。OSPF將引入的AS外部路由分為兩類:Type1和Type2。
        第一類外部路由是指接收的是IGP(Interior Gateway Protocol,內(nèi)部網(wǎng)關(guān)協(xié)議)路由(例如靜態(tài)路由和RIP路由)。由于這類路由的可信程度較高,并且和OSPF自身路由的開(kāi)銷具有可比性,所以到第一類外部路由的開(kāi)銷等于本路由器到相應(yīng)的ASBR的開(kāi)銷與ASBR到該路由目的地址的開(kāi)銷之和。
        第二類外部路由是指接收的是EGP(Exterior Gateway Protocol,外部網(wǎng)關(guān)協(xié)議)路由。由于這類路由的可信度比較低,所以O(shè)SPF協(xié)議認(rèn)為從ASBR到自治系統(tǒng)之外的開(kāi)銷遠(yuǎn)遠(yuǎn)大于在自治系統(tǒng)之內(nèi)到達(dá)ASBR的開(kāi)銷。所以計(jì)算路由開(kāi)銷時(shí)將主要考慮前者,即到第二類外部路由的開(kāi)銷等于ASBR到該路由目的地址的開(kāi)銷。如果計(jì)算出開(kāi)銷值相等的兩條路由,再考慮本路由器到相應(yīng)的ASBR的開(kāi)銷。


        控制OSPF的DR選舉
        應(yīng)用環(huán)境

        在廣播網(wǎng)和NBMA網(wǎng)絡(luò)中,任何一臺(tái)路由器的路由變化都會(huì)導(dǎo)致多次傳遞,浪費(fèi)了帶寬資源。為解決這一問(wèn)題,OSPF協(xié)議定義了選舉路由器DR(Designated Router)和BDR(Backup Designated Router)。

        所有路由器都發(fā)送Router-LSA,但只有DR、BDR和DR other建立連接關(guān)系。所有路由器只將信息發(fā)送給DR,由DR將網(wǎng)絡(luò)鏈路狀態(tài)廣播出去。BDR是DR的備份,在選舉DR的同時(shí)也選舉出BDR,BDR也和本網(wǎng)段內(nèi)的所有路由器建立鄰接關(guān)系并交換路由信息。當(dāng)DR失效后,BDR會(huì)立即成為DR。

        除DR和BDR之外的路由器(稱為DR Other)之間將不再建立鄰接關(guān)系,也不再交換任何路由信息。這樣就減少了廣播網(wǎng)和NBMA網(wǎng)絡(luò)上各路由器之間鄰接關(guān)系的數(shù)量。
        配置思路

        在控制OSPF的DR選舉時(shí),采用如下的配置思路:
        配置各路由器上router id,使能OSPF基本功能。
        在缺省優(yōu)先級(jí)情況下,查看各路由器DR/BDR狀態(tài)。
        配置接口上的DR優(yōu)先級(jí),查看DR/BDR狀態(tài)。
        配置注意事項(xiàng)

        需要注意的是:
        只有在廣播或NBMA類型接口時(shí)才會(huì)選舉DR,在點(diǎn)到點(diǎn)或點(diǎn)到多點(diǎn)類型的接口上不需要選舉DR。
        DR是指某個(gè)網(wǎng)段的概念,是針對(duì)路由器的接口而言的。某臺(tái)路由器在一個(gè)接口上可能是DR,在另一個(gè)接口上有可能是BDR,或者是DR Other。
        若DR、BDR已經(jīng)選擇完畢,當(dāng)一臺(tái)新路由器加入后,即使它的DR優(yōu)先級(jí)值最大,也不會(huì)立即成為該網(wǎng)段中的DR。
        DR并不一定就是DR優(yōu)先級(jí)最大的路由器;同理,BDR也并不一定就是DR優(yōu)先級(jí)第二大的路由器。
        配置實(shí)例
        組網(wǎng)需求

        在下圖中,RouterA的GE1/0/0接口的優(yōu)先級(jí)為100,它是網(wǎng)絡(luò)上的最高優(yōu)先級(jí),所以RouterA被選為DR;RouterC的GE1/0/0接口的優(yōu)先級(jí)僅次于RouterA的GE1/0/0接口,被選為BDR;RouterB的優(yōu)先級(jí)為0,這意味著它將不參加DR選舉;RouterD沒(méi)有配置優(yōu)先級(jí),取缺省值1。

        控制OSPF的DR選擇組網(wǎng)圖


        適用的產(chǎn)品和版本

        路由器端可以使用任意一款NE產(chǎn)品,版本為(VRP5.30)及后續(xù)版本。
        配置步驟

        步驟 1 配置各接口的IP地址(略)

        步驟 2 配置OSPF基本功能

        # 配置RouterA。

        [RouterA] router id 1.1.1.1

        [RouterA] ospf

        [RouterA-ospf-1] area 0

        [RouterA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

        # 配置RouterB。

        [RouterB] router id 2.2.2.2

        [RouterB] ospf

        [RouterB-ospf-1] area 0

        [RouterB-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

        # 配置RouterC。

        [RouterC] router id 3.3.3.3

        [RouterC] ospf

        [RouterC-ospf-1] area 0

        [RouterC-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

        # 配置RouterD。

        [RouterD] router id 4.4.4.4

        [RouterD] ospf

        [RouterD-ospf-1] area 0

        [RouterD-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

        # 查看DR/BDR的狀態(tài)。

        [RouterA] display ospf peer



        OSPF Process 1 with Router ID 1.1.1.1

        Neighbors



        Area 0.0.0.0 interface 192.168.1.1(GigabitEthernet1/0/0)'s neighbors

        Router ID: 2.2.2.2 Address: 192.168.1.2 GR State: Normal

        State: 2-Way Mode:Nbr is Master Priority: 1

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 32 sec

        Neighbor is up for 00:04:21

        Authentication Sequence: [ 0 ]



        Router ID: 3.3.3.3 Address: 192.168.1.3 GR State: Normal

        State: Full Mode:Nbr is Master Priority: 1

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 37 sec

        Neighbor is up for 00:04:06

        Authentication Sequence: [ 0 ]



        Router ID: 4.4.4.4 Address: 192.168.1.4 GR State: Normal

        State: Full Mode:Nbr is Master Priority: 1

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 37 sec

        Neighbor is up for 00:03:53

        Authentication Sequence: [ 0 ]

        查看RouterA的鄰居信息,可以看到DR優(yōu)先級(jí)(缺省為1)以及鄰居狀態(tài),此時(shí)RouterD為DR,RouterC為BDR。

        說(shuō)明

        當(dāng)優(yōu)先級(jí)相同時(shí),router-id高的為DR。如果路由器的某個(gè)Ethernet接口成為DR之后,則這臺(tái)路由器的其他廣播接口在進(jìn)行后續(xù)的DR選擇時(shí),具有高優(yōu)先權(quán)。即選擇已經(jīng)是DR的路由器作為DR,DR不可搶占。

        步驟 3 配置接口上的DR優(yōu)先級(jí)

        # 配置RouterA。

        [RouterA] interface GigabitEthernet 1/0/0

        [RouterA-GigabitEthernet1/0/0] ospf dr-priority 100

        [RouterA-GigabitEthernet1/0/0] quit

        # 配置RouterB。

        [RouterB] interface GigabitEthernet 1/0/0

        [RouterB-GigabitEthernet1/0/0] ospf dr-priority 0

        [RouterB-GigabitEthernet1/0/0] quit

        # 配置RouterC。

        [RouterC] interface GigabitEthernet 1/0/0

        [RouterC-GigabitEthernet1/0/0] ospf dr-priority 2

        [RouterC-GigabitEthernet1/0/0] quit

        # 查看DR/BDR的狀態(tài)。

        [RouterD] display ospf peer



        OSPF Process 1 with Router ID 4.4.4.4

        Neighbors



        Area 0.0.0.0 interface 192.168.1.4(GigabitEthernet1/0/0)'s neighbors

        Router ID: 1.1.1.1 Address: 192.168.1.1 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 100

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 31 sec

        Neighbor is up for 00:11:17

        Authentication Sequence: [ 0 ]

        Router ID: 2.2.2.2 Address: 192.168.1.2 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 0

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 35 sec

        Neighbor is up for 00:11:19

        Authentication Sequence: [ 0 ]



        Router ID: 3.3.3.3 Address: 192.168.1.3 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 2

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 33 sec

        Neighbor is up for 00:11:15

        Authentication Sequence: [ 0 ]

        說(shuō)明

        在接口上配置DR優(yōu)先級(jí)之后并不會(huì)立即生效。

        步驟 4 重啟OSPF進(jìn)程

        在各路由器的用戶視圖下,同時(shí)執(zhí)行命令reset ospf 1 process,以重啟OSPF進(jìn)程。
        驗(yàn)證結(jié)果

        # 查看OSPF鄰居狀態(tài)。

        [RouterD] display ospf peer



        OSPF Process 1 with Router ID 4.4.4.4

        Neighbors



        Area 0.0.0.0 interface 192.168.1.4(GigabitEthernet1/0/0)'s neighbors

        Router ID: 1.1.1.1 Address: 192.168.1.1 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 100

        DR: 192.168.1.1 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 35 sec

        Neighbor is up for 00:07:19

        Authentication Sequence: [ 0 ]



        Router ID: 2.2.2.2 Address: 192.168.1.2 GR State: Normal

        State: 2-Way Mode:Nbr is Slave Priority: 0

        DR: 192.168.1.1 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 35 sec

        Neighbor is up for 00:07:19

        Authentication Sequence: [ 0 ]



        Router ID: 3.3.3.3 Address: 192.168.1.3 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 2

        DR: 192.168.1.1 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 37 sec

        Neighbor is up for 00:07:17

        Authentication Sequence: [ 0 ]

        # 查看OSPF接口的狀態(tài)。

        [RouterA] display ospf interface



        OSPF Process 1 with Router ID 1.1.1.1

        Interfaces



        Area: 0.0.0.0

        IP Address Type State Cost Pri DR BDR

        192.168.1.1 Broadcast DR 1 100 192.168.1.1 192.168.1.3



        [RouterB] display ospf interface



        OSPF Process 1 with Router ID 2.2.2.2

        Interfaces



        Area: 0.0.0.0

        IP Address Type State Cost Pri DR BDR

        192.168.1.2 Broadcast DROther 1 0 192.168.1.1 192.168.1.3



        如果鄰居的狀態(tài)是Full,這說(shuō)明它和鄰居之間形成了鄰接關(guān)系;如果停留在2-Way的狀態(tài),則說(shuō)明他們都不是DR或BDR,兩者之間不需要交換LSA。

        如果OSPF接口的狀態(tài)是DROther,則說(shuō)明它既不是DR,也不是BDR。
        配置文件
        RouterA的配置文件

        #

        sysname RouterA

        #

        router id 1.1.1.1

        #

        interface GigabitEthernet1/0/0

        ip address 192.168.1.1 255.255.255.0

        ospf dr-priority 100

        #

        ospf 1

        area 0.0.0.0

        network 192.168.1.0 0.0.0.255

        #

        return
        RouterB的配置文件

        #

        sysname RouterB

        #

        router id 2.2.2.2

        #

        interface GigabitEthernet1/0/0

        ip address 192.168.1.2 255.255.255.0

        ospf dr-priority 0

        #

        ospf 1

        area 0.0.0.0

        network 192.168.1.0 0.0.0.255

        #

        return
        RouterC的配置文件

        #

        sysname RouterC

        #

        router id 3.3.3.3

        #

        interface GigabitEthernet1/0/0

        ip address 192.168.1.3 255.255.255.0

        ospf dr-priority 2

        #

        ospf 1

        area 0.0.0.0

        network 192.168.1.0 0.0.0.255

        #

        return
        RouterD的配置文件

        #

        sysname RouterD

        #

        router id 4.4.4.4

        #

        interface GigabitEthernet1/0/0

        ip address 192.168.1.4 255.255.255.0

        #

        ospf 1

        area 0.0.0.0

        network 192.168.1.0 0.0.0.255

        #

        return
        OSPF的DR選舉



        OSPF是Open Shortest Path First(開(kāi)放最短路徑優(yōu)先)的縮寫(xiě)。它是IETF組織開(kāi)發(fā)的一個(gè)基于鏈路狀態(tài)的內(nèi)部網(wǎng)關(guān)協(xié)議。目前針對(duì)IPv4協(xié)議使用的是OSPF Version 2(RFC 2328)。
        OSPF具有如下特點(diǎn):
        l 適應(yīng)范圍廣——支持各種規(guī)模的網(wǎng)絡(luò),最多可支持幾百臺(tái)路由器。
        l 快速收斂——在網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)發(fā)生變化后立即發(fā)送更新報(bào)文,使這一變化在自治系統(tǒng)中同步。
        l 無(wú)自環(huán)——由于OSPF根據(jù)收集到的鏈路狀態(tài)用最短路徑樹(shù)算法計(jì)算路由,從算法本身保證了不會(huì)生成自環(huán)路由。
        l 區(qū)域劃分——允許自治系統(tǒng)的網(wǎng)絡(luò)被劃分成區(qū)域來(lái)管理,區(qū)域間傳送的路由信息被進(jìn)一步抽象,從而減少了占用的網(wǎng)絡(luò)帶寬。
        l 等價(jià)路由——支持到同一目的地址的多條等價(jià)路由。
        l 路由分級(jí)——使用4類不同的路由,按優(yōu)先順序來(lái)說(shuō)分別是:區(qū)域內(nèi)路由、區(qū)域間路由、第一類外部路由、第二類外部路由。
        l 支持驗(yàn)證——支持基于接口的報(bào)文驗(yàn)證,以保證報(bào)文交互的安全性。
        l 組播發(fā)送——在某些類型的鏈路上以組播地址發(fā)送協(xié)議報(bào)文,減少對(duì)其他設(shè)備的干擾。
        OSPF的基本概念
        1. 自治系統(tǒng)(Autonomous System)
        一組使用相同路由協(xié)議交換路由信息的路由器,縮寫(xiě)為AS。
        2. OSPF路由的計(jì)算過(guò)程
        OSPF協(xié)議路由的計(jì)算過(guò)程可簡(jiǎn)單描述如下:
        l 每臺(tái)OSPF路由器根據(jù)自己周圍的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)生成LSA(Link State Advertisement,鏈路狀態(tài)通告),并通過(guò)更新報(bào)文將LSA發(fā)送給網(wǎng)絡(luò)中的其它OSPF路由器。
        l 每臺(tái)OSPF路由器都會(huì)收集其它路由器通告的LSA,所有的LSA放在一起便組成了LSDB(Link State Database,鏈路狀態(tài)數(shù)據(jù)庫(kù))。LSA是對(duì)路由器周圍網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的描述,LSDB則是對(duì)整個(gè)自治系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的描述。
        l OSPF路由器將LSDB轉(zhuǎn)換成一張帶權(quán)的有向圖,這張圖便是對(duì)整個(gè)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的真實(shí)反映。各個(gè)路由器得到的有向圖是完全相同的。
        l 每臺(tái)路由器根據(jù)有向圖,使用SPF算法計(jì)算出一棵以自己為根的最短路徑樹(shù),這棵樹(shù)給出了到自治系統(tǒng)中各節(jié)點(diǎn)的路由。
        3. 路由器ID號(hào)
        一臺(tái)路由器如果要運(yùn)行OSPF協(xié)議,則必須存在RID(Router ID,路由器ID)。RID是一個(gè)32比特?zé)o符號(hào)整數(shù),可以在一個(gè)自治系統(tǒng)中唯一的標(biāo)識(shí)一臺(tái)路由器。
        RID可以手工配置,也可以自動(dòng)生成;如果沒(méi)有通過(guò)命令指定RID,將按照如下順序自動(dòng)生成一個(gè)RID:
        l 如果當(dāng)前設(shè)備配置了Loopback接口,將選取所有Loopback接口上數(shù)值最大的IP地址作為RID;
        l 如果當(dāng)前設(shè)備沒(méi)有配置Loopback接口,將選取它所有已經(jīng)配置IP地址且鏈路有效的接口上數(shù)值最大的IP地址作為RID。
        4. OSPF的協(xié)議報(bào)文
        OSPF有五種類型的協(xié)議報(bào)文:
        l Hello報(bào)文:周期性發(fā)送,用來(lái)發(fā)現(xiàn)和維持OSPF鄰居關(guān)系。內(nèi)容包括一些定時(shí)器的數(shù)值、DR(Designated Router,指定路由器)、BDR(Backup Designated Router,備份指定路由器)以及自己已知的鄰居。
        l DD(Database Description,數(shù)據(jù)庫(kù)描述)報(bào)文:描述了本地LSDB中每一條LSA的摘要信息,用于兩臺(tái)路由器進(jìn)行數(shù)據(jù)庫(kù)同步。
        l LSR(Link State Request,鏈路狀態(tài)請(qǐng)求)報(bào)文:向?qū)Ψ秸?qǐng)求所需的LSA。兩臺(tái)路由器互相交換DD報(bào)文之后,得知對(duì)端的路由器有哪些LSA是本地的LSDB所缺少的,這時(shí)需要發(fā)送LSR報(bào)文向?qū)Ψ秸?qǐng)求所需的LSA。內(nèi)容包括所需要的LSA的摘要。
        l LSU(Link State Update,鏈路狀態(tài)更新)報(bào)文:向?qū)Ψ桨l(fā)送其所需要的LSA。
        l LSAck(Link State Acknowledgment,鏈路狀態(tài)確認(rèn))報(bào)文:用來(lái)對(duì)收到的LSA進(jìn)行確認(rèn)。內(nèi)容是需要確認(rèn)的LSA的Header(一個(gè)報(bào)文可對(duì)多個(gè)LSA進(jìn)行確認(rèn))。
        5. LSA的類型
        OSPF中對(duì)鏈路狀態(tài)信息的描述都是封裝在LSA中發(fā)布出去,常用的LSA有以下幾種類型:
        l Router LSA(Type1):由每個(gè)路由器產(chǎn)生,描述路由器的鏈路狀態(tài)和開(kāi)銷,在其始發(fā)的區(qū)域內(nèi)傳播。
        l Network LSA(Type2):由DR產(chǎn)生,描述本網(wǎng)段所有路由器的鏈路狀態(tài),在其始發(fā)的區(qū)域內(nèi)傳播。
        l Network Summary LSA(Type3):由ABR(Area Border Router,區(qū)域邊界路由器)產(chǎn)生,描述區(qū)域內(nèi)某個(gè)網(wǎng)段的路由,并通告給其他區(qū)域。
        l ASBR Summary LSA(Type4):由ABR產(chǎn)生,描述到ASBR(Autonomous System Boundary Router,自治系統(tǒng)邊界路由器)的路由,通告給相關(guān)區(qū)域。
        l AS External LSA(Type5):由ASBR產(chǎn)生,描述到AS(Autonomous System,自治系統(tǒng))外部的路由,通告到所有的區(qū)域(除了Stub區(qū)域和NSSA區(qū)域)。
        l NSSA External LSA(Type7):由NSSA(Not-So-Stubby Area)區(qū)域內(nèi)的ASBR產(chǎn)生,描述到AS外部的路由,僅在NSSA區(qū)域內(nèi)傳播。
        l Opaque LSA:是一個(gè)被提議的LSA類別,由標(biāo)準(zhǔn)的LSA頭部后面跟隨特殊應(yīng)用的信息組成,可以直接由OSPF協(xié)議使用,或者由其它應(yīng)用分發(fā)信息到整個(gè)OSPF域間接使用。Opaque LSA分為Type 9、Type10、Type11三種類型,泛洪區(qū)域不同;其中,Type 9的Opaque LSA僅在本地鏈路范圍進(jìn)行泛洪,Type 10的Opaque LSA僅在本地區(qū)域范圍進(jìn)行泛洪,Type 11的LSA可以在一個(gè)自治系統(tǒng)范圍進(jìn)行泛洪。
        6. 鄰居和鄰接
        在OSPF中,鄰居(Neighbor)和鄰接(Adjacency)是兩個(gè)不同的概念。
        OSPF路由器啟動(dòng)后,便會(huì)通過(guò)OSPF接口向外發(fā)送Hello報(bào)文。收到Hello報(bào)文的OSPF路由器會(huì)檢查報(bào)文中所定義的參數(shù),如果雙方一致就會(huì)形成鄰居關(guān)系。
        形成鄰居關(guān)系的雙方不一定都能形成鄰接關(guān)系,這要根據(jù)網(wǎng)絡(luò)類型而定。只有當(dāng)雙方成功交換DD報(bào)文,交換LSA并達(dá)到LSDB的同步之后,才形成真正意義上的鄰接關(guān)系。

        OSPF的網(wǎng)絡(luò)類型
        1. OSPF的4種網(wǎng)絡(luò)類型
        OSPF根據(jù)鏈路層協(xié)議類型將網(wǎng)絡(luò)分為下列四種類型:
        l Broadcast:當(dāng)鏈路層協(xié)議是Ethernet、FDDI時(shí),OSPF缺省認(rèn)為網(wǎng)絡(luò)類型是Broadcast。在該類型的網(wǎng)絡(luò)中,通常以組播形式(224.0.0.5和224.0.0.6)發(fā)送協(xié)議報(bào)文。
        l NBMA(Non-Broadcast Multi-Access,非廣播多點(diǎn)可達(dá)網(wǎng)絡(luò)):當(dāng)鏈路層協(xié)議是幀中繼、ATM或X.25時(shí),OSPF缺省認(rèn)為網(wǎng)絡(luò)類型是NBMA。在該類型的網(wǎng)絡(luò)中,以單播形式發(fā)送協(xié)議報(bào)文。
        l P2MP(Point-to-MultiPoint,點(diǎn)到多點(diǎn)):沒(méi)有一種鏈路層協(xié)議會(huì)被缺省的認(rèn)為是P2MP類型。點(diǎn)到多點(diǎn)必須是由其他的網(wǎng)絡(luò)類型強(qiáng)制更改的。常用做法是將NBMA改為點(diǎn)到多點(diǎn)的網(wǎng)絡(luò)。在該類型的網(wǎng)絡(luò)中,以組播形式(224.0.0.5)發(fā)送協(xié)議報(bào)文。
        l P2P(Point-to-Point,點(diǎn)到點(diǎn)):當(dāng)鏈路層協(xié)議是PPP、HDLC時(shí),OSPF缺省認(rèn)為網(wǎng)絡(luò)類型是P2P。在該類型的網(wǎng)絡(luò)中,以組播形式(224.0.0.5)發(fā)送協(xié)議報(bào)文。
        2. NBMA網(wǎng)絡(luò)的配置原則
        NBMA網(wǎng)絡(luò)是指非廣播、多點(diǎn)可達(dá)的網(wǎng)絡(luò),比較典型的有ATM和幀中繼網(wǎng)絡(luò)。
        對(duì)于接口的網(wǎng)絡(luò)類型為NBMA的網(wǎng)絡(luò)需要進(jìn)行一些特殊的配置。由于無(wú)法通過(guò)廣播Hello報(bào)文的形式發(fā)現(xiàn)相鄰路由器,必須手工為該接口指定相鄰路由器的IP地址,以及該相鄰路由器是否有DR選舉權(quán)等。
        NBMA網(wǎng)絡(luò)必須是全連通的,即網(wǎng)絡(luò)中任意兩臺(tái)路由器之間都必須有一條虛電路直接可達(dá)。如果部分路由器之間沒(méi)有直接可達(dá)的鏈路時(shí),應(yīng)將接口配置成P2MP類型。如果路由器在NBMA網(wǎng)絡(luò)中只有一個(gè)對(duì)端,也可將接口類型配置為P2P類型。
        NBMA與P2MP網(wǎng)絡(luò)之間的區(qū)別如下:
        l NBMA網(wǎng)絡(luò)是指那些全連通的、非廣播、多點(diǎn)可達(dá)網(wǎng)絡(luò)。而P2MP網(wǎng)絡(luò),則并不需要一定是全連通的。
        l 在NBMA網(wǎng)絡(luò)中需要選舉DR與BDR,而在P2MP網(wǎng)絡(luò)中沒(méi)有DR與BDR。
        l NBMA是一種缺省的網(wǎng)絡(luò)類型,而P2MP網(wǎng)絡(luò)必須是由其它的網(wǎng)絡(luò)強(qiáng)制更改的。最常見(jiàn)的做法是將NBMA網(wǎng)絡(luò)改為P2MP網(wǎng)絡(luò)。
        l NBMA網(wǎng)絡(luò)采用單播發(fā)送報(bào)文,需要手工配置鄰居。P2MP網(wǎng)絡(luò)采用組播方式發(fā)送報(bào)文
        DR/BDR
        1. DR/BDR簡(jiǎn)介
        在廣播網(wǎng)和NBMA網(wǎng)絡(luò)中,任意兩臺(tái)路由器之間都要交換路由信息。如果網(wǎng)絡(luò)中有n臺(tái)路由器,則需要建立n(n-1)/2個(gè)鄰接關(guān)系。這使得任何一臺(tái)路由器的路由變化都會(huì)導(dǎo)致多次傳遞,浪費(fèi)了帶寬資源。為解決這一問(wèn)題,OSPF協(xié)議定義了指定路由器DR(Designated Router),所有路由器都只將信息發(fā)送給DR,由DR將網(wǎng)絡(luò)鏈路狀態(tài)發(fā)送出去。
        如果DR由于某種故障而失效,則網(wǎng)絡(luò)中的路由器必須重新選舉DR,再與新的DR同步。這需要較長(zhǎng)的時(shí)間,在這段時(shí)間內(nèi),路由的計(jì)算是不正確的。為了能夠縮短這個(gè)過(guò)程,OSPF提出了BDR(Backup Designated Router,備份指定路由器)的概念。
        BDR實(shí)際上是對(duì)DR的一個(gè)備份,在選舉DR的同時(shí)也選舉出BDR,BDR也和本網(wǎng)段內(nèi)的所有路由器建立鄰接關(guān)系并交換路由信息。當(dāng)DR失效后,BDR會(huì)立即成為DR。由于不需要重新選舉,并且鄰接關(guān)系事先已建立,所以這個(gè)過(guò)程是非常短暫的。當(dāng)然這時(shí)還需要再重新選舉出一個(gè)新的BDR,雖然一樣需要較長(zhǎng)的時(shí)間,但并不會(huì)影響路由的計(jì)算。
        DR和BDR之外的路由器(稱為DR Other)之間將不再建立鄰接關(guān)系,也不再交換任何路由信息。這樣就減少了廣播網(wǎng)和NBMA網(wǎng)絡(luò)上各路由器之間鄰接關(guān)系的數(shù)量。
        如圖7所示,用實(shí)線代表以太網(wǎng)物理連接,虛線代表建立的鄰接關(guān)系?梢钥吹剑捎肈R/BDR機(jī)制后,5臺(tái)路由器之間只需要建立7個(gè)鄰接關(guān)系就可以了。
        圖7 DR和BDR示意圖
        2. DR/BDR選舉過(guò)程
        DR和BDR是由同一網(wǎng)段中所有的路由器根據(jù)路由器優(yōu)先級(jí)、Router ID通過(guò)HELLO報(bào)文選舉出來(lái)的,只有優(yōu)先級(jí)大于0的路由器才具有選取資格。
        進(jìn)行DR/BDR選舉時(shí)每臺(tái)路由器將自己選出的DR寫(xiě)入Hello報(bào)文中,發(fā)給網(wǎng)段上的每臺(tái)運(yùn)行OSPF協(xié)議的路由器。當(dāng)處于同一網(wǎng)段的兩臺(tái)路由器同時(shí)宣布自己是DR時(shí),路由器優(yōu)先級(jí)高者勝出。如果優(yōu)先級(jí)相等,則Router ID大者勝出。如果一臺(tái)路由器的優(yōu)先級(jí)為0,則它不會(huì)被選舉為DR或BDR。
        需要注意的是:
        l 只有在廣播或NBMA類型接口才會(huì)選舉DR,在點(diǎn)到點(diǎn)或點(diǎn)到多點(diǎn)類型的接口上不需要選舉DR。
        l DR是某個(gè)網(wǎng)段中的概念,是針對(duì)路由器的接口而言的。某臺(tái)路由器在一個(gè)接口上可能是DR,在另一個(gè)接口上有可能是BDR,或者是DR Other。
        l 路由器的優(yōu)先級(jí)可以影響一個(gè)選取過(guò)程,但是當(dāng)DR/BDR已經(jīng)選取完畢,就算一臺(tái)具有更高優(yōu)先級(jí)的路由器變?yōu)橛行,也不?huì)替換該網(wǎng)段中已經(jīng)選取的DR/BDR成為新的DR/BDR。
        l DR并不一定就是路由器優(yōu)先級(jí)最高的路由器接口;同理,BDR也并不一定就是路由器優(yōu)先級(jí)次高的路由器接口。
        OSPF的報(bào)文格式
        OSPF報(bào)文直接封裝為IP報(bào)文協(xié)議報(bào)文,協(xié)議號(hào)為89。一個(gè)比較完整的OSPF報(bào)文(以LSU報(bào)文為例)結(jié)構(gòu)如圖8所示。
        圖8 OSPF報(bào)文結(jié)構(gòu)
        1. OSPF報(bào)文頭
        OSPF有五種報(bào)文類型,它們有相同的報(bào)文頭。如圖9所示。
        圖9 OSPF報(bào)文頭格式
        主要字段的解釋如下:
        l Version:OSPF的版本號(hào)。對(duì)于OSPFv2來(lái)說(shuō),其值為2。
        l Type:OSPF報(bào)文的類型。數(shù)值從1到5,分別對(duì)應(yīng)Hello報(bào)文、DD報(bào)文、LSR報(bào)文、LSU報(bào)文和LSAck報(bào)文。
        l Packet length:OSPF報(bào)文的總長(zhǎng)度,包括報(bào)文頭在內(nèi),單位為字節(jié)。
        l Router ID:始發(fā)該LSA的路由器的ID。
        l Area ID:始發(fā)LSA的路由器所在的區(qū)域ID。
        l Checksum:對(duì)整個(gè)報(bào)文的校驗(yàn)和。
        l AuType:驗(yàn)證類型。可分為不驗(yàn)證、簡(jiǎn)單(明文)口令驗(yàn)證和MD5驗(yàn)證,其值分別為0、1、2。
        l Authentication:其數(shù)值根據(jù)驗(yàn)證類型而定。當(dāng)驗(yàn)證類型為0時(shí)未作定義,為1時(shí)此字段為密碼信息,類型為2時(shí)此字段包括Key ID、MD5驗(yàn)證數(shù)據(jù)長(zhǎng)度和序列號(hào)的信息。
        & 說(shuō)明:
        MD5驗(yàn)證數(shù)據(jù)添加在OSPF報(bào)文后面,不包含在Authenticaiton字段中。

        2. Hello報(bào)文(Hello Packet)
        最常用的一種報(bào)文,周期性的發(fā)送給鄰居路由器用來(lái)維持鄰居關(guān)系以及DR/BDR的選舉,內(nèi)容包括一些定時(shí)器的數(shù)值、DR、BDR以及自己已知的鄰居。Hello報(bào)文格式如圖10所示。
        圖10 Hello報(bào)文格式
        主要字段解釋如下:
        l Network Mask:發(fā)送Hello報(bào)文的接口所在網(wǎng)絡(luò)的掩碼,如果相鄰兩臺(tái)路由器的網(wǎng)絡(luò)掩碼不同,則不能建立鄰居關(guān)系。
        l HelloInterval:發(fā)送Hello報(bào)文的時(shí)間間隔。如果相鄰兩臺(tái)路由器的Hello間隔時(shí)間不同,則不能建立鄰居關(guān)系。
        l Rtr Pri:路由器優(yōu)先級(jí)。如果設(shè)置為0,則該路由器接口不能成為DR/BDR。
        l RouterDeadInterval:失效時(shí)間。如果在此時(shí)間內(nèi)未收到鄰居發(fā)來(lái)的Hello報(bào)文,則認(rèn)為鄰居失效。如果相鄰兩臺(tái)路由器的失效時(shí)間不同,則不能建立鄰居關(guān)系。
        l Designated Router:指定路由器的接口的IP地址。
        l Backup Designated Router:備份指定路由器的接口的IP地址。
        l Neighbor:鄰居路由器的Router ID。
        3. DD報(bào)文(Database Description Packet)
        兩臺(tái)路由器進(jìn)行數(shù)據(jù)庫(kù)同步時(shí),用DD報(bào)文來(lái)描述自己的LSDB,內(nèi)容包括LSDB中每一條LSA的Header(LSA的Header可以唯一標(biāo)識(shí)一條LSA)。LSA Header只占一條LSA的整個(gè)數(shù)據(jù)量的一小部分,這樣可以減少路由器之間的協(xié)議報(bào)文流量,對(duì)端路由器根據(jù)LSA Header就可以判斷出是否已有這條LSA。
        DD報(bào)文格式如圖11所示。
        圖11 DD報(bào)文格式
        主要字段的解釋如下:
        l Interface MTU:在不分片的情況下,此接口最大可發(fā)出的IP報(bào)文長(zhǎng)度。
        l I(Initial):當(dāng)發(fā)送連續(xù)多個(gè)DD報(bào)文時(shí),如果這是第一個(gè)DD報(bào)文,則置為1,否則置為0。
        l M(More):當(dāng)連續(xù)發(fā)送多個(gè)DD報(bào)文時(shí),如果這是最后一個(gè)DD報(bào)文,則置為0。否則置為1,表示后面還有其他的DD報(bào)文。
        l MS(Master/Slave):當(dāng)兩臺(tái)OSPF路由器交換DD報(bào)文時(shí),首先需要確定雙方的主(Master)從(Slave)關(guān)系,Router ID大的一方會(huì)成為Master。當(dāng)值為1時(shí)表示發(fā)送方為Master。
        l DD Sequence Number:DD報(bào)文序列號(hào),由Master方規(guī)定起始序列號(hào),每發(fā)送一個(gè)DD報(bào)文序列號(hào)加1,Slave方使用Master的序列號(hào)作為確認(rèn)。主從雙方利用序列號(hào)來(lái)保證DD報(bào)文傳輸?shù)目煽啃院屯暾浴?br /> 4. LSR報(bào)文(Link State Request Packet)
        兩臺(tái)路由器互相交換過(guò)DD報(bào)文之后,知道對(duì)端的路由器有哪些LSA是本地的LSDB所缺少的,這時(shí)需要發(fā)送LSR報(bào)文向?qū)Ψ秸?qǐng)求所需的LSA。內(nèi)容包括所需要的LSA的摘要。LSR報(bào)文格式如圖12所示。
        圖12 LSR報(bào)文格式
        主要字段解釋如下:
        l LS type:LSA的類型號(hào)。例如Type1表示Router LSA。
        l Link State ID:鏈路狀態(tài)標(biāo)識(shí),根據(jù)LSA的類型而定。
        l Advertising Router:產(chǎn)生此LSA的路由器的Router ID。
        5. LSU報(bào)文(Link State Update Packet)
        LSU報(bào)文用來(lái)向?qū)Χ寺酚善靼l(fā)送所需要的LSA,內(nèi)容是多條LSA(全部?jī)?nèi)容)的集合。LSU報(bào)文格式如圖13所示。
        圖13 LSU報(bào)文格式
        主要字段解釋如下:
        Number of LSAs:該報(bào)文包含的LSA的數(shù)量。
        LSAs:該報(bào)文包含的所有LSA。
        6. LSAck報(bào)文(Link State Acknowledgment Packet)
        LSAck報(bào)文用來(lái)對(duì)接收到的LSU報(bào)文進(jìn)行確認(rèn),內(nèi)容是需要確認(rèn)的LSA的Header。一個(gè)LSAck報(bào)文可對(duì)多個(gè)LSA進(jìn)行確認(rèn)。報(bào)文格式如圖14所示。
        圖14 LSAck報(bào)文格式
        主要字段解釋如下:
        LSA Headers:該報(bào)文包含的LSA頭部。
        7. LSA頭格式
        所有的LSA都有相同的報(bào)文頭,其格式如圖15所示。
        圖15 LSA的頭格式
        主要字段的解釋如下:
        l LS age:LSA產(chǎn)生后所經(jīng)過(guò)的時(shí)間,以秒為單位。LSA在本路由器的鏈路狀態(tài)數(shù)據(jù)庫(kù)(LSDB)中會(huì)隨時(shí)間老化(每秒鐘加1),但在網(wǎng)絡(luò)的傳輸過(guò)程中卻不會(huì)。
        l LS type:LSA的類型。
        l Link State ID:具體數(shù)值根據(jù)LSA的類型而定。
        l Advertising Router:始發(fā)LSA的路由器的ID。
        l LS sequence number:LSA的序列號(hào),其他路由器根據(jù)這個(gè)值可以判斷哪個(gè)LSA是最新的。
        l LS checksum:除了LS age字段外,關(guān)于LSA的全部信息的校驗(yàn)和。
        l length:LSA的總長(zhǎng)度,包括LSA Header,以字節(jié)為單位。
        LSA類型
        (1) Router LSA
        圖16 Router LSA格式
        主要字段的解釋如下:
        l Link State ID:產(chǎn)生此LSA的路由器的Router ID。
        l V(Virtual Link):如果產(chǎn)生此LSA的路由器是虛連接的端點(diǎn),則置為1。
        l E(External):如果產(chǎn)生此LSA的路由器是ASBR,則置為1。
        l B(Border):如果產(chǎn)生此LSA的路由器是ABR,則置為1。
        l # links:LSA中所描述的鏈路信息的數(shù)量,包括路由器上處于某區(qū)域中的所有鏈路和接口。
        l Link ID:鏈路標(biāo)識(shí),具體的數(shù)值根據(jù)鏈路類型而定。
        l Link Data:鏈路數(shù)據(jù),具體的數(shù)值根據(jù)鏈路類型而定。
        l Type:鏈路類型,取值為1表示通過(guò)點(diǎn)對(duì)點(diǎn)鏈路與另一路由器相連,取值為2表示連接到傳送網(wǎng)絡(luò),取值為3表示連接到Stub網(wǎng)絡(luò),取值為4表示虛連接。
        l #TOS:描述鏈路的不同方式的數(shù)量。
        l metric:鏈路的開(kāi)銷。
        l TOS:服務(wù)類型。
        l TOS metric:指定服務(wù)類型的鏈路的開(kāi)銷。
        (2) Network LSA
        Network LSA由廣播網(wǎng)或NBMA網(wǎng)絡(luò)中的DR發(fā)出,LSA中記錄了這一網(wǎng)段上所有路由器的Router ID。
        圖17 Network LSA格式
        主要字段的解釋如下:
        l Link State ID:DR的IP地址。
        l Network Mask:廣播網(wǎng)或NBMA網(wǎng)絡(luò)地址的掩碼。
        l Attached Router:連接在同一個(gè)網(wǎng)段上的所有與DR形成了完全鄰接關(guān)系的路由器的Router ID,也包括DR自身的Router ID。
        (3) Summary LSA
        Network Summary LSA(Type3 LSA)和ASBR Summary LSA(Type4 LSA)除Link State ID字段有所不同外,有著相同的格式,它們都是由ABR產(chǎn)生。
        圖18 Summary LSA格式
        主要字段的解釋如下:
        l Link State ID:對(duì)于Type3 LSA來(lái)說(shuō),它是所通告的區(qū)域外的網(wǎng)絡(luò)地址;對(duì)于Type4來(lái)說(shuō),它是所通告區(qū)域外的ASBR的Router ID。
        l Network Mask:Type3 LSA的網(wǎng)絡(luò)地址掩碼。對(duì)于Type4 LSA來(lái)說(shuō)沒(méi)有意義,設(shè)置為0.0.0.0。
        l metric:到目的地址的路由開(kāi)銷。
        & 說(shuō)明:
        Type3的LSA可以用來(lái)通告缺省路由,此時(shí)Link State ID和Network Mask都設(shè)置為0.0.0.0。

        (4) AS External LSA
        由ASBR產(chǎn)生,描述到AS外部的路由信息。
        圖19 AS External LSA格式
        主要字段的解釋如下:
        l Link State ID:所要通告的其他外部AS的目的地址,如果通告的是一條缺省路由,那么鏈路狀態(tài)ID(Link State ID)和網(wǎng)絡(luò)掩碼(Network Mask)字段都將設(shè)置為0.0.0.0。
        l Network Mask:所通告的目的地址的掩碼。
        l E(External Metric):外部度量值的類型。如果是第2類外部路由就設(shè)置為1,如果是第1類外部路由則設(shè)置為0。關(guān)于外部路由類型的詳細(xì)描述請(qǐng)參見(jiàn)7. 路由類型部分。
        l metirc:路由開(kāi)銷。
        l Forwarding Address:到所通告的目的地址的報(bào)文將被轉(zhuǎn)發(fā)到的地址。
        l External Route Tag:添加到外部路由上的標(biāo)記。OSPF本身并不使用這個(gè)字段,它可以用來(lái)對(duì)外部路由進(jìn)行管理。
        (5) NSSA External LSA
        由NSSA區(qū)域內(nèi)的ASBR產(chǎn)生,且只能在NSSA區(qū)域內(nèi)傳播。其格式與AS External LSA相同,如圖20所示。
        如圖20所示。
        圖20 NSSA External LSA格式
        OSPF區(qū)域與路由聚合
        1. 區(qū)域劃分
        隨著網(wǎng)絡(luò)規(guī)模日益擴(kuò)大,當(dāng)一個(gè)大型網(wǎng)絡(luò)中的路由器都運(yùn)行OSPF路由協(xié)議時(shí),路由器數(shù)量的增多會(huì)導(dǎo)致LSDB非常龐大,占用大量的存儲(chǔ)空間,并使得運(yùn)行SPF算法的復(fù)雜度增加,導(dǎo)致CPU負(fù)擔(dān)很重。
        在網(wǎng)絡(luò)規(guī)模增大之后,拓?fù)浣Y(jié)構(gòu)發(fā)生變化的概率也增大,網(wǎng)絡(luò)會(huì)經(jīng)常處于“振蕩”之中,造成網(wǎng)絡(luò)中會(huì)有大量的OSPF協(xié)議報(bào)文在傳遞,降低了網(wǎng)絡(luò)的帶寬利用率。更為嚴(yán)重的是,每一次變化都會(huì)導(dǎo)致網(wǎng)絡(luò)中所有的路由器重新進(jìn)行路由計(jì)算。
        OSPF協(xié)議通過(guò)將自治系統(tǒng)劃分成不同的區(qū)域(Area)來(lái)解決上述問(wèn)題。區(qū)域是從邏輯上將路由器劃分為不同的組,每個(gè)組用區(qū)域號(hào)(Area ID)來(lái)標(biāo)識(shí)。區(qū)域的邊界是路由器,而不是鏈路。一個(gè)網(wǎng)段(鏈路)只能屬于一個(gè)區(qū)域,或者說(shuō)每個(gè)運(yùn)行OSPF的接口必須指明屬于哪一個(gè)區(qū)域。如圖1所示。
        圖1 OSPF區(qū)域劃分
        劃分區(qū)域后,可以在區(qū)域邊界路由器上進(jìn)行路由聚合,以減少通告到其他區(qū)域的LSA數(shù)量,還可以將網(wǎng)絡(luò)拓?fù)渥兓瘞?lái)的影響最小化。
        2. 路由器的類型
        OSPF路由器根據(jù)在AS中的不同位置,可以分為以下四類:
        (1) 區(qū)域內(nèi)路由器(Internal Router)
        該類路由器的所有接口都屬于同一個(gè)OSPF區(qū)域。
        (2) 區(qū)域邊界路由器ABR(Area Border Router)
        該類路由器可以同時(shí)屬于兩個(gè)以上的區(qū)域,但其中一個(gè)必須是骨干區(qū)域(骨干區(qū)域的介紹請(qǐng)參見(jiàn)下一小節(jié))。ABR用來(lái)連接骨干區(qū)域和非骨干區(qū)域,它與骨干區(qū)域之間既可以是物理連接,也可以是邏輯上的連接。
        (3) 骨干路由器(Backbone Router)
        該類路由器至少有一個(gè)接口屬于骨干區(qū)域。因此,所有的ABR和位于Area0的內(nèi)部路由器都是骨干路由器。
        (4) 自治系統(tǒng)邊界路由器ASBR
        與其他AS交換路由信息的路由器稱為ASBR。ASBR并不一定位于AS的邊界,它有可能是區(qū)域內(nèi)路由器,也有可能是ABR。只要一臺(tái)OSPF路由器引入了外部路由的信息,它就成為ASBR。
        圖2 OSPF路由器的類型
        3. 骨干區(qū)域與虛連接
        OSPF劃分區(qū)域之后,并非所有的區(qū)域都是平等的關(guān)系。其中有一個(gè)區(qū)域是與眾不同的,它的區(qū)域號(hào)(Area ID)是0,通常被稱為骨干區(qū)域。骨干區(qū)域負(fù)責(zé)區(qū)域之間的路由,非骨干區(qū)域之間的路由信息必須通過(guò)骨干區(qū)域來(lái)轉(zhuǎn)發(fā)。對(duì)此,OSPF有兩個(gè)規(guī)定:
        l 所有非骨干區(qū)域必須與骨干區(qū)域保持連通;
        l 骨干區(qū)域自身也必須保持連通。
        但在實(shí)際應(yīng)用中,可能會(huì)因?yàn)楦鞣矫鏃l件的限制,無(wú)法滿足這個(gè)要求。這時(shí)可以通過(guò)配置OSPF虛連接(Virtual Link)予以解決。
        虛連接是指在兩臺(tái)ABR之間通過(guò)一個(gè)非骨干區(qū)域而建立的一條邏輯上的連接通道。它的兩端必須是ABR,而且必須在兩端同時(shí)配置方可生效。為虛連接兩端提供一條非骨干區(qū)域內(nèi)部路由的區(qū)域稱為傳輸區(qū)(Transit Area)。
        在圖3中,Area2與骨干區(qū)域之間沒(méi)有直接相連的物理鏈路,但可以在ABR上配置虛連接,使Area2通過(guò)一條邏輯鏈路與骨干區(qū)域保持連通。
        圖3 虛連接示意圖之一
        虛連接的另外一個(gè)應(yīng)用是提供冗余的備份鏈路,當(dāng)骨干區(qū)域因鏈路故障不能保持連通時(shí),通過(guò)虛連接仍然可以保證骨干區(qū)域在邏輯上的連通性。如圖4所示。
        圖4 虛連接示意圖之二
        虛連接相當(dāng)于在兩個(gè)ABR之間形成了一個(gè)點(diǎn)到點(diǎn)的連接,因此,在這個(gè)連接上,和物理接口一樣可以配置接口的各參數(shù),如發(fā)送Hello報(bào)文間隔等。
        兩臺(tái)ABR之間直接傳遞OSPF報(bào)文信息,它們之間的OSPF路由器只是起到一個(gè)轉(zhuǎn)發(fā)報(bào)文的作用。由于協(xié)議報(bào)文的目的地址不是中間這些路由器,所以這些報(bào)文對(duì)于它們而言是透明的,只是當(dāng)作普通的IP報(bào)文來(lái)轉(zhuǎn)發(fā)。
        4. (Totally) Stub區(qū)域
        Stub區(qū)域是一些特定的區(qū)域,Stub區(qū)域的ABR不允許注入Type5 LSA,在這些區(qū)域中路由器的路由表規(guī)模以及路由信息傳遞的數(shù)量都會(huì)大大減少。
        為了進(jìn)一步減少Stub區(qū)域中路由器的路由表規(guī)模以及路由信息傳遞的數(shù)量,可以將該區(qū)域配置為Totally Stub(完全Stub)區(qū)域,該區(qū)域的ABR不會(huì)將區(qū)域間的路由信息和外部路由信息傳遞到本區(qū)域。
        (Totally) Stub區(qū)域是一種可選的配置屬性,但并不是每個(gè)區(qū)域都符合配置的條件。通常來(lái)說(shuō),(Totally) Stub區(qū)域位于自治系統(tǒng)的邊界。
        為保證到本自治系統(tǒng)的其他區(qū)域或者自治系統(tǒng)外的路由依舊可達(dá),該區(qū)域的ABR將生成一條缺省路由,并發(fā)布給本區(qū)域中的其他非ABR路由器。
        配置(Totally) Stub區(qū)域時(shí)需要注意下列幾點(diǎn):
        l 骨干區(qū)域不能配置成(Totally) Stub區(qū)域。
        l 如果要將一個(gè)區(qū)域配置成(Totally) Stub區(qū)域,則該區(qū)域中的所有路由器必須都要配置stub [ no-summary ]命令。
        l (Totally) Stub區(qū)域內(nèi)不能存在ASBR,即自治系統(tǒng)外部的路由不能在本區(qū)域內(nèi)傳播。
        l 虛連接不能穿過(guò)(Totally) Stub區(qū)域。
        5. NSSA區(qū)域
        NSSA(Not-So-Stubby Area)區(qū)域是Stub區(qū)域的變形,與Stub區(qū)域有許多相似的地方。NSSA區(qū)域也不允許Type5 LSA注入,但可以允許Type7 LSA注入。Type7 LSA由NSSA區(qū)域的ASBR產(chǎn)生,在NSSA區(qū)域內(nèi)傳播。當(dāng)Type7 LSA到達(dá)NSSA的ABR時(shí),由ABR將Type7 LSA轉(zhuǎn)換成Type5 LSA,傳播到其他區(qū)域。
        如圖5所示,運(yùn)行OSPF協(xié)議的自治系統(tǒng)包括3個(gè)區(qū)域:區(qū)域1、區(qū)域2和區(qū)域0,另外兩個(gè)自治系統(tǒng)運(yùn)行RIP協(xié)議。區(qū)域1被定義為NSSA區(qū)域,區(qū)域1接收的RIP路由傳播到NSSA ASBR后,由NSSA ASBR產(chǎn)生Type7 LSA在區(qū)域1內(nèi)傳播,當(dāng)Type7 LSA到達(dá)NSSA ABR后,轉(zhuǎn)換成Type5 LSA傳播到區(qū)域0和區(qū)域2。
        另一方面,運(yùn)行RIP的自治系統(tǒng)的RIP路由通過(guò)區(qū)域2的ASBR產(chǎn)生Type5 LSA在OSPF自治系統(tǒng)中傳播。但由于區(qū)域1是NSSA區(qū)域,所以Type5 LSA不會(huì)到達(dá)區(qū)域1。
        與Stub區(qū)域一樣,虛連接也不能穿過(guò)NSSA區(qū)域。
        圖5 NSSA區(qū)域
        6. 路由聚合
        路由聚合是指ABR或ASBR將具有相同前綴的路由信息聚合,只發(fā)布一條路由到其它區(qū)域。
        AS被劃分成不同的區(qū)域后,區(qū)域間可以通過(guò)路由聚合來(lái)減少路由信息,減小路由表的規(guī)模,提高路由器的運(yùn)算速度。
        例如,圖6中,Area 1內(nèi)有三條區(qū)域內(nèi)路由19.1.1.0/24,19.1.2.0/24,19.1.3.0/24,如果此時(shí)在Router A上配置了路由聚合,將三條路由聚合成一條19.1.0.0/16,則Router A就只生成一條聚合后的LSA,并發(fā)布給Area0中的其他路由器。
        圖6 路由聚合示意圖
        OSPF有兩類聚合:
        (1) ABR聚合
        ABR向其它區(qū)域發(fā)送路由信息時(shí),以網(wǎng)段為單位生成Type3 LSA。如果該區(qū)域中存在一些連續(xù)的網(wǎng)段,則可以將這些連續(xù)的網(wǎng)段聚合成一個(gè)網(wǎng)段。這樣ABR只發(fā)送一條聚合后的LSA,所有屬于聚合網(wǎng)段范圍的LSA將不再會(huì)被單獨(dú)發(fā)送出去,這樣可減少其它區(qū)域中LSDB的規(guī)模。
        (2) ASBR聚合
        配置引入路由聚合后,如果本地路由器是自治系統(tǒng)邊界路由器ASBR,將對(duì)引入的聚合地址范圍內(nèi)的Type5 LSA進(jìn)行聚合。當(dāng)配置了NSSA區(qū)域時(shí),還要對(duì)引入的聚合地址范圍內(nèi)的Type7 LSA進(jìn)行聚合。
        如果本地路由器是ABR,則對(duì)由Type7 LSA轉(zhuǎn)化成的Type5 LSA進(jìn)行聚合處理。
        7. 路由類型
        OSPF將路由分為四類,按照優(yōu)先級(jí)從高到低的順序依次為:
        l 區(qū)域內(nèi)路由(Intra Area)
        l 區(qū)域間路由(Inter Area)
        l 第一類外部路由(Type1 External)
        l 第二類外部路由(Type2 External)
        區(qū)域內(nèi)和區(qū)域間路由描述的是AS內(nèi)部的網(wǎng)絡(luò)結(jié)構(gòu),外部路由則描述了應(yīng)該如何選擇到AS以外目的地址的路由。OSPF將引入的AS外部路由分為兩類:Type1和Type2。
        第一類外部路由是指接收的是IGP(Interior Gateway Protocol,內(nèi)部網(wǎng)關(guān)協(xié)議)路由(例如靜態(tài)路由和RIP路由)。由于這類路由的可信程度較高,并且和OSPF自身路由的開(kāi)銷具有可比性,所以到第一類外部路由的開(kāi)銷等于本路由器到相應(yīng)的ASBR的開(kāi)銷與ASBR到該路由目的地址的開(kāi)銷之和。
        第二類外部路由是指接收的是EGP(Exterior Gateway Protocol,外部網(wǎng)關(guān)協(xié)議)路由。由于這類路由的可信度比較低,所以O(shè)SPF協(xié)議認(rèn)為從ASBR到自治系統(tǒng)之外的開(kāi)銷遠(yuǎn)遠(yuǎn)大于在自治系統(tǒng)之內(nèi)到達(dá)ASBR的開(kāi)銷。所以計(jì)算路由開(kāi)銷時(shí)將主要考慮前者,即到第二類外部路由的開(kāi)銷等于ASBR到該路由目的地址的開(kāi)銷。如果計(jì)算出開(kāi)銷值相等的兩條路由,再考慮本路由器到相應(yīng)的ASBR的開(kāi)銷。


        控制OSPF的DR選舉
        應(yīng)用環(huán)境

        在廣播網(wǎng)和NBMA網(wǎng)絡(luò)中,任何一臺(tái)路由器的路由變化都會(huì)導(dǎo)致多次傳遞,浪費(fèi)了帶寬資源。為解決這一問(wèn)題,OSPF協(xié)議定義了選舉路由器DR(Designated Router)和BDR(Backup Designated Router)。

        所有路由器都發(fā)送Router-LSA,但只有DR、BDR和DR other建立連接關(guān)系。所有路由器只將信息發(fā)送給DR,由DR將網(wǎng)絡(luò)鏈路狀態(tài)廣播出去。BDR是DR的備份,在選舉DR的同時(shí)也選舉出BDR,BDR也和本網(wǎng)段內(nèi)的所有路由器建立鄰接關(guān)系并交換路由信息。當(dāng)DR失效后,BDR會(huì)立即成為DR。

        除DR和BDR之外的路由器(稱為DR Other)之間將不再建立鄰接關(guān)系,也不再交換任何路由信息。這樣就減少了廣播網(wǎng)和NBMA網(wǎng)絡(luò)上各路由器之間鄰接關(guān)系的數(shù)量。
        配置思路

        在控制OSPF的DR選舉時(shí),采用如下的配置思路:
        配置各路由器上router id,使能OSPF基本功能。
        在缺省優(yōu)先級(jí)情況下,查看各路由器DR/BDR狀態(tài)。
        配置接口上的DR優(yōu)先級(jí),查看DR/BDR狀態(tài)。
        配置注意事項(xiàng)

        需要注意的是:
        只有在廣播或NBMA類型接口時(shí)才會(huì)選舉DR,在點(diǎn)到點(diǎn)或點(diǎn)到多點(diǎn)類型的接口上不需要選舉DR。
        DR是指某個(gè)網(wǎng)段的概念,是針對(duì)路由器的接口而言的。某臺(tái)路由器在一個(gè)接口上可能是DR,在另一個(gè)接口上有可能是BDR,或者是DR Other。
        若DR、BDR已經(jīng)選擇完畢,當(dāng)一臺(tái)新路由器加入后,即使它的DR優(yōu)先級(jí)值最大,也不會(huì)立即成為該網(wǎng)段中的DR。
        DR并不一定就是DR優(yōu)先級(jí)最大的路由器;同理,BDR也并不一定就是DR優(yōu)先級(jí)第二大的路由器。
        配置實(shí)例
        組網(wǎng)需求

        在下圖中,RouterA的GE1/0/0接口的優(yōu)先級(jí)為100,它是網(wǎng)絡(luò)上的最高優(yōu)先級(jí),所以RouterA被選為DR;RouterC的GE1/0/0接口的優(yōu)先級(jí)僅次于RouterA的GE1/0/0接口,被選為BDR;RouterB的優(yōu)先級(jí)為0,這意味著它將不參加DR選舉;RouterD沒(méi)有配置優(yōu)先級(jí),取缺省值1。

        控制OSPF的DR選擇組網(wǎng)圖


        適用的產(chǎn)品和版本

        路由器端可以使用任意一款NE產(chǎn)品,版本為(VRP5.30)及后續(xù)版本。
        配置步驟

        步驟 1 配置各接口的IP地址(略)

        步驟 2 配置OSPF基本功能

        # 配置RouterA。

        [RouterA] router id 1.1.1.1

        [RouterA] ospf

        [RouterA-ospf-1] area 0

        [RouterA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

        # 配置RouterB。

        [RouterB] router id 2.2.2.2

        [RouterB] ospf

        [RouterB-ospf-1] area 0

        [RouterB-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

        # 配置RouterC。

        [RouterC] router id 3.3.3.3

        [RouterC] ospf

        [RouterC-ospf-1] area 0

        [RouterC-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

        # 配置RouterD。

        [RouterD] router id 4.4.4.4

        [RouterD] ospf

        [RouterD-ospf-1] area 0

        [RouterD-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

        # 查看DR/BDR的狀態(tài)。

        [RouterA] display ospf peer



        OSPF Process 1 with Router ID 1.1.1.1

        Neighbors



        Area 0.0.0.0 interface 192.168.1.1(GigabitEthernet1/0/0)'s neighbors

        Router ID: 2.2.2.2 Address: 192.168.1.2 GR State: Normal

        State: 2-Way Mode:Nbr is Master Priority: 1

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 32 sec

        Neighbor is up for 00:04:21

        Authentication Sequence: [ 0 ]



        Router ID: 3.3.3.3 Address: 192.168.1.3 GR State: Normal

        State: Full Mode:Nbr is Master Priority: 1

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 37 sec

        Neighbor is up for 00:04:06

        Authentication Sequence: [ 0 ]



        Router ID: 4.4.4.4 Address: 192.168.1.4 GR State: Normal

        State: Full Mode:Nbr is Master Priority: 1

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 37 sec

        Neighbor is up for 00:03:53

        Authentication Sequence: [ 0 ]

        查看RouterA的鄰居信息,可以看到DR優(yōu)先級(jí)(缺省為1)以及鄰居狀態(tài),此時(shí)RouterD為DR,RouterC為BDR。

        說(shuō)明

        當(dāng)優(yōu)先級(jí)相同時(shí),router-id高的為DR。如果路由器的某個(gè)Ethernet接口成為DR之后,則這臺(tái)路由器的其他廣播接口在進(jìn)行后續(xù)的DR選擇時(shí),具有高優(yōu)先權(quán)。即選擇已經(jīng)是DR的路由器作為DR,DR不可搶占。

        步驟 3 配置接口上的DR優(yōu)先級(jí)

        # 配置RouterA。

        [RouterA] interface GigabitEthernet 1/0/0

        [RouterA-GigabitEthernet1/0/0] ospf dr-priority 100

        [RouterA-GigabitEthernet1/0/0] quit

        # 配置RouterB。

        [RouterB] interface GigabitEthernet 1/0/0

        [RouterB-GigabitEthernet1/0/0] ospf dr-priority 0

        [RouterB-GigabitEthernet1/0/0] quit

        # 配置RouterC。

        [RouterC] interface GigabitEthernet 1/0/0

        [RouterC-GigabitEthernet1/0/0] ospf dr-priority 2

        [RouterC-GigabitEthernet1/0/0] quit

        # 查看DR/BDR的狀態(tài)。

        [RouterD] display ospf peer



        OSPF Process 1 with Router ID 4.4.4.4

        Neighbors



        Area 0.0.0.0 interface 192.168.1.4(GigabitEthernet1/0/0)'s neighbors

        Router ID: 1.1.1.1 Address: 192.168.1.1 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 100

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 31 sec

        Neighbor is up for 00:11:17

        Authentication Sequence: [ 0 ]

        Router ID: 2.2.2.2 Address: 192.168.1.2 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 0

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 35 sec

        Neighbor is up for 00:11:19

        Authentication Sequence: [ 0 ]



        Router ID: 3.3.3.3 Address: 192.168.1.3 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 2

        DR: 192.168.1.4 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 33 sec

        Neighbor is up for 00:11:15

        Authentication Sequence: [ 0 ]

        說(shuō)明

        在接口上配置DR優(yōu)先級(jí)之后并不會(huì)立即生效。

        步驟 4 重啟OSPF進(jìn)程

        在各路由器的用戶視圖下,同時(shí)執(zhí)行命令reset ospf 1 process,以重啟OSPF進(jìn)程。
        驗(yàn)證結(jié)果

        # 查看OSPF鄰居狀態(tài)。

        [RouterD] display ospf peer



        OSPF Process 1 with Router ID 4.4.4.4

        Neighbors



        Area 0.0.0.0 interface 192.168.1.4(GigabitEthernet1/0/0)'s neighbors

        Router ID: 1.1.1.1 Address: 192.168.1.1 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 100

        DR: 192.168.1.1 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 35 sec

        Neighbor is up for 00:07:19

        Authentication Sequence: [ 0 ]



        Router ID: 2.2.2.2 Address: 192.168.1.2 GR State: Normal

        State: 2-Way Mode:Nbr is Slave Priority: 0

        DR: 192.168.1.1 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 35 sec

        Neighbor is up for 00:07:19

        Authentication Sequence: [ 0 ]



        Router ID: 3.3.3.3 Address: 192.168.1.3 GR State: Normal

        State: Full Mode:Nbr is Slave Priority: 2

        DR: 192.168.1.1 BDR: 192.168.1.3 MTU: 0

        Dead timer due in 37 sec

        Neighbor is up for 00:07:17

        Authentication Sequence: [ 0 ]

        # 查看OSPF接口的狀態(tài)。

        [RouterA] display ospf interface



        OSPF Process 1 with Router ID 1.1.1.1

        Interfaces



        Area: 0.0.0.0

        IP Address Type State Cost Pri DR BDR

        192.168.1.1 Broadcast DR 1 100 192.168.1.1 192.168.1.3



        [RouterB] display ospf interface



        OSPF Process 1 with Router ID 2.2.2.2

        Interfaces



        Area: 0.0.0.0

        IP Address Type State Cost Pri DR BDR

        192.168.1.2 Broadcast DROther 1 0 192.168.1.1 192.168.1.3



        如果鄰居的狀態(tài)是Full,這說(shuō)明它和鄰居之間形成了鄰接關(guān)系;如果停留在2-Way的狀態(tài),則說(shuō)明他們都不是DR或BDR,兩者之間不需要交換LSA。

        如果OSPF接口的狀態(tài)是DROther,則說(shuō)明它既不是DR,也不是BDR。
        配置文件
        RouterA的配置文件

        #

        sysname RouterA

        #

        router id 1.1.1.1

        #

        interface GigabitEthernet1/0/0

        ip address 192.168.1.1 255.255.255.0

        ospf dr-priority 100

        #

        ospf 1

        area 0.0.0.0

        network 192.168.1.0 0.0.0.255

        #

        return
        RouterB的配置文件

        #

        sysname RouterB

        #

        router id 2.2.2.2

        #

        interface GigabitEthernet1/0/0

        ip address 192.168.1.2 255.255.255.0

        ospf dr-priority 0

        #

        ospf 1

        area 0.0.0.0

        network 192.168.1.0 0.0.0.255

        #

        return
        RouterC的配置文件

        #

        sysname RouterC

        #

        router id 3.3.3.3

        #

        interface GigabitEthernet1/0/0

        ip address 192.168.1.3 255.255.255.0

        ospf dr-priority 2

        #

        ospf 1

        area 0.0.0.0

        network 192.168.1.0 0.0.0.255

        #

        return
        RouterD的配置文件

        #

        sysname RouterD

        #

        router id 4.4.4.4

        #

        interface GigabitEthernet1/0/0

        ip address 192.168.1.4 255.255.255.0

        #

        ospf 1

        area 0.0.0.0

        network 192.168.1.0 0.0.0.255

        #

        return
         
        本文出自:億恩科技【mszdt.com】

        服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

      2. 您可能在找
      3. 億恩北京公司:
      4. 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
      5. 億恩鄭州公司:
      6. 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
      7. 億恩南昌公司:
      8. 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
      9. 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
      10. 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
      11. 專注服務(wù)器托管17年
        掃掃關(guān)注-微信公眾號(hào)
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
          0
         
         
         
         

        0371-60135900
        7*24小時(shí)客服服務(wù)熱線