Entête RARP

Entête RARP

1 – Définition du protocole RARP

Le protocole RARP, signifiant Reverse Address Resolution Protocol, fonctionne en couche Internet du modèle TCP/IP correspondant à la couche 3 du modèle OSI. L’objectif de RARP est de permettre de résoudre une adresse IP par l’intermédiaire de l’adresse physique correspondante d’un host distant. Le protocole Rarp apporte un mécanisme de « translation » pour résoudre ce besoin.

Vous trouverez tous les détails de l’entête RARP et du protocole dans la RFC 903 « A Reverse Address Resolution Protocol ».

2 – Structure de l’entête RARP

Voici l’entête du protocole ARP dans le cadre spécifique d’Ip sur Ethernet.

entete-rarp entete rarp partie 1

entete-rarp entete rarp partie 2

3 – Définition des différents champs RARP

3.1 – Hardware type

Ce champs est placé en premier afin d’indiquer quel est le format de l’entête Arp. Voici les différentes valeurs possibles.

  • 01 – Ethernet (10Mb) [JBP]
  • 02 – Experimental Ethernet (3Mb) [JBP]
  • 03 – Amateur Radio AX.25 [PXK]
  • 04 – Proteon ProNET Token Ring [Doria]
  • 05 – Chaos [GXP]
  • 06 – IEEE 802 Networks [JBP]
  • 07 – ARCNET [JBP]
  • 08 – Hyperchannel [JBP]
  • 09 – Lanstar [TU]
  • 10 – Autonet Short Address [MXB1]
  • 11 – LocalTalk [JKR1]
  • 12 – LocalNet (IBM PCNet or SYTEK LocalNET) [JXM]
  • 13 – Ultra link [RXD2]
  • 14 – SMDS [GXC1]
  • 15 – Frame Relay [AGM] 
  • 16 – Asynchronous Transmission Mode (ATM) [JXB2]
  • 17 – HDLC [JBP]
  • 18 – Fibre Channel [Yakov Rekhter]
  • 19 – Asynchronous Transmission Mode (ATM) [RFC2225]
  • 20 – Serial Line [JBP] 
  • 21 – Asynchronous Transmission Mode (ATM) [MXB1]
  • 22 – MIL-STD-188-220 [Jensen]
  • 23 – Metricom [Stone]
  • 24 – IEEE 1394.1995 [Hattig]
  • 25 – MAPOS [Maruyama]
  • 26 – Twinaxial [Pitts]
  • 27 – EUI-64 [Fujisawa]
  • 28 – HIPARP [JMP]

3.2 – Protocol type

Ce champs indique quel est le type de protocole couche 3 qui utilise Rarp. Voici la valeur propre à Ip.

  • 0x0800 – IP

3.3 – Hardware Address Length

Ce champ correspond à la longueur de l’adresse physique. La longueur doit être prise en octets. Voici des exemples de valeurs courantes.

  • 01 – Token Ring
  • 06 – Ethernet

3.4 – Protocol Address Length

Ce champ correspond à la longueur de l’adresse réseau. La longueur doit être prise en octets. Voici des exemples de valeurs courantes.

  • 04 – IP v4 
  • 16 – IP v6

3.5 – Operation

Ce champ permet de connaître la fonction du message et donc son objectif. Voici les différentes valeurs possibles. « There are two opcodes: 3 (‘request reverse’) and 4 (‘reply reverse’). »

3.6 – Sender Hardware Address

Ce champ indique l’adresse physique de l’émetteur. Dans le cadre spécifique d’Ethernet, cela représente l’adresse Mac source.

3.7 – Sender Internet Address

Ce champ indique l’adresse réseau de l’émetteur. Dans le cadre spécifique de TCP/IP, cela représente l’adresse Ip de source.

3.8 – Target Hardware Address

Ce champ indique l’adresse physique du destinataire. Dans le cadre spécifique d’Ethernet, cela représente l’adresse Mac destination. Si c’est une demande Arp, alors, ne connaissant justement pas cette adresse, le champs sera mis à 0.

3.9 – Target Internet Address

Ce champ indique l’adresse réseau du destinataire. Dans le cadre spécifique de TCP/IP, cela représente l’adresse IP de destination.

4 – Fonctionnement

Rarp étant un protocole de niveau 3, il s’appui sur une entête Ethernet à 14 octets. On y retrouvera spécifiquement le flag « type de protocole » égale 0x8035. (0x0806 pour ARP) 

5 – Serveur Rarp

Voici RARPD 1.15 qui est un serveur RARP. Fonctionnant sous NT/Win2K. En plus de l’exe, vous y trouverez la source en C.

6 – Les vidéos

  • 6.1 - RARP Reverse ARP Vidéo en Anglais

    In this video you can learn about REVERSE ARP ( RARP). ARP is a very important topic to understand PC to PC , PC to ROUTER & PC to other Network Node communication for IPv4 network.

    RARP Reverse ARP

  • 6.2 - RARP protocol overview Vidéo en Anglais

    Cette vidéo en anglais présente de manière ludique le protocole RARP (Reverse Address Resolution Protocol).

    RARP protocol overview

7 – Suivi du document

Création et suivi de la documentation par _SebF

Modification de la documentation par shamanyan

  • Correction du paragraphe 3.4 en spécifiant que ipv6 = 16 et non pas 06

8 – Discussion autour de l’entête RARP

Vous pouvez poser toutes vos questions, faire part de vos remarques et partager vos expériences à propos de l’entête RARP. Pour cela, n’hésitez pas à laisser un commentaire ci-dessous :

Commentaire et discussion

5 commentaires sur la page : “Entête RARP”

  1. Bonjour !

    Je ne vois pas la différence avec l’ARP ? Le but des deux est le même non ? Récupérer l »‘adresse MAC d’une machine dont l adresse est inconnue ? Si tel est le cas pourquoi l arp n est il pas suffisant ?

    De plus la première vidéo est elle vraiment en anglais ? Je n’ai rien compris !

    Merci d avance !

    1. Il me semble que l’ARP sert à connaitre l’adresse MAC si on dispose de l’IP.
      Le RARP sert à connaitre l’IP si on dispose de la MAC.

      1. Lu Anthony,

        Tu as raison, RARP et la requête inverse d’ARP. Et donc permet de connaitre l’IP d’une MAC Address. Et d’où le besoin d’une base.
        Bon de manière concrête, RARP n’est plus utilisé 🙂

        @+
        Sebastien FONTAINE

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *