Traceroute

The traceroute is a network diagnostic tool utility which is used in order to record the route or the specific gateway computers at each hop through the internet between the computer and to another specified destination computer in the process of data transmission. It calculates and displays the amount of time that each hop took.[1] It is also used in order to track the pathway taken by a packet in an Internet Protocol (IP) network from the source to the destination. This procedure allows a user to find out precisely how the transmission of data, like a Google search, from one computer device to another computer device would take.[2] Furthermore, traceroute is just a very handy tool that is used both for understanding where the problems really are in the network and for getting a detailed sense of the internet itself.

Functionality

Traceroute uses Internet Control Message Protocol (ICMP) echo packets with variable time to live (TTL) values. Each response time of each hop will be calculated. In order to guarantee and secure the accuracy, each hop will be queried multiple times, usually 3 times, to better measure and check the response of a particular hop. It uses a very important and useful tool in order to determine the delays of the response and the routing loops that are present in a network pathway across the packet switched nodes. It helps in locating any points of failure encountered while en route to a certain destination.[3] If there will be any hiccup or interruption while transferring data, the traceroute will automatically show where along the chain the problem really occurred.

If the traceroute command will be entered, the utility will initiate the sending of packets by using the ICMP, including the TTL. With this, it will enable the traceroute to determine the time that is required for the hop to the first router. If the time limit value will be increased, it will resend the packet so that it will reach the second router in the path to the destination and returns another time exceeded message, and so on and so forth. The traceroute helps the users determine when the packet has reached the destination by including a port number that is outside the normal range. When it is received, a port unreachable message will be returned. That will enable traceroute to measure the time length of the final hop. With the progress that will be made by tracerouting, the records will be displayed to the users hop by hop.[4]

The traceroute output will display the IP address of the destination and the maximum number of hops it will traverse before it will totally quit the trace. Then, it will display the name, the IP address, and the response time taken at each hop.

  1. This is the internet gateway of the network the trace is started from
  2. This is normally the Internet Service Provider’s (ISP) gateway
  3. This is usually the backbone ISP’s hop name and IP address

These traces will continue to the destination domain, will list all the hops just along the way. If there will be no response from the hop, an asterisk (*) will be displayed and then another hop will be tried. If it will be successfully done, the response time of the hop will be displayed. Lastly, the destination domain with the IP address will also be displayed.[3:1]

Hop is referred to as a journey from a computer device to another computer device. A millisecond is a unit used in order to measure the amount of time it takes to make a hop. A packet is considered as the information which travels along the traceroute.

Traceroute Objectives

There are three objectives of this traceroute tool that gives an insight into a user’s problem of the network:

  • The entire path that a packet travels through.
  • Names and identity of routers and devices in the user’s path.
  • Network latency or, more specifically, the time taken to send and receive data to each device on the path.

The traceroute will give the limit of how many lines of hops it will display and that is 30 hops, this is the considered maximum number.[2:1]

Below is the list of characters with a description that will appear in the traceroute command output:

Traceroute Command Character Description
Nn msec The roundtrip (in milliseconds) for the specified number of probes.
* Probe timed out
A Administratively prohibited
Q Source quench
I User interrupted test
U Port unreachable
H Host unreachable
N Network unreachable
P Protocol unreachable
T Timeout
? Unknown type of packet

However, besides all of these, traceroute has limitations. Traceroute does not discover paths at the router level but at the interface level. It may also indicate a path which does not really exist in order to minimize the problem, there is a Paris-traceroute that serves as a traceroute modification. It helps maintain the flow identifier of the probes to avoid balancing.

History

The manual page of the traceroute tells that the original traceroute program was written by Van Jacobson from a suggestion by Steve Deering, particularly cogent suggestions or fixes from Philip Wood, Tim Seaver, and Ken Adelman. Mike Muss, author of the PING program states that traceroute was written by using kernel ICMP support that he had coded earlier in order to enable raw ICMP sockets when he first wrote the PING program.

Common Issue

If there are two packets that will be discarded, it is because of security concerns. In the past, hackers routinely used traceroutes in order to map how information moved within a company’s computer network and then focus their attacks on certain computer devices. To solve this threat to security, networks must not allow other users to perform a traceroute.


  1. https://whatis.techtarget.com/definition/traceroute ↩︎

  2. https://whatismyipaddress.com/traceroute ↩︎ ↩︎

  3. https://www.techopedia.com/definition/2459/traceroute ↩︎ ↩︎

  4. https://whatis.techtarget.com/definition/traceroute ↩︎