1.MTU不一致 ide
(1)什麼時候關注MTUblog
從Exstart狀態開始,OSPF進程關注來自鄰居的DD消息中的 Interface MTU 字段接口
(2)什麼時候忽略DD進程
若是接收到的DD消息中Interface MTU值大於本地接口MTU,則忽略此DD消息ip
(3)MTU不一致結果it
接收到DD中的 Interface MTU 與本地接口MTU不一致時,鄰接關係卡在 Exstart/Exstart 或 Exstart/Exchange 狀態io
Master的常規判斷步驟ast
(1)We are not Slave——比較Rouer-IDclass
(2)We are the Master——接收到DD以本地發送Seq Number進行隱式確認配置
Slave的常規判斷步驟
(1)We are the Slave——比較Router-ID
正是由於以上判斷步驟的不一樣,致使了MTU不一致時,有了兩種狀況出現
2.Exstart/Exstart
聲明:
如下描述的Master/Slave都是宏觀上正常狀況下選舉的結果,更正確的描述應該爲本來經過選舉應該成爲Master或Slave的設備
(1)什麼時候發生
Master發送的DD消息,其Interface MTU值更大
(2)狀況描述
①Slave在肯定的接口角色後,便向鄰居發送DD消息
②Master接收到來自Slave的DD消息(還沒有隱式確認),其DD中Interface MTU值小於本地接口MTU,控制檯提示以下:
Nbr 1.1.1.1 has smaller interface MTU
First DBD and we are not SLAVE
雖然控制檯有提示,可是依然讀取該消息內容,試圖肯定Master/Slave
此時Master與Slave的鄰接關係爲Exstart
③與此同時,Master也會向Slave發送DD消息,但因爲該DD消息的Interface MTU值大於Slave本地接口值,Slave忽略此消息
控制檯提示以下:
Nbr 2.2.2.2 has larger interface MTU
因爲不讀取該DD內容,實際上Slave本地甚至沒法肯定本身是Slave,更不會以Master發送的DD的Seq Number做爲回覆
此時,與Master的鄰接關係爲Exstart
④Slave因爲一直忽略Master發送的DD,至關於對於發送給Master的DD始終沒有收到回覆,本地將重傳其First DD
⑤Master一直沒有收到帶有隱式確認的DD消息,認爲發送給Slave的消息沒有獲得回覆,也將重傳其DD
⑥最終,兩臺設備之間卡在Exstart/Exstart狀態
3.Exstart/Exchange
(1)什麼時候發生
Slave發送的DD消息,其Interface MTU值更大
(2)狀況描述
①Master接收到來自Slave的DD消息,因爲其MTU值更大,本地忽略此DD消息
因爲始終忽略此DD消息,本地將重傳該DD
此時與Slave狀態爲Exstart
②Slave接收到來自Master的DD消息,其MTU值更小,所以該消息有效
③經過比較Router-ID,本地確認本身是Slave,且觸發向Master發送帶有LSA頭部的DD消息,包含隱式確認
控制檯提示以下:
Nbr 2.2.2.2 has smaller interface MTU
Send DBD to 2.2.2.2 on FastEthernet0/0 seq 0x103B opt 0x52 flag 0x0 len 32
NBR Negotiation Done. We are the SLAVE
此時在Slave一側,將Master置爲Exchange
④最終,兩臺設備之間卡在Exstart/Exchange狀態
注意:
DD消息默認重傳時間爲5s
4.解決辦法
(1)修改接口MTU值
Router(config-if)#ip mtu
Value單位:Byte
Value取值範圍:68~1500
1500爲接口默認值
(2)經過配置,忽略MTU值不一致的問題
Router(config-if)#ip ospf mtu-ignore
因爲是接收到值更大的MTU時忽略DD消息,所以通常在接口MTU值更小的一側使用該命令便可。