目錄

簡介

DBD和MTU

DBD示例

IP OSPF MTU-Ignore命令列為

結論

簡介

本文說明為什麼最好不要使用ip ospf mtu-ignore命令。

OSPF MTU和LSA封裝技術說明文章解釋了一個與最大傳輸單元(MTU)相關的原因，即開放最短路徑優先(OSPF)鄰接關係未達到FULL狀態。

DBD和MTU

可能會發生介面MTU為高值（例如9000）而可透過此介面轉送的封包大小的實際值為1500的情況。

如果運行OSPF的鏈路兩端的MTU不匹配，則不會形成OSPF鄰接關係，因為MTU值包含在資料庫說明(DBD)資料包中，並在另一端被檢查。

DBD資料包（也在RFC 2328中指定）描述了OSPF鏈路狀態資料庫的內容：

0                   1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|   Version #   |       2       |         Packet length         |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                          Router ID                            |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                           Area ID                             |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|           Checksum            |             AuType            |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                       Authentication                          |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                       Authentication                          |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|         Interface MTU         |    Options    |0|0|0|0|0|I|M|MS

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                     DD sequence number                        |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                                                               |

+-                                                             -+

|                                                               |

+-                      An LSA Header                          -+

|                                                               |

+-                                                             -+

|                                                               |

+-                                                             -+

|                                                               |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                              ...                              |

RFC 2328的附錄A.3.3將介面MTU描述為：可以從關聯介面發出的最大IP資料包大小（以位元組為單位），而不進行分段。

當OSPF鄰接關係初始化時，連線到鏈路的路由器會交換其在DBD資料包中的介面MTU值。

RFC 2328第10.6節規定：如果資料庫說明資料包中的Interface MTU欄位指示接收介面上大於路由器可以接受而不進行分段的IP資料包大小，則拒絕資料庫說明資料包。

使用debug ip ospf adj命令時，可以看到這些DBD資料包的到達。

DBD示例

在本示例中，兩個OSPF鄰居之間的MTU值不匹配。此路由器有MTU 1600:

OSPF: Rcv DBD from 10.100.1.2 on GigabitEthernet0/1 seq 0x2124 opt 0x52 flag 0x2

len 1452 mtu 2000 state EXSTART

OSPF: Nbr 10.100.1.2 has larger interface MTU

另一台OSPF路由器具有介面MTU 2000:

OSPF: Rcv DBD from 10.100.100.1 on GigabitEthernet0/1 seq 0x89E opt 0x52 flag 0x7

len 32 mtu 1600 state EXCHANGE

OSPF: Nbr 10.100.100.1 has smaller interface MTU

DBD資料包將連續重新傳輸，直到OSPF鄰接關係最終被斷開。

OSPF: Send DBD to 10.100.1.2 on GigabitEthernet0/1 seq 0x9E6 opt 0x52 flag 0x7

len 32

OSPF: Retransmitting DBD to 10.100.1.2 on GigabitEthernet0/1 [10]

OSPF: Send DBD to 10.100.1.2 on GigabitEthernet0/1 seq 0x9E6 opt 0x52 flag 0x7

len 32

OSPF: Retransmitting DBD to 10.100.1.2 on GigabitEthernet0/1 [11]

%OSPF-5-ADJCHG: Process 1, Nbr 10.100.1.2 on GigabitEthernet0/1 from EXSTART to

DOWN, Neighbor Down: Too many retransmissions

IP OSPF MTU-Ignore命令列為

介面命令ip ospf mtu-ignore禁用對OSPF DBD資料包中MTU值的檢查。因此，即使兩個OSPF路由器之間的介面MTU不匹配，使用此命令也允許OSPF鄰接關係達到FULL狀態。

此命令是以Cisco錯誤ID CSCdr20891匯入。

此命令會影響Cisco錯誤ID CSCsk86476後OSPF資料包的實際資料包大小。

此命令不會影響傳輸的IP資料包的實際資料包大小，也不會影響通過路由器的流量的路徑MTU發現行為。使用該命令可能有助於啟動OSPF鄰接關係，但是通過路由器的傳輸流量仍可能會對大型IP資料包產生影響。

在思科錯誤ID CSCse01519之前，OSPF DBD資料包的大小限製為1500位元組。這樣在使用OSPF mtu-ignore功能時，即使在MTU不匹配的情況下，OSPF也能正常工作。

如果沒有使用Cisco錯誤ID CSCse01519和ip ospf mtu-ignore命令，則當實際OSPF資料包大於1500位元組時，OSPF鄰接可能會失敗。

在思科錯誤ID CSCse01519之後，使用ip ospf mtu-ignore指令，在思科錯誤ID CSCsk86476之前，可能會有那麼大（> 1500位元組）的OSPF封包遭捨棄。這導致OSPF鄰接無法達到FULL狀態。

在思科錯誤ID CSCsk86476後，如果使用ip ospf mtu-ignore指令，路由器將回退到為OSPF封包使用一個安全最大MTU值。此值為1300位元組。由於此值相當小，因此可能會影響OSPF泛洪。OSPF資料包越大，OSPF泛洪效率越高。

結論

在所有情況下，正確的解決方案是在介面上配置正確的MTU。在鏈路兩端的路由器上，此MTU值必須匹配。