簡介
本文描述OSPF鄰接關係形成時,路由器在與其鄰居完全鄰接之前經歷多次狀態更改。
必要條件
需求
本文件沒有特定需求。
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
慣例
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
背景資訊
形成OSPF鄰接關係後,路由器會經歷幾個狀態變化,然後才與其鄰居完全鄰接。這些狀態在OSPF RFC 2328第10.1節中定義。狀態為Down、Attempt、Init、2-Way、Exstart、Exchange、Loading和Full。本文檔對每個狀態進行了詳細描述。
OSPF鄰接關係
關閉
這是第一個OSPF鄰居狀態。這表示沒有收到來自此鄰居的資訊(hello),但在此狀態下,仍可以向此鄰居傳送hello資料包。
在完全相鄰鄰居狀態下,如果路由器在RouterDeadInterval時間內(預設情況下為RouterDeadInterval = 4*HelloInterval)未收到來自鄰居的hello資料包,或者如果手動配置的鄰居已從配置中刪除,則鄰居狀態將從Full更改為Down。
嘗試
此狀態僅對NBMA環境中手動配置的鄰居有效。在Attempt狀態下,路由器每隔輪詢間隔向鄰居傳送一次單播hello資料包,該鄰居在dead間隔內未收到該hello資料包。
初始化
此狀態指定路由器已收到來自其鄰居的hello資料包,但接收路由器ID未包含在hello資料包中。當路由器收到鄰居發來的hello資料包時,它必須在hello資料包中列出傳送方路由器ID,以確認它收到了有效的hello資料包。
雙向
此狀態表示兩台路由器之間已建立雙向通訊。雙向表示每台路由器都能看到來自另一台路由器的hello資料包。當接收hello資料包的路由器在接收的hello資料包鄰居欄位中看到自己的路由器ID時,就會達到此狀態。在此狀態下,路由器決定是否與該鄰居鄰接。在廣播媒體和非廣播多路訪問網路上,路由器只與指定路由器(DR)和備用指定路由器(BDR)一起變為full ;它與所有其他鄰居保持雙向狀態。在點對點網路和點對多點網路中,路由器上所有連線的路由器都已滿載。
在此階段結束時,為廣播和非廣播多路訪問網路選擇DR和BDR。有關DR選舉過程的詳細資訊,請參閱DR選舉。
註:從處於init狀態的鄰居接收資料庫描述符(DBD)資料包也會導致轉換為2向狀態。
Exstart
選擇DR和BDR後,路由器與其DR和BDR之間可以開始交換鏈路狀態資訊的實際過程。
在此狀態下,路由器及其DR和BDR建立主 — 次關係,並選擇用於形成鄰接的初始序列號。具有較高路由器ID的路由器成為主要路由器並開始交換,因此也是唯一可以增加序列號的路由器。從邏輯上講,具有最高路由器ID的DR/BDR是此過程的主路由器。DR/BDR選擇可能是因為路由器上配置了更高的優先順序,而不是最高的路由器ID。因此,DR可能扮演次要角色。此外,主/次選擇基於每個鄰居。
交換
在交換狀態下,OSPF路由器交換資料庫描述符(DBD)資料包。資料庫描述符僅包含鏈路狀態通告(LSA)標頭,並描述整個鏈路狀態資料庫的內容。每個DBD資料包都有一個序列號,該序列號只能由主資料包遞增,而輔助資料包則顯式確認該序列號。路由器也在此狀態下傳送鏈路狀態請求資料包和鏈路狀態更新資料包(包含整個LSA)。將所接收的DBD的內容與路由器鏈路狀態資料庫中包含的資訊進行比較,以檢查新的或更多的當前鏈路狀態資訊對於鄰居是否可用。
載入中
在此狀態下,會發生鏈路狀態資訊的實際交換。根據DBD提供的資訊,路由器會傳送鏈路狀態請求資料包。然後,鄰居在鏈路狀態更新資料包中提供請求的鏈路狀態資訊。在鄰接過程中,如果路由器收到過期或丟失的LSA,它會傳送該LSA的鏈路狀態請求資料包。 確認所有鏈路狀態更新資料包。
完整版
在此狀態下,路由器之間完全鄰接。交換所有路由器和網路LSA,並且路由器的資料庫完全同步。
Full是OSPF路由器的正常狀態。如果路由器停滯在其他狀態,則表明形成鄰接關係時出現問題。 唯一的例外是雙向狀態,這在廣播網路中是正常的。在NBMA/廣播媒體中,路由器的DR和BDR會達到FULL狀態,而在殘留媒體(例如點對點和點對多點)中的每個鄰居會達到FULL狀態。
註:當您在DR或BDR上輸入命令時,該網段上每台路由器的DR和BDR都處於FULL狀 show ip ospf neighbor
態,可以顯示FULL/DROTHER。這僅僅表示鄰居不是DR或BDR,但由於輸入該命令的路由器是DR或BDR,因此該鄰居顯示為FULL/DROTHER
相關資訊