Address Resolution Protocol
Page d'aide sur l'homonymie Pour les articles homonymes, voir ARP.
Pile de protocoles
7.  Application
6.  Présentation
5.  Session
4.  Transport
3.  Réseau
2.  Liaison
1.  Physique
Modèle Internet
Modèle OSI

L’Address resolution protocol (ARP, protocole de résolution d’adresse) est un protocole effectuant la traduction d’une adresse de protocole de couche réseau (typiquement une adresse IPv4) en une adresse MAC (typiquement une adresse ethernet), ou même de tout matériel de couche de liaison. Il se situe à l’interface entre la couche réseau (couche 3 du modèle OSI) et la couche de liaison (couche 2 du modèle OSI).

Il a été défini dans la RFC 826 : An Ethernet Address Resolution Protocol.

Le protocole ARP est nécessaire au fonctionnement d’IPv4 utilisé au-dessus d’un réseau de type ethernet. En IPv6, les fonctions de ARP sont reprises par le Neighbor Discovery Protocol (NDP).

Dans la suite de l’article, le terme adresse IP est utilisé pour parler d’adresse IPv4.

Sommaire

Fonctionnement

Un ordinateur connecté à un réseau informatique souhaite émettre une trame ethernet à destination d’un autre ordinateur dont il connaît l’adresse IP et placé dans le même sous-réseau. Dans ce cas, cet ordinateur va placer son émission en attente et effectuer une requête ARP en broadcast. Cette requête est de type « quelle est l’adresse MAC correspondant à l’adresse IP adresseIP ? Répondez à adresseMAC ».

Puisqu’il s’agit d’un broadcast, tous les ordinateurs du segment vont recevoir la requête. En observant son contenu, ils pourront déterminer quelle est l’adresse IP sur laquelle porte la recherche. La machine qui possède cette adresse IP sera la seule à répondre en envoyant à la machine émettrice une réponse ARP du type « je suis adresseIP, mon adresse MAC est adresseMAC ». Pour émettre cette réponse au bon ordinateur, il crée une entrée dans son cache ARP à partir des données contenues dans la requête ARP qu’il vient de recevoir.

La machine à l’origine de la requête ARP reçoit la réponse, met à jour son cache ARP et peut donc envoyer le message qu’elle avait mis en attente jusqu’à l’ordinateur concerné.

Il suffit donc d’un broadcast et d’un unicast pour créer une entrée dans le cache ARP de deux ordinateurs.

Commande arp

La commande arp permet la consultation et parfois la modification de la table ARP dans certains systèmes d’exploitation.

  • arp -a  : affiche toutes les entrées dans le cache ARP.
  • arp -a @ip  : dans le cas où il y a plusieurs cartes réseau, on peut faire l’affichage du cache associé à une seule @ip.
  • arp -s @ip @MAC : ajout manuel d’une entrée statique permanente dans le cache (ce besoin se manifeste si on appelle régulièrement des hôtes, pour réduire le trafic réseau).

Sécurité du protocole ARP

Le protocole ARP a été conçu sans souci particulier de sécurité. Il est vulnérable à des attaques locales sur le segment reposant principalement sur l’envoi de messages ARP erronés à un ou plusieurs ordinateurs. Elles sont regroupées sous l’appellation ARP poisoning (pollution de cache ARP). La vulnérabilité d’un ordinateur à la pollution de cache ARP dépend de la mise en œuvre du protocole ARP par son système d’exploitation.

Soit une machine Charlie qui souhaite intercepter les messages d’Alice vers Bob, toutes appartenant au même sous-réseau. L’attaque consiste pour Charlie à envoyer un paquet « arp who-has » à la machine d’Alice. Ce paquet spécialement construit contiendra comme IP source, l’adresse IP de la machine de Bob dont nous voulons usurper l’identité (ARP spoofing) et l’adresse MAC de la carte réseau de Charlie. La machine d’Alice va ainsi créer une entrée associant notre adresse MAC à l’adresse IP de la machine de Bob. Alice, destinataire de l’« arp who-has », utilise le paquet pour créer une entrée dans sa table MAC. Si Alice veut communiquer avec Bob au niveau IP, c’est Charlie qui recevra les trames d’Alice puisque notre adresse MAC est enregistré dans le cache empoisonné de Alice comme équivalence pour l’IP du poste Bob. Ceci est une faiblesse connue de la mise en œuvre d’ARP et permet de corrompre facilement un cache ARP distant.

Ces attaques peuvent permettre une écoute des communications entre deux machines (attaque de l’homme du milieu), le vol de connexion, une surcharge des commutateurs servant de structure au réseau informatique ou un déni de service (il suffit de faire une attaque de type MITM puis de refuser les paquets).

Pour lutter contre ce type d’attaque, il est possible :

  • de mettre en place des entrées statiques dans le cache ARP de chaque machine du réseau (commande arp -s). Ceci n’est applicable qu’à un faible nombre de machines (on privilégie les plus critiques, comme les serveurs et les passerelles). Sur les systèmes d’exploitation Microsoft Windows antérieurs à la version XP, une entrée statique peut être mise à jour, la seule différence est qu’elle n’expire pas) ;
  • de limiter les adresses MAC sur chaque port (renseignement statique) des commutateurs s’ils le permettent (fonction Port Security). Les commutateurs de niveau 3 par exemple offrent la possibilité de paramétrer des associations port/MAC/IP statiques. Mais cela rend évidemment plus difficile la maintenance du parc ;
  • de surveiller les messages ARP circulant sur réseau informatique, à l’aide d’outils de surveillance tels qu’ARPwatch[1]), d’arpalert[2] ou de Systèmes de Détection d’Intrusion (IDS).

Chaque entrée dans la table ARP a une durée de vie, ce qui oblige l’attaquant à corrompre régulièrement le cache de la victime. Certains systèmes d’exploitation comme Solaris permettent de modifier la valeur de ce temps d’expiration (commande ndd). Une valeur courte rendra la corruption plus facilement visible.

En-tête ARP

Cas général
+ Bits 0 - 7 8 - 15 16 - 31
0 Hardware type Protocol type
32 Hardware Address Length Protocol Address Length Operation
64 Sender Hardware Address
 ? Sender Protocol Address
 ? Target Hardware Address
 ? Target Protocol Address

avec :

Hardware type (type de matériel)[3]
  • 01 - Ethernet (10Mb) [JBP]
  • 02 - Experimental Ethernet (3Mb) [JBP]
Protocol type (Type de protocole)
  • 0x0800 - IP

Ce champ indique quel est le type de protocole couche 3 (OSI) qui utilise ARP.

Hardware Address Length (longueur de l’adresse physique)
  • 01 - Token Ring
  • 06 - Ethernet

Ce champ correspond à la longueur de l’adresse physique. La longueur doit être prise en octets.

Protocol Address Length (longueur de l’adresse logique)
  • 04 - IP v4
  • 16 - IP v6

Ce champ correspond à la longueur de l’adresse réseau. La longueur doit être prise en octets.

Operation
  • 01 - Request requête
  • 02 - Reply réponse

Ce champ permet de connaître la fonction du message et donc son objectif.

Sender Hardware Address (adresse physique de l’émetteur)

Adresse MAC source dans le cadre d’Ethernet.

Sender Internet Address (adresse réseau de l’émetteur)

Adresse IP de source dans le cadre de TCP/IP.

Target Hardware Address (adresse physique du destinataire)

Adresse MAC destination dans le cadre d’Ethernet. Si c’est une demande ARP, alors, ne connaissant justement pas cette adresse, le champ sera mis à 0.

Target Internet Address (adresse réseau du destinataire)

Adresse IP de destination dans le cadre de TCP/IP

Exemple d’en-tête ARP : protocole IPv4 sur Ethernet (28 octets)
Octet 1 Octet 2 Octet 3 Octet 4
0x0001 0x0800
0x06 0x04 Operation
Adresse MAC source (octets 1-4)
Adresse MAC source (octets 5-6) Adresse IP source (octets 1-2)
Adresse IP source (octets 3-4) Adresse MAC destination (octets 1-2)
Adresse MAC destination (octets 3-6)
Adresse IP destination (octets 1-4)

Notes et références

  1. Outil du Network Research Group (NRG), the Information and Computing Sciences Division (ICSD), Lawrence Berkeley National Laboratory (LBNL) LBNL’s Network Research Group.
  2. arpalaert.
  3. Hardware Types, sur le site de l’IANA.

Voir aussi

Sur les autres projets Wikimedia :

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Address Resolution Protocol de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Address resolution protocol — Pour les articles homonymes, voir ARP. Pile de protocoles 7 • Application 6 • …   Wikipédia en Français

  • Address Resolution Protocol —   [Abk. ARP, dt. »Adressauflösungsprotokoll«], ein Protokoll, das der Ermittlung einer Hardware Adresse in einem lokalen Netzwerk dient. Während im Internet Pakete anhand ihrer IP Adresse vermittelt werden, erfolgt in lokalen Netzen die… …   Universal-Lexikon

  • Address Resolution Protocol — In computer networking, the Address Resolution Protocol (ARP) is the method for finding a host s hardware address when only its Network Layer address is known. ARP is defined in RFC 826. [RFC 826 Address Resolution Protocol, a.k.a. STD 37] It is… …   Wikipedia

  • Address Resolution Protocol — ARP (Address Resolution Protocol) Familie: Internetprotokollfamilie Einsatzgebiet: Netzwerkadressenzuordnung ARP im TCP/IP‑Protokollstapel: Anwendung HTTP IMAP SMTP DNS …   Deutsch Wikipedia

  • Address Resolution Protocol — ARP son las siglas en inglés de Address Resolution Protocol (Protocolo de resolución de direcciones). Es un protocolo de nivel de red (mismo nivel que IPV4 e IPV6) responsable de encontrar la dirección hardware (Ethernet MAC) que corresponde a… …   Wikipedia Español

  • Address Resolution Protocol — ARP son las siglas en inglés de Address Resolution Protocol (Protocolo de resolución de direcciones). Es un protocolo de nivel de red responsable de encontrar la dirección hardware (Ethernet MAC) que corresponde a una determinada dirección IP.… …   Enciclopedia Universal

  • Address Resolution Protocol —    Abbreviated ARP. A protocol within TCP/IP (Transmission Control Protocol/Internet Protocol) and AppleTalk networks that allows a host to find the physical address of a node on the same network when it knows only the target s logical or IP… …   Dictionary of networking

  • Address Resolution Protocol — protocol which supplies addresses to workstations on a local area network …   English contemporary dictionary

  • Address Resolution Protocol — (ARP)    The protocol within TCP/IP that determines whether a data packet s source and destination are in Data Link Control (DLC) or Internet Protocol (IP) format. ARP is necessary for proper routing of data packets …   IT glossary of terms, acronyms and abbreviations

  • Address Resolution Protocol — noun The protocol used to translate IP numbers into MAC addresses to support communication on a LAN …   Wiktionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”