Routing – Why MTU Needs to Match on Interior Link State Routing Protocols

eigrpmtuospfrouting

If one tries to configure the neighbor adjacencys without matching MTU, The routers fail to become neighbors. I assume this is to protect the routing protocol from it self but I don't understand what it is saving itself from? What would(Could) the consequence be without matching MTU?

Best Answer

Pete said:

I can't think of a situation where you would need this. I just wanted to know what the logic was that makes this an explicit check in these routing protocols.

Short answer

Routing protocols are some of the most fundamental building blocks on the internet; we need them to be very reliable in every possible case. It does no good to bring up an OSPF or EIGRP adjacency on a mismatched MTU.

Routing protocols must remove any potential mismatched MTUs from the router's forwarding path.

Long answer

I can think of three possible situations where you'd find mismatched IGP MTUs...

  1. Unintentional MTU mismatch at Layer2 (for instance, if someone accidentally mismatched MTUs on a serial line, or different vendors had different default MTUs on the same media)
  2. Matching Layer2 MTUs, but a the router implementation has bug which miscalculates the required interface IP MTU
  3. Intentional MTU mismatch

IP MTUs are directly correlated to Layer2 MTUs (at least for Case 1, above). No matter what we do, we are always at the mercy of mitigating the problems from unintentional Layer2 MTU mismatches, since there is no Layer2 MTU discovery mechanism (unlike IP, which has ICMP error messages).

This means that we have to do everything possible to avoid Layer2 MTU mismatches, even if Cases 2 and 3 above are casualties of mitigating problems with Case number 1. Case 1 has colossal implications unless we solve it; i.e. black-holing all traffic just because we permitted mismatched MTUs.

We're always limited to the least common denominator on the link. Frames larger than the receive MTU of an interface are silently discarded, and the router has no way of knowing whether the MTU was intentionally mismatched, or whether it happened accidentally.

Consequently, EIGRP and OSPF require valid Layer2 adjacencies Note 1 (including MTUs).

What would(Could) the consequence be without matching MTU?

Quoting John Moy (OSPF's author) in RFC 2329 Page 4:

  • Problems with all IP forwarding
  • OSPF Problems

Also quoting him from the OSPF mailing list:

John Moy - OSPF MTU mismatches


Note 1 some people misunderstand the meaning of adjacency as strictly an IP routing protocol concept. This assertion misses the reality that everything (including IP) requires matching layer2 MTUs, for Layer2 domains to work properly.

One of the most important functions of a routing protocol is building a valid FIB / CEF / forwarding table. That table maps the information learned via routing protocols to layer2 rewrite info. Those Layer2 relationships on the same physical link are what Cisco also calls adjacencies.