Destination Host Unreachable
Back to basics. How do you determine the "free" IP address, and how do you test it?
This might be a little "obvious" for some, but I am finding in different conditions system administrators that are unaware of what some ICMP error code means. Indeed I have found along my way a lot of System Administrators that does lack some serious basics, like the meaning of the "ping" command and its error messages.
The Internet Control Message Protocol (ICMP) was designed to help troubleshooting networking problems. You use the ICMP protocol more than you can imagine, and not just when "ping-ing" a host. But let's start from here.
When you ping a host, you send typically a 32-byte long "message" (yeah, there's a message) to a host, and expect that, within a timeframe that is typically 2 seconds, that host sends you back the message as it received it. If the "echo-reply" message is the same as the one you sent, you have a reply from the host and the round-trip-time (RTT) of the 32-byte long message.
Certain times you might get a different reply. In this blog, my focus is on two of those:
- Request timeout
- Destination Host Unreachable
Now the first one is easy. When you PING an IP address from your Windows 7 box, you get a "Request timeout" message, it means there is no host with that IP on your network.
There might be a host on your network, with a firewall active that discards the ICMP echo messages. Now how do you verify that theory? Using the "arp" command, bundled with any Operating System. By issuing the "arp" command (see specific OS for details) you can see if the IP address resolves a MAC-address, the built-in Ethernet network adapter identification ID. If you have a valid MAC address in your ARP table for the host that you ping-ed, it means the host IS ALIVE. You just can not "ping" it.
Since Windows 7 (actually I did miss Vista, so I am not sure about its behavior) if you ping a host that does not resolve a valid MAC address on the ARP table, you get the message "Destination Host Unreachable". This message is generated by your own host, therfore you will see that the originating IP address of the message, is your own NIC.
This also applies to remote hosts. If you ping a remote host, and get a "Request timeout" message within your own network, it might be a remote host issue. Either a software firewall, or if you're sure your network does not have ICMP traffic filtering policies, it could be a remote host networking configuration error. In both cases, the remote router has the MAC address of the remote host in its ARP table. The easiest way to determine that, is to log-on the remote router, and check its ARP table.
The tools to determine IP conflicts and resolutions does not need to be installed or searched across the Net. They are already bundled with ANY operating system and does just need to get used more frequently when troubleshooting network problems or host configurations.
Indeed: back to basics.