發布時間: 2021-06-30 09:31:13
什么是OSPF鏈路狀態路由協議?OSPF可適應于大規模網絡組網,為了適應大型網絡,OSPF在AS類劃分多個區域。每個區域內部的OSPF路由器只維護所在區域的完整鏈路信息。
Area0是骨干區域,Area1和Area2是子區域
OSPF的路由器類型可分為:
區域邊界路由器(ABR):用來連接骨干區域和其他子區域的路由器。
自治邊界路由器(ASBR):用來連接所在AS與外部自治區域的路由器,可以連接采用非OSPF協議(比如RIP或EIGRP)管理的自治區域。
內部路由器:保存自己區域的鏈路狀態信息。內部路由器又可分為指定路由器(DR)、非指定路由器(BDR)和其他路由器(DRother)。
其他路由器只與DR形成鄰接關系(adjacency),如果DR失效,那么BDR就頂上去工作。
Router ID及DR的選舉
在OSPF區域內,用Router ID(RID)作為唯一標識區分每一個路由器。RID可以手工配置,也可以自動生成。如果沒有指定RID,將按照如下邏輯自動生成一個RID:
首先選取所有Loopback接口上數值較大的IP地址作為RID;
如果沒有配置Loopback接口,那么選取所有物理接口中數值較大的IP地址作為RID。
有了RID以后才能判斷DR和BDR。DR和BDR可以手動選擇,也可以自動選舉。自動選舉的邏輯是:
網段上RID較大的路由器被選為DR;
網段上RID第二大的路由器被選為BDR。
OSPF協議包
OSPF協議共有5種包類型:
OSPF包類型
Hello:用于建立和維護OSPF鄰居關系;
DBD:用于向鄰居發送鏈路狀態數據庫(LSDB)中LSA的摘要;
LSR:鏈路狀態請求,用于向OSPF鄰居請求鏈路狀態信息;
LSU:鏈路狀態更新,收到LSR后發送鏈路狀態通告(LSA),一個LSU可能包含一條或多條LSA;
LSAck:鏈路狀態確認,確認收到LSU,LSU中的每個LSA需要分別確認。
鄰接關系的建立
鄰居關系的建立和維持都是靠Hello包完成的,一般Hello包以周期性的規律發送。鄰接關系的建立可分為4個階段:
鄰居發現:發現直連鏈路上的OSPF路由器,建立雙向關系。
協商主從關系:交換LSA摘要信息。
數據庫同步:請求和發送完整的LSA信息。
進入完全鄰接(full adjacency)階段。
OSPF路由器狀態
OSPF路由器在進入完全鄰接階段之前,通常要經歷幾個狀態:Down: 初始化狀態Init: 收到了Hello包,但是雙向通信還沒有建立起來Two-way: 雙向會話建立ExStart: 信息交換初始態,本地路由器和鄰居間建立主從關系,向鄰居發送數據庫描述包(DBD)Exchange: 信息交換狀態,向鄰居發送LSR用于請求新的LSALoading: 信息加載狀態,本地路由器向鄰居發送LSR用于請求新的LSAFull: 完全鄰接狀態,這種鄰接出現在Router LSA和Network LSA中
總結
以OSPF為代表的鏈路狀態路由協議,我們將工作原理總結如下:
每臺路由器通過使用Hello報文與它的鄰居之間建立鄰接關系;
每臺路由器向每個鄰居發送鏈路狀態通告(LSA),也叫鏈路狀態報文(LSP)。每個鄰居在收到LSP之后,還要向它的鄰居轉發這些LSP(OSPF泛洪);
每臺路由器要在數據庫中保存一份它所收到的LSA的備份,所有路由器的數據庫應該相同;
依照拓撲數據庫每臺路由器使用Dijkstra算法(SPF算法)計算出到每個網絡的最短路徑,并將結果輸出到路由選擇表中。
上一篇: 思科網絡工程師證怎么認證
下一篇: 注意!華為認證實名認證功能上線