Salut à tous, amateurs et passionnés des réseaux informatiques. On se retrouve aujourd’hui pour parler d’un protocole intéressant : le protocole ARP(Attention les biologistes, ARP, pas ADP😎).

  •    Pourquoi ARP?

Le modèle TCP/IP (tout comme le modèle OSI) prévoit en couche 2, un ensemble de fonctions permettant la communication entre différentes machines dans un réseau local. Jusqu’ici, Ethernet est un protocole efficace qui remplit correctement ses fonctions. A côté de ce dernier, le protocole IP de couche 3 permet la communication entre des réseaux différents (quelle belle équipe n’est-ce pas!👏👏).  Le protocole IP prévoit pour chaque équipement du réseau, une table reliant des adresses de ports à des réseaux : exactement Einstein, la table de routage (plutôt génie le nouveau). Cette table permet d’aiguiller des paquets, des datagrammes vers une destination. Cette destination est le résultat d’une analyse combinant la métrique et la distance administrative. Ainsi si une machine veut envoyer un paquet à une autre machine dont l’adresse IP est connue. Elle se renseigne sur le chemin à prendre dans sa table de routage. Une fois qu’elle trouve le chemin, elle constitue une trame pour l’adresse indiquée dans la table de routage. Pour constituer cette trame, elle utilise l’adresse MAC du périphérique disposant du port ayant cette adresse. Quoi? Elle ne l’a pas? Ce n’est pas un problème. Elle devrait pouvoir la lui demander en constituant une trame pour cette dernière. Quoi? Elle a besoin de son adresse MAC? ( Entre la poule et l’oeuf, qu’est-ce qui est arrivé en premier??…🤔🤔).

Plus de communication possible, le réseau est inutilisable.
Cependant, entre 2 et 3, il y a 🤔🤔. . . 2.5😎. De même, entre Ethernet et IP, il y a ARP : Protocole de Résolution d’Adresses. C’est donc là qu’intervient ce fameux protocole.

  •   Comment ça marche?

Comment faire pour contacter la machine d’adresse MAC inconnue? Si on se rappelle bien des types d’adresse MAC, on devrait pouvoir se rappeler de FF-FF-FF-FF-FF-FF; une adresse MAC pour laquelle tous les bits sont à 1 : l’adresse de broadcast. Chaque machine recevant une trame ayant comme adresse MAC de destination l’adresse de broadcast considère que la trame lui est destinée.
Ok, maintenant qu’on sait parler aux inconnus, comment leur demander leur adresse? Il n’y a pas quatre chemins pour ça, il suffit de poser la bonne question. Cette question s’appelle : requête ARP (ARP request). Tout inconnu recevant cette question doit répondre en donnant son adresse : cette réponse s’appelle réponse ARP (ARP reply). Très simple!!!😉 Ouf le réseau est sauvé😪.
On se reveille . . . Il y a toutefois un soucis. Que se passera t-il si à chaque fois qu’on doit parler à une machine, il faudrait lui demander son adresse MAC? On passera plus de temps à demander des adresses qu’à causer réellement. Les requêtes ARP finiront par saturer le réseau. Cependant, si au lieu de demander à chaque instant, on demande la première fois puis on se sert d’un carnet d’adresse les autres fois. Et quand son carnet d’adresse est trop vieux (beaucoup de personnes changent de maison en peu de temps😌), on le remplace par un autre; on demande une seconde fois l’adresse, puis on se sert du second carnet d’adresse après(c’est pas sorcier le réseau😏). Le protocole ARP appelle ce carnet d’adresse la table ARP. Dans cette table dynamique, il relie des adresses IP avec des adresses MAC. Ainsi, même en cas de changement d’adresse MAC d’une machine, celle-ci pourra toujours dialoguer sur le réseau car la table ARP sera mise-à-jour. En effet, cette table est dynamiquement mise-à-jour de manière régulière (toutes les deux minutes).
Le protocole ARP est cependant une lame à double tranchant. Vous risquez de vous blesser🔪. En effet de nombreuses attaques réseaux se basent sur le fonctionnement de ce protocole.

  •    Risques et sécurité

L’attaque de l’homme du milieu (Man In The Middle) par exemple. La mise-à-jour dynamique des tables ARP est un élément essentiel pour cette attaque. En effet, il suffit d’envoyer à toutes les machines du réseau (grace à l’adresse de broadcast), une réponse ARP liant son adresse MAC à l’adresse IP d’une machine ciblée pour recevoir tous les paquets destinés à cette machine puis envoyer une copie à la véritable machine (pour respecter le principe de l’homme du milieu). Ceci n’est qu’un exemple.
Bien sûr, il existe des techniques permettant de contrer ces attaques. Prenons l’exemple du DHCP Snooping allié à l’inspection protocolaire sur les switchs. Le switch pourra comparer les corresdances adresses MAC, adresses IP des ARP reply avec le contenu d’une base de données DHCP (ou ACL si adresses IP statiques). En effet, le protocole ARP est un protocole à cheval entre la couche 2 et la couche 3. En fonction du résultat de cette comparaison, le switch laissera passer la reponse ARP ou alors adoptera une réaction fixée par l’administrateur réseau pour des résultats négatifs. Les VLANs également permettent de limiter ces attaques ARP cependant ils ne constituent pas une solution véritable.

A bientôt chers amis pour de nouvelles publications!!!👋

nom du rédacteur
Romeric

LAISSER UNE RÉPONSE

Veuillez entrer votre commentaire !
Veuillez entrer votre nom ici