The Ping tool
"Ping" (short for Packet INternet Groper) is without a doubt the best-known network administration tool. It is one of the simplest tools, because all it does is send packets to check if a remote machine is responding and, by extension, if it is accessible over the network.
The ping tool, then, is used to diagnose network connectivity using commands of the type:
name.of.the.machine represents the machine's IP address, or its name. It is generally preferable to test it first using the machine's IP address.
How ping works
Ping relies on the ICMP protocol, which is used to diagnose transmission conditions. For this reason, it uses two types of protocol messages (out of the 18 offered by ICMP):
- Type 0, which corresponds to an "echo request" command, sent by the source machine;
- Type 8, which corresponds to an "echo reply" command, sent by the target machine.
At regular intervals (by default, every second), the source machine (the one running the ping command) sends an "echo request" to the target machine. When the "echo reply" packet is received, the source machine displays a line containing certain information. If the reply is not received, a line saying "request timed out" will be shown.
Depending on the operating system, the results of the ping may be displayed somewhat differently.
Here are the results of the command in GNU/Linux:
PING www.commentcamarche.net (126.96.36.199): 56 data bytes
64 bytes from 188.8.131.52: icmp_seq=0 ttl=56 time=7.7 ms
64 bytes from 184.108.40.206: icmp_seq=1 ttl=56 time=6.0 ms
64 bytes from 220.127.116.11: icmp_seq=2 ttl=56 time=5.5 ms
64 bytes from 18.104.22.168: icmp_seq=3 ttl=56 time=6.0 ms
64 bytes from 22.214.171.124: icmp_seq=4 ttl=56 time=5.3 ms
64 bytes from 126.96.36.199: icmp_seq=5 ttl=56 time=5.6 ms
64 bytes from 188.8.131.52: icmp_seq=6 ttl=56 time=7.0 ms
64 bytes from 184.108.40.206: icmp_seq=7 ttl=56 time=6.0 ms
--- www.commentcamarche.net ping statistics ---
8 packets transmitted, 8 packets received, 0% packet loss
round-trip min/avg/max = 5.3/6.1/7.7 ms
Here are the results of the command in Windows:
Pinging www.commentcamarche.net [220.127.116.11] with 32 bytes of data:
Reply from 18.104.22.168: bytes=32 time=34 ms TTL=54
Reply from 22.214.171.124: bytes=32 time=37 ms TTL=54
Reply from 126.96.36.199: bytes=32 time=32 ms TTL=54
Reply from 188.8.131.52: bytes=33 time=32 ms TTL=54
Ping statistics for 184.108.40.206:
Packets: sent = 4, received = 4, lost = 0 (loss 0%),
Approximate round trip times in milli-seconda:
Minimum = 32ms, Maximum = 37ms, Average = 34ms
Thus, the ping command's output gives:
- The IP address which corresponds to the name of the remote machine;
- The ICMP sequence number;
- The packet's time to live (TTL). The time to live (TTL) field shows how many routers the packet went through as it travelled between the two machines. Each IP packet has a TTL field with a relatively high value. Each time it goes through a router, the value is reduced. If this number ever reaches zero, the router interprets this to mean that the packet is going around in circles, and terminates it;
- The round-trip delay field corresponds to the length of time in milliseconds of a round trip between the source and target machines. As a general rule, a packet must have a delay no longer than 200 ms;
- The number of lost packets.