OSPF的鄰接關系建立需要經歷7種狀態
DOWN—>INIT—>TWO WAY—>EXSTART—>EXCHANGE—>LODING—>FULL
下面具體描述這7個狀態的發生過程:
DOWN——運行OSPF協議的接口還沒有收到hello包時的狀態,此時不會發生任何建立鄰居關系的動作
INIT——當雙方收到hello包時將進入INIT狀態,前提是hello包中必須匹配4個條件,分別為:①hello和dead的時間間隔要相同 ②area ID要相同 ③認證方式認證口令要相同 ④末節區域標示要相同
TOW WAY——當收到了鄰居發送過來的hello包並且在hello包中看到己方的RouterID時,將進入TOWTOW WAY——當收到了鄰居發送過來的hello包並且在hello包中看到己方的RouterID時,將進入TOWEXSTART狀態之間進行
EXSTART——此狀態將在鄰居之間選擇MASTER和SLAVE角色,用於交換DBD信息,擁有高RouterID的EXSTART——此狀態將在鄰居之間選擇MASTER和SLAVE角色,用於交換DBD信息,擁有高RouterID的MASTER的角色,因為其RouterID為2.2.2.2,大於R1的1.1.1.1。另,如果鄰居之間的MTU值不匹配,將卡在EXSTART狀態,這也是唯一一個卡在EXSTART狀態的原因
Exchange--當經過Exstart狀態選出master和slave角色后將進入Exchange狀態,首先由master和slave同步DBD信息,最終將完成雙方DBD信息的同步。
Loading--當DBD信息同步完成后雙方開始加載LSDB,此狀態下將發送LSR和LSU。
Full--此時LSDB構建完成,雙方數據庫保持一致,至此可以說雙方已經進入了邏輯上的鄰接關系,同區域的OSPF路由器維護同一張LSDB。
注:鄰居關系和鄰接關系是截然不同的兩種狀態。鄰居關系更多地代表着兩台運行着OSPF的路由器在物理上已經構成了鄰居,表示着一種“狀態”;
鄰接關系表明兩台OSPF鄰居之間不僅從物理上構成了鄰居,而且從邏輯層面上同步了彼此的LSDB,表示着一種“動作”。
除了以上7鍾狀態,還有一種在NBNA(非廣播-多路訪問網絡)中特有的Attempt狀態,此狀態產生於Down和Init之間。產生此狀態的原因在於,NBMA網絡中只允許單播包的發生和接受,而OSPF恰恰又是組播包進行鄰居建立和路由更新,所以需要在OSPF路由配置進程下指定鄰居IP的形式實現在NAMA網絡下的單播包發生,當指定了鄰居IP並且已發送hello包時將立即進入Attempt狀態,其后面所經歷的狀態和廣播型網絡完全一致。
OSPF的鄰接關系建立需要經歷7種狀態
DOWN—>INIT—>TWO WAY—>EXSTART—>EXCHANGE—>LODING—>FULL
下面具體描述這7個狀態的發生過程:
DOWN——運行OSPF協議的接口還沒有收到hello包時的狀態,此時不會發生任何建立鄰居關系的動作
INIT——當雙方收到hello包時將進入INIT狀態,前提是hello包中必須匹配4個條件,分別為:①hello和dead的時間間隔要相同 ②area ID要相同 ③認證方式認證口令要相同 ④末節區域標示要相同
TOW WAY——當收到了鄰居發送過來的hello包並且在hello包中看到己方的RouterID時,將進入TOWTOW WAY——當收到了鄰居發送過來的hello包並且在hello包中看到己方的RouterID時,將進入TOWEXSTART狀態之間進行
EXSTART——此狀態將在鄰居之間選擇MASTER和SLAVE角色,用於交換DBD信息,擁有高RouterID的EXSTART——此狀態將在鄰居之間選擇MASTER和SLAVE角色,用於交換DBD信息,擁有高RouterID的MASTER的角色,因為其RouterID為2.2.2.2,大於R1的1.1.1.1。另,如果鄰居之間的MTU值不匹配,將卡在EXSTART狀態,這也是唯一一個卡在EXSTART狀態的原因