What does "TTL expired in transit" mean on a ping attempt?

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

route -n 

as root user to see current routing table. On windows you can go to cmd and use command

route print

to see current routing table. On cisco manageable switches you can use command

show ip route

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 like 10.0.0.0/8.