cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
18836
Views
21
Helpful
7
Replies

why is traceroute so slow?

cisco-admins
Level 1
Level 1

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?

1 Accepted Solution

Accepted Solutions

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

Regards,
Harold Ritter, CCIE #4168 (EI, SP)

View solution in original post

7 Replies 7

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.

Thank you for your input. While I would certainly expect the latency for UDP traffic to be greater than ICMP traffic, the traceroute response difference between pc's and routers is orders of magnitude.

I wonder if there are not other contributing factors.

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

Regards,
Harold Ritter, CCIE #4168 (EI, SP)

Thanks Harold. It completely solves the problem.

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

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

Regards,
Harold Ritter, CCIE #4168 (EI, SP)

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

Regards,
Harold Ritter, CCIE #4168 (EI, SP)