深入理解OSPF協議

安全劍客發表於2020-03-04
今天來給大家講講OSPF協議之詳細圖解。OSPF是一種基於SPF演算法的鏈路狀態路由協議。

深入理解OSPF協議深入理解OSPF協議
上圖是在一個OSPF區域裡面添入一臺新的路由器的時候,OSPF協議的工作過程,如果你能非常詳細的敘述出這張圖的話,基本上OSPF協議的工作過程你就掌握了。

首先大家要清楚,一臺執行了OSPF協議的路由器,最終都會儲存三張表:鄰居表、拓撲表、路由表。下面以這三張表的產生過程為線索,來分析在這個過程中,路由器發生了那些變化,從而說明OSPF協議的工作過程。

鄰居表的建立

一臺新加入OSPF區域的路由器首先要跟鄰居路由器建立鄰接關係,過程如下:
深入理解OSPF協議深入理解OSPF協議
深入理解OSPF協議深入理解OSPF協議
新路由器發出第一個hello分組以後等待應答,等待的時間間隔為hello分組的四倍等待期間的狀態稱為路由器的初始狀態,等待期間,新路由器從另外一臺路由器那裡收到hello分組,並獲知DE和BDR,如果沒有,則開始選擇。網路上的其他路由器收到新路由器發的hello0分組以後將該路由器的router Tn加入到拓撲資料庫中,併發一回應hello分組,其中包含自己的router ID所有鄰居組成的列表。
深入理解OSPF協議深入理解OSPF協議
新路由器看到自己的ID出現在其他路由器應答的鄰居列表中建立了鄰接關係,新路由器將其狀態改為雙向。

通過上面3步,新加入的路由器和其鄰居路由器已經建立了鄰接關係。

拓撲表的建立

在建立拓撲表的時候,新加入的路由器要經歷預啟動狀態、交換狀態、載入狀態、完全鄰接狀態。下面就將此過程,以圖的形式展示給大家:
深入理解OSPF協議深入理解OSPF協議
深入理解OSPF協議深入理解OSPF協議
交換狀態:兩臺路由器都傳送DBD,DR傳送一系列的DBD,其中包括含了儲存在其database中的網路。DBD中沒有包含詳細的必要資訊,只是為了從其他鄰居路由器接收到DBD訊息報文之後,與自己的資料庫進行比較。
深入理解OSPF協議深入理解OSPF協議
載入狀態:新路由器需要更詳細的資訊,將使用LSR(鏈路狀態請求包)進行特定某LSA的詳細資訊的請求,而被請求端則會響應,並且會傳送LSU(鏈路狀態更新包),此包包含了資訊的LSA資訊。
深入理解OSPF協議深入理解OSPF協議
經過以上四步,此OSPF區域的所有路由器的資料拓撲圖都達到了同步。

然後每個路由器按照產生的全區域資料拓撲圖,在執行SPF演算法,產生到達目標網路的路由條目。

經過以上三大步,OSPF協議的執行過程基本結束。

在上面的過程當中有幾個很重要的問題需要注意:

(1) 此協議的管理距離是110、OSPF路由程式ID的範圍必須在1-65535之間,而且只具有本地含義,不同路由器的路由程式ID可以不同、區域ID在0至4294967295,當區域值取0時本區域稱為主幹區域;

(2) 確定router ID遵循如下順序:
用router ID  命令指定的路由器ID的優先順序最高
如果沒有指定,那麼選IP地址最大的環回介面的IP地址為route ID
如果沒有換回介面,就選擇UP埠中IP值最大的為router ID
但還是建議使用 命令指定,這樣可控性比較好;
(3) DR選舉的原則

首要因素是時間,最先啟動的路由器被選舉成為DR。

如果同時啟動,或者重新選舉,則看介面優先順序(0-255),優先順序最高的被選舉成DR,在預設情況下,多路訪問網路的介面優先順序為1,點到點網路的介面優先順序為0,修改介面優先順序的命令是“ip ospf priority”,如果介面的優先順序被設定為0,那麼該介面不參與DR選舉。

如果前兩者相同,最後看路由器ID,路由器ID最高的被選舉成DR。

DR選舉時非搶佔的,除非人為地重新選舉。重新選舉DR的方法有兩種,一是路由器重新啟動;二是執行“clear ip ospf process"命令。

以上,就是今日思博為你帶來的OSPF詳細圖解,希望對你能有所啟發~

原文地址: https://www.linuxprobe.com/deep-understand-ospf.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2678433/,如需轉載,請註明出處,否則將追究法律責任。

相關文章