26/12/2024

A la découverte de l’adresse Ethernet et d’ARP

I. Définitions

Mais, pour satisfaire le protocole d’acheminement, il manque une brique essentielle. En effet, en tant qu’humain nous sommes capables d’identifier une machine ou un équipement, par rapport à son adresse IP et de récupérer ainsi son nom, enregistré dans l’annuaire DNS. Mais, une machine n’est pas capable d’identifier le serveur de destination des paquets à transférer de cette façon. Il lui faut un identifiant analysable et compréhensible par sa mémoire. Il s’agit de l’adresse MAC (Media Access Control) que l’on appelle plus communément adresse Ethernet.

ATTENTION : ce type d’adresse ne doit surtout pas être confondue avec l’adresse physique qui est un nombre binaire représentant un emplacement dans le bus d’adresse de la mémoire centrale d’une machine. L’adresse physique est à opposer à l’adresse virtuelle.

Celle-ci identifie de manière unique le matériel informatique comme étant connecté au réseau. Ce type d’adresse est attribué définitivement au périphérique lors de sa fabrication, par le constructeur lui-même.

La différence avec une adresse IP est que cette dernière est attribuée de façon unique à un équipement connecté à un réseau spécifique. Mais, elle est attribuée par l’administrateur réseau (ou par le serveur DHCP).

IMPORTANT : toutes les cartes réseau possèdent une adresse MAC (même celles contenues dans les PC, tablettes, Smartphones ou autres équipements).

L’adresse MAC constitue la partie inférieure de la couche liaison (couche 2 du modèle OSI). Elle insère et administre ce type d’adresses au sein des trames transmises. On l’appelle parfois adresse Ethernet ou UAA (Universally Administered Address). Elle est constituée de 48bits (soient 6 octets) et est généralement représentée sous la forme hexadécimale, en séparant les octets par  le caractère ‘ :’ ou ‘-‘.

Exemple : adresse MAC 5A:BC:17:A2:AF:15

Sur les six octets, les trois premiers permettent d’identifier le constructeur du matériel réseau (on appelle cet agrégat d’octets l’OUI (Organisationally Unique Identifier). Il s’agit d’une notion que l’on retrouve également dans le protocole SNMP. Les trois octets suivants sont labellisés comme étant le NIC (Network Interface Controller).

II. Modification de l’adresse MAC

A moins de “bidouiller“ l’adresse MAC d’un équipement réseau, les valeurs fournies, sont généralement uniques. Mais, certaines personnes souhaitent, malgré tout modifier l’adresse MAC d’une carte réseau local, sur certains systèmes d’exploitation, l’adresse Ethernet n’est pas utilisée directement et cela permet alors de la modifier facilement, au niveau logiciel (et non matériel).

REMARQUE : les causes de modification d’une adresse MAC peuvent être variées :

  • Une application réclame l’exécution sur d’une adresse Ethernet spécifique.
  • A cause d’un conflit existant entre deux équipements réseau.

Sa modification permet de réduire le risque de traçage inhérent à tout identifiant gravé dans le marbre. Toutefois, cela peut aussi amener d’autres problèmes : filtrage spécifique, pare-feu à modifier…

Afin de sécuriser certains réseaux sans fil, on peut avoir recours au filtrage d’adresse MAC. Si celui-ci est activé, seul les périphériques dont l’adresse MAC est autorisée pourront accéder au réseau concerné. Toutefois, cette méthode n’est pas recommandée, car les personnes cherchant à accéder audit réseau de façon détournée peuvent facilement obtenir une adresse MAC permise (ou la construire) et l’utiliser alors, pour réaliser des actions malveillantes.

III. Correspondance MAC/IP

Afin de trouver à quelle adresse IP correspond telle ou telle adresse Ethernet, on peut recourir à l’utilitaire arp suivi de l’adresse IP dot on souhaite connaitre la correspondance.

Exemple : pour l’adresse interne 192.168.1.5

# arp –a 192.168.1.5

Interface : 192.168.1.5  --- 0x5
    Adresse Internet    Adresse Physique        Type
    192.168.1.5        00:54:BC:17:14:6E        dynamique

RAPPEL : L’adresse MAC et l’adresse IP (aussi appelée adresse logique), sont deux choses totalement indépendantes l’une de l’autre. Tous les périphériques réseau possèdent une adresse MAC (ou adresse Ethernet). Il s’agit donc, comme on vient de le voir, d’un numéro qui les identifie de manière unique, en tant que matériel informatique, connectable au réseau. Cette adresse est attribuée définitivement, au périphérique, lors de sa fabrication par le constructeur.

  • Adresse MAC :

  • Adresse IP :

Mais, au sein des infrastructures réseau d’entreprise, l’une ne va pas sans l’autre, puisque les deux identifie un élément dudit réseau. L’adresse MAC est utile pour les requêtes du protocole DHCP : la machine réclamant une adresse IP au serveur DHCP, communique par le biais de son adresse MAC avec ce serveur.

Le protocole ARP est primordial dans la connectivité réseau car il met en correspondance l’adresse physique d’un élément réseau donné avec une adresse IP (c’est d’ailleurs pour cela qu’il s’appelle protocole de résolution d’adresse ou Address Resolution Protocol).

Ce protocole permet, comme on l’a vu dans l’exemple ci-dessus, de connaître l’adresse physique d’une carte réseau correspondant à une adresse IP. Chaque machine connectée au réseau possède son numéro d’identification unique de 48bits. Mais, la communication sur Internet ne se fait pas directement à partir de ce numéro mais à partir de l’adresse logique (ou adresse IP), attribuée, quant à elle, par un organisme.

Pour faire correspondre les adresses physiques aux adresses logiques, le protocole ARP interroge les machines du réseau afin de connaître leur adresse physique et d’en créer une table de correspondance, dans une mémoire cache. Ainsi, lorsqu’une machine doit communiquer avec une autre, elle n’a qu’à consulter cette table de correspondance.

REMARQUE : si jamais l’adresse demandée ne se trouve pas dans la table, le protocole ARP émet alors une requête sur le réseau. Les machines sont tenues d’y répondre et de comparer l’adresse logique qui leur est présentée à la leur. Si l’une d’entre elles s’identifie à cette adresse, la machine répondra à la requête ARP, qui stockera alors le couple MAC/IP ainsi récupéré, dans la table de correspondance et la communication pourra s’effectuer, sans difficulté.

Le protocole ARP peut être vu comme la mise en annuaire des correspondances MAC/IP (au même titre que l’on effectue la mise en annuaire des correspondances IP/Noms DNS.

A l’inverse, il existe un protocole RARP (Reverse Address Resolution Protocol) permettant d’effectuer les opérations inverses et de fournir alors, l’adresse MAC correspondant à une adresse IP.

En réalité, le protocole RARP est uniquement utilisé pour des stations de travail n’ayant pas de disque dur et demandant à connaître leur adresse physique. Ce dernier protocole souffre de nombreuses limitations dont le temps d’administration passé à le maintenir n’est pas le moindre. Généralement, le protocole RARP est remplacé par le protocole DRARP qui en est une version plus dynamique.

Ces protocoles de routage sont essentiels au bon fonctionnement du réseau, car ce sont les dispositifs implémentés dans les routeurs, permettant de “choisir“ le chemin que les datagrammes peuvent emprunter afin d’arriver à destination.

RAPPEL : un routeur n’est rien d’autre qu’une machine avec deux cartes réseaux (donc potentiellement au moins deux interfaces réseau) et mettant en relation ces différents réseaux. Les routeurs fonctionnent donc grâce aux tables de routage et à ces fameux protocoles en suivant le mode de fonctionnement suivant :

  • Le routeur reçoit une trame provenant d’un équipement connecté à un des réseaux auquel il est lui-même rattaché.
  • Les datagrammes sont transmis à la couche IP.
  • Le routeur vérifie l’entête du datagramme.
  • Si l’adresse IP fait partie des réseaux connus auquel le routeur est rattaché, l’information peut être envoyée à la couche APPLICATION, après que l’entête ait été désencapsulée. Dans le cas contraire, le routeur consulte sa table de routage, à la recherche d’un chemin à emprunter pour délivrer l’information.
  • Le datagramme est ensuite envoyé via la carte réseau reliée au réseau sur lequel le routeur a décidé de l’envoyer.

Lorsque l’émetteur et le destinataire d’un message font partie du même réseau, on parle alors d’une remise directe. Si par contre, il y a un ou plusieurs routeur(s) intermédiaire(s) entre l’émetteur et le destinataire, on parle alors de remise indirecte.

Lorsque la table de routage est constituée par l’administrateur on parle alors de routage statique (c’est généralement le cas pour des petits réseaux que l’on peut facilement administrer). Par contre, si le routeur construit lui-même ses tables de routage, on parle alors de routage dynamique.

La table de routage, quant à elle, n’est rien d’autre qu’une table de correspondance entre l’adresse de la machine destinatrice et le nœud suivant auquel le routeur doit délivrer le message. En fait, il suffit que celui-ci soit délivré sur le réseau contenant la machine cible, pour ne pas avoir à stocker l’adresse IP complète, mais uniquement l’identifiant du réseau (Hostid de l’adresse IP). On peut représenter la table de routage de la façon suivante :

Ainsi, grâce à ce tableau, le routeur, connaissant l’adresse du destinataire encapsulée dans le message, va pouvoir savoir sur quelle interface réseau le datagramme doit être remis ainsi que le routeur directement accessible pour faire suivre l’information.

Ce mécanisme permettant de connaître le maillon suivant dans la chaîne de transmission et menant à la destination s’appelle routage par sauts successifs (soit next-hop routing).

REMARQUE : dans l cas d’un routage statique, c’est l’administrateur qui doit mettre à jour la table de routage. Pour un routage dynamique, c’est le protocole via un utilitaire qui effectue cette mise à jour.

Parmi les protocoles de routage, on peut citer : RIP (Routing Information Protocol) et OSPF (Open Shortest Path First), qui sont le plus souvent, implémentés sur les commutateurs/Routeurs de premier niveau des entreprises.

author avatar
Philippe PIERRE
A exercé de nombreuses années en tant qu'administrateur de base de données et comme administrateur Système Unix/Linux. Il a enseigné les réseaux au CNAM (Paris). Aujourd'hui, employé en tant qu'ingénieur infrastructure, au sein d'un laboratoire pharmaceutique et administrant un cluster de calculs HPC, il connaît parfaitement les environnements GNU/Linux dans le cadre d'une entreprise et des systèmes de haute disponibilité. Il aime partager son expérience.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.