Ich habe über die Unterschiede zwischen MAC- und IP-Adressen gelesen und warum wir beide brauchen.
Zusammenfassend sind MAC-Adressen physikalisch unveränderbare eindeutige IDs für jedes einzelne Gerät, während IP-Adressen zugewiesen, änderbar und virtuell sind. Analog dazu sind MAC-Adressen wie Personen, die permanente Namen haben, und IP-Adressen sind der Ort, an dem sie derzeit leben.
In der realen Welt verknüpfen wir Adressen und Namen mit Hilfe eines Telefonbuchs. Welcher Mechanismus verknüpft IP-Adressen mit MAC-Adressen und wo befindet sich dieser Mechanismus im Netzwerk?
Antworten:
Der Mechanismus wird als Address Resolution Protocol (ARP) bezeichnet . Alle Ethernet IPv4-Geräte-ARPs, um Ethernet-Mac-Adressen für Ziel-IPs aufzulösen. IP-zu-Mac-Zuordnungen werden in der ARP-Tabelle jedes Geräts gespeichert (das Telefonbuch in Ihrer Analogie).
Zur Vereinfachung: In den meisten Fällen senden Sie zum Auflösen der mit einer IP-Adresse verknüpften MAC-Adresse ein Broadcast-ARP-Paket (an alle Geräte im Netzwerk) und fragen, wer über diese IP-Adresse verfügt. Das Gerät mit dieser IP-Adresse antwortet dem ARP (mit seiner MAC-Adresse).
quelle
Da die Frage mit IPv6 markiert wurde, beantworte ich dies, da IPv6 sich sehr von IPv4 unterscheidet.
Zunächst gibt es kein ARPv6. Die Zuordnung zwischen Layer 2 und IPv6-Adressen erfolgt über das Neighbor Discovery Protocol (NDP), das über ICMPv6 gesendet wird. Daher müssen Sie ICMPv6 nicht ignorieren und wegfiltern, wie dies bei älteren IP-Adressen üblich ist. Der NDP bietet zwei Nachrichtentypen, die hier von Interesse sind: Neighbor Solicitation und Neighbor Advertisement. Ein Knoten, der eine Link-Layer-Adresse für eine bestimmte IP-Adresse lernen möchte, sendet eine Neighbor Solicitation an die entsprechende Multicast-Adresse des Link-Local-Solicited-Nodes - für IPv6 wird kein Broadcast mehr gesendet.
Wenn die fragliche
2001:db8::0011:2233:4455:6677
Adresse beispielsweise lautetff02::1:ff55:6677
, lautet die entsprechende Multicast-Adresse für angeforderte Knoten und die entsprechende Ethernet-Multicast-Adresse33:33:ff:55:66:77
. Alle Knoten mit einer Adresse, die auf endet,*55:6677
gehören zu dieser Multicast-Gruppe und werden diese abhören - dies ist höchstwahrscheinlich nur das Zielsystem selbst. Die Neighbor Solicitation enthält auch die Unicast-IPv6-Adressen und die MAC-Adresse des Soliciting-Systems.Nach dem Empfang antwortet der Zielknoten mit seiner Nachbarwerbung, die an die Unicast-Adresse (Verbindungsschicht und IPv6) des anfragenden Knotens gesendet wird. Somit lernt der Anforderungsknoten die MAC-Adresse des Zielknotens.
Und ja, NDP-Spoofing funktioniert ähnlich wie ARP-Spoofing. Und nein, IPsec ist nicht die Antwort.
quelle
Die beste Antwort ist gut. Falls es hilft, finden Sie hier eine Beschreibung in Bezug auf Ihre Telefonbuch-Analogie. Echte Netzwerkbegriffe in Klammern.
Anhand ihres Namens (IP-Adresse) wissen Sie, dass sie in Ihrer Nachbarschaft leben (Broadcast-Domain). Zuerst sehen Sie in Ihrem Telefonbuch (ARP-Cache) nach, ob Sie deren Adresse (MAC-Adresse) bereits kennen. Wenn sie nicht im Telefonbuch sind, gehen Sie nach draußen und rufen "Wo wohnt Steve?", So laut, dass jeder es hören kann (ARP-Anfrage). Vorausgesetzt, Steve wohnt tatsächlich dort und ist wach, antwortet er - nur Ihnen, nicht schreiend - "Hier ist meine Adresse" (ARP-Antwort). Sie schreiben es in Ihr Telefonbuch, damit Sie später darauf zurückgreifen können (ARP-Caching).
quelle
MAC-Adressen können geändert werden. Verwenden Sie unter Linux ip oder ifconfig für die meisten Windows-Betriebssysteme und überprüfen Sie die Treibereinstellungen Ihrer Netzwerkschnittstelle.
Sie konvertieren nichts. MAC-Adressen befinden sich in Schicht 2, IP in Schicht 3 des OSI-Modells. Bei IPv4 wird mit ARP ermittelt, welche MAC-Adresse (Layer-2) zu einer bestimmten IP-Adresse (Layer-3) gehört. Für IPv6 wird ICMPv6 (Neighbor Discovery) verwendet.
quelle
ARP (Address Resolution Protocol)
IP-Adresse ---> ARP ---> MAC-Adresse
MAC-Adresse ---> RARP ---> IP-Adresse
IP-Adresse = Logische Adresse [32 Bit]
MAC-Adresse = Physikalische Adresse [48 Bit]
Netzwerkschicht (IP) ----> ARP ---> Datenverbindungsschicht (MAC)
Die IP-Adresse wird in der Netzwerkschicht benötigt, um einen Quell- / Zielhost zu identifizieren.
Die MAC-Adresse wird in der Datenverbindungsschicht benötigt, um einen Quell- / Zielhost zu identifizieren.
quelle
Der Netzwerkstapel sucht zuerst die Ziel-IP in seiner Routing-Tabelle und bestimmt daraus zwei Dinge.
Beachten Sie, dass die IP-Adresse für den nächsten Hop ein rein lokales Konzept ist und niemals Teil eines Pakets wird, das über die Leitung gesendet wird.
Wenn das Paket auf einer Mehrpunktverbindungsschicht (z. B. Ethernet usw.) gesendet werden soll, sucht das Betriebssystem den nächsten Hop in seiner Arp- (ipv4) oder Nachbarerkennungs-Tabelle (ipv6). Wenn es dort einen nicht veralteten Eintrag findet, hat es die MAC-Adresse, die es benötigt, und kann das Paket senden.
Wenn kein verwendbarer Eintrag vorhanden ist, werden die für diesen nächsten Hop bestimmten Pakete in die Warteschleife gestellt und eine Anforderung zum Ermitteln der MAC-Adresse gesendet. Die Mechanismen hier unterscheiden sich etwas zwischen v4 und v6.
In v4 werden Arp-Anfragen gesendet. Dies wird normalerweise rundgesendet, aber in einigen Fällen, wenn der Host einen veralteten Eintrag hat, versucht er möglicherweise zuerst eine Unicast-Anforderung und greift nur dann auf die Rundsendung zurück, wenn dies fehlschlägt. Die Antwort ist normalerweise Unicast.
In v6 werden Anforderungen für Neigbour-Anfragen an eine Multicast-Adresse gesendet, die aus der nächsten Hop-Adresse generiert wird. Das Ziel antwortet mit einer Unicast-Nachbarbekanntmachung. Hosts können auch Nachbarwerbung an die Gruppe "All-Nodes Multicast" (auch bekannt als effektiv Broadcast) senden, um Einträge in den Discovery-Caches ihrer Nachbarn zu aktualisieren.
quelle