web-dev-qa-db-fra.com

Quelle est l'utilisation exacte d'une adresse MAC?

Je comprends que les adresses IP sont hiérarchiques, de sorte que les routeurs sur Internet sachent dans quelle direction transférer un paquet. Avec les adresses MAC, il n'y a pas de hiérarchie et, par conséquent, le transfert de paquets ne serait pas possible. Ainsi, les adresses MAC ne sont pas utilisées pour le transfert de paquets.

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

126
Vishnu Vivek

TL; DR> Les adresses MAC sont un composant de bas niveau d'un réseau Ethernet (et d'autres normes similaires, telles que le WiFi). Ils permettent à un périphérique de communiquer avec une machine du réseau physique local (LAN) et ne peuvent pas être routés via Internet, car le matériel physique pourrait en théorie être branché n'importe où 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 plusieurs sauts sont nécessaires pour atteindre leur destination. Toutefois, elles ne facilitent pas l’interface avec le matériel physique de votre réseau local.

Si nous trouvions un meilleur standard qu'Ethernet, il pourrait ne pas utiliser d'adresses MAC, mais le trafic IP provenant d'Internet pourrait toujours y circuler, même si d'autres personnes sur Internet n'en avaient jamais entendu parler.

Si nous trouvions un meilleur standard que l'IP (par exemple IPv6 si toutes les adresses IPv4 étaient épuisées), la plupart des matériels Ethernet pourraient transporter le nouveau type de trafic sans modification - et une simple mise à jour du logiciel/micrologiciel résoudrait l'essentiel du reste.

Les adresses MAC sont nécessaires pour assurer une fonction de réseau Ethernet local (ou wifi). Ils permettent à un périphérique réseau d'attirer l'attention d'un seul périphérique directement connecté, même si la connexion physique est partagée. Cela peut être important lorsque des milliers de périphériques sont connectés ensemble au sein d'une même organisation. Ils ne servent à rien sur l'internet au sens large.

Pour bien comprendre la réponse à cette question, vous devez comprendre le modèle OSI (parfois appelé 7 couches) .

Pour que la communication ait lieu entre 2 applications s'exécutant sur des machines distinctes ne disposant pas d'une connexion physique directe, il vous faut un lot de travail.

Autrefois, chaque application savait exactement quelles instructions de code machine devaient être exécutées afin de produire un signal approprié qui atteindrait et pourrait être décodé par l'application située à l'extrémité distante. Toute communication était effectivement point à point et le logiciel devait être conçu pour s'adapter à la situation exacte dans laquelle il devait être déployé. De toute évidence, c'était insoutenable.

Au lieu de cela, le problème de la mise en réseau a été divisé en couches, et chaque couche savait comment parler à la couche correspondante sur une machine distante et comment communiquer avec la couche située en dessous (et parfois au-dessus) sur sa machine locale. Il ne connaissait rien des autres couches en place - votre navigateur Web n'a donc pas besoin de savoir s'il tourne sur une machine utilisant un réseau à jeton, 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 assez semblable aux enveloppes imbriquées; l'application crée ses données et les enveloppe dans une enveloppe à livrer par le système d'exploitation. Le système d'exploitation enveloppe cette information dans une autre enveloppe et la transmet au pilote réseau. Le pilote de réseau enveloppe cela dans une autre enveloppe et la place sur le câble physique. Etc.

La couche inférieure, layer 1 , est la couche physique. Il s’agit de la couche de fils, de transistors et d’ondes radio. Dans cette couche, la communication n’est en réalité qu’un flot d’allants et de morpions. Les données vont partout où il y a une connexion physique. Vous connectez le port réseau de votre ordinateur à votre commutateur à l'aide d'un câble CAT-5.

Couche 2 est la couche liaison de données. Cela fournit une certaine structure aux uns et aux autres, des capacités de détection et de correction des erreurs, ainsi que des indications sur le périphérique connecté physiquement (les connexions physiques peuvent ici se faire par wifi) qui devraient prêter attention au message. C’est la couche dans laquelle 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 en anneau à jeton, par exemple, nécessitent une implémentation différente de la liaison de données.

Couche 3 est la couche réseau. C’est la couche sur laquelle l’IP travaille (bien que ce ne soit pas le seul protocole de couche réseau), et c’est ce qui permet aux ordinateurs d’envoyer un message qui peut parvenir à n’importe quel ordinateur du réseau. Il n’est pas nécessaire qu’il y ait une connexion directe entre les machines en question.

Les 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. TCP, par exemple, repose sur le dessus de l'IP et fournit des mécanismes qui renvoient automatiquement les messages quand ils sont manquants.

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

Supposons que j’ai une application qui souhaite envoyer des données à la machine avec l’adresse IP 8.8.8.8.

La couche 3 enveloppe les données dans une enveloppe contenant, entre autres, l'adresse IP 8.8.8.8, puis 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. Il disposera d'une table de recherche contenant une sélection des 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 périphériques directement connectés. Ethernet réserve une adresse MAC spéciale, FF: FF: FF: FF: FF: FF, qui permet à un périphérique de communiquer avec tous périphériques connectés physiquement.

Si l'adresse IP figure dans la table (ou peut être résolue via ARP), l'enveloppe de couche 3 est enveloppée dans une enveloppe de couche 2 avec l'adresse MAC dans le nouvel en-tête, puis l'ensemble du paquet est transféré au matériel de couche 1. Le message sera envoyé à la carte réseau avec l'adresse MAC correspondante et le pilote du réseau ouvrira l'enveloppe de couche 2 et transmettra le contenu à la partie du système d'exploitation qui s'attend à recevoir des messages à l'adresse IP spécifique.

Sinon, si l'adresse IP ne se trouve pas sur le réseau local, l'adresse MAC de la passerelle par défaut (routeur) configurée pour cette interface réseau sera configurée sur la nouvelle enveloppe et le matériel transportera le paquet vers le routeur.

Le routeur remarque sa propre adresse MAC dans l'enveloppe de couche 2 et ouvre le paquet de niveau 2. Il examine l’adresse IP de l’enveloppe de niveau 3 et détermine l’orientation suivante du message, qui sera probablement le routeur de votre fournisseur de services Internet. Si le routeur utilise NAT (ou similaire), il peut même modifier l'enveloppe de niveau 3 à ce stade, afin de garder vos adresses IP internes privées. Il enveloppe ensuite l'enveloppe de niveau 3 dans une nouvelle enveloppe de niveau 2 adressée à l'adresse MAC du routeur du fournisseur de services Internet et envoie le message à cet emplacement.

Ce processus de suppression de l'enveloppe externe et d'enveloppement du 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 déchirées au fur et à mesure que le message remontera dans les couches jusqu'à ce qu'il atteigne enfin le destinataire souhaité. Ce sera une application qui, espérons-le, saura quoi faire avec le message - mais n'aura aucune idée de la message reçu ni toutes les étapes nécessaires pour obtenir la réponse à la machine d'origine.

Mais tout fonctionne, presque comme par magie!

Notez que les commutateurs réseau peuvent utiliser des adresses MAC pour optimiser le flux de trafic réseau. Alors qu'un concentrateur Ethernet transfère simplement tout le trafic entrant à tous ses ports, en revanche, un commutateur ne peut transférer du trafic que vers le 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 du trafic sur des segments inutiles du réseau. Le commutateur utilisera ARP ou le reniflage de paquets pour identifier les périphériques connectés à quel port. Les commutateurs ignorent complètement le contenu des paquets de couche 2.

57
Bill Michell

A quoi servent les adresses MAC?

Les adresses MAC sont les bases de bas niveau qui font fonctionner votre réseau Ethernet local. Local signifie que les périphériques réseau sont connectés directement via un câble ou via WiFi, ou via un concentrateur réseau ou un commutateur réseau.

Les cartes réseau ont chacune une adresse MAC unique. Les paquets envoyés sur Ethernet proviennent toujours d'une adresse MAC et sont envoyés à une adresse MAC. Si une carte réseau reçoit un paquet, elle compare l'adresse MAC de destination du paquet à la propre adresse MAC de la carte. Si les adresses correspondent, le paquet est traité, sinon il est rejeté.

Il existe des adresses MAC spéciales, par exemple ff: ff: ff: ff: ff: ff, qui correspond à l'adresse de diffusion et aux adresses de chaque carte réseau du réseau.

Comment les adresses IP et les adresses MAC fonctionnent-elles ensemble?

IP est un protocole utilisé sur une couche au-dessus d'Ethernet. Un autre protocole par exemple serait IPX. IP permet de connecter différents réseaux locaux et de former ainsi un réseau d'entreprise ou Internet global.

Lorsque votre ordinateur souhaite envoyer un paquet à une adresse IP x.x.x.x, la première vérification consiste à déterminer si l'adresse de destination se trouve sur le même réseau IP que l'ordinateur lui-même. Si x.x.x.x se trouve sur le même réseau, vous pouvez atteindre directement l'adresse IP de destination, sinon le paquet doit être envoyé au routeur configuré.

Jusqu'à présent, les choses semblent s'être détériorées, car nous avons maintenant deux adresses IP: l'une est l'adresse cible du paquet IP d'origine, l'autre l'adresse IP du périphérique auquel nous devrions envoyer le paquet (le saut suivant, soit le dernier destination ou le routeur).

Étant donné qu'Ethernet utilise des adresses MAC, l'expéditeur doit obtenir l'adresse MAC du saut suivant. Il existe un protocole spécial utilisé pour cela ARP (protocole de résolution d'adresse). Une fois que l'expéditeur a récupéré l'adresse MAC du saut suivant, il écrit l'adresse MAC cible dans le paquet et l'envoie.

Comment fonctionne l'ARP?

ARP lui-même est un protocole Ethernet, comme IP ou IPX. Lorsqu'un périphérique souhaite connaître l'adresse MAC d'une adresse IP donnée, il envoie un paquet à l'adresse MAC de diffusion en demandant "Qui a l'adresse IP y.y.y.y?" Tous les périphériques reçoivent ce paquet, mais seul celui avec l'adresse IP y.y.y.y répondra avec un paquet "C'est moi". Le périphérique demandeur reçoit la réponse et sait maintenant que l'adresse MAC source est la bonne adresse MAC à utiliser. Bien entendu, le résultat sera mis en cache, de sorte que le périphérique n'a pas besoin de résoudre l'adresse MAC à chaque fois.

Routage

J'ai presque oublié de mentionner: il n'y a pas de routage basé sur les adresses MAC. Les adresses Ethernet et MAC de bas niveau ne peuvent atteindre que tous les périphériques du réseau identique / (câblé ou sans fil). Si vous avez deux réseaux avec un routeur entre vous, vous ne pouvez pas avoir un périphérique dans le réseau A envoyer un paquet à l'adresse MAC d'un périphérique dans le réseau B. Aucun périphérique dans le réseau A n'a l'adresse MAC du périphérique dans le réseau B, donc Les paquets envoyés à cette adresse MAC seront rejetés par tous les périphériques du réseau A (également par le routeur).

Le routage est effectué au niveau IP. Il suffit de voir que le routeur est en train de faire ce que j'ai décrit ci-dessus dans la section "Comment les adresses IP et les adresses MAC fonctionnent-elles ensemble?". Le routeur recevra des paquets pour sa propre adresse MAC mais pour une adresse IP différente. Il vérifiera ensuite s'il peut atteindre directement l'adresse IP cible. Si c'est le cas, il envoie le paquet à la cible. Sinon, le routeur lui-même a également un routeur en amont configuré et enverra le paquet à ce routeur.

Bien sûr, vous pouvez configurer plusieurs routeurs. Votre routeur domestique n'aura qu'un seul routeur en amont configuré, mais dans le réseau principal Internet, les gros routeurs disposent de grandes tables de routage afin de connaître la meilleure façon de traiter tous les paquets.

Autres cas d'utilisation d'adresses MAC

  1. Les commutateurs réseau stockent une liste d'adresses MAC vues sur chaque port et ne transmettent que les paquets aux ports qui ont besoin de voir le paquet.

  2. Les points d'accès sans fil utilisent souvent des adresses MAC pour le contrôle d'accès. Ils permettent uniquement l'accès aux périphériques connus (l'adresse MAC est unique et identifie les périphériques) avec la phrase secrète correcte.

  3. Les serveurs DHCP utilisent l'adresse MAC pour identifier les périphériques et attribuer des adresses IP fixes à certains périphériques.

114
Werner Henze

L'adresse MAC (adresse de contrôle d'accès au support) est en général l'identifiant des périphériques d'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.) possède une adresse MAC. Certains serveurs ont plus d'une carte réseau intégrée et ont donc plusieurs adresses MAC. L'adresse MAC a une longueur de 6 octets (6 octets). Gauche est le Byte le plus significatif et à droite le Byte le moins significatif. Comme vous pouvez le voir sur l'image ci-dessous, les 3 premiers octets sont le Identificateur unique d'organisation . Cela indique le fabricant qui a fabriqué cet appareil.

Voici une liste de Identifiant organisationnel unique : Standards.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 a déclaré correctement l'adresse MAC d'un réseau Ethernet aide les commutateurs à décider quel paquet envoyer où. Il existe également une adresse MAC de diffusion. ff: ff: ff: ff: ff: ff est utilisé pour l'adresse de diffusion MAC. Notez que l'adresse MAC peut être modifiée, soyez donc prudent si vous l'utilisez comme identifiant de périphérique précis! L'adresse MAC est également utilisée avec le protocole ARP (Address Resolution Protocol). Le PC A envoie alors une requête ARP au PC B avec ses propres adresses IP, adresses MAC, adresse IP du destinataire et adresse de diffusion mentionnées ci-dessus (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 envoie sa propre adresse MAC, son adresse IP, l'adresse MAC du destinataire et l'adresse IP du destinataire. Les autres périphériques rejettent le paquet.

Les ordinateurs A et B enregistrent généralement la connexion établie dans le cache ARP. La façon dont les ordinateurs enregistrent la connexion diffère d'un périphérique à l'autre. Si vous ne connaissez pas l'adresse IP, vous pouvez obtenir l'adresse IP avec le protocole RARP (Reverse Address Resolution Protocol). Avec RARP, l'appareil contacte un client central et lui demande l'adresse IP. Mais cette méthode est à peine utilisée de nos jours.

Les technologies suivantes utilisent le format d'identificateur 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 nom mondial)
47
Meintjes

Ils sont utilisés pour le transfert de paquets: sur un réseau Ethernet, il existe un certain nombre de périphériques et l’adresse MAC spécifie quel périphérique doit recevoir le paquet. Les commutateurs Ethernet l'utiliseront pour choisir le port sur lequel envoyer un paquet reçu.

24
pjc50

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

Les adresses MAC sont des adresses pour la couche 2 (couche de liaison) dans les modèles ISO/OSI ou TCP/IP. Les adresses IP proviennent de la couche 3 (couche réseau) des 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 d’unité de couche 2) de n’importe quel point de terminaison. 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 couche 3, généralement des paquets IP. Ils voyagent dans un ou plusieurs domaines de collision. Les adresses IP sont les adresses de ce domaine.

Les commutateurs sont des périphériques de couche 2 et transmettent des trames à l'aide de tableaux d'adresses MAC. Les routeurs sont des périphériques de couche 3 et transmettent les paquets à l'aide de tables d'adresses IP.

7
logoff

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

Si la carte Ethernet connaît quelque chose à propos de l'IP, nous devons mettre à jour tous nos microprogrammes pour passer à un nouveau protocole (comme IPv4 à IPV6).

De plus, l’adresse MAC contient des informations sur le fabricant.

6
Uwe Plonus

Ethernet suppose que l’autre ordinateur (l’autre MAC) avec lequel il veut parler est directement accessible depuis son adaptateur réseau. IP pas. IP suppose qu’il peut atteindre n’importe quelle autre adresse IP du monde entier et que s’il ne peut pas l’atteindre sur le sous-réseau actuel, un routeur l’y transportera, nonobstant NAT. La notion de passerelle n'existe pas dans la couche 2 ou Ethernet.

Si vous avez un certain nombre de machines connectées à un commutateur et que vous n’aurez plus jamais besoin d’échanger du trafic avec d’autres réseaux/Internet via un routeur, il n’est pas nécessaire que votre IP soit opérationnel. Bien entendu, une application devrait implémenter ou fournir son propre protocole au-dessus de la couche 2, car pratiquement tous les systèmes d’exploitation et applications supposent que vous souhaitiez toujours utiliser TCP/IP.

Rappelez-vous toujours qu'Internet signifie «inter-réseau» dans IP, ce qui signifie qu'il s'agit d'obtenir du trafic entre réseaux plus que dans un réseau, même s'il est évident qu'il peut être (et est) utilisé à cette fin.

6
LawrenceC

Il est utilisé lorsque le protocole ARP (Address Resolution Protocol) pour IPv4 ou le protocole NDP (Neighbor Discovery Protocol) pour IPv6 convertit les adresses IP en adresses MAC pour déterminer à quel hôte unique les trames doivent être envoyées.

5
Jesper Jensen

Pour compléter les réponses des autres, j'ajouterais que l'adresse MAC est encore plus critique pour les routeurs que pour les commutateurs. Ce que je veux dire par plus critique est que les commutateurs ne sont pas vraiment nécessaires pour qu'un réseau IP existe. Si vous regardez 20 ans en arrière (avant RJ-45), les réseaux IP locaux fonctionnaient parfaitement sans commutateurs. Les réseaux Ethernet non routés connectaient simplement des périphériques sur le même fil (regardez par exemple la technologie Ethernet X base-T).

D'autre part, les réseaux IP ont été inventés pour prendre en charge le routage et s'appuient sur des schémas d'adressage MAC et IP.

Le routage des paquets dans les réseaux IP signifie que lorsque la machine cible ne peut être accédée directement, elle sera d'abord envoyée à une autre machine (la passerelle) plus proche de la cible IP finale.

En termes d’en-têtes de paquet réseau, cela signifie qu’un paquet envoyé à une passerelle aura pour cible dans l’en-tête de niveau Ethernet l’adresse MAC de la passerelle, l’en-tête de niveau IP demeurant inchangé.

Vous remarquerez également que adresses MAC signifie généralement de nos jours soit MAC-48 (adresse de périphérique physique), soit EUI-48 (adresse de périphérique logique), soit même les adresses EUI-64 sur 8 octets utilisées dans les grands réseaux. Historiquement, MAC a été inventé par Xerox pour la technologie Ethernet puis réutilisé pour d’autres technologies de transport réseau (802.11, Bluetooth, FibreChannel, BlueTooth) nécessitant l’identification d’un périphérique.

Comme je l’ai dit, vous pouvez utiliser une autre couche 2 au lieu d’Ethernet, mais la plupart utilisent une adresse MAC comme identifiant de réseau et le schéma de correspondance MAC/IP sous-jacent tient et vous pouvez toujours utiliser ARP. Autant que je sache, toutes les piles IP reposent sur un tableau de correspondances entre les adresses MAC et les adresses IP.

Il existe d'autres types d'identificateurs de nœuds de périphérique pour les piles non IP. Par exemple, X.25 ne s'appuie pas sur des adresses MAC, mais sur des canaux virtuels établis connexion par connexion, ou les périphériques ATM sont identifiés dans des réseaux ATM à l'aide de SNPA. Mais ni X.25 ni ATM ne sont des piles IP (et même ATM utilise le format d’adresses MAC comme faisant partie de son SNA, équivalent à peu près d’une adresse IP pour ATM).

3
kriss

Repensez aux jours de pré-commutation (hubs).

Si les personnes sont des ordinateurs, l'adresse MAC est leur nom.

Faites semblant que beaucoup de gens (les ordinateurs) ont le même appel téléphonique. Tout le monde parle en même temps.

VOUS (un ordinateur) entend TOUTES ces conversations, mais vous ne savez pas ce que vous devez écouter, JUSQU'À ce que quelqu'un dise votre nom (votre adresse MAC) au début d'une phrase (un paquet).

"FRED, THERE IS ICE CREAM!"

Bien entendu, vous écoutez également les phrases envoyées à l'adresse adresse de diffusion . Considérez cela comme une personne qui crie,

"EVERYONE, THERE IS ICE CREAM!"

Au fur et à mesure que plus de personnes (ordinateurs) participent à la téléconférence, plus vous devez filtrer. La technologie avancée et les commutateurs nous ont permis de parler directement à une seule personne (ordinateur/MAC) afin qu’elle ne soit pas obligée de travailler aussi dur pour filtrer tout ce bruit (et libérer plus de bande passante).

IP est très similaire dans l'analogie de base, mais il possède plus de fonctionnalités et de couches que l'adressage MAC. Couches 2 et 3 dans le modèle OSI , respectivement.

2
Randy James

L'adresse MAC est nécessaire car plusieurs adresses sont associées au "bus" (le réseau Ethernet). Un expéditeur doit pouvoir identifier le destinataire, ainsi que s'identifier auprès du destinataire.

Tous les bus matériels doivent être adressés, car plusieurs expéditeurs et destinataires partagent les mêmes fils et les messages doivent être envoyés à des destinataires spécifiques et identifier les expéditeurs d'origine.

I2C, PCI, Ethernet, nommez-le.

Nous avons plusieurs adresses inter-réseaux (adresse IP et adresse matérielle) car une adresse de niveau matériel n’est locale que sur un réseau physique particulier. Lorsqu'un datagramme se déplace d'un réseau à un autre, il a tendance à conserver son adresse de niveau réseau, mais il change d'adresse de matériel à plusieurs reprises. Lorsque vous passez sur certains réseaux, il peut ne pas avoir d'adresse matérielle du tout, et dans d'autres il peut avoir une adresse matérielle qui n'est pas un MAC Ethernet. (Les adresses réseau peuvent être réécrites par une passerelle NAT, bien sûr, mais les adresses matérielles sont supprimées et remplacées par des adresses différentes chaque fois qu'un paquet croise un routeur.)

2
Kaz

Dans l'ancien temps, les réseaux étaient des bus partagés. Chaque périphérique en réseau connecté au même fil ou à un concentrateur, ce qui signifie que chaque paquet que vous avez envoyé a été reçu par chaque périphérique du réseau.

Le logiciel de mise en réseau était alors plus simple. Chaque appareil avait une adresse MAC, qui était garantie d'être unique. Cela n'avait pas besoin d'être autre chose - tout ce que cela faisait était de s'assurer qu'aucun appareil sur le même réseau n'avait la même adresse.

Si votre appareil souhaitait communiquer avec un autre appareil, il enverrait un paquet avec l'adresse MAC du destinataire, qui le choisirait hors du réseau. Tous les autres appareils l'ignoreraient - cela n'était pas adressé à leur adresse MAC.

Au fil du temps, les utilisateurs ont connecté trop de périphériques au réseau et ne pouvaient pas suivre le trafic. Ils ont donc commencé à séparer les réseaux et ont connecté deux réseaux avec des commutateurs. Ces commutateurs avaient d'énormes tables leur indiquant quelles adresses MAC se trouvaient sur chaque réseau. S'ils voyaient un paquet sur un réseau adressé à une adresse MAC de l'autre réseau, ils copiaient le message sur l'autre réseau. Ils ne copieraient cependant pas tous les messages, mais uniquement ceux qui devaient être redirigés vers l'autre réseau.

Cela a réduit la congestion et permis à plus de périphériques d'être mis en réseau et de gérer plus de trafic global. C'est un réseau à commutation de paquets .

Cependant, cela n'a pas résolu tous les problèmes et a subi un énorme désavantage: à mesure que les tables de commutation grandissaient, les réseaux ralentissaient. Si vous avez connecté 5 000 machines à 50 réseaux différents, tous interconnectés avec des commutateurs, chaque commutateur devait apprendre les 5 000 adresses MAC et acheminer les paquets en conséquence.

Ce n'était pas grave avant que des personnes de différentes institutions, telles que des universités, souhaitent connecter leurs réseaux, et les tables requises auraient été formidables. Garder la trace de quelques centaines de milliers d'adresses MAC aujourd'hui ne semble pas être un gros problème, mais dans les années 1970, lorsque cela se produisait, les commutateurs étaient eux-mêmes des ordinateurs, avec une mémoire et une vitesse limitées, ainsi que de suivre et de changer rapidement des paquets pour quelques cent était un problème.

La solution passait sur un réseau IP et utilisait des routeurs. Ceci est construit sur le réseau de paquets commutés basé sur les adresses MAC. Plutôt que des données brutes, les paquets contiennent maintenant un paquet IP - un paquet dans un paquet.

Maintenant, les grands réseaux sont connectés avec des routeurs. Ils attendent qu’ils voient un paquet avec leur adresse MAC, puis retirent le paquet IP et examinent l’adresse IP. Ils re-emballent ensuite le paquet IP dans un autre paquet avec un nouveau destinataire d'adresse MAC et l'envoient sur un nouveau réseau. Cette adresse MAC est probablement celle d'un autre routeur sur le nouveau réseau, mais il pourrait également s'agir de la machine avec l'adresse IP.

Dans les réseaux actuels, on voit rarement des concentrateurs et des bus (sauf dans les réseaux sans fil, où le support est intrinsèquement partagé) et ma machine se connecte directement à un commutateur, qui les connecte à un routeur.

Ma machine possède une variété d’algorithmes et de protocoles, de sorte qu’elle sait comment le réseau est configuré.

Si j'envoie un paquet IP à une machine de mon réseau local, ma machine le placera dans un paquet avec l'adresse MAC correcte. Les commutateurs le commutent localement sur le bon réseau et la machine à laquelle il est destiné le recevra car il possède la bonne adresse MAC. Il va retirer le paquet IP et vérifier que l'adresse IP lui est également destinée et agir en conséquence.

Si j’envoie un paquet IP destiné à une machine ailleurs sur Internet, ma machine sait l’envoyer au routeur. Il est donc placé dans un paquet avec l’adresse MAC du routeur. Il est à nouveau commuté localement dans mon réseau jusqu'à ce qu'il atteigne le réseau auquel le routeur est allumé, puis le routeur le prend, extrait le paquet IP, examine le paquet IP et, basé sur sa connaissance d'Internet, l'envoie à un autre routeur. un autre réseau, en l’emballant dans un paquet avec l’adresse MAC du routeur ou de l’ordinateur de destination prévu.

J'ai passé en revue beaucoup de petits détails et quelques algorithmes et protocoles en jeu vraiment intéressants qui font que tout fonctionne, mais c'est l'histoire de base de ce que l'adresse MAC fait pour nous, même aujourd'hui.

1
Adam Davis