ARP/RARP (rfc 826 / rfc 903)
Transcription
ARP/RARP (rfc 826 / rfc 903)
Fiche Technique Le protocole ARP ARP 10.10.10.3 10.10.10.4 52-54-05-26-3a-51 52-54-05-f9-6f-4c Table ARP Table ARP Table ARP 10.10.10.1 | Table ARP 52-54-05-f5-35-01 10.10.10.2 10.10.10.2 | 52-54-05-f9-6e-fc 10.10.10.1 52-54-05-f9-6e-fc 52-54-05-f5-35-01 ARP/RARP (rfc 826 / rfc 903) La communication entre machines ne peut s'effectuer qu'à travers l'interface physique identifié par l'adresse MAC. Les applicatifs eux ne connaissant que des adresses IP, comment établir le lien adresse IP / adresse physique? Les adresses IP sont attribuées indépendamment des adresses matérielles des machines. Pour envoyer un datagramme dans l’internet, le logiciel réseau doit convertir l’adresse IP en une adresse physique qui est utilisée pour transmettre la trame. C’est le protocole ARP (Adress Resolution Protocol) qui effectue cette traduction en s’appuyant sur le réseau physique . ARP permet aux machines de résoudre les adresses sans utiliser une table statique. Une machine utilise ARP pour déterminer l’adresse physique destinataire en diffusant, sur le sous réseau, une requête ARP qui contient l’adresse IP à traduire. La machine possédant l’adresse IP concernée répond en renvoyant son adresse physique. Au moment de son initialisation, une machine sans mémoire de masse doit contacter son serveur pour déterminer son adresse IP, afin de pouvoir utiliser les services TCP/IP. Le protocole RARP (Reverse ARP) permet à une machine d’utiliser son adresse physique pour déterminer son adresse logique dans l’Internet. Le mécanisme RARP permet à un calculateur de se faire identifier comme cible en diffusant sur le réseau une requête RARP. Les serveurs recevant le message examinent leur table et répondent au client. Une fois l’adresse IP obtenue, la machine la stocke en mémoire vive et n’utilise plus RARP jusqu'à ce qu’elle soit réinitialisée. Le numéro de protocole désignant un paquet ARP est 0x806, celui de RARP 0x805. Structure du datagramme ARP 0 8 16 Ident espace d’adressage réseau physique Ident espace d’adressage du protocole Longueur Adresse Longueur Adresse Code physique Protocole Adresse Physique Emetteur de la trame Adresse Physique (suite) Adresse du protocole de l’émetteur Adresse du protocole de l’émetteur (suite) Adresse physique du Récepteur Adresse physique du récepteur du Récepteur (suite) Adresse du protocole du Récepteur ARP.doc 1/1 Fiche Technique Le protocole ARP Champs d’une trame ARP identificateur de l' espace d' adressage du réseau physique Pour l'instant la seule valeur définie concerne les réseaux Ethernet classiques. La valeur est 1. Pour d'autres médiums, comme les réseaux radio, d'autres valeurs pourraient être utilisées; identificateur de l' espace d' adressage du protocole Indique le protocole pour lequel on recherche l'adresse. 0x0800, indique le protocole IP; longueur de l' adresse physique Indique la longueur de l'adresse MAC, en principe 6, bien que des adresses sur 2 octets soient prévues par le standard. longueur de l' adresse du protocole Indique la longueur en octets de l'adresse du protocole de niveau réseau. Pour le protocole IP ce champ vaut 4 code Indique la nature du paquet: • 1 pour une demande d'adresse, • 2 pour une réponse. adresse physique de l' émetteur Contient l'adresse Ethernet de l'émetteur du paquet. Dans le cas d'une réponse ce champ contient l'information recherchée. adresse de protocole de l' émetteur Contient l'adresse IP de l'émetteur du paquet. adresse physique du récepteur Contient l'adresse Ethernet du récepteur du paquet. Dans le cas d'une demande cette adresse est vide. adresse de protocole du récepteur Contient l'adresse IP du destinataire du paquet. Extrait du RFC 1700 ADDRESS RESOLUTION PROTOCOL PARAMETERS The Address Resolution Protocol (ARP) specified in [RFC826] has several parameters. The assigned values for these parameters are listed here. REVERSE ADDRESS RESOLUTION PROTOCOL OPERATION CODES The Reverse Address Resolution Protocol (RARP) specified in [RFC903] uses the "Reverse" codes below. DYNAMIC REVERSE ARP The Dynamic Reverse Address Resolution Protocol (DRARP) uses the "DRARP" codes below. For further information, contact: David Brownell ([email protected]). INVERSE ADDRESS RESOULUTION PROTOCOL The Inverse Address Resolution Protocol (IARP) specified in [RFC1293] uses the "InARP" codes below. Assignments: ARP.doc 2/2 Fiche Technique Le protocole ARP Number Operation Code (op) ------ -------------------------1 REQUEST 2 REPLY 3 request Reverse 4 reply Reverse 5 DRARP-Request 6 DRARP-Reply 7 DRARP-Error 8 InARP-Request 9 InARP-Reply 10 ARP-NAK Number -----1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Reference --------[RFC826] [RFC826] [RFC903] [RFC903] [David Brownell] [David Brownell] [David Brownell] [RFC1293] [RFC1293] [Mark Laubach] Hardware Type (hrd) ----------------------------------Ethernet (10Mb) Experimental Ethernet (3Mb) Amateur Radio AX.25 Proteon ProNET Token Ring Chaos IEEE 802 Networks ARCNET Hyperchannel Lanstar Autonet Short Address LocalTalk LocalNet (IBM PCNet or SYTEK LocalNET) Ultra link SMDS Frame Relay Asynchronous Transmission Mode (ATM) HDLC Fibre Channel Asynchronous Transmission Mode (ATM) Serial Line Asynchronous Transmission Mode (ATM) References ---------[JBP] [JBP] [PXK] [JBP] [GXP] [JBP] [JBP] [JBP] [TU] [MXB1] [JKR1] [JXM] [RXD2] [GXC1] [AGM] [JXB2] [JBP] [Yakov Rekhter] [Mark Laubach] [JBP] [MXB1] Protocol Type (pro) Use the same codes as listed in the section called "Ethernet Numbers of Interest" (all hardware types use this code set for the protocol type). REFERENCES [RFC826] Plummer, D., "An Ethernet Address Resolution Protocol or Converting Network Protocol Addresses to 48-bit Ethernet Addresses for Transmission on Ethernet Hardware", STD 37, RFC 826, MIT-LCS, November 1982. [RFC903] Finlayson, R., Mann, T., Mogul, J., and M. Theimer, "A Reverse Address Resolution Protocol", STD 38, RFC 903, Stanford University, June 1984. [RFC1293] Bradley, T., and C. Brown, "Inverse Address Resolution Protocol", RFC 1293, Wellfleet Communications, Inc., January 1992. Commande Arp Affiche et modifie les entrées du cache ARP (Address Resolution Protocol), qui contient une ou plusieurs tables permettant de stocker les adresses IP et leurs adresses physiques Ethernet ou Token ARP.doc 3/3 Fiche Technique Le protocole ARP Ring résolues. À chaque carte réseau Ethernet ou Token Ring installée sur l'ordinateur correspond une table distincte. Syntaxe arp [-a [AdrInet] [-N AdrIface]] [-g [AdrInet] [-N AdrIface]] [-d AdrInet [AdrIface]] [-s AdrInet AdrEther [AdrIface]] Paramètres -a [AdrInet] [-N AdrIface] Affiche les tables en cours du cache ARP de toutes les interfaces. Pour afficher l'entrée du cache ARP d'une adresse IP spécifique, utilisez la syntaxe arp -a en affectant au paramètre AdrInet une adresse IP. Pour afficher la table du cache ARP d'une interface spécifique, utilisez la syntaxe -N AdrIface en affectant au paramètre AdrIface l'adresse IP attribuée à l'interface. Le paramètre -N tient compte de la casse. -g [AdrInet] [-N AdrIface] Identique à -a. -d AdrInet [AdrIface] Supprime une entrée correspondant à une adresse IP spécifique, représentée par AdrInet. Pour supprimer une entrée dans une table correspondant à une interface spécifique, utilisez le paramètre AdrIface, en lui affectant l'adresse IP attribuée à l'interface. Pour supprimer toutes les entrées, utilisez le caractère générique astérisque (*) à la place de AdrIface. -s AdrInet AdrEther [AdrIface] Ajoute dans le cache ARP une entrée statique qui résout l'adresse IP AdrInet en l'adresse physique AdrEther. Pour ajouter une entrée statique du cache ARP dans la table d'une interface spécifique, utilisez le paramètre AdrIface en lui affectant une adresse IP attribuée à l'interface. Remarques : Les adresses IP de AdrInet et AdrIface sont exprimées en notation décimale à points. L'adresse physique de AdrEther se compose de six octets exprimés en notation hexadécimale et séparés par des traits d'union (par exemple, 00-AA-00-4F-2A-9C). Les entrées ajoutées à l'aide du paramètre -s sont statiques et n'ont pas de durée de vie limitée dans le cache ARP. Elles sont supprimées si le protocole TCP/IP est arrêté et démarré. Exemples arp –a : affiche les tables du cache ARP de toutes les interfaces. arp -a -N 10.0.0.99 : affiche la table du cache ARP de l'interface dont l'adresse IP est 10.0.0.99. arp -s 10.0.0.80 00-AA-00-4F-2A-9C : ajoute dans le cache ARP une entrée statique qui résout l'adresse IP 10.0.0.80 en l'adresse physique 00-AA-00-4F-2A-9C. Résultat d' une commande ARP -a Sous Windows Interface : 10.10.10.2 on Interface 2 Adresse Internet 10.10.10.1 Adresse physique 52-54-05-f9-6e-fc Type dynamique Sous Unix - Like linservbx2.infodit (10.10.10.2) at 52:54:05:F5:35:01 [ether] on eth0 ? (10.10.10.254) at <incomplete> on eth0 Exercice Analysez les trames suivantes, que font-elles? ARP.doc 4/4 Fiche Technique Le protocole ARP Qui envoie le message? Qui répond? Tracez le schéma du réseau en indiquant les adresses IP, MAC et le contenu des tables ARP? ARP.doc 5/5