IP Addressing is an
integral part of networking and given the complexity of addressing and
subnetting, it is common to have IP addressing errors in the network. So it is
essential for you to be able to troubleshoot common problems related to IP
Addressing. Before troubleshooting a network, you have to understand the below
given common protocols and utilities that are used to troubleshoot:
- Packet InterNet Grouper (PING) – Ping is one of the most commonly used utility that is used to troubleshoot addressing and connectivity problems. This utility is available in almost all operating systems, including Cisco devices and can be accessed by the command line interface using the ping command. It uses the ICMP protocol to check if the destination host is live or not.
- Traceroute – Traceroute is another common utility that is available with all operating systems. In some operating systems the utility can be access using the tracert or traceroute command on the CLI. It is used to find each hop between the source and destination hosts and is useful to see the path taken by a packet.
- ARP table – Sometimes it is useful to look at the ARP table of a system. This table contains the MAC address to IP address bindings learned by the system. On most operating systems the ARP table can be viewed using the arp –a command. On a Cisco device the arp table can be viewed using the show ip arp command.
- IP config – Sometimes, you need to verify the IP address, subnet mask, default gateway and DNS addresses the host is using. On a windows machine all this information can be seen in the output of the ipconfig /all command. On a unix based system, this information can be seen using the ifconfig command.
For the following section
consider the network shown in Figure 2-6. In this network, HostA is trying to
reach ServerA and ServerB but is not able to.
Before looking at the IP
addressing, you should quickly check network connectivity using four steps that
Cisco recommends:
1. Ping 127.0.0.1, the
loopback address from the Host. You will need to open a terminal window of your
operating system to use the ping utility. If you get an output similar to the
following, it shows that the IP stack in the host is working well:
ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1):
56 data bytes
64 bytes from 127.0.0.1:
icmp_seq=0 ttl=64 time=0.073 ms
64 bytes from 127.0.0.1:
icmp_seq=1 ttl=64 time=0.096 ms
64 bytes from 127.0.0.1:
icmp_seq=2 ttl=64 time=0.095 ms
64 bytes from 127.0.0.1:
icmp_seq=3 ttl=64 time=0.145 ms
Troubleshooting IP Addressing Scenario
2. Ping the IP address of
the host itself. If its successful then it shows that the host’s NIC is working
well.
>ping 192.168.1.50
PING 192.168.1.50
(192.168.1.50): 56 data bytes
64 bytes from 192.168.1.50:
icmp_seq=0 ttl=64 time=0.075 ms
64 bytes from 192.168.1.50:
icmp_seq=1 ttl=64 time=0.096 ms
64 bytes from 192.168.1.50:
icmp_seq=2 ttl=64 time=0.155 ms
64 bytes from 192.168.1.50:
icmp_seq=3 ttl=64 time=0.151 ms
3. Ping the default gateway
from the host. If the ping works it shows that your host is able to communicate
with the network and the default gateway.
>ping 192.168.1.1
PING 192.168.1.1
(192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1:
icmp_seq=0 ttl=64 time=0.075 ms
64 bytes from 192.168.1.1:
icmp_seq=1 ttl=64 time=0.096 ms
64 bytes from 192.168.1.1:
icmp_seq=2 ttl=64 time=0.155 ms
64 bytes from 192.168.1.1:
icmp_seq=3 ttl=64 time=0.151 ms
4. Finally ping the remote
host, ServerA or ServerB in our case. If the ping is successful, this means
there is a DNS or application layer protocol problem between the host and
ServerA. However, in our case the ping fails.
>ping 192.168.2.65
PING 192.168.2.65
(192.168.2.65): 56 data bytes
Request timeout for
icmp_seq 0
Request timeout for
icmp_seq 1
Request timeout for
icmp_seq 2
Request timeout for
icmp_seq 3
If you are careful about
going step-by-step and finding out valid addresses in each subnet, you can
figure out any addressing problem in no time. Lets take a look at another
example two examples. For these examples, we will use the network shown in
Figure