Warum gibt ipv6 eine 128-Bit-Adresse an, wenn die MAC-Adressen nur 48 Bit enthalten?


37

Ich lese gerade für eine Networking-Prüfung und frage mich nur, ob ich etwas Grundlegendes verpasst habe. Müssen mehr IP-Adressen als MAC-Adressen angegeben werden, und wie würden einem Knoten mit einem Netzwerkadapter in diesem Fall viele IP-Adressen zugewiesen?


2
+1 obwohl es offensichtlich ist, dass MAC nur für Geräte innerhalb eines lokalen Netzwerks (das an den gleichen Bus angeschlossen ist) eindeutig sein muss, während die Internetschicht alle lokalen Netzwerke in einem globalen Netzwerk konsolidiert, wobei das grundlegende Konstruktionsprinzip, eine Eroberung aufzuteilen, genau dieses lokale vorschreibt Netzwerke kennen die lokalen Adressen in den anderen lokalen Netzwerken nicht, um erfolgreich über ein globales IP-Schema zu kommunizieren. Darüber hinaus können Sie lokale Netzwerke, die nicht auf Ethernet basieren, an das Internet anschließen. Daher bin ich daran interessiert zu wissen, was die Antwort wäre, wenn IP nur Ethernet auf der untersten Ebene erfordert.
Val

1
Der Übergang von IPv4 zu IPv6 war - und ist - so langsam und kostspielig, dass wir nie wieder vor einem neuen Übergang stehen wollen. 128 Bits haben eine vernünftige Chance, "für immer" genug zu sein. tools.ietf.org/html/rfc1606 ist eine sehr humorvolle Interpretation dessen ("Da das IP- Protokoll der Version 9 am Ende seiner Nutzungsdauer steht, wiederum aufgrund der Erschöpfung des Adressraums, ...")
Beni Cherniavsky- Paskin

@ BeniCherniavsky-Paskin, der Übergang ist langsam, weil NATs die Notwendigkeit mildern. Dies zeigt uns erneut, dass wir den lokalen Adressraum nicht benötigen, um den globalen Adressraum abzudecken.
Val

Antworten:


40

MAC-Adressen müssen nur in einer lokalen Broadcast-Domäne und nicht global eindeutig sein, sodass die Wiederverwendung von MAC-Adressen in verschiedenen Netzwerken normalerweise kein Problem darstellt.

Das Internet ist keine globale Broadcast-Domain und muss daher in viele Adressblöcke unterteilt werden, die verschiedenen ISPs zugewiesen sind, und jeder ISP unterteilt seine Blöcke in kleinere Blöcke für verschiedene Kunden / Dienste. Damit jeder dieser kleineren Blöcke viele MAC-Adressen enthalten kann, muss der IP-Raum viel größer sein als der MAC-Adressraum.


8
Auch wegen der Aggregation. 48 Bit wären mehr als genug IP-Adressen (40 KB pro Person), aber das würde bedeuten, dass jeder Router einen Flat-Table mit mehr als 2 PB betrachten muss, da diese Technologie nicht vorhanden ist.
Ytti

1
@ytti: Zumindest bis wir alle ip-fähige Nanoroboter in unserem Blut haben
BlueRaja - Danny Pflughoeft

1
Sie können wahrscheinlich linklocal verwenden, da nur wenige von ihnen eine Schnittstelle außerhalb des lokalen Netzes herstellen würden.
Ytti

1
Auf dem Papier sollen sie weltweit einzigartig sein. Es ist jedoch bekannt, dass die Realität davon abweicht.
Ricky Beam

4
Dies würde eine weitere Frage rechtfertigen. Die MAC-Adresse wird jedoch von der 24b- oder 36b-OUI-Nummer übernommen, die Sie bei IEEE erwerben. Diese Nummer sollte eindeutig sein. In der Praxis verwenden einige Benutzer die OUI anderer Benutzer, oder einige Benutzer stellen NICs mit nicht eindeutigem MAC her. Während die MAC-Adresse 48b ist, ist es eigentlich nur 46b, da 1 Bit bestimmt, ob es Unicast / Multicast ist, und 1 Bit, ob es global / lokal ist, wenn das lokale Bereichsbit aktiviert ist, sind alle Wetten aus Gründen der Eindeutigkeit deaktiviert.
Ytti

16

Nicht alle Arten von Netzwerkschnittstellen verwenden MAC-Adressen. MAC-Adressen werden meistens mit Ethernet verknüpft, obwohl es von einigen anderen Netzwerkstandards verwendet wird. Eine IPv6-Adresse kann jedoch weiterhin einer Netzwerkschnittstelle zugewiesen werden, die keine MAC-Adressen für Schicht 2 verwendet.

Es ist auch zu beachten, dass eine MAC-Adresse durch EUI-64-Konvertierung in einen IPv6-Host-Teil konvertiert werden kann (hauptsächlich für die zustandslose Autokonfiguration), indem die hexadezimalen Werte FFFE zwischen den äußersten linken und rechten 24 Bits der 48-Bit-MAC-Adresse eingefügt werden. und das siebte Bit wird invertiert.

So kann beispielsweise 0c: 3a: bb: 2a: cd: 23 in den Host-Teil einer IPv6-Adresse mit zustandsloser Autokonfiguration konvertiert werden. 0c in den obigen MAC-Adressen, dargestellt als 0000 1100 in binärer Form, würde 0000 1110 in binärer Form oder 0e in hexadezimaler Form werden. Daher wäre der endgültige EUI-64-Host-Teil der IPv6-Adresse, der von der MAC-Adresse konvertiert wird, 0e: 3a: bb: ff: fe: 2a: cd: 23.


1
Sie müssen auch die MAC-Adresse 'local bit'
ytti

Ich habe diesen Teil vergessen - ich habe meine Antwort bearbeitet, um die Informationen wiederzugeben. Danke, dass
du das erwischt hast

Dumme Skript, um es automatisch zu tun: ruby ​​-e'EUI = (ARGV [1]); k = ARGV [0] .delete (":."). Scan (/. {6} /). Join ("fffe") ) .scan (/../); k [0] = "% 02x"% (k [0] .hex ^ 0b10); p EUI + ":" + k.join.scan (/..../) .join (":") '74: 66: 30: 42: 42: 42 2001: 67c: 17a0: 0
ytti

Die Übersetzung der MAC-Adresse in EUI-64 zur Verwendung bei der IP-Zuweisung scheint eine spätere Angelegenheit zu sein. Der ursprüngliche IPv6-over-Ethernet-Standard (RFC 2464) spezifizierte MAC-Adressen mit Null-Präfix.
Peter Green

6

Außerdem gibt es einige Layer-2-Protokolle mit mehr als 48 Bit im MAC, zum Beispiel Fibre Channel mit 64 Bit (oder offenbar 128 Bit laut Wikipedia) sowie FireWire (na ja, irgendwie), sodass sie in ein / passen. 64 ohne das Potenzial der Überlappung.


4

IPv6 SLAAC kann nur eine Adresse pro Präfix generieren, da der MAC verwendet wird, um eine einigermaßen eindeutige Adresse zu generieren . Datenschutzerweiterungen können eine oder mehrere Pseudozufallsadressen generieren, die dann auf Überschneidungen des lokalen Segments überprüft werden. Natürlich können lokale Administratoren beliebig viele statische Adressen zuweisen - es ist ihre Aufgabe, keine Überlappungen zu gewährleisten.

[Mit einigermaßen eindeutig meine ich, dass die Wahrscheinlichkeit einer Kollision gleich Null ist. Und wenn doch, haben Sie zuerst ein Layer-2-Problem! (zwei Maschinen im selben Segment mit demselben MAC)]


Betroffene Datenschutzerweiterungen waren ein nachträglicher Gedanke, als die Leute erkannten, dass MAC-basierte Autokonfiguration ein Alptraum für den Datenschutz war. Keine der treibenden Kräfte im Design von IPv6
Peter Green

Das meiste von IPv6 ist ein nachträglicher Gedanke ... Wer nicht aus der Geschichte lernt, ist dazu verdammt, ihn zu wiederholen.
Ricky Beam

2

Ich denke, im Grunde kommt es auf zwei wesentliche Punkte an.

  1. Internetadressen müssen nicht nur global eindeutig sein, sie müssen auch global routbar sein. Das individuelle Weiterleiten der Adressen jeder Maschine würde zu unerschwinglich großen Routingtabellen führen. Die IPv6-Designer hatten den Traum von einem hierarchischen Routing-System *, um die Routing-Tabellen klein zu halten.
  2. Die Entwickler von IPv6 wollten eine zustandslose automatische Konfiguration. Die zustandslose automatische Konfiguration erfordert, dass der "Host" -Teil der Adresse groß ist, um entweder eine vorhandene Link-Adresse oder eine Zufallszahl aufzunehmen, die groß genug ist, dass Kollisionen sehr unwahrscheinlich sind.

Wenn Sie diese Punkte zusammenfassen, müssen sowohl der "Host" - als auch der "Netzwerk" -Teil einer Adresse groß sein. Mit Sicherheit jeweils mehr als 32 Bit. Jede 64-Bit-Version war wahrscheinlich zu viel, aber besser als zu wenig.

* Der Traum hat nicht wirklich geklappt, weil das Internet keine feste Hierarchie ist, aber es geht nicht darum, was in den letzten 20 Jahren oder so seit Einführung von IPv6 tatsächlich passiert ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.