J'ai lu sur les différences entre les adresses MAC et IP, et pourquoi nous avons besoin des deux.
Pour résumer, les adresses MAC sont des ID uniques physiques non modifiables pour chaque périphérique tandis que les adresses IP sont attribuées, modifiables et virtuelles. Pour analogier, les adresses MAC sont comme des personnes qui ont des noms permanents et les adresses IP sont où elles vivent actuellement.
Dans le monde réel, nous lions des adresses et des noms à l'aide d'un répertoire téléphonique. Quel mécanisme relie les adresses IP aux adresses MAC et où se trouve ce mécanisme dans le réseau?
Réponses:
Le mécanisme est appelé ARP (Address Resolution Protocol) . Chaque ARP de périphérique Ethernet IPv4 pour résoudre les adresses mac Ethernet pour les adresses IP cibles. Les mappages IP vers mac sont stockés dans la table ARP de chaque appareil (l'annuaire téléphonique dans votre analogie).
Pour simplifier: Dans la plupart des cas, pour résoudre l'adresse MAC associée à une adresse IP, vous envoyez un paquet ARP de diffusion (à tous les périphériques du réseau), en demandant qui a cette adresse IP. L'appareil avec cette adresse IP répond à l'ARP (avec son adresse MAC).
la source
Étant donné que la question a été étiquetée avec IPv6, j'y répondrai car IPv6 est très différent d'IPv4.
Pour commencer, ARPv6 n'existe pas. Le mappage entre les adresses de couche 2 et IPv6 est effectué par le NDP (Neighbour Discovery Protocol), qui est envoyé via ICMPv6. Ainsi, vous ne devez pas ignorer ICMPv6 et le filtrer, comme c'est la coutume avec l'IP hérité. Le NDP fournit deux types de messages qui sont intéressants ici: la sollicitation de voisins et la publicité de voisins. Un nœud qui veut apprendre une adresse de couche liaison pour une adresse IP particulière envoie une sollicitation de voisin à l' adresse de multidiffusion de nœud sollicité local de liaison correspondante - il n'y a plus de diffusion pour IPv6.
Par exemple, si l'adresse en question est
2001:db8::0011:2233:4455:6677
, alors l'adresse de multidiffusion du nœud sollicité correspondant estff02::1:ff55:6677
, et l'adresse de multidiffusion Ethernet correspondante est33:33:ff:55:66:77
. Tous les nœuds avec une adresse se terminant par*55:6677
appartiennent à ce groupe de multidiffusion et écouteront cela - ce n'est probablement que le système cible lui-même. La sollicitation de voisin contient également les adresses IPv6 unicast et l'adresse MAC du système de sollicitation.À la réception, le nœud cible répond avec son annonce de voisin, qui est envoyée à l'adresse de monodiffusion (couche de liaison et IPv6) du nœud de sollicitation. Ainsi, le nœud sollicitant apprend l'adresse MAC du nœud cible.
Et oui, l'usurpation d'identité NDP fonctionne un peu comme l'usurpation d'identité ARP. Et non, IPsec n'est pas la réponse.
la source
La meilleure réponse est bonne. Si cela peut vous aider, voici une description en termes d'analogie avec votre répertoire téléphonique. De vrais termes de réseautage entre parenthèses.
Sur la base de leur nom (adresse IP), vous savez qu'ils vivent dans votre quartier (domaine de diffusion). Vous regardez d'abord dans votre répertoire (cache ARP) pour voir si vous connaissez déjà leur adresse (adresse MAC). S'ils ne figurent pas dans le répertoire, vous sortez et criez (diffusez) «Où habite Steve?» Suffisamment fort pour que tout le monde puisse l'entendre (demande ARP). En supposant que Steve habite en fait là-bas et qu'il est éveillé, il répond - juste à vous, sans crier - «Voici mon adresse» (réponse ARP). Vous l'écrivez dans votre répertoire pour référence future (mise en cache ARP).
la source
Les adresses MAC peuvent être modifiées. Sous Linux, utilisez ip ou ifconfig pour la plupart des fenêtres, regardez les paramètres du pilote de votre interface réseau.
Vous ne convertissez rien. Les adresses MAC sont sur la couche 2, IP sur la couche 3 du modèle OSI. Pour IPv4, ARP est utilisé pour savoir quelle adresse MAC (couche 2) appartient à une certaine adresse IP (couche 3). Pour IPv6, ICMPv6 (découverte du voisin) est utilisé.
la source
Protocole de résolution d'adresse (ARP)
Adresse IP ---> ARP ---> Adresse MAC
Adresse MAC ---> RARP ---> Adresse IP
Adresse IP = adresse logique [32 bits]
Adresse MAC = adresse physique [48 bits]
Couche réseau (IP) ----> ARP ---> Couche liaison de données (MAC)
L'adresse IP est nécessaire dans la couche réseau pour identifier un hôte source / de destination.
L'adresse MAC est nécessaire dans la couche liaison de données pour identifier un hôte source / de destination.
la source
La pile réseau recherche d'abord l'adresse IP de destination dans sa table de routage, à partir de là, elle détermine deux choses.
Notez que l'adresse IP du prochain bond est un concept purement local, elle ne fait jamais partie d'un paquet envoyé sur le câble.
Si le paquet doit être envoyé sur une couche de liaison multipoint (par exemple Ethernet, etc.), le système d'exploitation recherche alors le saut suivant dans sa table arp (ipv4) ou découverte de voisin (ipv6). S'il y trouve une entrée non périmée, il dispose de l'adresse MAC dont il a besoin et peut envoyer le paquet.
S'il n'a pas d'entrée utilisable, il met les paquets destinés à ce prochain bond en attente et envoie une demande pour trouver l'adresse MAC. Les mécanismes diffèrent ici un peu entre v4 et v6.
Dans v4, les requêtes d'arp sont envoyées. Ceci est normalement diffusé mais dans certains cas, si l'hôte a une entrée périmée, il peut d'abord essayer une demande de monodiffusion et ne retomber en diffusion qu'en cas d'échec. La réponse est normalement unicast.
Dans la version 6, les demandes de sollicitation de voisins sont envoyées à une adresse de multidiffusion générée à partir de l'adresse de saut suivante. La cible répond avec une annonce de voisin unicast. Les hôtes peuvent également envoyer des publicités de voisins au groupe "multidiffusion tous nœuds" (ou diffusion efficace) pour actualiser les entrées dans les caches de découverte de leurs voisins.
la source