130 votes

Quelle est l'utilité exacte d'une adresse MAC ?

Je comprends que les adresses IP sont hiérarchisées, de sorte que les routeurs de l'internet savent dans quelle direction transmettre un paquet. Avec les adresses MAC, il n'y a pas de hiérarchie, et le transfert de paquets ne serait donc pas possible. Les adresses MAC ne sont donc pas utilisées pour le transfert de paquets.

Je ne pense pas qu'il reste là sans raison. Ma question est donc la suivante : où l'adresse MAC entre-t-elle en jeu lors d'un transfert de paquets ?

63voto

stjaert Points 11

TL;DR> Les adresses MAC sont un composant de bas niveau d'un réseau Ethernet (et d'autres normes similaires, comme le WiFi). Elles permettent à un appareil de communiquer avec une machine sur le réseau physique local (LAN) et ne peuvent pas être acheminées à travers l'Internet, car le matériel physique peut en théorie être branché partout dans le monde.

En revanche, les adresses IP couvrent l'ensemble de l'internet et les routeurs les utilisent pour déterminer où envoyer les données, même si elles doivent faire plusieurs sauts pour atteindre leur destination, mais elles ne sont d'aucune utilité pour l'interface avec le matériel physique de votre réseau local.

Si nous trouvions un jour une meilleure norme qu'Ethernet, elle n'utiliserait peut-être pas les adresses MAC, mais le trafic IP de l'internet pourrait toujours circuler à travers elle, même si d'autres personnes sur l'internet n'en ont jamais entendu parler.

Si nous trouvons un jour une meilleure norme que l'IP (par exemple l'IPv6 si toutes les adresses IPv4 sont épuisées), la plupart des matériels Ethernet pourraient transporter le nouveau type de trafic sans modification - et une simple mise à jour du logiciel/firmware réglerait la plupart des autres problèmes.

Les adresses MAC sont nécessaires pour faire fonctionner un réseau local Ethernet (ou wifi). Elles permettent à un appareil du réseau d'attirer l'attention d'un seul appareil directement connecté, même si la connexion physique est partagée. Cela peut être important lorsque des milliers d'appareils sont connectés entre eux au sein d'une même organisation. Ils n'ont aucune fonction sur l'internet au sens large.

Pour vraiment comprendre la réponse à cette question, vous devez comprendre la Modèle OSI (parfois connu sous le nom de modèle à 7 couches) .

Pour que la communication puisse avoir lieu entre deux applications fonctionnant sur des machines distinctes qui n'ont pas de connexion physique directe, une lot de travail doit avoir lieu.

Autrefois, chaque application savait exactement quelles instructions de code machine devaient être exécutées pour produire un signal approprié qui atteindrait et pourrait être décodé par l'application à l'autre bout. Toutes les communications étaient effectivement de type point à point, et les logiciels devaient être écrits pour s'adapter à la situation exacte dans laquelle ils devaient être déployés. De toute évidence, cette situation n'était pas viable.

Au lieu de cela, le problème du réseau était divisé en couches, et chaque couche savait comment parler à la couche correspondante sur une machine distante, et comment communiquer avec la couche inférieure (et parfois supérieure) sur sa machine locale. Elle ne savait rien des autres couches en place - ainsi, votre navigateur Web n'a pas besoin de se soucier de savoir s'il fonctionne sur une machine qui utilise un réseau token ring, ethernet ou wifi - et n'a certainement pas besoin de savoir quel matériel la machine distante utilise.

Pour que cela fonctionne, le modèle à 7 couches utilise un système semblable à celui des enveloppes imbriquées ; l'application crée ses données et les enveloppe dans une enveloppe que le système d'exploitation doit livrer. Le système d'exploitation les emballe dans une autre enveloppe et les transmet au pilote réseau. Le pilote réseau l'emballe dans une autre enveloppe encore et la place sur le câble physique. Et ainsi de suite.

La couche inférieure, couche 1 est la couche physique. C'est la couche des fils, des transistors et des ondes radio, et à ce niveau, la communication n'est le plus souvent qu'un flux de uns et de noughts. Les données vont partout où il y a une connexion physique. Vous branchez le port réseau de votre ordinateur sur votre commutateur à l'aide d'un câble CAT-5.

Couche 2 est la couche de liaison de données. Elle fournit une certaine structure aux uns et aux non, des capacités de détection et de correction d'erreurs, et des indications sur le périphérique physiquement connecté (les connexions physiques peuvent ici être en wifi) qui doit prêter attention au message. C'est à ce niveau que les adresses MAC entrent en jeu, et nous y reviendrons plus tard. Mais les adresses MAC ne sont pas la seule possibilité à cette couche. Les réseaux Token Ring, par exemple, nécessitent une mise en œuvre différente de la liaison de données.

Couche 3 est la couche réseau. C'est la couche sur laquelle fonctionne le protocole IP (bien qu'il ne s'agisse pas non plus du seul protocole de couche réseau), et c'est elle qui permet aux ordinateurs d'envoyer un message qui peut atteindre n'importe quelle machine n'importe où sur le "réseau". Il n'est pas nécessaire qu'il y ait une connexion directe entre les machines en question.

Couches 4 à 7 sont des protocoles de niveau supérieur. Ils s'éloignent de plus en plus du matériel et se rapprochent de l'application. Le protocole TCP, par exemple, se situe au-dessus du protocole IP et fournit des mécanismes qui renvoient automatiquement les messages lorsqu'ils sont manquants.

Les adresses MAC fonctionnent donc au niveau de la couche 2 et permettent à deux machines physiquement connectées l'une à l'autre d'envoyer des messages qui seront ignorés par d'autres machines qui partagent la même connexion physique.

Supposons que j'aie une application qui souhaite envoyer des données à la machine dont l'adresse IP est 8.8.8.8.

La couche 3 emballe les données dans une enveloppe qui contient, entre autres, l'adresse IP 8.8.8.8 et la transmet à la couche 2.

La couche 2 examine cette adresse IP et décide quelle machine à laquelle elle est directement connectée est capable de traiter ce message. Elle dispose d'une table de consultation contenant une sélection d'adresses IP directement connectées ainsi que l'adresse MAC correspondante de la carte réseau de cette machine. Cette table de consultation est construite à l'aide d'un protocole appelé ARP, qui permet à une carte réseau de poser des questions aux autres appareils directement connectés. Ethernet réserve une adresse MAC spéciale, FF:FF:FF:FF:FF:FF:FF, qui permet à un périphérique de parler à un autre périphérique. todo des dispositifs physiquement connectés.

Si l'adresse IP est dans la table (ou peut être résolue par ARP), il enveloppera l'enveloppe de la couche 3 dans une enveloppe de la couche 2 avec l'adresse MAC dans le nouvel en-tête, puis transmettra le tout au matériel de la couche 1. La carte réseau avec l'adresse MAC correspondante recevra le message et le pilote réseau ouvrira l'enveloppe de couche 2 et transmettra le contenu à la partie du système d'exploitation qui attend de recevoir des messages à l'adresse IP spécifique.

Sinon, si l'adresse IP n'est pas sur le réseau local, la nouvelle enveloppe aura l'adresse MAC de la passerelle par défaut (c'est-à-dire le routeur) configurée pour cette interface réseau, et le matériel transportera le paquet vers le routeur.

Le routeur remarque sa propre adresse MAC dans l'enveloppe de niveau 2, et ouvre le paquet de niveau 2. Il regarde l'adresse IP sur l'enveloppe de niveau 3 et détermine où le message doit aller ensuite, ce qui sera probablement le routeur de votre FAI. Si le routeur utilise le NAT (ou un système similaire), il peut même modifier l'enveloppe de niveau 3 à ce stade, afin de préserver la confidentialité de vos adresses IP internes. Il enveloppera ensuite l'enveloppe de niveau 3 dans une nouvelle enveloppe de niveau 2 adressée à l'adresse MAC du routeur du FAI et y enverra le message.

Ce processus consistant à retirer l'enveloppe extérieure et à envelopper le contenu dans une nouvelle enveloppe adressée à l'étape suivante de la chaîne se poursuivra jusqu'à ce que le message atteigne la machine de destination.

Les enveloppes continueront ensuite à être arrachées au fur et à mesure que le message remontera les couches jusqu'à ce qu'il atteigne enfin son destinataire, qui sera une application quelque part qui, avec un peu de chance, saura quoi faire du message - mais qui n'aura aucune idée de la façon dont le message est arrivé là ni de toutes les étapes nécessaires pour renvoyer la réponse à la machine d'origine.

Mais tout cela fonctionne, presque comme par magie !

Notez que les commutateurs réseau peuvent utiliser les adresses MAC pour optimiser le flux du trafic réseau. Alors qu'un concentrateur Ethernet transmet simplement tout le trafic entrant à tous ses ports, un commutateur ne peut transmettre le trafic qu'au seul port auquel l'adresse MAC de destination du paquet est connectée. Cela augmente la bande passante effective du réseau ; en ciblant des ports spécifiques, le commutateur évite de transférer le trafic sur des segments inutiles du réseau. Le commutateur utilisera soit le protocole ARP, soit le reniflage de paquets pour identifier les périphériques connectés à chaque port. Les commutateurs ignorent complètement le contenu des paquets de couche 2.

48voto

Nuker Points 33

L'adresse MAC (Media Access Control address) est en général l'identifiant des appareils dans un réseau. Ainsi, chaque NIC (contrôleur d'interface réseau présent dans un routeur, un PC, une imprimante réseau, un serveur, etc. Certains serveurs intègrent plus d'une carte réseau et ont donc plusieurs adresses MAC. L'adresse MAC est longue de 6 octets (6 octets). L'octet de gauche est le plus significatif et l'octet de droite le moins significatif. Comme vous pouvez le voir dans l'image ci-dessous, les 3 premiers octets sont les suivants Identifiant unique de l'organisation . Cela indique le fabricant qui a fabriqué cet appareil.

Voici une liste de Identifiant unique de l'organisation : Normes.ieee.org

Voici une alternative à ce qui précède : MAC-Vendor-Lookup

Quelques exemples de fabricants connus :

  • 00-05-5D (D-Link Systems Inc.)
  • 00-09-5B (Netgear Inc.)
  • 00-E0-4C (Realtek Semiconductor Corp.)
  • 00-E0-4F (Cisco Systems Inc.)
  • 00-E0-64 (Samsung Electronics)

Les 3 derniers octets (3 octets) sont attribués de manière aléatoire par le fabricant.

Comme pjc50 l'a dit correctement, l'adresse MAC dans un réseau Ethernet aide les commutateurs à décider quel paquet envoyer à quel endroit. Il existe également une adresse MAC de diffusion. ff:ff:ff:ff:ff:ff:ff est utilisée pour l'adresse MAC de diffusion. Notez que l'adresse MAC peut être modifiée. Soyez donc prudent en l'utilisant comme identifiant définitif d'un appareil ! L'adresse MAC est également utilisée avec le protocole ARP (Address Resolution Protocol). Ainsi, le PC A envoie une requête ARP au PC B avec sa propre adresse IP, son adresse MAC, l'adresse IP du récepteur et l'adresse de diffusion mentionnée ci-dessus (ff:ff:ff:ff:ff:ff:ff). Après cela, le PC B vérifie si le paquet lui a été envoyé ou non. Si oui, alors le PC B renvoie sa propre adresse MAC, son adresse IP, l'adresse MAC du récepteur et l'adresse IP du récepteur. Les autres appareils rejettent le paquet.

Les PC A et B enregistrent généralement la connexion réussie dans ce qu'on appelle le cache ARP. La manière dont les PC enregistrent la connexion diffère d'un appareil à l'autre. Si vous ne connaissez pas l'adresse IP, vous pouvez l'obtenir grâce au protocole RARP (Reverse Address Resolution Protocol). Avec RARP, le périphérique contacte un client central et lui demande l'adresse IP. Mais cette méthode est rarement utilisée de nos jours.

Les technologies suivantes utilisent le format d'identifiant MAC-48 :

  • Ethernet
  • Réseaux sans fil 802.11
  • Bluetooth
  • Anneau à jeton IEEE 802.5
  • la plupart des autres réseaux IEEE 802
  • FDDI
  • ATM (connexions virtuelles commutées uniquement, dans le cadre d'une adresse NSAP) Fibre Channel et Serial Attached SCSI (dans le cadre d'un World Wide Name)

24voto

UltimateBrent Points 6167

Ils sont utilisée pour le transfert de paquets : sur un réseau Ethernet, il y a un certain nombre de dispositifs, et l'adresse MAC spécifie quel dispositif doit recevoir le paquet. Les commutateurs Ethernet l'utilisent pour choisir sur quel port envoyer un paquet reçu.

7voto

IanNorton Points 3797

Oubliez la hiérarchie dans ce cas, ce n'est pas une question très importante.

Les adresses MAC sont des adresses de la couche 2 (couche liaison) dans les modèles ISO/OSI ou TCP/IP. Les adresses IP sont celles de la couche 3 (couche réseau) dans les mêmes modèles.

Dans un réseau de couche 2, par exemple un réseau Ethernet commun, il existe un domaine de collision, où tous les équipements connectés peuvent recevoir toutes les trames (données unitaires de couche 2) de n'importe quel point d'extrémité. Mais personne en dehors du réseau ne peut recevoir ces trames. Les adresses MAC sont des adresses dans ces domaines.

Les paquets sont les données unitaires de la couche 3, généralement des paquets IP. Ils voyagent à travers un ou plusieurs domaines de collision. Les adresses IP sont les adresses de ce domaine.

Les commutateurs sont des dispositifs de couche 2 et transmettent les trames en utilisant les tables d'adresses MAC. Les routeurs sont des dispositifs de couche 3 et transmettent les paquets à l'aide de tables d'adresses IP.

6voto

L'adresse MAC est utilisée lors du transfert physique. Un adaptateur Ethernet ne sait rien de l'IP. L'adaptateur ethernet utilise donc l'adresse MAC pour adresser le récepteur du paquet de données.

Si l'adaptateur Ethernet connaît le protocole IP, nous devons mettre à jour tous nos microprogrammes pour passer à un nouveau protocole (comme IPv4 à IPV6).

L'adresse MAC contient également des informations sur le fabricant.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X