Disabling MPLS TTL Propagation

From CT3

Jump to: navigation, search

By Jeremy Stretch

The IP header includes a time-to-live (TTL) field which serves as a hop counter. At every routed hop, the TTL is decremented by one; if the TTL reaches zero before the packet reaches its destination, the packet is discarded and (optionally) an ICMP TTL exceeded message is sent to its source. MPLS labels also have a TTL field:

Image:MPLS_label_TTL.png

MPLS routers copy the TTL of an IP packet when it enters a label-switched path (LSP), such that an IP packet with a TTL of 255 receives an MPLS label with a TTL of 255. By default, IOS routers will decrement the MPLS TTL of an MPLS-encapsulated packet in place of the IP TTL, at every label-switched hop.

Image:MPLS_TTL_propagation.png

Cisco calls behavior this TTL propagation. Because the MPLS TTL is copied (or "propagated") from the IP TTL, a traceroute from R1 to R6 in the above topology will list every hop in the path, be it routed or label-switched. (Note that the final leg of the MPLS portion of the path, from R4 to R5, is not label-switched due to penultimate hop popping.)

Image:Traceroute_with_MPLS_TTL_propagation.png
R1# traceroute 10.0.56.6

Type escape sequence to abort.
Tracing the route to 10.0.56.6

  1 10.0.12.2 28 msec 36 msec 12 msec
  2 10.0.23.3 84 msec 28 msec 68 msec
  3 10.0.34.4 68 msec 68 msec 68 msec
  4 10.0.45.5 68 msec 76 msec 60 msec
  5 10.0.56.6 60 msec *  68 msec

Cisco IOS provides the option to disable MPLS TTL propagation, with the no mpls ip propagate-ttl command under global configuration. If applied, this command should be applied to all routers in the MPLS domain.

R2(config)# no mpls ip propagate-ttl
R3(config)# no mpls ip propagate-ttl
R4(config)# no mpls ip propagate-ttl
R5(config)# no mpls ip propagate-ttl

With TTL propagation disabled, the MPLS TTL is calculated independent of the IP TTL, and the IP TTL remains constant for the length of the LSP. Because the MPLS TTL never drops to zero, none of the LSP hops (R2-R3 and R3-R4) trigger an ICMP TTL exceeded message and consequently these hops are not recorded in the traceroute from R1:

Image:Traceroute_without_MPLS_TTL_propagation.png
R1# traceroute 10.0.56.6

Type escape sequence to abort.
Tracing the route to 10.0.56.6

  1 10.0.12.2 16 msec 12 msec 12 msec
  2 10.0.45.5 60 msec 60 msec 60 msec
  3 10.0.56.6 60 msec *  52 msec
Personal tools

CT3

Main menu