国产麻豆精品视频-国产麻豆精品免费视频-国产麻豆精品免费密入口-国产麻豆精品高清在线播放-国产麻豆精品hdvideoss-国产麻豆精品

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
全部產品
您的位置: 網站首頁 > 幫助中心>文章內容

OSPF的DR選舉

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




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

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

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

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


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

在廣播網和NBMA網絡中,任何一臺路由器的路由變化都會導致多次傳遞,浪費了帶寬資源。為解決這一問題,OSPF協(xié)議定義了選舉路由器DR(Designated Router)和BDR(Backup Designated Router)。

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

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

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

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

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

控制OSPF的DR選擇組網圖


適用的產品和版本

路由器端可以使用任意一款NE產品,版本為(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)先級(缺省為1)以及鄰居狀態(tài),此時RouterD為DR,RouterC為BDR。

說明

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

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

# 配置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 ]

說明

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

步驟 4 重啟OSPF進程

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

# 查看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,這說明它和鄰居之間形成了鄰接關系;如果停留在2-Way的狀態(tài),則說明他們都不是DR或BDR,兩者之間不需要交換LSA。

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

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

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

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


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

在廣播網和NBMA網絡中,任何一臺路由器的路由變化都會導致多次傳遞,浪費了帶寬資源。為解決這一問題,OSPF協(xié)議定義了選舉路由器DR(Designated Router)和BDR(Backup Designated Router)。

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

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

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

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

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

控制OSPF的DR選擇組網圖


適用的產品和版本

路由器端可以使用任意一款NE產品,版本為(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)先級(缺省為1)以及鄰居狀態(tài),此時RouterD為DR,RouterC為BDR。

說明

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

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

# 配置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 ]

說明

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

步驟 4 重啟OSPF進程

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

# 查看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,這說明它和鄰居之間形成了鄰接關系;如果停留在2-Way的狀態(tài),則說明他們都不是DR或BDR,兩者之間不需要交換LSA。

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

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

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

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


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

在廣播網和NBMA網絡中,任何一臺路由器的路由變化都會導致多次傳遞,浪費了帶寬資源。為解決這一問題,OSPF協(xié)議定義了選舉路由器DR(Designated Router)和BDR(Backup Designated Router)。

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

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

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

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

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

控制OSPF的DR選擇組網圖


適用的產品和版本

路由器端可以使用任意一款NE產品,版本為(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)先級(缺省為1)以及鄰居狀態(tài),此時RouterD為DR,RouterC為BDR。

說明

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

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

# 配置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 ]

說明

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

步驟 4 重啟OSPF進程

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

# 查看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,這說明它和鄰居之間形成了鄰接關系;如果停留在2-Way的狀態(tài),則說明他們都不是DR或BDR,兩者之間不需要交換LSA。

如果OSPF接口的狀態(tài)是DROther,則說明它既不是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
 
本文出自:億恩科技【www.artduck.net】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

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

    0371-60135900
    7*24小時客服服務熱線

     
     
    国产麻豆精品hdvideoss| 精品视频一区二区三区免费| 可以在线看黄的网站| 麻豆系列国产剧在线观看| 黄色福利片| 国产高清视频免费| 99色精品| 亚洲天堂在线播放| 午夜在线亚洲| 国产麻豆精品视频| 91麻豆精品国产片在线观看| 台湾毛片| 国产视频久久久久| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 91麻豆精品国产自产在线观看一区 | 韩国三级香港三级日本三级la| 久久99这里只有精品国产| 亚洲天堂一区二区三区四区| 欧美国产日韩精品| 国产精品12| 亚洲精品中文字幕久久久久久| 国产精品12| 黄色福利片| 亚洲精品影院久久久久久| 国产麻豆精品| 日韩在线观看免费完整版视频| 国产视频一区二区在线观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日本在线不卡免费视频一区| 美国一区二区三区| 亚欧乱色一区二区三区| 国产一级强片在线观看| 欧美大片aaaa一级毛片| 日本在线www| 美女免费精品视频在线观看| 日韩avdvd| 美国一区二区三区| 日韩男人天堂| 在线观看导航| 欧美大片一区| 久久99青青久久99久久| 四虎久久精品国产| 久久久成人网| 国产不卡福利| 亚洲精品久久久中文字| 欧美a级v片不卡在线观看| 欧美大片a一级毛片视频| 国产高清视频免费| 久久成人性色生活片| 日本特黄特黄aaaaa大片| 国产高清在线精品一区二区 | 99久久精品国产免费| 精品视频在线观看一区二区| 精品国产一区二区三区精东影业| 97视频免费在线观看| 精品视频一区二区三区免费| 四虎久久影院| 国产福利免费观看| 欧美激情一区二区三区视频| 国产成人精品综合在线| 九九九国产| 欧美日本免费| 99热精品在线| 欧美18性精品| 美女免费精品高清毛片在线视| 国产一区二区精品久久91| 精品国产一区二区三区久久久蜜臀 | 天天做日日爱| 日韩专区一区| 日韩一级精品视频在线观看| 天天做日日爱夜夜爽| 免费一级生活片| 天天色成人| 午夜欧美成人香蕉剧场| 久久久久久久免费视频| 精品国产亚洲人成在线| 青青青草影院| 国产极品精频在线观看| 精品国产香蕉在线播出| 尤物视频网站在线| 99热热久久| 麻豆网站在线免费观看| 国产不卡在线播放| 成人免费一级毛片在线播放视频| 国产网站在线| 午夜在线观看视频免费 成人| 韩国毛片| 免费国产在线视频| 久久精品免视看国产成人2021| 国产网站免费观看| 日韩专区第一页| 国产网站免费观看| 天天色色网| 欧美激情一区二区三区视频高清| 国产精品12| 国产视频网站在线观看| 一级女性全黄久久生活片| 超级乱淫黄漫画免费| 一级毛片视频免费| 亚洲精品影院一区二区| 四虎影视库国产精品一区| 九九精品在线播放| 可以免费看毛片的网站| 亚洲第一页乱| 91麻豆精品国产高清在线| 欧美另类videosbestsex| 成人免费观看视频| 91麻豆国产福利精品| 色综合久久天天综合观看| 免费一级片网站| 国产91丝袜在线播放0| 91麻豆tv| 九九久久99| 国产不卡在线播放| 日韩专区一区| 四虎影视库| 99久久精品国产免费| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产综合91天堂亚洲国产| 国产精品1024永久免费视频| 色综合久久天天综合| 国产高清视频免费观看| 精品国产一区二区三区精东影业| 可以免费在线看黄的网站| 久久久久久久男人的天堂| 美女免费毛片| 国产一区二区精品尤物| 国产激情视频在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 亚洲精品永久一区| 麻豆午夜视频| 国产视频网站在线观看| 精品视频免费在线| 九九精品在线播放| 四虎久久精品国产| 国产一区二区精品| 国产美女在线观看| 黄视频网站免费| 国产视频网站在线观看| 日日夜夜婷婷| 日韩一级黄色片| 91麻豆精品国产自产在线观看一区 | 天天色成人| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品在线观看一区| 色综合久久久久综合体桃花网| 成人免费高清视频| 999久久久免费精品国产牛牛| 国产91精品一区| 精品在线观看一区| 国产一区二区精品尤物| 亚洲精品影院一区二区| 国产激情一区二区三区| 美国一区二区三区| 精品视频在线观看视频免费视频| 91麻豆精品国产片在线观看| 欧美一级视频免费| 久久精品免视看国产成人2021| 国产视频一区二区在线播放| 在线观看成人网 | 可以免费在线看黄的网站| 国产网站免费视频| 999久久久免费精品国产牛牛| 麻豆系列 在线视频| 麻豆系列 在线视频| 国产麻豆精品免费视频| 91麻豆国产福利精品| 午夜在线亚洲| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 沈樵在线观看福利| 精品国产一区二区三区精东影业| 欧美激情伊人| 久久99青青久久99久久| 亚洲女人国产香蕉久久精品 | 九九精品久久| 久久精品免视看国产明星| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 沈樵在线观看福利| 成人在激情在线视频| 99久久精品国产高清一区二区| 97视频免费在线观看| 久草免费在线视频| 麻豆系列 在线视频| 精品国产三级a| 一级片免费在线观看视频| 一级毛片视频在线观看| 成人免费网站久久久| 国产高清视频免费观看| 日本免费区| 天天色色网| 国产成人女人在线视频观看| 久久久久久久男人的天堂| 日韩专区亚洲综合久久| 亚洲精品久久玖玖玖玖| 色综合久久天天综合绕观看| 亚洲精品永久一区| 麻豆系列 在线视频| 91麻豆国产级在线| 欧美a级v片不卡在线观看| 欧美爱色|