Pourquoi les adresses MAC ne peuvent-elles pas être utilisées à la place de IPv4 | 6 pour la mise en réseau? [fermé]

184

Je lis sur TCP / IP et d'autres protocoles et technologies connexes. Les adresses MAC sont décrites comme étant (raisonnablement :) uniques, et disposant d'un grand espace de possibilités (plusieurs centaines de milliards de dollars), tout en étant affectées à toutes les interfaces réseau. Quelles sont les raisons historiques et techniques pour lesquelles les adresses IPv4 ou IPv6 sont utilisées à la place des adresses MAC pour la communication interréseau?

Est-ce que je manque quelque chose de fondamental ou est-ce juste une raison idiote (par exemple, s'appuyer sur les technologies traditionnelles)?

Félix Saparelli
la source
55
Correction pédante: raisonnablement unique; des cartes avec des adresses MAC HW identiques ont été vues à l’état sauvage - c’est un problème de réseau «amusant» à déboguer.
Piskvor
9
J'ai personnellement été témoin d'un pilote buggy qui attribue la même adresse MAC à différentes cartes réseau sur différentes machines (qui possédaient des adresses matérielles uniques avant d'installer ce pilote). Eh bien, c'était douloureux .
Massimo
3
Massimo, j'ai vu exactement la même chose. Il n’est pas rare qu’un pilote fasse cela en développement et que les programmeurs oublient d’activer ce composant lorsqu’il passe en production. @Felix, il est également courant que les fabricants réutilisent les MAC au fil du temps et dans différentes parties du monde. Une carte vendue en 2005 aux États-Unis pourrait avoir le même MAC qu'une carte vendue en Chine en 2013, par exemple.
Robert Kaucher
30
Adresser un paquet avec une adresse MAC équivaudrait à adresser une lettre avec un numéro de sécurité sociale.
Mikey
14
Comment sauriez- vous où se trouve actuellement une adresse MAC spécifique? En amont, sans qu'il soit nécessaire que chaque nœud sur Internet soit averti lorsque vous passez à un autre réseau?
Thorbjørn Ravn Andersen

Réponses:

345

L’adresse MAC est peut-être unique, mais le numéro n’a rien de spécial qui indiquerait où elle se trouve. MAC 00-00-00-00-00-00pourrait être de l'autre côté de la planète 00-00-00-00-00-01.

IP est un schéma de numérotation arbitraire imposé de manière hiérarchique à un groupe d'ordinateurs afin de les distinguer logiquement en tant que groupe (c'est ce qu'est un sous-réseau). L'envoi de messages entre ces groupes est effectué à l'aide de tables de routage, elles-mêmes divisées en plusieurs niveaux, de sorte que nous n'avons pas à suivre chaque sous-réseau. Par exemple, 17.x.x.xest dans le réseau Apple. À partir de là, Apple saura où se trouvent chacun de ses milliers de sous-réseaux et comment s'y rendre (personne d'autre n'a besoin de connaître cette information, il faut juste savoir que tout ce qui passe va à Apple).

Il est également assez facile de relier cela à une autre paire de systèmes. Vous avez un numéro d'identification délivré par l'État, pourquoi auriez-vous besoin d'une adresse postale si ce numéro est déjà unique pour vous? Vous avez besoin de l'adresse postale car c'est un système arbitraire qui décrit la destination unique des communications.

Chris S
la source
23
C'est une excellente réponse. J'aurais ajouté que les adresses MAC sont finalement utilisées dans les communications IP une fois que les ordinateurs déterminent qu'ils se trouvent sur le même sous-réseau; c'est pourquoi l'empoisonnement par ARP fonctionne comme une attaque. La même chose avec une passerelle par défaut, l’ordinateur adresse les paquets destinés à un autre sous-réseau à l’adresse MAC renvoyée par la recherche ARP pour l’IP de passerelle par défaut. L'adressage de couche 3 / IP est principalement utilisé par les routeurs et uniquement par l'hôte pour déterminer si la destination se trouve sur le même sous-réseau.
Sean C.
7
@SeanC, les adresses MAC sont finalement utilisées dans les communications IP via les protocoles de ligne basés sur 802.1 (Ethernet, WiFi, Token Ring, etc.). Mais pas sur les protocoles ATM, tels que PoSDH et IPoATM.
Chris S
25
En outre, vous pouvez conserver la même adresse IP lorsque votre carte réseau (ou un ordinateur entier) doit être remplacée. Imaginez à quel point ce serait agaçant sans l'abstraction IP.
OrangeDog
3
@ChrisS J'ai un ami qui, en tant qu'administrateur système, a reçu un lot de cartes d'un seul fournisseur et les cartes ne comportaient qu'une seule adresse MAC dans toute la palette. Le vendeur a déclaré que les cartes n'étaient pas mélangées correctement dans la distribution de détail, de sorte qu'il y avait des doublons, car la commande venait directement de l'usine. Avant que les cartes ne soient vendues au détail, elles étaient censées se mélanger pour propager les dupes. Ainsi, pour un fournisseur donné, les destinataires MAC ne sont pas uniques, encore moins entre fournisseurs.
4
Il existe une variété de raisons historiques pour les occurrences de doublons d'adresses MAC, y compris les bogues de micrologiciels du fournisseur .
Mike Pennington
73

Parce que les tables de routage deviendraient incroyablement grandes.

Les adresses IP étant allouées de manière hiérarchique, un routeur peut donc grouper des itinéraires par préfixe d'adresse. Le nombre de systèmes autonomes présents sur le réseau est maintenant suffisamment raisonnable pour s’intégrer au matériel actuel.

D'autre part, la distribution des adresses MAC sur le réseau est aléatoire et totalement indépendante de la topologie. Le regroupement des routes serait impossible, chaque routeur devant garder une trace des routes pour chaque périphérique relayant le trafic. C’est ce que font les commutateurs de couche 2, et cela ne dépasse pas un certain nombre d’hôtes.

b0fh
la source
Pouvez-vous élaborer sur ce sujet? Pourquoi le feraient-ils? Pourquoi n'est-ce pas le cas avec IPv *?
Félix Saparelli
2
Il n'y a aucune raison intrinsèque pour que les tables de routeur utilisant une adresse au format MAC soient "incroyablement grandes" par rapport aux formats IPv4 / 6. Le problème est que l’attribution d’adresses IP est liée à une hiérarchie qui rend le routage WAN possible. Les adresses MAC sont attribuées aux périphériques Ethernet par les fabricants (et peuvent être modifiées à l'aide de logiciels). À mesure que le périphérique matériel se déplace, les révisions ad hoc des tables de routage WAN constituent une tâche "d'une taille impossible".
Hardmath
34

Le monde ne fonctionne pas exclusivement sur Ethernet (du moins historiquement). La couche IP est indépendante de la couche matérielle située en dessous.

Les nœuds PPP n'ont pas d'adresses Mac. Arcnet, token ring, fddi, hppi non plus. Ces autres normes ne sont peut-être pas aussi pertinentes aujourd'hui, mais Ethernet pourrait être remplacé à l'avenir par d'autres technologies, qui seraient transparentes pour la couche IP.

Il y a une discussion plus longue sur la façon dont nous continuons à inventer de nouveaux protocoles matériels et à les appeler Ethernet, mais je m'éloigne du sujet ...

Jeff Sacksteder
la source
5
Token Ring a des adresses MAC.
Chris S
Vous voulez dire qu'ils ne peuvent pas non plus passer à ipv6 car le nœud PPP n'a pas d'adresse v6? (Ou du moins n'en avait pas il y a 5-10 ans). Autant que je sache, cela n'a jamais arrêté le déploiement d'ipv6 aujourd'hui. Cela ne fait pas de différence pour MAC non plus.
Dorus
6
@Dorus: Votre commentaire n'a pas de sens. Les nœuds PPP peuvent avoir à la fois des adresses IPv4 et IPv6, justement parce que IP repose sur les protocoles sous-jacents, tels qu'Ethernet ou PPP. Cependant, les nœuds PPP n'ont pas d'adresse MAC (car le standard PPP ne les a pas).
Sleske
Trois ans plus tard (et un peu plus averti), j'aimerais lire cette "discussion plus longue sur la façon dont nous continuons à inventer de nouveaux protocoles matériels et à les appeler Ethernet". ; P
Félix Saparelli
C'est un bon début - standards.ieee.org/events/ethernet/history.html
Jeff Sacksteder
30

Outre le routage hiérarchique des adresses IP, les séparer des adresses MAC vous permet de modifier votre carte réseau ou votre ordinateur tout en conservant la même adresse IP (et donc la topologie de réseau logique).

Cette abstraction permet une mise en réseau beaucoup plus flexible et maintenable.

OrangeDog
la source
22

Regardez le modèle OSI : http://en.wikipedia.org/wiki/OSI_model

Cela explique pourquoi il n’a aucun sens de faire du routage, un concept de couche 3, des décisions reposant sur un mécanisme physique de couche 2.

La mise en réseau moderne est divisée en plusieurs couches pour assurer votre communication de bout en bout. Votre carte réseau (ce qui est adressé par l'adresse mac [adresse physique]) doit uniquement être responsable de la communication avec des pairs sur son réseau physique.

La communication que vous êtes autorisé à effectuer avec votre adresse MAC sera limitée à d'autres périphériques résidant dans un contact physique avec votre ordinateur. Sur Internet, par exemple, vous n'êtes pas physiquement connecté à chaque machine. C'est pourquoi nous utilisons le mécanisme TCP / IP (une couche 3, adresse logique) lorsque nous devons communiquer avec une machine à laquelle nous ne sommes pas physiquement connectés.

Barancw
la source
6
+1 pour mentionner le modèle OSI.
Massimo
7

b0fh a raison - mais aussi parce que les adresses MAC ne sont pas toujours uniques.

Voir par exemple dans les scénarios de virtualisation. Ici, plusieurs hôtes peuvent servir des machines virtuelles avec les mêmes adresses MAC.

Frederik Nielsen
la source
4

Les tables de routage pour les adresses MAC nécessiteraient presque chaque périphérique avec une adresse MAC répertoriée. Le routage vers Internet pour IP est une entrée unique 0.0.0.0/0. Pour les classes de réseaux, elles sont 10.0.0.0/8 172.16.0.0/16 et 192.168.0.0/24. Beaucoup d'entre eux peuvent être agrégés comme 172.16.0.0/12 et 192.168.0.0/16, ce qui réduit encore la taille de la table de routage.

Les itinéraires sont recherchés dans l'ordre inverse du nombre de bits dans leur masque. Ainsi, le routage vers 192.168.100.0/24 fonctionne s’il existe une route pour 192.168.0.0/16 et une autre pour 0.0.0.0/0 (route par défaut).

EDIT: À l’origine, la plage d’IP était divisée en plusieurs classes; A, B et C étant les plus significatifs. La classe A constituait la première moitié de la plage d'adresses, la plage B le trimestre suivant et la plage C les huit suivants. Ces classes avaient des masques de 8, 16 et 24 bits respectivement. Plus tard, l'utilisation stricte de ces masques a été abandonnée et l'attribution d'adresses a été réalisée dans différentes tailles.

La taille de l'allocation est toujours une puissance de 2 et les adresses la plus basse et la plus élevée dans chaque allocation sont réservées. Chaque allocation aura également une adresse pour un routeur. C'est souvent l'adresse la plus basse ou la plus élevée non réservée. La plus petite allocation pratique est une adresse / 30.

IPv6 utilise la même forme d’allocation avec un / 64, la plus petite allocation pouvant apparaître sur Internet. En règle générale, les fournisseurs d’accès à Internet recevront une allocation beaucoup plus grande, ce que tous les routeurs Internet devraient connaître. Les allocations attendues sont spécifiées dans les RFC. Le FAI aurait besoin de savoir comment router son propre sous-réseau et quelles adresses router vers quels routeurs d'interconnexion. C’est bien plus simple que de savoir comment router chaque adresse mac.

BillThor
la source
7
Il n’ya plus de cours en réseau depuis 1994. = [
Chris S
Les recherches @ChrisS IPv4 PTR sont toujours effectuées par classe, bien que la délégation soit possible. Les agrégations s'appliquent toujours avec ou sans classes, et les agrégations B et C continuent de s'appliquer même avant les réseaux sans classe.
BillThor
2
Les recherches PTR sont effectuées par Octet, il n'y a pas de classes. Voir RFC 1517 à 1520.
Chris S
2
@ChrisS Parmi les personnes avec lesquelles je travaille, les classes sont utilisées pour faire référence au nombre d'octets dans le masque de réseau A = 1, B = 2 et C = 3. Nous ne les associons pas à leurs plages historiques et diviserons la classe A 10.0.0.0 en parties B et C. Les classes vivent dans la tradition, si ce n'est leur sens originel.
BillThor
2

Je pense que l’essentiel de leur propos est que les adresses MAC sont déterminées par les fournisseurs. Il n’existe donc pas de système d’adressage cohérent auquel on puisse adhérer dans un sous-réseau local en raison du grand nombre de fabricants qui fabriquent des interfaces.

Les adresses MAC sont utilisées lorsque l'adresse de destination se trouve dans le sous-réseau local (192.168.0.x, par exemple). Lorsque le trafic ne correspond pas au sous-réseau local, l'ordinateur fait référence à la table de routage. En règle générale, la table de routage indique à tout trafic ne correspondant pas au sous-réseau local (0.0.0.0) de se diriger vers la passerelle locale. À ce stade, toute affiliation à des adresses MAC est entièrement supprimée. La seule façon dont les adresses MAC pourraient être utilisées globalement serait d’avoir un seul sous-réseau énorme et plat, ce qui serait totalement impraticable.

Alex Berry
la source
2

L'adresse MAC peut être la même sur différents adaptateurs Ethernet sur le même ordinateur. SUN avait une adresse MAC unique pour chaque machine. Ainsi, les cartes Ethernet pour ordinateurs SUN ne possédaient pas d'adresse MAC unique, contrairement à la machine.

Ainsi, lorsque vous connectez la machine à deux réseaux différents, elle possède la même adresse MAC sur les deux réseaux.

Anders
la source
2

Les adresses MAC sont les adresses de la couche liaison (2n) dans les modèles ISO / OSI et TCP / IP . Cela signifie que les adresses MAC sont utilisées pour connecter des nœuds à l'intérieur d'un réseau local (point à point). Les adresses IP sont les adresses de la couche réseau (3ème) sur Internet (de bout en bout).

Les deux adresses ne sont utilisées que dans leur couche et ne sont pas destinées à être utilisées en dehors de celle-ci.

se déconnecter
la source
1

L'adresse MAC d'une adresse IP cible n'est utile que pour la distribution de paquets dans un seul domaine de diffusion local.

mr_eclair
la source
1

Les gens ici ont déclaré que le problème de l'utilisation d'adresses MAC au lieu d'adresses IPv4 est le routage, car les tables de routage deviendraient volumineuses, mais cela suppose des routeurs IPv4. Il est possible d'avoir de petites tables de routage, et si cela vous intéresse, cherchez un routage à espace de noms plat. L'un des articles décrivant cette technique est celui-ci: http://www.cs.uiuc.edu/~caesar/papers/rofl.pdf

Nikola Knezevic
la source
2
ROFL propose que chaque routeur au sein d'un AS garde la trace de chaque hôte de cet AS ... et utilise des hachages cryptographiques pour les identifiants d'hôte ... Ainsi, il y aura non seulement des millions d'entrées dans les tables de routage et des exigences de transfert / maintenance monstrueuses, mais des algorithmes cryptographiques sont nécessaires pour interpréter la table. L'auteur est hors de son esprit. La propriété intellectuelle peut avoir des inconvénients, mais au moins, la conception de base ne contient aucune hypothèse insensée.
Chris S
Dans ROFL, seuls les routeurs de premier saut doivent conserver l'ensemble des nœuds connectés, pas tous les nœuds de l'AS. La section 2 mentionne la mise en cache, mais c'est une optimisation. La cryptographie n'est nécessaire que lorsque des nœuds rejoignent le routeur, pas pour l'interprétation de la table de routage. Le routage est effectué sur un DHT, ce qui est beaucoup plus résistant que le routage hiérarchique.
Nikola Knezevic
1

Si je me souviens bien, les adresses MAC sont vraiment des adresses Ethernet. Les adresses Ethernet sont divisées en deux parties: une partie fournisseur - identifiant le fournisseur de la carte Ethernet et une partie adresse attribuée par le fournisseur. Il appartient au fournisseur de les rendre uniques - ou non.

Ainsi, l’espace d’adresse MAC 48 bits n’est pas utilisé efficacement ni hiérarchiquement - comme mentionné plusieurs fois ci-dessus.

L'adresse est conçue pour avoir des adresses uniques sur un réseau local CSMA.

Au moins, autant que je m'en souvienne.

Les adresses IP sont conçues pour évoluer de manière beaucoup plus générale et pour résoudre un problème différent.

Mike Howard
la source
Les adresses MAC doivent être uniques - cela ne se produit pas toujours comme d'autres l'ont noté, mais c'est une exigence. Les fabricants peuvent obtenir plus d'un identifiant de fournisseur. Il existe environ 4 millions d'ID de fournisseurs possibles (dans l'espace d'adressage MAC48, il existe également un espace d'adressage MAC64 à venir) et moins d'un dixième a été attribué. Il y a 16 millions d'ID d'appareils dans chaque ID de fournisseur. L'épuisement d'un fournisseur, même important, prend un certain temps.
Chris S