1 OSPF鄰居狀態機網絡
2 狀態變化描述ide
Downspa |
沒有收到hello包3d |
Initrouter |
收到了hello包,但包裏鄰居列表裏沒有包含本身的router IDblog |
Attemp接口 |
NBMA網絡中手工配置鄰居的狀況下,路由器發送單播的hello給鄰居且在dead interval超時以前尚未收到鄰居的hello包。ip |
2-way路由 |
收到了hello包,包裏鄰居列表裏(Active Neighbor字段)包含本身的router ID,1-way Received表示2-way後只有一方收到hello包就轉變爲init狀態,2-way Received 表示init後雙方都收到了hello包就轉變爲2-way。DR/BDR的選舉是在2-way以後同步 |
ExStart |
信息交換初始狀態,鄰居間傳空的DD報文(包含I(Initialize),M(More),MS(Master/Slave)位),肯定主從關係,肯定DD的初始序列號,比較接口的MTU(可選) |
ExChange |
開始交換DD報文,以ExStart的結果肯定主從關係,交換過程由Master一直髮送DD報文(seq=y+n),Slave迴應DD報文(seq=y+n),Slave迴應時使用Master的序列號,任何一方只要還有未傳送完的LSA頭,就由Master產生DD報文並由Slave迴應。至此鄰居都知曉對方的LSA |
Loading |
信息加載狀態,本地路由器向鄰居路由器請求本地LSDB中沒有的LSA,發送LSReq,收到LSReq的路由器會用包含完整的被請求的LSA的LSU迴應,請求方收到後確認無誤則發送LSAack |
Full |
徹底鄰接狀態,鄰居路由器已完成同步過程 |
3 特殊狀態變化說明
3.1 鄰居停留在Attemp狀態
只會出如今NBMA網絡中,鄰居是手工指定的。
表示路由器發送了hello給鄰居,但沒有收到鄰居的迴應:
l 多是Neighbor鄰居配置錯誤
l NBMA中兩端沒法鏈接,好比ACL限制
3.2 鄰居停留在Init狀態
表示收到了鄰居的hello包,但hello包裏的鄰居列表沒有包含本身:
l 可能只在單邊啓用了驗證(實驗結果是兩邊都沒有鄰居列表)
l 單邊有ACL阻止了對方的hello包
3.3 鄰居保持在2-WAY狀態
正常狀況下,在MA網絡中,DRother之間的鄰居狀態是2-WAY,DRother與DR和BDR之間造成FULL狀態。由於DRother之間不須要交換LSA,都是與DR和BDR交換。
有一種狀況非正常的2-way,就是MA中的接口DR優先級都設置爲0,沒有選擇DR和BDR,致使處於2-way狀態。
3.4 鄰居保持在Exstart/Exchange狀態
MTU不匹配,在進行LSDB同步時,因爲MTU不匹配,一端拒收了另外一端發送的DD/LSU/LSRq報文。
3.5 P2P與MA鄰居創建的不一樣點
OSPF 在P2P鏈路上不檢測鏈路兩端IP是否在同一子網,不在同一子網IP也能夠互通。
OSPF要求MA鏈路兩端在同一子網上,所以若是兩端IP不在統一子網鄰居沒法創建(有sub接口以兩端主IP爲準好比A段主IP10.1.1.1/24,sub ip 20.1.1.1/24,B端主IP 20.1.1.1/24,sub ip10.1.1.1/24,雖然鏈路能夠互通,但OSPF沒法創建鄰居,由於OSPF以主接口網段創建鄰居。)