web-dev-qa-db-fra.com

Comment les adresses MAC sont-elles utilisées dans le routage des paquets?

J'ai récemment découvert que les paquets sont encapsulés dans des trames Ethernet. Les paquets utilisent des adresses IP, les cadres utilisent des adresses MAC.

Pourquoi les adresses IP ne sont-elles pas utilisées dans les trames Ethernet pour le routage? Je comprends que pour tenter d’accéder à un site Web de base, l’ordinateur s’adresse à un DNS pour trouver l’adresse IP pertinente pour le nom de domaine saisi par l’utilisateur. Comment les ordinateurs trouvent-ils la bonne adresse MAC?

Vraiment, comment les adresses MAC sont-elles utilisées dans le routage du trafic Internet?

Merci

11
BenAdamson

Les paquets IP ne sont pas toujours encapsulés dans des trames Ethernet. Il existe d'autres supports physiques tels que le RNIS, etc. Lorsque les paquets sont routés, les adresses IP sont utilisées pour déterminer le prochain bond et l'adresse physique est utilisée pour identifier physiquement l'interface servant de prochain bond. Seul le premier (déterminer le prochain bond) est généralement appelé routage.

Pour répondre à votre deuxième partie, les adresses MAC sont découvertes via ARP (protocole de résolution d'adresse) dans IPv4 et ND6 (découverte de voisin) dans IPv6.

Mettre à jour : L'adresse IP de destination dans l'en-tête IP est la destination finale. Au cours du processus de routage (à chaque saut), vous obtenez l'adresse IP du saut suivant pour (éventuellement) atteindre la destination finale à partir de la table de routage (il peut s'agir de l'adresse IP d'une passerelle par défaut). Pour envoyer le paquet au saut suivant, vous avez besoin de son adresse MAC. En passant par des liens intermédiaires, l'adresse IP dans l'en-tête IP ne change pas - seules les adresses MAC changent.

11
jman

Un peu tard, mais voici toujours ma réponse :) ... Pour envoyer des données, vous avez besoin de deux adresses, l’adresse MAC et l’adresse IP. En gros, l’hôte qui envoie sera ARP pour une adresse MAC, cela se produit lorsque l’hôte local ne connaît pas l’adresse MAC de l’hôte pour lequel il a une adresse IP ou qu’il choisira ARP pour l’adresse MAC de la passerelle par défaut (s’il ne la connaît pas déjà) si l’adresse IP se trouve sur un autre sous-réseau/réseau. Une fois qu'il a obtenu une adresse MAC, le paquet IP est encapsulé dans une trame L2 et envoyé sur le support. Si le paquet IP est destiné à un hôte situé sur un sous-réseau/réseau différent, il sera envoyé à la passerelle par défaut. Ce routeur désencapsulera la trame L2 (le retirera et le rejetera), vérifiera l'adresse IP et le transmettra. Pour ce faire, le routeur a besoin d’une adresse MAC pour l’envoyer sur le support. Il recherchera le prochain saut dans sa table de routage, encapsulera le paquet IP avec les mêmes adresses IP source et de destination envoyées par l’hôte d’origine à un nouveau cadre L2. Cette fois, l'adresse MAC de l'adresse source sera celle de l'interface de transmission du routeur et l'interface de réception du saut suivant sera l'adresse MAC de destination. Cela se poursuivra de saut en saut jusqu'à ce qu'il atteigne l'hôte final, à chaque fois que les adresses MAC seront modifiées, mais l'adresse IP d'origine restera la même. 

3
caspe_ghost

Voici l’essentiel: il peut y avoir plus de types de paquets que le trafic INTERNET. Vous pourriez utiliser IPX , qui n'est pas routable. Comment les clients s'identifient-ils? Par l'adresse MAC.

Routing! = Adressage, qui est vraiment où le MAC entre en jeu.

Pour être routé, le modèle OSI ajoute une couche pour permettre la découverte du chemin d'accès à la passerelle suivante. Cette couche est responsable du routage, mais ne connaît rien de l'adresse MAC.

De plus, au niveau matériel, les adresses MAC sont utilisées par les commutateurs, mais pas pour le routage. De Comment ça marche :

Le commutateur reçoit le premier paquet de données du nœud A. Il lit l'adresse MAC Et l'enregistre dans la table de recherche du segment A. Le commutateur [maintenant] sait où trouver le nœud A à tout moment dans un paquet. est adressé à elle. Ce processus Est appelé apprentissage.

De cette manière, un commutateur peut s’assurer que le trafic n’est transmis qu’au bon port. Cela ne permet pas tant d’acheminer le routage que de réduire la congestion du réseau. Seuls les diffusions et le trafic destinés spécifiquement à cette adresse MAC doivent être envoyés par le port.

2
Lynn Crumbling

Récemment, j'ai réfléchi à la même chose et suis tombé sur cette question. Voici ma réponse à cette question. En réalité, une adresse MAC est nécessaire pour envoyer correctement le paquet à la bonne destination. Cela est particulièrement vrai lorsqu'un paquet est nécessaire pour être envoyé sur un VLAN. Il peut y avoir plusieurs commutateurs/routes connectés sur ce VLAN sur plusieurs interfaces physiques. Cependant, le routage IP ignore ces interfaces physiques. Il ne connait que la connectivité logique. Par exemple, l'itinéraire 10.10.10.0/24 est accessible via VE/VIF0.10 (interface logique VLAN) et/ou le voisin nexthop est le 20.20.20.1. Il pourrait y avoir plusieurs interfaces sous VLAN 10. Quel paquet d'interface est envoyé ensuite? C'est ici qu'ARP entre en scène. ARP permet de découvrir l'adresse MAC associée à l'adresse IP du saut suivant. Lorsque commutateur/routeur apprend le MAC nexthop. Parallèlement à cela, il apprend également l'interface physique via laquelle ce MAC est accessible. Par conséquent, lors du routage d'un paquet, le MAC correspondant à l'adresse IP de destination est d'abord recherché, puis l'interface physique associée à ce MAC est recherchée. Enfin, le paquet est envoyé via cette interface physique. Le MAC correspondant à cette adresse IP de destination est utilisé comme MAC de destination. En l'absence de cela, les paquets routés seront toujours inondés dans le VLAN sortant.

J'espère que cela t'aides.

Merci.

0
NeilB

Réponse: Les adresses MAC ne sont pas utilisées dans le processus de routage d'un paquet. 

  • segment -> couche de transport (ports TCP) 
  • paquets -> couche réseau (adresses IP)
  • cadre -> couche liaison de données (adresses MAC)
  • bits -> couche physique (signaux électriques/optiques)

Créez votre propre paquet/visite de segment http://wirefloss.com/wireit/

Il existe 2 modèles (TCP/IP et ISO/OSI) http://www.techexams.net/technotes/ccna/osimodel.shtml

En détail: Votre application contient des données. Ceci est encapsulé par les couches mentionnées. L'encapsulation signifie qu'un en-tête avec des champs est ajouté à chaque couche. Si vos données ne quittent jamais le réseau local, l'adresse MAC sera la même. Une fois que vos données doivent être livrées en dehors de votre réseau, l'en-tête de la trame est enlevé par le routeur et remplacé par les champs du routeur.

0
Marek H