I am on Windows and LAN using the command line PING in this format:

ping -a -n 5 -S <source ip> <destination ip>

For the most part, it does what it is supposed to do but I have noticed 3 issues that I am curious to better understand.

Two machines, both offline, respond differently

  • One says: Reply from <source ip>: Destination host unreachable.
  • Other says: Request timed out.

Now my understanding is that unreachable means exactly what it says, can't be reached (obviously its off) but the other suggests that it is on, but just not responding (which shouldn't be the case here as it IS off) so why the difference in the way the result is reported?

Additionally, as you can see in the command, the option -a is set which means it is supposed to resolve to machine name, but its not doing that in the results. I suspect it might be a NetBIOS issue but wanted to confirm.


Destination host unreachable occurs when the local system or a remote system responsible for routing the packet was unable to determine a route to the destination. If the destination host is in the same subnet but does not respond to ARP, it will also trigger a host unreachable error. So basically this is your computer saying "I don't know where to send this packet, the host is either offline and did not respond to ARP, or I don't know where to route it".

Request Timed Out occurs when there was no echo reply received within the time-out period. This could be due to something like a firewall blocking the request, or network congestion. This usually occurs when a route to the destination is present, but something else is blocking the ping. This is basically your computer saying "I know where to send this packet, I have sent it, but I never received a reply".