Ping

Un article de Wikipédia, l'encyclopédie libre.

Pour l’article homonyme?, voir Ping (rivière)

Ping est le nom d'une commande informatique (développée par Mike Muuss) permettant d'envoyer une requête ICMP 'Echo' d'une machine à une autre machine. Si la machine ne répond pas il se peut que l'on ne puisse pas communiquer avec elle.

L'analogie avec le ping-pong est que cette commande envoie une trame (le Ping) et attend son retour (le Pong). Selon la reponse on connait l'état de la machine distante.

Cette commande réseau de base permet d'obtenir des informations et en particulier le temps de réponse de la machine à travers le réseau et aussi quel est l'état de la connexion avec cette machine (renvoi code d'erreur correspondant).

Sommaire

[modifier] Histoire

Mike Muuss a écrit ce programme en décembre 1983 pour débugger un comportement anormal sur réseau IP. Le nom est tiré de l'onomatopée décrivant le son émit par un sonar puisque leur action est similaire (émission d'un signal qui vient rebondir sur une cible pour revenir à l'envoyeur). Par la suite, David L. Mills a fourni un rétro-acronyme : "Packet InterNet Grouper (Groper)".

[modifier] Exemples

Exemple de ping sous Windows, vers l'adresse IP du serveur DNS de Wikipédia :

C:\>ping 66.230.200.16

Pinging 66.230.200.16 avec 32 octets de données :

Réponse de 66.230.200.16 : octets=32 temps<10ms TTL=255
Réponse de 66.230.200.16 : octets=32 temps<10ms TTL=255
Réponse de 66.230.200.16 : octets=32 temps<10ms TTL=255
Réponse de 66.230.200.16 : octets=32 temps<10ms TTL=255

Il est également possible d'effectuer un ping sur un nom au lieu d'une adresse IP.

Pour enregistrer le résultat de la commande ping dans un fichier texte tapez dans une Invite de commandes : ping 66.230.200.16 > c:\ping.txt

Exemple de ping sous Linux, vers fr.wikipedia.org :

$ ping fr.wikipedia.org
PING r, r.knams.wikimedia.org (145.97.39.137): 56 data bytes
64 bytes from 145.97.39.137: icmp_seq=0 ttl=53 time=51.9 ms
64 bytes from 145.97.39.137: icmp_seq=1 ttl=53 time=16.9 ms
64 bytes from 145.97.39.137: icmp_seq=2 ttl=53 time=16.7 ms

--- rr.knams.wikimedia.org ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 16.7/28.5/51.9 ms

Le TTL (Time-To-Live), signifie le nombre maximal de routeurs que le message pourra emprunter avant d'être détruit.


Exemple de (f)ping(6) sous Linux, vers une adresse IPv6 :

$ fping6 fe80::211:d8ff:fe25:2092
fe80::211:d8ff:fe25:2092 is alive

Autre exemple de (f)ping(6) sous Linux, vers une adresse IPv6 :

$ fping6 -c 2 -e fe80::211:d8ff:fe25:2092
fe80::211:d8ff:fe25:2092 : [0], 64 bytes, 0.06 ms (0.06 avg, 0% loss)
fe80::211:d8ff:fe25:2092 : [1], 64 bytes, 0.06 ms (0.06 avg, 0% loss)

fe80::211:d8ff:fe25:2092 : xmt/rcv/%loss = 2/2/0%, min/avg/max = 0.06/0.06/0.06

[modifier] Généralisation

Le principe du ping peut facilement être étendu au-delà du ping d'adresse IP ou de nom.

  • Le ping visible sur les réseaux internes (LAN) est un néologisme pour RTT (round trip time), qui estime le temps d'aller-retour d'un paquet entre deux machines. Plus il est petit plus les communications seront réactives et ainsi le transfert de données sera fluide, en cas de valeur élevée et sensible on parle alors de lag ou latence. Cette approche n'est pas pertinente puisque les éléments actifs du réseau ne traitent pas les requêtes ICMP en priorité (voir QoS).
  • Sur la plupart des clients IRC, vous pouvez taper la commande /ping pour connaître le temps de réponse d'un utilisateur ou d'un salon de discussion.
  • Voir aussi Ping of Death (ping de la mort)

[modifier] Voir aussi

[modifier] Liens externes