Comment fonctionne vraiment la commande ping? Plus précisément, où ARP (Address Resolution Protocol) entre en scène?
On m'a posé cette question dans une interview et je n'ai pas pu trouver un scénario où l'ARP pourrait être utilisé.
Comment fonctionne vraiment la commande ping? Plus précisément, où ARP (Address Resolution Protocol) entre en scène?
On m'a posé cette question dans une interview et je n'ai pas pu trouver un scénario où l'ARP pourrait être utilisé.
Réponses:
Si vous voulez vraiment comprendre, il y a un excellent livre blanc (très bien écrit) ici:
http://images.globalknowledge.com/wwwimages/whitepaperpdf/WP_Mays_Ping.pdf
Voici le résumé ->
Ping (Program on the application layer)
------->
Opens a 'raw' socket to IP Layer
------>
IP layer (Layer 2 on OSI) packages ICMP packet and sends it
Puisqu'il n'y a pas de couche TCP entre les deux, le Ping (program)
doit surveiller tous les paquets ICMP entrants et filtrer uniquement ceux de la destination.
J'espère que ça t'as aidé.
En supposant que le ping implique l'envoi d'un paquet sur un réseau Ethernet ou WiFi, ARP est utilisé pour trouver l'adresse matérielle Ethernet du périphérique qui reçoit le paquet sortant. Il s'agit généralement du routeur du réseau local sur lequel la machine à l'origine du ping est activée.
Le processus typique est:
Vous entrez une commande pour envoyer une requête ping à une destination.
DNS est utilisé pour déterminer l'adresse IP (si nécessaire).
La table de routage est consultée pour trouver le prochain saut vers cette destination.
ARP est utilisé pour trouver l'adresse matérielle du saut suivant.
Le paquet IP est envoyé au saut suivant, encapsulé dans une trame Ethernet ou WiFi.
Ping est en fait deux paquets ICMP (Internet Control Message Protocol) différents.
Pour envoyer une requête ping à un hôte, vous envoyez d'abord un paquet de demande d'écho ICMP, l'hôte répondra ensuite par une réponse d'écho ICMP.
Pour plus d'informations, voir: https://en.wikipedia.org/wiki/Ping_(networking_utility)
Ping et ARP sont des choses différentes situées à différentes couches de la pile de protocoles réseau.
Ping est à la couche réseau (ou à la couche Internet - Jetez un œil au protocole ICMP comme indiqué par @ServerMonkey).
Le protocole Arp est au niveau de la liaison (un niveau inférieur). Le protocole Arp est conçu pour permettre une connexion physique entre le matériel réseau, qui est directement connecté.
Dans la pile réseau TCP / IP, chaque couche utilise la couche ci-dessous pour transmettre ses données, les encapsulant dans le protocole de bas niveau. Chaque couche est indépendante de l'autre et ne connaît peut-être pas les détails et implémentations spécifiques des autres niveaux (ce n'est pas toujours vrai: voir la fonction inter-couches ).
ARP fournit une adresse MAC, mais parfois s'il n'y a pas d'adresse DMAC, l'adresse de diffusion est utilisée.
Cette trame utilisant la diffusion DMAC est appelée trame de diffusion ARP, avec cela nous obtenons l'adresse DMAC.