Social Icons

jeudi 15 août 2013

le protocole de resolution d'adresse ARP



Introduction :


La transmission d'un datagramme IP entre 2 stations utilisent les entités de la couche inférieure .
2 stations situées dans un même (sous-)réseau ne peuvent communiquer que si elles
connaissent leurs adresses de niveau inférieure .


Définition :


Le protocole ARP a un rôle phare parmi les protocoles de la couche Internet de la suite TCP/IP, car il permet de  connaître l'adresse physique d'une carte réseau correspondant à une adresse IP, c'est pour cela qu'il s'appelle  Protocole de résolution d'adresse (en anglais ARP signifie Address Resolution Protocol).

Chaque machine connectée au réseau possède un numéro d'identification de 48 bits. Ce numéro est un numéro  unique qui est fixé dès la fabrication de la carte en usine. Toutefois la communication sur Internet ne se fait pas  directement à partir de ce numéro (car il faudrait modifier l'adressage des ordinateurs à chaque fois que l'on  change une carte réseau) mais à partir d'une adresse dite logique attribuée par un organisme: l'adresse IP.

Ainsi, pour faire correspondre les adresses physiques aux adresses logiques, le protocole ARP interroge les  machines du réseau pour connaître leur adresse physique, puis crée une table de correspondance entre les  adresses logiques et les adresses physiques dans une mémoire cache.

Lorsqu'une machine doit communiquer avec une autre,elle consulte la table de correspondance. Si jamais  l'adresse demandée ne se trouve pas dans la table, le protocole ARP émet une requête sur le réseau. L'ensemble  des machines du réseau va comparer cette adresse logique à la leur. Si l'une d'entre-elles s'identifieà cette adresse, la machine va répondre à ARP qui va stocker le couple d'adresses dans la table de correspondance et la communication va alors pouvoir avoir lieu...

Principe :


La station qui recherche à connaître l'adresse Mac d'une station dont elle connaît
l'adresse IP :
        * pose la question à la ronde :
En diffusant un message de demande contenant l'adresse IP recherchée.
        * elle attend la réponse :
Réception d'un message de réponse contenant le couple adresse IP/ adresse Mac

Toute station est à l'écoute des messages de demande de résolution d'adresse
        *si la station se reconnaît :
Réception d'un message de demande contenant une adresse IP correspondant à celle de la station
         *la station répond :
émission d'un message de réponsecontenant le couple adresse IP/ adresse Mac

Il existe de type de message Arp Requête ARP et Réponse ARP :
*Requête ARP
– est diffusée sur le réseau physique de l’émetteur
– contient l’adresse IP de l’hôte cible
 *Réponse ARP
– est renvoyée à l’émetteur par l’hôte cible
– contient l’adresse physique de l’hôte cible

*Résolution limitée à un seul réseau physique
*Protocole ARP non routable (requêtes et réponses ne traversent pas les routeurs)
*Améliorations
– mise en mémoire cache du résultat de la résolution
        prise en compte de l’association d’adresses de l’émetteur


Format du datagramme ARP :

Les messages échangés par ARP sont appelés des datagrammes.



Description des champs du datagramme ARP
► Protocole : (16 bits)
Indique le protocole pour lequel on veut l’adresse logique. Doit valoir 0x0800 pour IP. Les différentes valeurs possibles pour ce champ sont recensées dans la RFC 1700.
►L. @phy : Longueur de l’adresse physique (8 bits)
Indique le nombre d’octets de l’adresse physique de ce type de réseau. Pour Ethernet, les adresses sont codées sur 6 octets. Permet de connaître la taille de @physique source et @physique destination.
►L. @pro : Longueur de l’adresse logique (8 bits)
Indique le nombre d’octets de l’adresse logique utilisée par le protocole indiqué dans le champ Protocole. Pour IP, c’est 4.
Permet de connaître la taille de @proto source et @proto destination, qui est variable selon le réseau logique.
►Opération : (16 bits)
Indique l’objet du message échangé. Vaut 1 pour une requête ARP ; 2 pour une réponse ARP.
►@physique source : (taille variable)
Contient l’adresse physique de l’émetteur. Sa représentation courante est celle des adresses physiques du réseau indiqué dans le champ Type de réseau.
►@proto source : (taille variable)
Contient l’adresse logique de l’émetteur si connue, ou 0 (pour requête RARP). Sa représentation courante est celle des adresses logiques du protocole indiqué dans le champ Protocole.
►@physique destination : (taille variable)
Contient l’adresse physique du destinataire, ou 0 si inconnue. Sa représentation courante est celle des adresses physiques du réseau indiqué dans le champ Type de réseau.
►@proto destination : (taille variable)
Contient l’adresse logique du destinataire, ou 0 si inconnue. Sa représentation courante est celle des adresses logiques du protocole indiqué dans le champ Protocole.

Cache ARP :


Stockage en mémoire cache de l’information de réponse ARP,  avec une durée de vie limitée (15 mn)
Optimisation supplémentaire (communications souvent  bidirectionnelles) :
– la station cible d’une requête ARP stocke dans son cache l’association  d’adresses de l’émetteur
– lorsqu’elles reçoivent une requête ou une réponse ARP, les autres stations  consultent leur cache : s’il existe une entrée pour l’adresse de l’émetteur  du message, l’association d’adresses est mise à jour

Possibilité, lors du démarrage d’un hôte, de diffuser une requête  ARP dont lui-même est la cible : mise à jour du cache des autres hôtes et détection, en cas de réponse, de doublons d’adresse IP

Proxy ARP :

*But : cacher l’existence d’autres réseaux physiques
*Souvent utilisé dans le cas de sous-réseaux pour permettre la coexistence avec des stations qui ne fonctionnent pas en présence  de sous-réseaux

Principe : le proxy ARP (souvent mis en œuvre dans un routeur)  répond aux requêtes ARP à la place des stations des autres sousréseaux.
*Conséquence : le cache ARP de l’émetteur de la requête ARP  contient plusieurs entrées correspondant à une même adresse physique (celle du proxy ARP)
*Ne convient pas si le protocole ARP doit détecter l’usurpation
d’adresses IP (spoofing)

La commande ARP :

arp <hostname> :   résout l'adresse de la station passée en paramètre
arp -a :  visualise le contenu de la table
arp -s <hostname> <Mac-address> :  ajoute une entrée dans la table d'association d'adresse
arp -d <hostname> : supprime une entrée de la table d'association d'adresse





Aucun commentaire :

Enregistrer un commentaire

Abonnez-vous par e-mail

Pour recevoire les nouvelles article