tracert and traceroute


The traceroute tool allows you to test the whole path between two nodes with a view to isolating the node or link that is causing the problem.

traceroute

  • traceroute is supported on Linux and router operating systems (e.g., Cisco IOS)
    • uses UDP to probe messages by default
      • port 33434 with TTL of 1
    • first hop should reduce the TTL to zero and respond with an ICMP Time Exceeded message
    • then increments the port number and TTL by one and sends a second probe, which should reach the second hop router
    • process repeats until the end node is reached
      • replies with an ICMP Port Unreachable response
    • output shows:
      • number of hops
      • IP address of the ingress interface of the router or host
        • i.e., the interface from which the router receives the probe
      • the time taken to respond to each probe in milliseconds (ms)
    • if no acknowledgement is received within the timeout period,
      • an asterisk is shown against the probe
      • while this could indicate that the router interface is not repsonding,
        • it could also be that the router is configured to drop packets with expired TTLs silently
    • can be configured to send ICMP Echo Request probes rather than UDP by using traceroute -I
    • traceroute -6 or traceroute6 commands are used for IPv6 networks

tracert

  • same function is performed on Windows with tracert
    • uses ICMP Echo Request probes by default
    • issues an Echo Request probe with TTL of 1
    • first hop should reduce this to zero and respond with a Time Exceeded response
    • then increments the TTL by one each time to discover the full path
  • can be used with several switches:
    • must precede the target IP or host
    • -d to suppress name resolution
    • -h to specify maximum number of hops
      • default is 30
    • -w to specify a timeout in ms
      • default is 4000
      • if, after increasing the value, the destinations are unreachable
        • you probably have a bandwidth issue to resolve
    • -6 to force to use IPv6 instead of IPv4
      • use with host names instead of IP address
      • E.g., tracert -6 www.microsoft.com