Vous êtes sur la page 1sur 34

Protocoles ARP & RARP

Enseignant: Omar Cheikhrouhou

Omar Cheikhrouhou
Rfrences

 RFC 826
 RFC 814
 Cours Maher Ben jemaa (ENIS)
 Cours Bernard Cousin
Introduction

 La transmission des datagrammes IP sur le


rseau physique ncessite que ces
datagrammes soient encapsuls dans des
trames de couche de liaison de donnes
(couche 2 du modle OSI).
 Les trames de couche liaison de donnes,
telles que les trames Ethernet doivent
contenir des adresses matrielles (adresses
MAC).
Problme

Comment l'metteur peut connatre


ladresse MAC de rcepteur sachant quil
ne connat que son adresse IP ??
Solution

 Solution statique :
Table dassociation entre adresse IP et
adresse MAC.
 Difficult de mise jour

 Taille de la table serai trop grand

 Solution dynamique:

Protocole de rsolution dadresse ARP


(Address Resolution Protocol).
Le protocole ARP
Principe
(1)Hte A veut envoyer un
datagramme IP vers lhte B
HOST - A HOST- B (2) Lhte A envoie sur le
rseau une trame en
IP diffusion, appel une
IP
requte ARP, contenant les
adresses IP et MAC de A
(1) ainsi ladresse IP de B en
incluant un champ destin
ARP ARP contenir ladresse MAC de
destination
(3)Lhte B rpond en encodant
Ethernet Driver Ethernet Driver
sa propre adresse matrielle
dans une trame de rponse
(3)
ARP
(4)Lhte A envoie alors le
(2) datagramme IP vers le hte
B
(4)
Fonctionnement dARP
 Rseau Local:
 On peut envoyer une requte ARP en diffusion
tous les nuds du rseau local pour dterminer
l@MAC du hte cible.
 Les machines non concernes ne rpondent pas.
 Gestion du cache pour ne pas effectuer de requte
ARP chaque mission.
 Lorsque la requte ARP est reu, la couche liaison
de donnes au niveau du nud cible qui
correspond ladresse IP concern rpond avec un
message ARP qui contient la paire (adresse
MAC,adresse IP) .
Fonctionnement dARP

 Rseau distant:
 Dans ce cas, lmetteur doit savoir l@MAC
du port du routeur auquel le datagramme IP
sera transmis.
 Problme:

Mais le protocole ARP est encapsul par le


protocole du couche liaison alors ce
protocole ne peut pas franchir un routeur car
la transmission dun paquet par un routeur IP
ncessite une encapsulation IP.
Fonctionnement d ARP

Solution:
Le Proxy ARP permet un routeur de faire croire
que les machines des deux rseaux se trouvent
sur le mme rseau. Pour cela, il rpond lui-
mme aux requtes ARP concernant des
adresses situes de l'autre ct de la source de
la requte.
Il trompe ainsi la source qui associera l'adresse
IP du destinataire l'adresse physique du
routeur.
Le Proxy ARP implique que le routeur ait
connaissance des diffrentes stations se
trouvant sur chaque rseau.
Format de la trame ARP

Le type de Le type de La taille des La taille des Le code de


matriel protocole adresses adresses lopration
matrielles de protocole ARP
2 octets 2 octets 1 octets 1 octet 2 octets
Adresse MAC source Adresse IP source
6 octets 4 octets

Adresse MAC destination Adresse IP destination


6 octets 4 octets
Le format de la trame ARP

 Type Matriel: Spcifie le type de linterface


matrielle (Hardware).
Exemple de type matriel
Type Rseau
Matriel Correspondant

1 Ethernet

4 Anneau Jetons
Proteon
Pronet
18 Fibre Optique
Le format de la trame ARP

Type de protocole : Spcifie ladresse de


protocole de couche suprieur pour laquelle
ladresse matriel est dsire.
Dans le cas des rseaux TCP/IP, l'adresse de
protocole est ladresse IP, la valeur utilise est
0x 0800.
Hlen: correspond la longueur en octets de
ladresse matriel.(@Ethernet=6 octets)
Plen: correspond la longueur en octets de
ladresse du protocole.(@IP=4octets)
Le format de la trame ARP
 Le code dopration: Indique si le paquet
ARP contient une requte (1) ou une rponse
ARP (2)
 Adresse MAC source : Contient ladresse
matrielle (@MAC) de lmetteur.
 Adresse IP source :Contient ladresse IP de
lmetteur.
 Adresse MAC cible :Contient ladresse MAC
du nud cible .
 Adresse IP cible:Contient ladresse IP du
nud cible.
Encapsulation ARP dans Ethernet.
2o 2o 1o 1o 1o 6o 4o 6o 4o

Type Type AM IP AM IP
Hlen Plen Opration
Matriel Protocole metteur metteur cible cible

Paquet ARP

6o 6o 2o 4o

Adresse de Adresse de Ether Type Trame


destination source CRC
0806 hex Ethernet

Indique des donnes ARP


Exemple de message ARP

Requte ARP

. 01 0C00008A7B2C 192.120.13.1 FFFFFFFFFFF 192.120.13.5

Rponse ARP

. 02 0C0000328A50 192.120.13.5 0C00008A7B2C 192.120.13.1


Exemple ARP
Taille Taille @Matriel
02-60-8C @Protocole
192.168. @Matriel @Protocole
192.168.
Matriel
0001 Protocole
0800 6 4 OP
1
Matriel Protocole D9-D8-D2
Source 223.208
Source Cible 223.207
Cible

2 2 1 1 2 6 4 6 4

Emission de la trame en Broadcast


La machine 192.168.223.207 rpond

02-60-8C
2
D9-E3-ED

Recopie de lentte de la trame


Inversion des champs source & destination
Ajout de ladresse matrielle
Marque la rponse ARP
Envoi de la trame - rponse
Plan

 Protocole ARP
 Format de la trame ARP
 Mcanisme de mise Jour de la Cache
 Doublon dadresses
 Protocole RARP
Mcanisme de Mise Jour du Cache
Organigramme de Rception dun paquet ARP
Debut

Je prends en charge Non


ce type de matriel
Rejet
?
oui
Je comprends ce type Non
Rejet
de protocole?

oui
Flag Merge mis 0

<type protocole,adr IP Non


metteur>est dans la cache
ARP?
oui
Mise jour de LAM emetteur dans le cahe ARP Flag Merge mis 1

Non
Suis-je ladresse IP cible Rejet

oui
Oui
Le Flag merge 0?
Non

Oui
Ajout de <type protocole,adresse de protocole metteur,
AM metteur>dans le cache ARP

Non
Le champ opration Rejet
gale 1

Oui

1-Echange des champs adresses source et cible dans le paquet ARP


2-Champ opration indique comme rponse ARP (2)
3-Renvoi du paquet ARP lmetteur

Fin
 Remarque sur le diagramme:
 Une table de cache peut tre mise jour par une requte
ARP. Seule la table de cache ARP pour les nuds
disposant dune entre pour ladresse IP de lmetteur
est modifie.

Table de Adr. IP Adr..mat


Adr. IP cache ARP
199.12.1.1 0C000032BA5
199.12.1.1

Adr.mat
0C00008A7B2C
Diffusion de la requte ARP Entre Modifie
Pour la Nouvelle
Adr.mat
0C00008A7B2C

Table de Adr. IP Adr..mat


cache ARP 199.12.1.1 0C000032BA5
 Si le nud cible possde dj une entre dans
sa table de cache ARP pour la paire <type de
protocole,adresse de protocole de lmetteur>, la
nouvelle adresse remplace lancienne. Cela peut
survenir dans les cas suivants:
 Un nouveau matriel de rseau a t ajout sur
lmetteur de la requte ARP.
 Les adresse IP ont t raffect.
 Il y a un problme de doublon dadresse.

 Les tables de cache ARP sont souvent


implmentes avec un mcanisme de
temporisation(Timeout) pour la mise jour des
entre des tables de cache.
Le protocole RARP
Introduction

 Le Besoin :
 L'adresse IP d'une machine est configurable
(elle dpend du rseau sur lequel elle se
trouve) et est souvent enregistre sur la
mmoire secondaire o le systme
d'exploitation l'accde au dmarrage.
 Ce fonctionnement usuel n'est plus possible
ds lors que la machine est une station sans
mmoire secondaire (diskless station).
Introduction

 Problme :
 Dterminer un mcanisme permettant la
station dobtenir son adresse IP depuis le
rseau.
 La Solution :
 Protocole de bas niveau appel Reverse
Adress resolution Protocol.
 Permet dobtenir son adresse IP partir de
ladresse physique qui lui est associe.
Principe

 Un serveur RARP sur le rseau a pour rle de


fournir les adresses IP associes aux adresse
physiques des stations du rseau.
 Le serveur possde une base de donnes
contenant les couples <@ physique,@ IP>.
 Les stations mettent une requte RARP sur le
rseau, consistant demander ladresse IP
associe leur adresse physique.
Principe

 Les requtes sont propages vers le, ou les,


serveurs RARP par diffusion. Les serveurs
rpondent par un message de type RARP.
Fonctionnement

 Une station voudrant savoir son adresse IP


envoie en diffusion une requte RARP.
 Tous les nuds sur le rseau reoivent la
requte mais seul le(s) nud(s) tenant(s) lieu de
serveur(s) RARP rpondent.
 Le serveur RARP consulte sa table de
correspondance.
 Sil trouve une entre dans cette table
correspondant l@MAC dans la requte, il
envoie l@ IP dans une rponse RARP.
Fonctionnement

 En cas de plusieurs serveurs RARP,


chacun deux traitent la requte RARP.
 Le client RARP accepte la premire
rponse reue et ignore toutes les autres.
Format de la trame RARP
 Les paquets de requte et de rponse RARP
utilisent le mme format que les paquets ARP
avec EtherType=8035 (hexadcimal).
 Exemple:
 Requte RARP

Code
Opration @MAC source IP source @MAC destination IP destination

. 03 0C00008A7B2C 0.0.0.0 FFFFFFFFFFFF 0.0.0.0

 Rponse RARP

. 04 0C0000328A50 192.120.13.1 0C00008A7B2C 192.120.13.5


Problmes

Si on dispose dun seul serveur RARP et quil soit


indisponible (panne par exemple) ,les clients
RARP ne peuvent pas dmarrer et ils envoient
continuellement des requtes RARP en diffusion.

La charge du trafic rseau est alourdie.


On dit quil y a une tempte RARP.
Serveurs RARP principaux et auxiliaires

 La solution consiste utiliser plusieurs serveurs


RARP. Et mieux on dsigne un serveur principal
et les autres seront des serveurs secondaires.
 Le serveur primaire reoit la demande ou la
requte RARP, il recherche dans la table de
correspondance ladresse IP de la machine
demandeuse et la renvoie cette dernire. Les
serveurs secondaires enregistrent lheure de la
demande RARP.
Serveurs RARP principaux et auxiliaires

 Dans le cas o le serveur primaire est non


disponible, le temporisateur de la machine
demandeuse expire. Celle-ci renvoie la copie de
sa demande RARP.
 Lorsquun serveur secondaire reoit une
deuxime copie dune demande, peu de temps
aprs avoir la premire, il rpond aprs un dlai
alatoire pour viter lencombrement du trafic
par les rponses des autres serveurs
secondaires.
La commande ARP

 arp <hostname> : rsout l'adresse de la


station passe en paramtre
 arp -a : affiche le contenu de la table

 arp -s <hostname> < @MAC> : ajoute une


entre dans la table d'association d'adresse
 arp -d <hostname> : supprime une entre de
la table d'association d'adresse
man arp (sous Linux) &
arp /? (sous Windows)