Entête RARP
Sommaire
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.
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
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.
6.2 - RARP protocol overview
Cette vidéo en anglais présente de manière ludique le protocole RARP (Reverse Address Resolution Protocol).
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 :
S’il vous plaît la commande pour afficher la table RARP
Lu Hamza,
Sous windows : arp -a
Sous Linux : arp -a
@+
Sebastien FONTAINE
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 !
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.
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