Warum konnten keine MAC-Adressen anstelle von IPv4 | 6 für die Vernetzung verwendet werden? [geschlossen]

184

Ich lese gerade über TCP / IP und andere verwandte Protokolle und Technologien. MAC-Adressen werden als (vernünftigerweise :) eindeutig beschrieben und haben einen großen möglichen Speicherplatz (mehrere Hundert Billionen), während sie auch allen Netzwerkschnittstellen zugewiesen werden. Aus welchen historischen und technischen Gründen werden IPv4- oder IPv6-Adressen anstelle von MAC-Adressen für die Internetwork-Kommunikation verwendet?

Fehlt mir etwas Grundsätzliches oder ist es nur ein dummer Grund (z. B. auf der Basis von Legacy-Technologie aufzubauen)?

Félix Saparelli
quelle
55
Pedantische Korrektur: ziemlich einzigartig; Karten mit identischen HW-MAC-Adressen wurden in freier Wildbahn gesichtet - dies ist ein "lustiges" Netzwerkproblem, das zu debuggen ist.
Piskvor
9
Ich persönlich habe einen fehlerhaften Treiber gesehen, der tatsächlich verschiedenen Netzwerkkarten auf verschiedenen Computern dieselbe MAC-Adresse zugewiesen hat (die vor der Installation dieses Treibers eindeutige HW-Adressen hatten). Nun, das war schmerzhaft .
Massimo
3
Massimo, ich habe genau dasselbe gesehen. Es ist nicht ungewöhnlich, dass ein Treiber dies in der Entwicklung tut und die Programmierer vergessen, diese Komponente auszuschalten, wenn sie in Produktion geht. @Felix, es ist auch üblich, dass Hersteller MACs im Laufe der Zeit und in verschiedenen Teilen der Welt wiederverwenden. Eine Karte, die 2005 in den USA verkauft wurde, hat möglicherweise denselben MAC wie eine Karte, die 2013 in China verkauft wurde.
Robert Kaucher
30
Das Adressieren eines Pakets mit einer MAC-Adresse entspricht dem Adressieren eines Briefs mit einer Sozialversicherungsnummer.
Mikey
14
Woher wissen Sie , wo sich eine bestimmte MAC-Adresse gerade befindet? Ganz vorne dabei, ohne dass jeder Knoten im Internet benachrichtigt werden muss, wenn Sie in ein anderes Netz wechseln?
Thorbjørn Ravn Andersen

Antworten:

345

Die MAC-Adresse ist zwar eindeutig, die Nummer gibt jedoch keinen Hinweis darauf, wo sie sich befindet. MAC 00-00-00-00-00-00könnte sich auf der anderen Seite des Planeten befinden 00-00-00-00-00-01.

IP ist ein beliebiges Nummerierungsschema, das einer Gruppe von Computern hierarchisch auferlegt wird, um sie logisch als Gruppe zu unterscheiden (das ist ein Subnetz). Das Senden von Nachrichten zwischen diesen Gruppen erfolgt über Routingtabellen, die wiederum in mehrere Ebenen unterteilt sind, damit wir nicht jedes einzelne Subnetz im Auge behalten müssen. Zum Beispiel 17.x.x.xist innerhalb des Apple-Netzwerks. Von dort aus weiß Apple, wo sich jedes seiner Tausenden von Subnetzen befindet und wie man zu ihnen kommt (niemand muss diese Informationen kennen, er muss nur wissen, dass alles an Apple geht).

Es ist auch ziemlich einfach, dies mit einem anderen Systempaar in Beziehung zu setzen. Sie haben eine staatliche ID-Nummer. Warum benötigen Sie eine Postanschrift, wenn diese ID-Nummer nur für Sie eindeutig ist? Sie benötigen die Postanschrift, da es sich um ein beliebiges System handelt, das beschreibt, wohin das eindeutige Ziel für die Kommunikation mit Ihnen gehen soll.

Chris S
quelle
23
Das ist eine großartige Antwort. Ich hätte hinzugefügt, dass MAC-Adressen letztendlich für die IP-Kommunikation verwendet werden, sobald die Computer festgestellt haben, dass sie sich im selben Subnetz befinden. Deshalb wirkt eine ARP-Vergiftung wie ein Angriff. Ähnlich wie bei einem Standard-Gateway adressiert der Computer Pakete, die für ein anderes Subnetz bestimmt sind, an die MAC-Adresse, die von der ARP-Suche für die Standard-Gateway-IP zurückgegeben wurde. Die Layer-3 / IP-Adressierung wird hauptsächlich von Routern verwendet und nur vom Host verwendet, um festzustellen, ob sich das Ziel im selben Subnetz befindet.
Sean C.
7
@ SeanC, MAC-Adressen werden letztendlich für die IP-Kommunikation über 802.1-basierte Leitungsprotokolle (Ethernet, WiFi, Token Ring usw.) verwendet. Nicht jedoch über ATM-Protokolle wie PoSDH und IPoATM.
Chris S
25
Sie können auch die gleiche IP-Adresse beibehalten, wenn Ihre Netzwerkkarte (oder der gesamte Computer) ausgetauscht werden muss. Stellen Sie sich vor, wie ärgerlich es ohne die IP-Abstraktion wäre.
OrangeDog
3
@ ChrisS Ich habe einen Freund, der als Sys-Administrator einen Stapel Karten von einem einzigen Anbieter erhalten hat und der nur eine MAC-Adresse in der gesamten Palette hatte. Der Verkäufer gab an, dass die Karten nicht korrekt in den Einzelhandelsvertrieb eingemischt wurden, sodass es zu Duplikaten kam, da die Bestellung direkt vom Werk kam. Bevor die Karten in den Einzelhandel gingen, sollten sie gemischt werden, um die Dupes zu verteilen. Daher sind MAC-Adressaten für einen bestimmten Anbieter nicht eindeutig, geschweige denn für alle Anbieter.
4
Es gibt eine Vielzahl von historischen Gründen für das Auftreten doppelter Mac-Adressen, einschließlich Firmware-Fehler des Herstellers .
Mike Pennington
73

Weil die Routingtabellen unglaublich groß werden würden.

IP-Adressen werden hierarchisch zugewiesen, sodass ein Router Routen nach Adresspräfixen gruppieren kann. Die Anzahl der im Netz vorhandenen autonomen Systeme ist vernünftig genug, um in die heutige Hardware zu passen.

Andererseits ist die Verteilung von MAC-Adressen über das Netzwerk zufällig und völlig unabhängig von der Topologie. Eine Gruppierung der Routen wäre unmöglich. Jeder Router müsste die Routen für jedes einzelne Gerät verfolgen, das den Datenverkehr durch dieses Gerät weiterleitet. Genau das tun Layer-2-Switches, und das lässt sich nur über eine bestimmte Anzahl von Hosts hinweg skalieren.

b0fh
quelle
Können Sie das näher erläutern? Warum sollten sie? Warum ist das bei IPv * nicht der Fall?
Félix Saparelli
2
Es gibt keinen eigentlichen Grund dafür, dass Routertabellen, die eine MAC-formatierte Adresse verwenden, im Vergleich zu IPv4 / 6-Formaten "unglaublich groß" sind. Das Problem ist, dass die Zuweisung von IP-Adressen mit einer Hierarchie verknüpft ist, die das WAN-Routing ermöglicht. MAC-Adressen werden für Ethernet-Geräte von den Herstellern zugewiesen (und können in der Software geändert werden). Wenn sich das Hardwaregerät bewegt, wäre es eine "unglaublich große" Aufgabe, diese Ad-hoc-Änderungen an WAN-Routingtabellen vorzunehmen.
Hardmath
34

Die Welt läuft nicht ausschließlich im Ethernet (zumindest historisch). Die IP-Schicht ist unabhängig von der darunter liegenden Hardware-Schicht.

PPP-Knoten haben keine Mac-Adressen. Genauso wenig wie arcnet, token ring, fddi, hppi. Diese anderen Standards sind heute möglicherweise nicht mehr so ​​relevant, aber Ethernet wird möglicherweise in Zukunft durch andere Technologien ersetzt und ist für die IP-Schicht transparent.

Es gibt eine längere Diskussion darüber, wie wir immer wieder neue Hardwareprotokolle erfinden und sie als Ethernet bezeichnen, aber ich schweife ab ...

Jeff Sacksteder
quelle
5
Token Ring hat MAC-Adressen.
Chris S
Sie meinen, sie können auch nicht zu ipv6 wechseln, weil der PPP-Knoten keine v6-Adresse hat? (Oder hatte zumindest vor 5-10 Jahren noch keinen). Soweit ich das beurteilen kann, hat die heutige Bereitstellung von ipv6 nie aufgehört. Dies macht auch für MAC keinen Unterschied.
Dorus
6
@Dorus: Dein Kommentar macht keinen Sinn. PPP-Knoten können sowohl IPv4- als auch IPv6-Adressen haben, da IP auf den zugrunde liegenden Protokollen wie Ethernet oder PPP aufbaut. PPP-Knoten haben jedoch keine MAC-Adresse (da der PPP-Standard diese nicht hat).
Sleske
3 Jahre später (und ein bisschen sachkundiger) würde ich gerne diese "längere Diskussion darüber lesen, wie wir ständig neue Hardwareprotokolle erfinden und sie als Ethernet bezeichnen". ; P
Félix Saparelli
Dies ist ein guter Anfang - standards.ieee.org/events/ethernet/history.html
Jeff Sacksteder
30

Neben dem hierarchischen Routing von IP-Adressen können Sie die Netzwerkkarte oder den gesamten Computer ändern, während Sie die gleiche IP-Adresse (und damit die logische Netzwerktopologie) beibehalten.

Diese Abstraktion ermöglicht eine viel flexiblere und wartbarere Vernetzung.

OrangeDog
quelle
22

Schauen Sie sich das OSI-Modell an : http://en.wikipedia.org/wiki/OSI_model

Dies erklärt, warum es keinen Sinn macht, Routing, ein Schicht-3-Konzept, Entscheidungen zu treffen, die auf einem physikalischen Schicht-2-Mechanismus basieren.

Modernes Networking ist in viele verschiedene Ebenen unterteilt, um Ihre End-to-End-Kommunikation zu ermöglichen. Ihre Netzwerkkarte (die von der MAC-Adresse [physische Adresse] angesprochen wird) muss nur für die Kommunikation mit Kollegen in ihrem physischen Netzwerk verantwortlich sein.

Die Kommunikation, die Sie mit Ihrer MAC-Adresse ausführen dürfen, ist auf andere Geräte beschränkt, die in physischem Kontakt mit Ihrem Computer stehen. Im Internet sind Sie beispielsweise nicht physisch mit jedem Computer verbunden. Aus diesem Grund verwenden wir den TCP / IP-Mechanismus (Schicht 3, logische Adresse), wenn wir mit einem Computer kommunizieren müssen, mit dem wir nicht physisch verbunden sind.

barancw
quelle
6
+1 für die Erwähnung des OSI-Modells.
Massimo
7

b0fh hat recht - aber auch, weil MAC-Adressen nicht immer eindeutig sind.

Siehe zum Beispiel in Virtualisierungsszenarien. Hier können mehrere Hosts virtuelle Maschinen mit denselben MAC-Adressen bedienen.

Frederik Nielsen
quelle
4

Routing-Tabellen für MAC-Adressen benötigen fast jedes einzelne Gerät, auf dem eine MAC-Adresse aufgeführt ist. Routing zum Internet für IP ist ein einzelner Eintrag 0.0.0.0/0. Für Netzwerkklassen ergeben sich die Werte 10.0.0.0/8 172.16.0.0/16 und 192.168.0.0/24. Viele davon können wie 172.16.0.0/12 und 192.168.0.0/16 zusammengefasst werden, wodurch die Größe der Routingtabelle weiter verringert wird.

Routen werden in umgekehrter Reihenfolge nach der Anzahl von einem Bit in ihrer Maske durchsucht. Das Routing zu 192.168.100.0/24 funktioniert dann, wenn eine Route für 192.168.0.0/16 und eine andere für 0.0.0.0/0 (Standardroute) vorhanden ist.

EDIT: Ursprünglich war der IP-Bereich in mehrere Klassen unterteilt; A, B und C sind am wichtigsten. Die Klasse A umfasste die erste Hälfte des Adressbereichs, die Klasse B das nächste Quartal und die Klasse C die nächsten acht Teile des Bereichs. Diese Klassen hatten Masken mit jeweils 8, 16 und 24 Bits. Später wurde die strikte Verwendung dieser Masken eingestellt und die Adresszuweisung in verschiedenen Größen durchgeführt.

Die Größe der Zuordnung ist immer eine Potenz von 2 und die niedrigste und höchste Adresse in jeder Zuordnung sind reserviert. Jede Zuordnung hat auch eine Adresse für einen Router. Dies ist häufig die niedrigste oder höchste nicht reservierte Adresse. Die kleinste praktische Zuordnung ist eine / 30-Adresse.

IPv6 verwendet dieselbe Zuweisungsform mit a / 64, der kleinsten Zuweisung, die im Internet angezeigt werden kann. In der Regel erhält der ISP eine viel größere Zuweisung, über die alle Internet-Router Bescheid wissen müssten. Die erwarteten Zuordnungen sind in den RFCs angegeben. Der ISP muss wissen, wie er sein eigenes Subnetz weiterleitet und welche Adressen er an welche Verbindungsrouter weiterleitet. Dies ist wesentlich einfacher, als zu wissen, wie die einzelnen Mac-Adressen weitergeleitet werden.

BillThor
quelle
7
Es gibt keine Klassen mehr im Networking und seit 1994 nicht mehr. = [
Chris S
@ChrisS IPv4-PTR-Suchvorgänge werden weiterhin nach Klassen ausgeführt, obwohl eine Delegierung möglich ist. Die Aggregationen gelten weiterhin mit oder ohne Klassen, und die Aggregationen B und C gelten auch noch vor klassenlosen Netzwerken.
BillThor
2
PTR-Lookups werden von Octet durchgeführt, es gibt keine Klassen. Siehe RFC 1517 bis 1520.
Chris S
2
@ChrisS Unter den Personen, mit denen ich zusammenarbeite, beziehen sich die Klassen auf die Anzahl der Oktette in der Netzmaske A = 1, B = 2 und C = 3. Wir ordnen sie nicht ihren historischen Bereichen zu und unterteilen die Klasse A 10.0.0.0 in B- und C-Blöcke. Der Unterricht lebt in der Tradition weiter, wenn nicht in seiner ursprünglichen Bedeutung.
BillThor
2

Ich denke, der wichtigste Punkt, den sie zu vermitteln versuchen, ist, dass MAC-Adressen von Anbietern bestimmt werden. Es gibt also kein kohärentes Adressierungsschema, das in einem lokalen Subnetz eingehalten werden könnte, da es eine große Vielfalt von Herstellern gibt, die Schnittstellen herstellen.

MAC-Adressen werden verwendet, wenn sich die Zieladresse im lokalen Subnetz befindet (z. B. 192.168.0.x). Wenn der Datenverkehr nicht mit dem lokalen Subnetz übereinstimmt, verweist der Computer auf die Routingtabelle. Im Allgemeinen teilt die Routing-Tabelle jedem Datenverkehr, der nicht mit dem lokalen Subnetz (0.0.0.0) übereinstimmt, mit, dass er zum lokalen Gateway geleitet werden soll. An diesem Punkt wird die Zugehörigkeit zu MAC-Adressen vollständig aufgehoben. Die einzige Möglichkeit, wie MAC-Adressen global verwendet werden könnten, wäre ein einziges, riesiges, flaches Subnetz, das überhaupt nicht funktioniert.

Alex Berry
quelle
2

Die MAC-Adresse kann auf verschiedenen Ethernet-Adaptern auf demselben Computer identisch sein. SUN hatte eine eindeutige MAC-Adresse für jeden Computer. Die Ethernet-Karten für SUN-Computer hatten also keine eindeutige MAC-Adresse.

Wenn Sie das Gerät also mit zwei verschiedenen Netzwerken verbunden haben, hatte es in beiden Netzwerken dieselbe MAC-Adresse.

Anders
quelle
2

MAC-Adressen sind die Adressen der Verbindungsschicht (2n) im ISO / OSI-Modell und im TCP / IP-Modell . Dies bedeutet, dass MAC-Adressen verwendet werden, um Knoten innerhalb eines lokalen Netzwerks zu verbinden (Punkt zu Punkt). IP-Adressen sind die Adressen der Netzwerkschicht (3.) innerhalb des Internets (Ende zu Ende).

Beide Adressen werden nur in ihrem Layer verwendet und sind nicht für die Verwendung außerhalb des Layers vorgesehen.

Ausloggen
quelle
1

Die MAC-Adresse einer Ziel-IP-Adresse ist nur für die Paketzustellung innerhalb einer einzelnen lokalen Broadcast-Domäne nützlich.

mr_eclair
quelle
1

Die Leute hier gaben an, dass das Problem der Verwendung von MAC-Adressen anstelle von IPv4-Adressen das Routing ist, da die Routingtabellen größer werden würden - dies setzt jedoch IPv4-Router voraus. Es ist möglich, kleine Routingtabellen zu haben, und wenn Sie interessiert sind, wie, suchen Sie nach Flat Namespace-Routing. Eines der Dokumente, die diese Technik beschreiben, ist dieses: http://www.cs.uiuc.edu/~caesar/papers/rofl.pdf

Nikola Knezevic
quelle
2
ROFL schlägt vor, dass jeder Router in einem AS den Überblick über jeden einzelnen Host in diesem AS behält ... und kryptografische Hashes für Host-IDs verwendet ... Es wird also nicht nur Millionen von Einträgen in den Routingtabellen geben, sondern auch monströse Übertragungs- / Wartungsanforderungen. Für die Interpretation der Tabelle sind jedoch kryptografische Algorithmen erforderlich. Der Autor ist außer sich. IP kann Mängel aufweisen, aber zumindest gibt es keine verrückten Annahmen im Grunddesign.
Chris S
In ROFL müssen nur Router für den ersten Hop die Menge der verbundenen Knoten beibehalten, nicht alle Knoten im AS. In Abschnitt 2 wird das Zwischenspeichern erwähnt, dies ist jedoch eine Optimierung. Krypto ist nur erforderlich, wenn Knoten dem Router beitreten, nicht für die Interpretation der Routing-Tabelle. Das Routing wird auf einem DHT durchgeführt, der wesentlich widerstandsfähiger ist als hierarchisches Routing.
Nikola Knezevic
1

Ich erinnere mich, dass MAC-Adressen wirklich Ethernet-Adressen sind. Ethernet-Adressen sind in zwei Teile unterteilt: einen Anbieterteil, der den Anbieter der Ethernet-Karte identifiziert, und einen vom Anbieter zugewiesenen Adressenteil. Es ist Sache des Anbieters, sie einzigartig zu machen - oder auch nicht.

Daher wird der 48-Bit-MAC-Adressraum weder effizient noch - wie bereits mehrfach erwähnt - hierarchisch genutzt.

Die Adresse soll eindeutige Adressen in einem lokalen CSMA-Netzwerk haben.

Zumindest soweit ich mich erinnere.

IP-Adressen sind so konzipiert, dass sie viel allgemeiner skaliert werden und ein anderes Problem lösen.

Mike Howard
quelle
MAC-Adressen müssen eindeutig sein - dies geschieht nicht immer wie von anderen angegeben, ist jedoch erforderlich. Hersteller können mehr als eine Vendor ID erhalten. Es gibt ungefähr 4 Millionen mögliche Anbieter-IDs (im MAC48-Adressraum gibt es auch einen bevorstehenden MAC64-Adressraum) und weniger als ein Zehntel wurden zugewiesen. In jeder Vendor-ID gibt es 16 Millionen Geräte-IDs. Es dauert eine Weile, bis selbst große Anbieter leer sind.
Chris S