NB : IP ne peut fonctionner sans ARP.
Rappel : pour des problèmes d’hétérogénéité de réseau, il a été décidé d’identifier les machines non plus par leurs adresses physiques, mais par leurs adresses logiques. Þ Mais, cela n’empêche pas le fait que pour entrer dans la machine de destination il faut passer par la couche 2 et donc avoir l’adresse physique (@MAC) de cette machine.
Dans l’exemple représenté par le schéma 3, admettons que la station A souhaite communiquer avec la station C. dans ce cas, A va constituer la trame Ethernet suivante :
Questions :
· Comment constituer notre trame de niveau 2 si l’on n’a pas d’adresse de destination ?
· Où allons nous trouver l’adresse physique de notre machine C ?
Réponses :
En interne, chaque machine possède une table ARP
Ex :
@ IP | @ MAC |
192.168.20.3 | 080036.224C1F |
192.168.20.68 | 02263A.275622 |
Problème : Et si il n’y a pas d’entrée correspondante dans notre table ?
Solution : Dans ce cas, on déclenche le mécanisme ARP, dont l’objectif est de retrouver l’@ physique de la machine dont nous avons l’@IP.
Pour ce faire, A va générer une trame qui sera une sorte d’appel général Þ « Qui porte l’adresse IP 192.168.20.6 ? »
Pour que toutes les stations se sentent concernées, il faut que l’on passe par le niveau 2 de toutes les machines.
Þ A fait donc un broadcast de niveau 2. L’@MAC de destination sera donc l’@MAC de broadcast (FF.FF.FF.FF.FF.FF)
Voici la trame Ethernet que va générer Apour sa requête ARP :
Et voici la réponse que lui enverra C :
La machine A, en récupérant cette trame, va garnir sa table ARP
(Þ Si après il veut rouvrir un dialogue avec C, en balayant sa table il construira sa trame sans avoir besoin de passer une requête ARP)
Exemple de dialogue ARP (requête/réponse) :
Remarque : il existe un protocole inverse (RARP pour ‘Reverse ARP’), qui permet de retrouver l’adresse IP d’une machine à partir de son @MAC.