Traceroute works by sending packets with gradually increasing TTL value, starting with TTL value of one. The first router receives the packet, decrements the TTL value and drops the packet because it then has TTL value zero. The router sends an ICMP Time Exceeded message back to the source.
Depends on the implementations, traceroute command works either on transport layer or on network layer. In Linux, traceroute by default sends a sequence of User Datagram Protocol (UDP) packets addressed to a destination host; ICMP Echo Request or TCP SYN packets can also be used. In Windows, traceroute sends ICMP echo requests instead of UDP packets.
Traceroute can detect problems such as Routing Loops(where two routers set the next hop to each other), black hole(where packets will never go out).
The common network problems are caused by:
circuit failure, router failure or routing failure.
This video tutorial use the real-world examples to show you how to debugging internet routing problems with ipconfig, ping, traceroute and dnslookup.
ICND1 and ICND2 break down