-   
           
         Les 
        protocole ARP (Adress Resolution Protocol)  
 
    
  
   
    
      -  et 
        RARP (Reverse ARP)
 
    
  
  
  -  


 
  -  
    
 Menu
 
  -  
 
  -                 
    
 
  -                 
    A.   
    Le protocole ARP
 
  -    
 
  -      Le protocole IP a principalement 
    comme fonction de router et adresser les machines. Seulement le routage n’est 
    envisageable qu’avec le support d’un protocole de la couche Réseau, puisqu’une 
    adresse IP n’a de sens que pour le protocole IP. En effet, la couche Réseau 
    ne sait absolument pas gérer la transmission d’un datagramme vers une adresse 
    IP. Cette couche ne peut transmettre les datagrammes que vers une adresse 
    MAC (nous avons vu précédemment que tout élément actif d’un réseau : 
    carte réseau, switch, router, passerelle… possédait une adresse MAC). Or le 
    problème devant lequel nous sommes est de taille : nous connaissons souvent 
    les adresses IP vers lesquelles nous voulons envoyer des données, mais jamais 
    les adresses physiques (MAC). Il nous faut donc un moyen pour obtenir l’adresse 
    MAC d’une machine (sa carte réseau) à partir de son adresse IP. C’est le rôle 
    du protocole ARP, qui va effectuer la correspondance en toute transparence.
 
  -  
 
  - Le protocole ARP possède ses propres datagrammes avec 
    son en-tête. Cet en-tête est encapsulé directement au dessus de la couche 
    Accès réseau (Ethernet). Bien que l’en-tête ARP soit dans un en-tête Ethernet, 
    nous considérerons ARP du niveau Accès Réseau, car sa tâche est belle est 
    bien de permettre l’accès au réseau (connecter les périphériques entre eux 
    par les adresses MAC) et ne sert en aucun cas à effectuer des tâches de niveau 
    supérieur (comme le routage qui est réservé à IP). Etudions-le :
 
  -  
 
  -  
 
  
   
    
      -  
 
    
  
   
    
      -  
 
    
  
   
    
      -  
 
    
  
  - Quelles sont les informations contenues dans un datagramme 
    ARP ?
 
  - Ø      
    HARDWARE TYPE : ce champ 
    va contenir le type d’adresses physiques utilisées dans les champs SENDER 
    HA (pour l’émetteur du datagramme) et TARGET HA (pour le récepteur du datagramme). 
    Dans notre cas pour des adresses MAC (Ethernet) ce champ vaudra 1.
 
  - Ø      
    PROTOCOL TYPE : ce champ 
    va contenir le type d’adresses logiques utilisées dans les champs SENDER ADR 
    (adresse de l’émetteur) et TARGET ADR (adresse du récepteur). Dans notre cas, 
    l’adressage logique utilisé est l’adressage IP : ce champ vaudra 0x0800 
    (hexadécimale).
 
  - Ø      
    HLEN 1 : pour spécifier 
    la taille de l’adressage physique : 6 octets pour Ethernet.
 
  - Ø      
    HLEN 2 : pour spécifier 
    la taille de l’adressage logique : 4 octets pour IP.
 
  - Ø      
    OPERATION : ce champ sert 
    à différencier les requêtes des protocoles ARP et RARP : ce second protocole 
    dont nous allons étudier le fonctionnement plu tard, partage avec ARP le même 
    en-tête :
 
  -                                           
    
 
  -                                           
    Question          Reply
 
  -                   
    ARP :              
         1                 
         2
 
  -                   
    RARP :            
         3                 
         4
 
  -  
 
  - Ø      
    SENDER HA : adresse physique 
    de l’émetteur.
 
  - Ø      
    SENDER ADR : adresse logique 
    de l’émetteur.
 
  - Ø      
    TARGET HA : adresse physique 
    du destinataire.
 
  - Ø      
    TARGET ADR : adresse logique 
    du destinataire.
 
  -  
 
  - Remarque : Pour rendre 
    la lecture plus aisée, nous avons colorés les champs représentant la même 
    entité. En effet, alors qu’une adresse IP est codée sur 32 bits (4 octets), 
    une adresse MAC est codée sur 48 bits (6 octets). C’est pour cela que les 
    champs colorés ne sont pas sur des lignes complètes.
 
  -  
 
  - Le fonctionnement va donc être le suivant : 
 
  - Ø      
    Nous sommes sur un réseau local 
    (le protocole ARP gérant les connections physiques entre machines directement 
    reliées entre elles, il ne peut franchir les routeurs). La machine A veut 
    communiquer avec B. Seulement elle ne connaît pas son adresse MAC.
 
  - Ø      
    A va envoyer sur le réseau un 
    datagramme « ARP QUESTION » avec son adresse physique, à destination 
    du broadcast physique (comme pour le broadcast IP, tous les bits sont à 1). 
    Cela va correspondre à l’adresse : ff :ff :ff :ff :ff :ff 
    en hexadécimale. L’adresse logique de l’émetteur sera celle de A, et celle 
    du récepteur celle de B. Cette opération signifie : « Est-ce que 
    l’ordinateur ayant l’adresse IP X.X.X.X pourrait m’envoyer son adresse MAC ? »
 
  - Ø      
    B va alors répondre à A directement par 
    une « ARP Reply », en lui donnant son adresse physique.
 
  - Ø      
    A va mémoriser la correspondance 
    MAC/IP dans sa « table ARP », et va pouvoir communiquer avec B.
 
  -  
 
  - Pour mémoriser les adresses dernièrement utilisées, le protocole 
    ARP possède une table. Le contenu de cette table peut être connu sous UNIX 
    ou DOS par la commande ‘arp –a’.
 
  -  
 
  - Il faut noter qu’à ce moment, toutes les machines du réseau 
    écoutent l’échange (réseau non switché), et peuvent mettre à jour leurs tables 
    ARP. La bande passante du réseau est ainsi économisée : la réponse se 
    fait non pas en broadcast, mais en unicast (les données sont adressées uniquement 
    à la machine réceptrice, et non pas à toutes comme en broadcast). De plus, 
    les tables ARP permettant de mémoriser un certain nombre de correspondances 
    d’adresses (une table ARP garde en mémoire les correspondances environ 20 
    minutes), ce genre d’opération ne se produit qu’une fois.
 
  -  
 
  - Remarque : Si lors d’une 
    tentative de connection, une machine ne répond plus, toutes les machines « entendant » 
    l’échec de réponse suppriment la correspondance existante (elles reçoivent 
    un message d’erreur ICMP : voir plus loin). De même, si B n’avait 
    pas répondu à A, A aurait continué de poser la question indéfiniment.
 
  -  
 
  -                
     B.   
    Le protocole RARP
 
  -  
 
  -     Ce protocole est utilisé principalement 
    par les machines démarrant sur un réseau où elles ne connaissent pas leur 
    adresse IP. Elles vont alors envoyer les mêmes datagrammes que le protocole 
    ARP, sous forme cette fois-ci de « RARP Question », en spécifiant 
    comme adresse physique de l’émetteur sa propre adresse Mac, et a destination 
    du broadcast physique. Un serveur RARP habilité à délivrer une adresse IP 
    à cette machine répondra en unicast, et lui fournira son adresse.
 
  -  
 

Menu