Si vous voyez cette note
c'est que votre navigateur refuse les scripts Java.

Des notes destinées à éclaircir certains points
ou à apporter d'intéressants suppléments d'information
sont programmées pour apparaître lorsqu'on passe le curseur de souris
sur des icônes telles que
          

Pour des raisons de sécurité, certains navigateurs
bloquent l'apparition de ces notes (programmées en JavaScript)
.

Des précieuses informations, aidant à comprendre,
à se repérer, à étendre ses connaisances sont alors perdues.
Ainsi que les réponses aux exercices,


AUTORISEZ DONC VOTRE NAVIGATEUR A OUVRIR CES SCRIPTS !


Ce site n'a aucun but commercial !
Il n ' installe pas de COOKIES

TCP/IP

8 ° ARP - Adress Resolution Protocol
Sommaire

du Site
Choix par Menu ou Parcours Séquentiel
 
Avant :
F ragmentation
  
Suite : TCP

 

Prérequis : solide connaissance de l'adressage IP et MAC.
Protocole IP
Adresses MAC
Double adressage sur Ethernet

Pourquoi ARP ?

Dans les réseaux Ethernet, chaque station est désignée par deux adresses de types différents
mais, bien entendu, elles désignent le même hôte.

Il s'agit de l'adresse IP et de l'adresse MAC.

Vous connaissez bien maintenant les adresses IP et leur souplesse d'utilisation.
Pourquoi alors les doubler d'une adresse MAC pour chaque station du réseau ?

D'abord qu'est-ce qu'une adresse MAC ?
C'est un code en six octets unique pour chaque station du réseau.
En fait, chaque carte réseau comporte une adresse MAC dite adresse matérielle de la carte.
Le seul, mais énorme, avantage des adresses MAC est leur très rapide décodage par les cartes réseau.
Elles trouvent leur utilité seulement dans un réseau local Ethernet - IEEE 802.3
A l'extérieur, les adresses IP restent les seules utilisables.

L'adressage MAC permet une reconnaissance rapide des trames de données
par les destinataires du réseau local au niveau des couches basses du protocole.

Pour en savoir plus su les adresses MAC, cliquer ici :

Deux protocoles ont été mis en place pour faire la relation entre adreses IP et adresses MAC des hôtes d'un réseau.

ARP : Adress Resolution Protocol : Protocole de résolution d'adresse.
Permet à un nœud d'un réseau de connaître l'adresse matérielle (MAC) d'un autre nœud du même réseau,
en connaissant seulement son adresse IP.

RARP : Reverse ARP : ARP Inverse.
Permet à un nœud d'un réseau de connaître sa propre adresse IP.
Indispensable pour les stations sans disque pour stocker les données.

Informations supplémentaires sur RARP ici :


Protocole ARP


Une couche logicielle a été mise en place au niveau 3 réseau (occupant lemême niveau que IP)
dans chacune des machines communicantes.
Ces couches dialoguent suivant un protocole que nous allons décrire succintement ci-dessous.

Pour obtenir l'adresse physique du nœud " B " connaissant l'adresse IP de " B ",
le nœud " A " lance une requête ARP.
Cette requête est constituée par une trame de niveau 2 liaison encapsulant un paquet spécial appelé " Paquet ARP "
de même niveau qu'un paquet IP mais de constitution différente.

La trame ARP :


1° - Champ " Type du matériel couche 1 "

Valeur du champ
Description
1
Ethernet ( 10 Mbits/s )
2
Ethernet expérimental
3
Radio Amateur AX 25
4
Anneau à jeton ProNet
5
ChaosNet
6
Réseau IEEE 802
7
ARCNET
8
Hyperchanel
9
Lanstar
10
Autonet
11
Local Talk
12
Local Net
13
Ultra Link
14
SMDS
15
Frame relay
16
ATM ( Asynchronous Transmission Mode )
17
HDLC
18
Fibre optique
19
ATM ( Asynchronous Transmission Mode )
20
Ligne sérielle
21
ATM ( Asynchronous Transmission Mode )

2° - Champ "Protocole" : 806

C'est l'ethertype 806 qui caractérise ces trames ARP et RARP.
Le logiciel de niveau 2, tout de suite après avoir reconnu que l'adresse MAC destination est la sienne,
dirige le restant de la trame (entre l'ethertype et le CRC) à la couche logicielle de la couche ARP-RARP


3° -Longueur de l'adresse matérielle
Nous rappelons que toute carte d'interface matérielle reliée au réseau possède une adresse matérielle fixe,
en principe unique au monde, appelée " adrese MAC ". Sa longueur est le plus souvent de 6 octets

4 Longueur d'adrese du protocole supérieur
Pour les adresses IP : 4 octets ou 6 octets (IPv6)

5° - Type d'opération

Valeur du champ
Type d'opération
Description
1
Requête ARP
2
Réponse ARP
3
Requête RARP
4
Réponse RARP
5
Requête DRARP
6
Réponse DRARP
7
Erreur DRARP
8
Requête InARP
9
Réponse InARP
10
NAK ARP

6° - Adresses suivantes

Il s'agit des adresse MAC et IP de la source émettrice de la requête et de la cible de cette requête.

· Le champ de l'adresse MAC du nœud cible est rempli aléatoirement : on fait cette requête pour la connaître.
Sa place est toutefois conservée pour compatibilité.

L'adresse IP de la station réceptrice : elle est connue, elle.

· Les adresses MAC et IP de la station émettrice de la trame
sont destinées à être enregistrées dans une mémoire du noeud dite Cache ARP.
Nous en verrons l'utilité plus loin.


Séquence de traitement d'une requête ARP


Rappelons qu'une station se sert d'ARP pour connaître l'adresse MAC d'une station dont elle connaît seulement l'adresse IP.
pour cela elle émet une trame dite "requête" ARP.

Habituellement, la carte d'interface physique d'un nœud ne traite une trame que si son adresse MAC correspond à l'adresse MAC de destination inscrite sur l'entête de la trame à traiter. Seulement, dans le cas présent, la machine émettrice de la trame ignore l'adresse MAC de la carte réceptrice visée et ne peut donc pas l'indiquer.

Heureusement, le logiciel implanté sur les cartes sait reconnaître, mis à part son adresse propre, un certain type d'adresses MAC dites "adresses de diffusion générale.
Voir : soit le paragraphe consacré aux diffusions un peu plus bas :
ou notre page consacrée aux "Adresses MAC" ,

Lorsque ce type d'adresse apparaît sur l'entête d'une trame, cette dernière est systématiquement traitée par le logiciel de couche physique de la carte, puis par le logiciel de niveau 2.
Après vérification d'intégrité par le CRC, le paquet encapsulé dans la trame est systématiquement transmis au logiciel de couche 3 désigné par le champ dit " Ether-Type ".

Toutes les machines du réseau soumettent donc le paquet ARP au logiciel de niveau 3. Celui-ci ne les accepte que si l'adresse IP de l'en-tête de deuxième niveau correspond à celle attribuée à la station visée. Seule la machine correspondant à l'adresse IP de destination contenue dans le paquet, répond à la requête IP

Plusieurs actions en résultent :

  • Le renvoi d'un paquet ARP contenant le couple d'adresses MAC et IP de la station en mono-diffusion vers l'émetteur initial de la requête.
  • L'inscription de ce couple dans une mémoire dite cache ARP par la machine émettrice de la requête
  • L'inscription du couple ARC IP d'adresses de la station émettrice dans le cache ARP de la station ciblée précédemment.
En somme, un cache ARP est une mémoire correspondant au tableau suivant (vide dans l'exemple)
CACHE ARP
Type de protocole
Adresse IP
Adresse MAC
Numéro d'interface
Délai
         
         
         
         

L'inscription des adresses MAC et IP de la cible dans le cache ARP de la source constitue la solution au problème posé.
En effet, les protocoles se servent de cette table pour déterminer l'une des adresses connaissant l'autre.

La commande DOS "arp -a" permet de visualiser partiellement le cache d'une machine : nous la décrivons en page suivante.



Ici, la station sur laquelle on a tapé la commande a pour IP = 192.168.0.2
Son cache ne contient qu'une ligne correspondant au routeur du réseau.
IP = 192.168.0.1 MAC = 00 09 5b a9 0d 24

D'autres exemples

Sur le serveur :
C:\>arp -a
Interface : 192.168.18.2 on Interface 2
Adresse Internet Adresse physique type
192.168.18.3 00-00-c0-ba-55-66 dynamique
192.168.18.4 00-80-ad-15-77-5d dynamique
C:\>

Sur une NT Workstation du même réseau :
C:\>arp -a
Interface : 192.168.18.4 on Interface 2
Adresse Internet Adresse physique type
192.168.18.2 00-40-33-9a-cc-58 dynamique
192.168.18.3 00-00-c0-ba-55-66 dynamique
C:\>

Sur une station W 95 du même réseau :
C:\>arp -a
Interface : 192.168.18.2 on Interface 2
Adresse Internet Adresse physique type
192.168.18.3 00-00-c0-ba-55-66 dynamique
192.168.18.4 00-80-ad-15-77-5d dynamique
C:\>


Le cache est volatil !


Les résultats ci-dessus disparaissent rapidement (en quelques minutes)
si aucune opération sollicitant les ordinateurs du réseau n'est faite dans cet intervalle.

Cette volatilité du cache, loin d'être un défaut, présente un avantage intéressant. Lequel d'après vous ?
Réponse ici :

Pour obtenir les adresse matérielles il vaut mieux utiliser : ipconfig /all sur chaque machine.


Question angoissante ! brrr...

Je répète depuis le début de l'étude du double adressage MAC - IP, que l'adressage par MAC a l'avantage d'être plus rapide
que l'adressage IP du fait de la position des adresses et par la nature du décodage,
les adresses MAC sont décodées beaucoup plus rapidement que les adresses IP.

Oui mais ... si pour accéder à une station, un hôte doit d'abord faire une requête ARP,
puis attendre la réponse de l'hôte visé, il est évident que cette manière d'adresser est beaucoup plus lente
que celle qui consisterait à se passer des adresses MAC et de faire en sorte que les trames soient décodées par leur adresse IP !

Aie, aie, aie, on aurait fait tout celà pour rien ?

Qu'en pensez-vous ?
La réponse en cliquant ci-dessous.

 



Commande "arp"

Pour lancer cette commande : passer windows en mode commande.
Démarrer Exécuter
Si vous ne passez pas de paramètres, vous obtenez le mode d'emploi.

Remarquer qu'on peut ajouter ou enlever manuellement une entrée du cache par la cde "arp -s"

Algorithme de traitement d'un paquet ARP

 


DIFFUSIONS GENERALES


Il s'agit de trames diffusées à tous les hôtes d'un réseau

Rappelons que les cartes de liaison des nœuds du réseau au média physique de transmission (Media Access Card)
sont généralement dotées d'un numéro, en principe unique, au monde appelé adresse MAC (Media Access Control) sur 6 octets.
Un organisme mondial attribue un numéro unique d'identification à chaque constructeur.
Les constructeurs numérotent leurs cartes sans doublons sur les trois octets qui suivent.



Remarquer le bit le plus à gauche : bit de diffusion générale s'il est à 1.

Le logiciel de couche 2 liaison (LLC)

  1. Encapsule toute trame provenant de sa couche immédiatement supérieure (couche 2 réseau) sous une entête comportant son adresse MAC puis celle de la carte du nœud à laquelle la trame est destinée, avant de l'envoyer sur la ligne de transmission .

    MAC source
    MAC cible
    Paquet de couche 3 (éventuellement ARP ou RARP)
    CRC


    Trame (couche physique)

  2. Lorsqu'une trame arrive, le logiciel de couche 2 dans la carte examine l'AM cible pour vérifier si elle correspond ou non à sa propre adresse MAC. Sinon il ne va pas plus loin. Si oui, il transmet le paquet au processus de couche 3 après l'avoir débarrassé des AM de tête et du CRC en queue.
Diffusion générale (broadcasting)

Si le nœud émettant la trame souhaite s'adresser à tous les nœuds du réseau simultanément
il constitue une adresse MAC dont le bit de diffusion est à 1 (en fait ellemet tous les bits un).
Le logiciel de chaque carte est alors tenu de transmettre inconditionnellement ce type de paquet
à la couche supérieure dans les mêmes conditions que ci-dessus.

Diffusion de couche 3, (pour mémoire)

  • Au niveau de la couche 3, les nœuds du réseau sont connus par leur adresse IP.
  • Les paquets de couche 3 contiennent l'adresse IP de la source émettrice et celle du nœud destinataire.
  • Le logiciel de couche 3 ne traite en ne transmet un paquet à la couche 4 (débarrassé de l'entête de couche 3)
    que si sa propre adresse IP correspond à ladite adresse de destination.

Notons au passage que les raisons de ce double emploi des adresses MAC et IP est expliqué au début du chapitre
sur l'adressage IP.
Des confits sont à prévoir en cas de discordance, mais ce n'est pas notre problème actuel.

Une diffusion générale de 3° niveau consiste à faire traiter un paquet de niveau 3 par le processus logiciel
de niveau 3 de chacun des nœuds du réseau.

Ceci suppose d'abord que la trame envoyée en diffusion soit dotée d'une adresse MAC de diffusion générale (niveau 2) pour que le paquet de niveau 3 contenu dans cette trame soit délivré au niveau 3 de chaque nœud.

Mais elle peut être barrée au niveau 3 si l'adresse IP ciblée ne correspond pas à l'adresse IP du nœud récepteur.
C'est la raison pour laquelle on a défini des adresses de diffusion au niveau 3 (adresses de diffusion IP).
Une adresse IP est constituée par une partie réseau et une partie hôte :

Réseau
Hôte


Que l'on peut symboliser par {Réseau, Hôte}
( Voir notre page conscrée aux adresses IP )

Adresses IP particulières
Adresse IP = { Partie Sous-réseau , Partie hôte }
Partie sous-réseau
Partie hôte
Désigne
Adresse
#0 et #1…1
Adresse #0 et #1…1
Un nœud particulier de l'ensemble du réseauUnicast : la plus généralement utilisée
Adresse
#0 et #1…1
000…000
Dans le sous-réseau d'adresse Adresse #0 et #1…1, ce nœudSert à désigner le sous-réseau lui-même
000…000
Adresse #0 et #1…1
Dans ce sous-réseau, le nœud d'adresse : Adresse #0 et #1…1
000…000
000…000
Dans ce sous-réseau, ce nœudEssai de détermination de sa propre adresse
Diffusions ( Broadcasts )
Adresse #0 et #1…1
111…111
111…111 Tous les nœuds du sous-réseau d'adresse : Adresse #0 et #1…1Dite diffusion dirigée
111…111
Adresse #0 et #1…1
Dans n'importe quel sous-réseau, le nœud d'adresse #0 et #1…1
111…111
000…000
Dans n'importe quel réseau, ce nœud
000…000
111…111
Dans ce sous-réseau, tout nœud
111…111
111…111

Dans n'importe quel sous-réseau, n'importe quel nœud
Dite diffusion générale. Limitée si le protocole ne traverse pas les routeurs


Rappelons que l'on qualifie de nœud, une station ou un serveur.
Ce nœud, désigne le nœud qui émet le paquet
Ce réseau désigne le réseau qui contient le nœud qui émet le paquet

 


RARP - Reverse ARP
Le protocole RARP (Reverse ARP) permet à une station qui connaît sa propre adresse matérielle d'en déduire son adresse IP.
Il est indispensable pour les stations d'accès distant dépourvues de disques de stockage.

Un serveur spécial (serveur RARP) est requis auquel les stations clientes RARP vont demander leur adresse IP par l'intermédiaire d'une requête RARP. Une trame RARP est en tout point semblable à une trame ARP à la différence du champ type d'opération qui a la valeur 3 et du champ ether type qui vaut 8035 en hexadécimal..

Les serveurs RARP doivent disposer d'une table de correspondance entre les adresses matérielles des stations du réseau, y compris les stations sans disque.

Le serveur envoie alors à la station requérante (dont il connaît l'adresse matérielle) la réponse RARP contenant l'IP correspondant demandé.

Si un serveur RARP ne répond plus, aucun des clients RARP ne peut démarrer. Comme ils répètent alors incessamment leurs requêtes, il s'en suit un encombrement important du réseau appelé " tempête RARP ".

On dispose généralement de plusieurs serveurs RARP auxiliaires qui répondent à la place du serveur RARP principal dans le cas où celui-ci est défaillant.

Ils " écoutent " les appels et les réponses RARP et, dans le cas où un appel reste sans réponse dans un laps de temps donné, ils envoient la réponse RARP à la place du serveur RARP principal. Ce laps de temps est aléatoirement généré par chaque serveur auxiliaire afin de faire en sorte que tous les serveurs auxiliaires ne répondent en même temps.


Exercices :

Orientation

Choix par Menu ou Parcours Séquentiel
 
Avant :
F ragmentation
  
Suite : TCP
Sommaire

du Site
Sommaire "Signaux"
Sommaire "Transmission de signaux"
Sommaire "Réseaux"