web-dev-qa-db-fra.com

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

Je lis sur TCP/IP et d'autres protocoles et technologies connexes. Les adresses MAC sont décrites comme étant (raisonnablement :) uniques, et comme ayant un grand espace de possibilité (plusieurs centaines de billions), tout en étant assigné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 entre réseaux?

Suis-je en train de manquer quelque chose de fondamental ou est-ce juste une raison stupide (par exemple, s'appuyer sur une technologie héritée)?

184
Félix Saparelli

L'adresse MAC peut être unique, mais le numéro qui indique où elle se trouve n'a rien de spécial. MAC 00-00-00-00-00-00 pourrait être de l'autre côté de la planète à partir de 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 pour les distinguer logiquement en tant que groupe (c'est ce qu'est un sous-réseau). L'envoi de messages entre ces groupes se fait par des tables de routage, elles-mêmes divisées en plusieurs niveaux afin que nous n'ayons pas à suivre chaque sous-réseau. Par exemple, 17.x.x.x se trouve dans le réseau Apple. À partir de là, Apple saura où se trouvent chacun de ses milliers de sous-réseaux et comment y accéder (personne d'autre) a besoin de connaître ces informations, ils ont juste besoin de savoir que tout va à Apple).

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

345
Chris S

Parce que les tables de routage deviendraient incroyablement grandes.

Les adresses IP sont allouées de manière hiérarchique, de sorte qu'un routeur peut regrouper les itinéraires par préfixe d'adresse. Le nombre de systèmes autonomes présents sur le net est maintenant suffisamment raisonnable pour s'adapter au matériel d'aujourd'hui.

D'un autre côté, 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 devrait garder une trace des routes pour chaque périphérique qui relaie le trafic à travers lui. C'est ce que font les commutateurs de couche 2, et cela n'évolue pas bien au-delà d'un certain nombre d'hôtes.

73
b0fh

Le monde ne fonctionne pas exclusivement sur Ethernet (au 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'adresse 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é par d'autres technologies à l'avenir et il serait transparent 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'égare ...

34
Jeff Sacksteder

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

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

30
OrangeDog

Jetez un œil au modèle OSI : http://en.wikipedia.org/wiki/OSI_model

Cela explique pourquoi il n'est pas logique de faire du routage, un concept de couche 3, des décisions basées sur un mécanisme physique de couche 2.

La mise en réseau moderne est divisée en plusieurs couches différentes pour réaliser 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 les pairs sur son réseau physique.

La communication que vous êtes autorisé à établir avec votre adresse MAC va être limitée aux autres appareils qui résident en contact physique avec votre machine. Sur Internet, par exemple, vous n'êtes pas physiquement connecté à chaque machine. C'est pourquoi nous utilisons le mécanisme TCP/IP (couche 3, adresse logique) lorsque nous devons communiquer avec une machine à laquelle nous ne sommes pas physiquement connectés.

22
barancw

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.

7
Frederik Nielsen

Les tables de routage pour les adresses MAC nécessiteraient presque tous les périphériques 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 réseaux, elles se décomposent en 10.0.0.0/8 172.16.0.0/16 et 192.168.0.0/24. Beaucoup de ceux-ci peuvent être agrégés comme 172.16.0.0/12 et 192.168.0.0/16 réduisant encore la taille de la table de routage.

Les routes sont recherchées dans l'ordre inverse du nombre d'un bit dans leur masque. Le routage vers 192.168.100.0/24 fonctionne donc lorsqu'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 IP était divisée en plusieurs classes; A, B et C étant les plus importants. La classe A représentait la première moitié de la plage d'adresses, la plage B le trimestre suivant et la plage C les huit suivants de la plage. 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 des adresses a été effectuée dans une variété de tailles.

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

IPv6 utilise la même forme d'allocation avec a/64 la plus petite allocation qui puisse apparaître sur Internet. En règle générale, les FAI recevront une allocation beaucoup plus importante, ce que tous les routeurs Internet devraient savoir. Les allocations attendues sont spécifiées dans les RFC. Le FAI devrait savoir comment acheminer son propre sous-réseau et quelles adresses acheminer vers quels routeurs d'interconnexion. C'est beaucoup plus simple que de savoir comment router chaque adresse mac.

4
BillThor

Les adresses MAC sont les adresses de la couche liaison (2n) dans modèle ISO/OSI et modèle 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 (3e) à l'intérieur d'Internet (de bout en bout).

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

2
logoff

Je pense que le principal point qu'ils essaient de faire passer est que les adresses MAC sont déterminées par les fournisseurs, donc il n'y a pas de schéma d'adressage cohérent qui pourrait être respecté dans un sous-réseau local en raison de la grande variété 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. Généralement, la table de routage indiquera à tout trafic qui ne correspond pas au sous-réseau local (0.0.0.0) de se diriger vers la passerelle locale, auquel cas toute affiliation aux adresses MAC est entièrement supprimée. La seule façon dont les adresses MAC pourraient être utilisées à l'échelle mondiale serait d'avoir un seul sous-réseau plat et énorme, ce qui serait totalement irréalisable.

2
Alex Berry

L'adresse MAC peut être la même sur différents adaptateurs Ethernet sur la même machine. Sun avait une adresse MAC uniqe pour chaque machine. Ainsi, les cartes Ethernet pour les ordinateurs Sun n'avaient pas d'adresse MAC unique, la machine en avait.

Ainsi, lorsque vous avez connecté la machine à deux réseaux différents, elle avait la même adresse MAC sur les deux réseaux.

2
Anders

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

1
mr_eclair

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

1
Nikola Knezevic

Je me souviens que les adresses MAC sont vraiment des adresses Ethernet. Les adresses Ethernet sont divisées en deux parties: une partie fournisseur - qui identifie le fournisseur de la carte Ethernet et une partie adresse qui est attribuée par le fournisseur. C'est au vendeur de les rendre uniques ou non.

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

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

Du moins, pour autant que je m'en souvienne.

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

1
Mike Howard