Traceroute
Traceroute is a TCP/IP diagnostic utility that traces the route traveled by a data packet from one host to another. A traceroute report provides information about which networks a data packet traverses and how long each hop takes. If one node along a packet's journey causes a delay or other network problem, a traceroute can help identify it.
Since the Internet is a worldwide network of smaller networks, a data packet makes a lot of intermediate steps as it travels from its origin to its destination. It starts within its local network before it travels to an ISP's network, over the Internet backbone, and then across smaller networks until it reaches its destination. In most cases, each hop goes unnoticed by the average user until one of those hops causes a delay or dropped connection. Running a traceroute can identify where a network connection problem occurs and help network administrators resolve the issue.
Running a Traceroute
Some network utility applications include a traceroute feature with a GUI, but you can also run a traceroute from any computer's command prompt or terminal. Just enter the command tracert [address] (in Windows) or traceroute [address] (in Unix, Linux, and macOS), where [address] is the domain name or IP address of the system you're trying to reach. While the traceroute runs, it lists each node as a separate line and displays its hostname or IP address. It also shows how long each hop takes in milliseconds.
Traceroute uses TTL values to get information about intermediary network nodes. First, it sends a set of data packets with a TTL value of 1. These packets reach the first node along the route, which decrements the TTL value to 0 and responds with a TTL exceeded ICMP message. Traceroute displays the node's hostname or IP address and how long it took to respond. Next, it sends a few packets with a TTL value of 2, which reach the second node along the route before expiring and returning a TTL exceeded message. Traceroute continues to send packets with increasing TTL values until they arrive at the destination node, displaying the information for each node that responds. Some lines in a traceroute may show only asterisks, which means that the node received the data packets but could not send a response due to a firewall.