Section 4.5: Testing and Troubleshooting Routes

There are two tools that can be used for testing and troubleshooting routes or reachability. These are: ping and traceroute.

4.5.1: The ping Command

The ping command, which is included as a part of the TCP/IP protocol suite, is supported at the user and privileged exec modes. In user mode, you must specify an IP address or a host name, if the host name can be resolved to an IP address, with the ping command. The ping command tests the round-trip path to and from a target. In privileged mode, you must enter a protocol, a target IP address, a repeat count, datagram size, and a timeout in seconds.

Cisco IOS makes ping available for a number of protocols including IPX and AppleTalk. Cisco introduced ping for IPX in IOS version 8.2. This is, however, a Cisco proprietary tool. Therefore non-Cisco devices such as Novell servers do not respond to it. If you want the Cisco router to generate Novell-compliant pings, you must use the global configuration command ipx ping-default noveil. Ping for AppleTalk sends AppleTalk Echo Protocol (AEP) packets to the destination node and waits for replies.

Generally, the syntax for the ping command is:

ping -s ip_address [ packet_size ] [ packet_count ]

Table 4.1: Parameters for the ping Command

Parameter Purpose
-s Causes ping to send one datagram per second, printing one line of output for every response received. The ping command does not return any output when no response is received.
ip_address The IP address or IP alias of the host.
packet_size This optional parameter represents the number of bytes in a packet, from 1 to 2000 bytes, with a default of 56 bytes. The actual packet size is eight bytes larger because the switch adds header information.
packet_count This optional parameter represents the number of packets to send.

4.5.2: The traceroute Command

The traceroute command was introduced with the release 10.0 of Cisco IOS and can be used to find the route between IP devices. The traceroute command can be executed in user and privileged exec modes, but in privileged exec mode, you can use the extended traceroute, which is more flexible and informative. Initially, traceroute was available only for the IP protocol but since release 12.0 of Cisco IOS, traceroute is also available for IPX. This command can be very useful in troubleshooting by determining where along a particular network path a particular problem might be as the traceroute command displays a hop-by-hop path through an IP network from the switch to a specific destination host. The syntax for the traceroute command is:

traceroute [ -n ] [- w wait_time ] [ -i initial_ttl ] [ -m max_ttl ] [ -p dest_port ] [ -q nqueries ] [ -t tos ] ip_address [ data_size ]

Table 4.2: Parameters for the traceroute Command

Parameter Description
-n Prevents traceroute from performing a DNS lookup for each hop on the path. Only numerical IP addresses are printed.
-w wait_time Specifies the amount of time that traceroute will wait for an ICMP response message. The allowed range for wait time is 1 to 300 seconds; the default is 5.
-i initial_ttl Causes traceroute to send ICMP datagrams with a TTL value equal to initial_ttl instead of the default TTL of 1. This causes traceroute to skip processing for hosts that are less than initial_ttl hops away.
-m max_ttl Specifies the maximum TTL value for outgoing ICMP datagrams. The allowed range is 1 to 255; the default value is 30.
-p dest_port Specifies the base UDP destination port number used in traceroute datagrams. This value is incremented each time a datagram is sent. The allowed range is 1 to 65535; the default base port is 33434.
-q nqueries Specifies the number of datagrams to send for each TTL value. The allowed range is 1 to 1000; the default is 3.
-t tos Specifies the TOS to be set in the IP header of the outgoing datagrams. The allowed range is 0 to 255; the default is 0.
ip_address IP alias or IP address in dot notation of the destination host.
data_size Number of bytes, in addition to the default of 40 bytes, of the outgoing datagrams. The allowed range is 0 to 1420; the default is 0.