L'encyclopédie des Sciences
  Protocle ARP
 
Le protocole ARP

Résumé

L’ARP (Address Resolution Protocol), est un protocole utilisé entre autres par l’IP (Internet Protocol) pour retrouver l'identificateur unique d’un matériel sur un réseau ethernet.

Un peu plus en détail

L’utilisation de l’ARP dans un réseau

L’implémentation typique de l’ARP sur un matériel réseau, ou un système d’exploitation actuel, implique l’utilisation d’un cache ARP. Ce système consiste en une base de données, liant une adresse IP sur le réseau à une adresse MAC (Media Access Control), l'identificateur unique d'un matériel réseau.

Quand un ordinateur donné doit communiquer avec un autre ordinateur en utilisant le protocole IP, il regarde tout d’abord si le destinataire est répertorié dans son cache ARP . Si il l’est, une trame Ethernet est forgée avec l’adresse MAC du destinataire, puis expédiée sur le réseau : les deux équipements peuvent alors communiquer. Sinon, une requête ARP est envoyée sur le réseau, dans le but d’obtenir une information indispensable pour l'envoi d'une trame et donc de données : l’adresse MAC du destinataire.

Trouver une adresse MAC à partir d'une adresse IP

Le but de la requête ARP étant de déterminer l’ordinateur porteur de l’adresse IP voulue, on demande à tous les ordinateurs du réseau de répondre à une question du type who has ? (qui possède ?).

arp who-has 10.42.1.42 tell gate.test.net

Avec cette question, l’ordinateur identifié “gate.test.net” demande à être renseigné sur l’identité de l’ordinateur possédant l’adresse 10.42.1.42. Les ordinateurs connaissant la réponse répondront alors :

arp reply 10.42.1.42 is-at c9:6a:00:16:b3:8f

Et l’ordinateur ayant émis la requête rajoutera ou mettra à jour son cache MAC (sous Windows ou un BSD, on peut voir l’état du cache ARP à l’aide de la commande arp –a) à partir de cette ou de ces réponses.

ARP et sécurisation du réseau

La sécurité du système dépend totalement de la possibilité pour un pirate d’avoir la possibilité de forger ses propres paquets ARP sur le réseau local. En effet, si un ordinateur envoie volontairement et en permanence une réponse basée sur une adresse différente de l'adresse de la véritable machine, il pourra détourner les informations vers un autre ordinateur.

Structure d'une trame ARP

Les trames ARP contiennent neuf informations :

  • Le type de matériel,
  • Le protocole utilisé,
  • La longueur d'adresse matérielle,
  • La longueur d'adresse protocole,
  • Le type d'opération,
  • L'adresse physique de la source,
  • L'adresse IP de la source,
  • L'adresse matérielle de la destination,
  • l'adresse IP de la destination.

Tailles des données de la trame:

  • Le type de matériel : 16 bits.
  • Le type de protocole : 16 bits
  • La longueur d'adresse matérielle : 8 bits.
  • La longueur d'adresse protocole : 8 bits.
  • Le type d'opération : 16 bits.
  • L'adresse physique de la source : 32 bits.
  • L'adresse IP de la source : 32 bits.
  • L'adresse physique de la destination : 32 bits.
  • L'adresse IP de la destination : 32 bits.

Informations complémentaires

Le type de matériel : spécifie le type de l'interface matérielle.

Le type de protocole : spécifie le type du protocole émis par l'expéditeur.

Type d'opération effectuée :

  • Requête ARP
  • Réponse ARP
  • Requête RARP
  • Réponse RARP
  • Requête RARP dynamique
  • Réponse RARP dynamique
  • Erreur RARP dynamique
  • Requête InARP
  • Réponse InARP
Adresse physique : adresse MAC.

En conclusion

L'ARP est nécessaire au bon fonctionnement de l'Internet Protocol sur réseau ethernet, mais reste très sensible, d'un point de vue de la sécurité et de l'authentification des hôtes distants à des attaques extrêmement simples à mettre en oeuvre.

Caractéristiques

Pays d'origine : USA
Année de commercialisation : 1982





Ajouter un commentaire à cette page:
Votre nom:
Votre message:

 
  nombre de visiteurs venus 484389 visiteurs (2037809 hits) Ici!

Tracked by Histats.com
Recherche personnalisée
$value) { if ($param == 'client') { google_append_url($google_ad_url, $param, 'ca-mb-' . $GLOBALS['google'][$param]); } else if (strpos($param, 'color_') === 0) { google_append_color($google_ad_url, $param); } else if ((strpos($param, 'host') === 0) || (strpos($param, 'url') === 0)) { google_append_url($google_ad_url, $param, $google_scheme . $GLOBALS['google'][$param]); } else { google_append_globals($google_ad_url, $param); } } google_append_url($google_ad_url, 'dt', round(1000 * array_sum(explode(' ', microtime())))); return $google_ad_url; } $google_ad_handle = @fopen(google_get_ad_url(), 'r'); if ($google_ad_handle) { while (!feof($google_ad_handle)) { echo fread($google_ad_handle, 8192); } fclose($google_ad_handle); } ?>
 
 
=> Veux-tu aussi créer une site gratuit ? Alors clique ici ! <=