What Breaks with TRRP

ICMP Source Quench has issues. The ITR would need to briefly cache source quench messages from routers on the way to the ETR and then pass them back to the source for the next packets which would use the same ETR.

ICMP time-exceeded has issues: The ITR has no way to pass a time exceeded message for a GRE packet back to the original sender. Traceroute as we know it would break. Possible solutions:

  1. Have the traceroute source host implement an ITR. Since he originates the GRE packets, he knows what to do with the unreachables.
  2. Implement a traceroute cache in the ITR. When the ITR forwards a packet with a short TTL, have it remember the packet at match the IP identifier so that when it receives the time-exceeded message it can rewrite it back to the originating host.

TRRP breaks "holey" routes where a longer prefix overrides the route to the shorter one. If the short prefix remains globally routable but the long one is withdrawn, packets will follow the route to the short prefix instead of falling into an end-of-the-line ITR.

 

TRRP has a potentially long startup delay when the local ITR hasn't yet cached an ETR for the packet's destination. This could be resolved with a network of Initial Aggregate Tunnel Routers which handle packets using a suboptimal but already cached path until the ETR lookup is complete.