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