why is traceroute so slow?

Answered Question

Over the years I have observed that the command


router#traceroute ip xxx.xxx.xxx.xxx


when used on 800, 1700 and 1800 series routers, returns route information extremely slowly. What normally takes second when executed on a host, takes virtually minutes on these routers.


Does anyone know why?


Correct Answer by Harold Ritter about 8 years 3 months ago

Louie,



This could be due to the fact that the traceroute will try to do a DNS reverse name lookup by default. This can add quite a bit to the traceroute, especially if you don't have a DNS server configured on the router. Try "no ip domain-lookup" in global configuration mode and retry the traceroute.


Regards


  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (4 ratings)
Loading.
dhananjoy chowdhury Sun, 01/25/2009 - 02:27
User Badges:
  • Silver, 250 points or more

Probably because when you are doing trace from Cisco router its sending UDP packets for the trace.

But when doing a atraceroute from a host(windows pc etc.) its using ICMP.

Correct Answer
Harold Ritter Sun, 01/25/2009 - 08:28
User Badges:
  • Cisco Employee,

Louie,



This could be due to the fact that the traceroute will try to do a DNS reverse name lookup by default. This can add quite a bit to the traceroute, especially if you don't have a DNS server configured on the router. Try "no ip domain-lookup" in global configuration mode and retry the traceroute.


Regards


kaustubhchavan Mon, 01/26/2009 - 22:29
User Badges:

This could be due to the fact that the traceroute will try to do a DNS reverse name lookup by default ?


What it means plz explain in brief

Harold Ritter Tue, 01/27/2009 - 07:29
User Badges:
  • Cisco Employee,

Kaustubh,


It means that this command will send a reverse DNS lookup request (IP address to host) to the DNS server. If "ip domain-lookup" is configured and "ip name-server" is not, the DNS request is sent to the broadcast ip address (255.255.255.255). This obviously cause some delay in the command, unless there is a DNS server directly connected to the router.


Regards

Harold Ritter Tue, 01/27/2009 - 07:38
User Badges:
  • Cisco Employee,

Just as a precision, if the reverse DNS lookup succeeds, you should get the hostname in the output of the traceroute as follow:


r1#trace 192.168.4.1


Type escape sequence to abort.

Tracing the route to 192.168.4.1


1 R2 (192.168.12.2) 20 msec 20 msec 52 msec

2 R3 (192.168.23.2) 20 msec 20 msec 20 msec

3 R4 (192.168.34.2) 32 msec * 28 msec

r1#


Regards

Actions

This Discussion