發布時間: 2021-06-22 16:00:08
關于OSPF路由器之間的關系有兩個重要的概念,鄰居關系和鄰接關系??紤]一種簡單的拓撲,兩臺路由器直連。在雙方互聯接口上激活OSPF,路由器開始發送及偵聽Hello報文。在通過Hello報文發現彼此后,這兩臺路由器便形成了鄰居關系。
鄰居關系的建立只是一個開始,后續會進行一系列的報文交互,例如前文提到的DD、LSR、LSU和LS ACK等。當兩臺路由器LSDB同步完成,并開始獨立計算路由時,這兩臺路由器形成了鄰接關系。
ospf鄰接關系建立過程
OSPF完成鄰接關系的建立有四個步驟:建立鄰居關系、協商主/從、交互LSDB信息,同步LSDB。
OSPF鄰接關系建立過程1——建立鄰居關系。
當一臺OSPF路由器收到其他路由器發來的首個Hello報文時會從初始Down狀態切換為Init狀態。
當OSPF路由器收到的Hello報文中的鄰居字段包含自己的RouterID時,從Init切換2-way狀態。
OSPF鄰接關系建立流程2&3——協商主/從、交互LSDB信息。
鄰居狀態機從2-way轉為Exstart狀態后開始主從關系選舉:R1向R2發送的第一個DD報文內容為空,其Seq序列號假設為X。R2也向R1發出第一個DD報文,其Seq序列號假設為Y。選舉主從關系的規則是比較RouterID,越大越優。R2的Router ID比R1大,因此R2成為真正的主設備。主從關系比較結束后,R1的狀態從Exstart轉變為Exchange。
R1鄰居狀態變為Exchange后,R1發送一個新的DD報文,包含自己LSDB的描述信息,其序列號采用主設備R2的序列號。
R2收到后鄰居狀態從Exstart轉變為Exchange。R2向R1發送一個新的DD報文,包含自己LSDB的描述信息,序列號為Y+1。
R1作為從路由器需要對主路由R2發送的每個DD報文進行確認,回復報文的序列號與主路由R2一致。發送完最后一個DD報文后,R1將鄰居狀態切換為Loading。
OSPF鄰接關系建立流程4——同步LSDB。宏發科技愛和我分開挖機發了空間發揮。
?鄰居狀態轉變為Loading后,R1向R2發送LSR報文,請求那些在Exchange狀態下通過DD報文發現的,但是在本地LSDB中沒有的LSA。
?R2收到后向R1回復LSU。在LSU報文中包含被請求的LSA的詳細信息。
?R1收到LSU報文后,向R2回復LSACK報文,確認已接收到,確保信息傳輸的可靠性。
?此過程中R2也會向R1發送LSA請求。當兩端LSDB完全一致時,鄰居狀態變為Full,表示成功建立鄰接關系。
OSPF網絡類型
在學習DR和BDR的概念之前,需要首先了解OSPF的網絡類型。
OSPF網絡類型是一個非常重要的接口變量,這個變量將影響OSPF在接口上的操作,例如采用什么方式發送OSPF協議報文,以及是否需要選舉DR、BDR等。接口默認的OSPF網絡類型取決于接口所使用的數據鏈路層封裝。
OSPF有四種網絡類型:Broadcast、NBMA、P2MP和P2P。
OSPF的DR與BDR
MA(Multi-Access)多路訪問網絡有兩種類型:廣播型多路訪問網絡(BMA)及非廣播型多路訪問網絡(NBMA)。以太網(Ethernet)是一種典型的廣播型多路訪問網絡。
在MA網絡中,如果每臺OSPF路由器都與其他的所有路由器建立OSPF鄰接關系,便會導致網絡中存在過多的OSPF鄰接關系,增加設備負擔,也增加了網絡中泛洪的OSPF報文數量。當拓撲出現變更,網絡中的LSA泛洪可能會造成帶寬的浪費和設備資源的損耗。
為優化MA網絡中OSPF鄰接關系,OSPF指定了三種OSPF路由器身份,DR(DesignatedRouter,指定路由器)、BDR(BackupDesignated Router,備用指定路由器)和DRother路由器。
只允許DR、BDR與其他OSPF路由器建立鄰接關系。DRother之間不會建立全毗鄰的OSPF鄰接關系,雙方停滯在2-way狀態。BDR會監控DR的狀態,并在當前DR發生故障時接替其角色。
OSPF區域
OSPF路由器在同一個區域(Area)內網絡中泛洪LSA。為了確保每臺路由器都擁有對網絡拓撲的一致認知,LSDB需要在區域內進行同步。
如果OSPF僅有一個區域,隨著網絡規模越來越大,OSPF路由器的數量越來越多,這將導致諸多問題:
LSDB越來越龐大,同時導致OSPF路由表規模增加。路由器資源消耗多,設備性能下降,影響數據轉發。
基于龐大的LSDB進行路由計算變得困難。
當網絡拓撲變更時,LSA全域泛洪和全網SPF重計算帶來巨大負擔。
OSPF引入區域(Area)的概念,將一個OSPF域劃分成多個區域:
可以使OSPF支撐更大規模組網。
OSPF多區域的設計減小了LSA泛洪的范圍,有效的把拓撲變化的影響控制在區域內,達到網絡優化的目的。
在區域邊界可以做路由匯總,減小了路由表規模。多區域提高了網絡擴展性,有利于組建大規模的網絡。
區域的分類:區域可以分為骨干區域與非骨干區域。骨干區域即Area0,除Area0以外其他區域都稱為非骨干區域。
多區域互聯原則:基于防止區域間環路的考慮,非骨干區域與非骨干區域不能直接相連,所有非骨干區域必須與骨干區域相連。
OSPF路由器類型
OSPF路由器根據其位置或功能不同,有這樣幾種類型:
區域內路由器(InternalRouter)
區域邊界路由器ABR(AreaBorder Router)
骨干路由器(BackboneRouter)
自治系統邊界路由器ASBR(ASBoundary Router)
?區域內路由器(InternalRouter):該類路由器的所有接口都屬于同一個OSPF區域。
?區域邊界路由器ABR(AreaBorder Router):該類路由器的接口同時屬于兩個以上的區域,但至少有一個接口屬于骨干區域。
?骨干路由器(BackboneRouter):該類路由器至少有一個接口屬于骨干區域。
?自治系統邊界路由器ASBR(ASBoundary Router):該類路由器與其他AS交換路由信息。只要一臺OSPF路由器引入了外部路由的信息,它就成為ASBR。
上一篇: 網絡工程師是做什么的
下一篇: 數據庫工作前景怎么樣