ARP (Address Resolution Protocol)

 

Introduction :

Nous savons tous que le modèle TCP/IP se compose de 4 couches :

- Couche Application (Fusion de couches Application, Session et Présentation du modèle OSI)
- Couche Transport
- Couche Internet (Ancienne couche Réseaux du modèle OSI)
- Couche d'Accès Réseaux (Fusion de deux couches Physique et Liaison de Données du modèle OSI)

La Couche d'Accès Réseaux gère tout ce qui est en relation avec les interfaces physiques des équipements, le support qui véhicule les données sous forme des trames, les méthodes d'accès, l'identification unique des Ends Users dans le réseau (Adresses MAC) ...

La couche Internet gère l'adressage IP et l'acheminement des Paquets vers leurs destinations correspondantes (le Routage).

Chaque Utilisateur, avant d'envoyer les données vers une destination quelconque, doit subir l'enchaînement du modèle TCP/IP (dans les deux sens). 

Pour une donnée A, une encapsulation dans un Paquet IP est effectuée au premier moment. L'IP source dans le paquet est l'adresse de la machine émettrice, celle de destination est l'IP distante (elle est bien sûr connue soit directement dans l'application soit à la suite d’une résolution DNS). La deuxième encapsulation s'effectue au niveau de la couche 1 (Access Réseaux) dans la trame. L'adresse MAC source est celle de la machine émettrice, celle de destination est ... Il faut la chercher !

La notion de l'adresse MAC est indépendante de la couche applicative et donc ce n'est pas forcement celle de la machine destination, de plus, même si la machine distante se trouve sur le même réseau local, l'émetteur de données (machine source) connaît uniquement tout ce qui est applicatif + tout ce qui est niveau 3 (IP, Routage).

Aucune donnée ne sera acheminée sur un aucun support physique si elle n’est pas encapsulée dans une trame : le respect du modèle TCP/IP est obligatoire ! Le champs MAC Destination doit être rempli … C'est le rôle de la Table ARP et de requêtes ARP !


Mode de fonctionnement de Requêtes ARP

Si un PC-A souhaite communiquer avec un PC-B dans un réseau X quelconque, avant de descendre à la couche Accès Réseaux, une multiplication de l'IP Destination par le masque de l'IP Source est effectuée.

 

Si le résultat est exactement le même réseau global de la source, la communication entre les deux machines est donc sur le même LAN et on doit remplir le champs MAC Destination -dont on a parlé dans l'Introduction- par l'adresse MAC du PC-B. 
Si le résultat donne un réseau global différent de celui du PC-A, on est donc dans le cas d'une communication entre deux LANs différents; deux Networks différents. Le champs MAC Destination doit être rempli par la MAC du : Default Gateway du PC-A. 


Que ce soit Machine Destination dans le même réseau ou Default Gateway pour une communication Inter Sites, l'adresse MAC s'obtient à partir de la table ARP qui se trouve dans chaque équipement. 
Le PC-A cherche donc dans sa table ARP s'il possède une correspondance "Adresse IP - Adresse MAC" (du PC-B s’il est directement sur le LAN ou du Gateway si le PC-B appartient à un autre Réseau). 
Si les IP-MAC sont bien présents dans le cache ARP du PC-A, la trame est bien remplie et traverse donc le support physique vers sa destination (PC-B pour le même réseau ou Default-Gateway lorsque le PC-B est ailleurs). Si les IP-MAC ne se trouvent pas dans le cache ARP, la machine source doit donc chercher la MAC voulue !! C'est la Requête ARP.


La requête ARP est un "broadcast" où la MAC Destination est FF:FF:FF:FF:FF:FF. La machine source demande à toutes les autres machines connectées dans un même Network s'ils possèdent l'IP mappée à la MAC ignorée (Question). Dans le cas où un Host possède l’adresse IP souhaitée, il répond à la requête ARP positivement avec une trame complète : MAC source (son propre MAC) et MAC destination (La MAC de la machine qui a envoyé la requête ARP). Dans le cas contraire, la requête ARP est dropée tout simplement.  Il est à noter qu'avant de répondre positivement à une Requete ARP, la machine Destination effectue une mise à jour de son cache ARP avec l'IP-MAC de la machine source qui a envoyé la Requête. 

Une fois la réponse est reçue, la machine à l’origine de la requête ARP effectue une mise à jour de sa table ARP avec la MAC qu'elle a apprise et elle peut désormais envoyer le trafic DATA. 

 

 

Config et Visualisation

Sur un PC, la commande "arp -a" permet de visualiser le cache ARP :

Sur un Routeur ou un Switch Layer 3 Cisco, la commande est "show arp" ; il ne faut pas oublier, que lorsqu'un routeur vient de finaliser le Routage d'un paquet vers une destination quelconque, il doit l’encapsuler dans une trame avant de la passer sur le lien externe de l'interface de sortie. Il faut donc trouver l'adresse MAC destination. Elle est soit la MAC du Next Hop si la destination du paquet est encore lointaine, soit la MAC de la destination du flux si c'est le dernier Hop (Connected sur le LAN).

 

Ajouter un commentaire

Commentaires

Il n'y a pas encore de commentaire.