We get the message “TTL expired in transit” when we try to ping to a server in a different network segment. When we run tracert, 4 ip addresses repeat themselves indefinitely:
14 60 ms 59 ms 60 ms xxx.xxx.xxx.2
15 83 ms 81 ms 82 ms xxx.xxx.xxx.128
16 75 ms 80 ms 81 ms xxx.xxx.xxx.249
17 81 ms 78 ms 80 ms xxx.xxx.xxx.250
18 82 ms 80 ms 77 ms xxx.xxx.xxx.2
19 102 ms 101 ms 100 ms xxx.xxx.xxx.128
20 101 ms 100 ms 98 ms xxx.xxx.xxx.249
21 97 ms 98 ms 99 ms xxx.xxx.xxx.250
...
What are the basic steps for troubleshooting this error?
As stated in all answers above there is loop in routing that is causing TTL to expire.
Check route on the devices whose IP addresses are repeating. On Linux you can use
as root user to see current routing table. On windows you can go to cmd and use command
to see current routing table. On cisco manageable switches you can use command
Using above commands on all the four IPs that are repeating you should see which routing table is wrong. One of the four devices / hosts involved should ideally route traffic to destination you are pinging using some other gateway.
You've got a circular route in your networking configurations, check your routing tables on the involved devices.
"TTL expired in transit" is related to the TTL value of the packet; every router it passes through lowers it by one, if it hits 0, the packet is returned to the sender. It prevents infinite loops, where packets travel in circles forever.
IP packet has a TTL flag. This one is decreased by 1 each time the packet is routed. When the value become 0 the router drop the packet and send an ICMP message Time-to-live exceeded in transit.
This is done to prevent packets to be routed infinitely when there is routing problem on networks. This is your case here, you have a routing loop so that the packet never reach is destination and is finally dropped by one of the router because the TTL reach 0.
While checking the routing tables of the four routers, focus on the network mask of the routes and if the router ist able to route "
classless
".On older Ciscos you need to explicitly enable this, otherwise they will route whole classful networks instead of your subnets. E.g. configuring
10.20.30.0/24
will result in a route like10.0.0.0/8
.You make no mention of protocol, but I find that the overuse of static routes leads to the error quite often. Using a dynamic routing protocol should solve this with little effort from the administrators.
I would simply say to start at layer-1. Makes sure the router is on, and that the port linking it to the network is up up. Then map your route from your ICMP source to the destination router, examining the routing table at each hop along the path.
When pinging resulted in Expired In Transit... short diagram - ISP ==> Router ==> Switch ==> to PCs
If ISP can see their device then you may need to reboot the swich. If it works then you are all set. If not, then you may need to reboot the router.
I got the same error message. I rebooted the switch and everything came back up.
Good luck.
OK, so I'll chime in with everyone else. You have a routing loop as evidenced by the fact that the ICMP Echo Request keeps looping between the same 4 routers. Check the routing tables on the routers, starting with the router at x.x.x.250.
I received a
TTL expired in transit
message and the problem was an erroneous entry in DHCP.Someone had added the same host name in the DHCP server with a static IP address(10.x.x.11), while the host had also leased a new dynamic IP address (10.x.x.22).