Reply to comment
Ping
Ping is a simple tool used to test the availability and responsiveness of a networked device. Ping uses the ICMP echo request protocol defined in RFC 792 that is a part of the TCP/IP protocol.
The Echo request/response protocol is very simple, the device wishing to initiate a ping request sends an echo request to a target device. The target device then responds with an echo response back to the initiator device. If no response is received by the initiator, it is assumed that the device isn't available. RFC1122 defines that a device must respond to an echo request with an echo response. In response to the increasing danger of hacking on the Internet, devices can be configured to discard echo requests in contravention of the requirements of RFC1122.

In addition to testing availability, Ping is also used as a simple measure of the responsiveness of the target device and the network in between. Typically a number of request are sent at the same time in order to gain some idea of the responsiveness of the device and the network being tested. Whilst pinging a device will give an indication of the responsiveness of the network, it is unlikely to be very accurate. Many networks place a prioratise traffic flowing through them and place a low priority upon echo request/response traffic. Consequently, results are not guaranteed to give an accurate picture of real world network performance.
The echo request protocol has been used by tools carrying out denial of service attacks. Many early implementations of TCP/IP didn't handle large scale requests well, especially when the packet size was very large or the packets were malformed.


