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


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

Fehle ich etwas Grundlegendes oder ist es nur ein dummer Grund (z. B. aufbauend auf Legacy-Tech)?


181
2017-07-24 12:51


Ursprung


Pedantische Korrektur: vernünftig einzigartig; Karten mit identischen HW-MAC-Adressen wurden in freier Wildbahn gesichtet - dies ist ein "Spaß" -Netzwerkproblem zum Debuggen. - Piskvor
Ich persönlich habe einen Buggy-Fahrer erlebt, der eigentlich zugewiesen die gleiche MAC-Adresse zu verschiedenen Netzwerkkarten auf verschiedenen Rechnern (die vor der Installation des Treibers eindeutige HW-Adressen hatten). Nun, das war es schmerzlich. - Massimo
Massimo, ich habe genau das Gleiche gesehen. Das ist nicht ungewöhnlich für einen Treiber, der das in der Entwicklung macht, und die Programmierer vergessen, diese Komponente bei der Produktion zu ändern. @Felix, es ist auch üblich für Hersteller, MACs im Laufe der Zeit und in verschiedenen Teilen der Welt wiederzuverwenden. Eine Karte, die 2005 in den USA verkauft wurde, könnte zum Beispiel dieselbe MAC haben wie eine, die 2013 in China verkauft wurde. - Robert Kaucher
Das Adressieren eines Pakets mit einer MAC-Adresse wäre wie das Adressieren eines Briefs mit einer Sozialversicherungsnummer. - Mikey
Wie würdest du kennt wo eine bestimmte MAC-Adresse gerade ist? Im Voraus, ohne dass jeder Knoten im Internet benachrichtigt werden muss, wenn Sie in ein anderes Netz wechseln? - Thorbjørn Ravn Andersen


Antworten:


Die MAC-Adresse ist möglicherweise einzigartig, aber die Nummer, die angibt, wo sie sich befindet, ist nicht besonders. MAC 00-00-00-00-00-00 könnte auf der anderen Seite des Planeten sein 00-00-00-00-00-01.

IP ist ein beliebiges Nummerierungsschema, das auf einer Gruppe von Computern hierarchisch angeordnet ist, um sie logisch als eine Gruppe zu unterscheiden (das ist, was ein Subnetz ist). Das Senden von Nachrichten zwischen diesen Gruppen erfolgt über Routingtabellen, die ihrerseits in mehrere Ebenen unterteilt sind, so dass wir nicht jedes einzelne Subnetz im Auge behalten müssen. Zum Beispiel, 17.x.x.x ist im Apple-Netzwerk. Von dort wird Apple wissen, wo sich jedes seiner Tausenden von Subnetzen befindet und wie man zu ihnen gelangt (niemand sonst braucht diese Informationen, sie müssen nur wissen, dass alles an Apple geht).

Es ist auch ziemlich einfach, dies mit einem anderen Paar von Systemen zu verbinden. Sie haben eine vom Staat ausgestellte ID-Nummer, warum benötigen Sie eine Postanschrift, wenn diese ID-Nummer für Sie bereits 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.


341
2017-07-24 12:56



Das ist eine großartige Antwort. Ich hätte hinzugefügt, dass MAC-Adressen schließlich in der IP-Kommunikation verwendet werden, sobald die Computer feststellen, dass sie sich im selben Subnetz befinden. Deshalb funktioniert ARP-Vergiftung als Angriff. 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 wird. 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.
@SeanC, MAC-Adressen werden letztendlich in der IP-Kommunikation über 802.1-basierte Leitungsprotokolle (Ethernet, WLAN, Token Ring usw.) verwendet. Aber nicht über ATM-Protokolle wie PoSDH und IPoATM. - Chris S
Außerdem können Sie dieselbe IP-Adresse beibehalten, wenn Ihre Netzwerkkarte (oder der gesamte Computer) ersetzt werden muss. Stellen Sie sich vor, wie ärgerlich es ohne die IP-Abstraktion wäre. - OrangeDog
@ChrisS Ich habe einen Freund, der als sys admin einen Stapel Karten von einem einzigen Anbieter erhalten hat und die Karten nur eine MAC-Adresse in der gesamten Palette hatten. Der Verkäufer sagte, dass die Karten nicht korrekt in die Einzelhandelsdistribution gemischt wurden, so dass es Dubletten gab, da die Bestellung ein direkter Abfall von der Fabrik war. Bevor die Karten in den Einzelhandel gingen, sollten sie sich zusammenmischen, um die Betrogenen herumzutreiben. Für einen bestimmten Anbieter sind MAC-Adressaten nicht einzigartig, geschweige denn zwischen Anbietern. - Jarrod Roberson
Es gibt eine Vielzahl von historischen Gründen für das Auftreten doppelter Mac-Adressen einschließlich Hersteller-Firmware-Bugs. - Mike Pennington


Weil die Routing-Tabellen unmöglich groß werden würden.

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

Auf der anderen Seite ist die Verteilung von MAC-Adressen über das Netzwerk zufällig und völlig unabhängig von der Topologie. Eine Routengruppierung wäre unmöglich, jeder Router müsste die Routen für jedes einzelne Gerät verfolgen, das den Verkehr durch ihn leitet. Das tun Layer-2-Switches, und das skaliert nicht über eine bestimmte Anzahl von Hosts hinaus.


73
2017-07-24 12:52



Können Sie das näher ausführen? Warum sollten sie? Warum ist das bei IPv * nicht der Fall? - Félix Saparelli
Es gibt keinen Grund dafür, dass Router-Tabellen, die eine MAC-formatierte Adresse verwenden, im Vergleich zu IPv4 / 6-Formaten "unvorstellbar groß" sind. Das Problem besteht darin, dass die Zuweisung von IP-Adressen an eine Hierarchie gebunden ist, die WAN-Routing möglich macht. MAC-Adressen werden von den Herstellern für Ethernet-Geräte zugewiesen (und können in der Software geändert werden), und wenn sich das Hardwaregerät bewegt, wären diese Ad-hoc-Überarbeitungen an WAN-Routingtabellen eine "unmöglich große" Aufgabe. - hardmath


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

PPP-Knoten haben keine Mac-Adressen. Weder tun Arcnet, Token Ring, FDDI, HPPI. Diese anderen Standards mögen heute nicht mehr so ​​relevant sein, aber Ethernet könnte in Zukunft durch andere Technologien ersetzt werden und wäre für die IP-Ebene transparent.

Es gibt eine längere Diskussion darüber, wie wir weiterhin neue Hardware-Protokolle erfinden und sie als Ethernet bezeichnen, aber ich schweife ab ...


36
2017-07-24 16:03



Token Ring hat MAC-Adressen. - Chris S
Sie meinen, sie können auch nicht auf IPv6 wechseln, weil der PPP-Knoten keine v6-Adresse hat? (Oder zumindest hatte nicht vor 5-10 Jahren). Soweit ich sagen kann, stoppte nie die Bereitstellung von ipv6 heute. Dies macht auch für MAC keinen Unterschied. - Dorus
@Dorus: Dein Kommentar macht keinen Sinn. PPP-Knoten können sowohl IPv4- als auch IPv6-Adressen haben, weil IP auf den zugrunde liegenden Protokollen wie Ethernet oder PPP aufbaut. PPP-Knoten haben jedoch keine MAC-Adresse (weil der PPP-Standard diese nicht hat). - sleske
3 Jahre später (und etwas mehr Wissen), würde ich gerne lesen, dass "längere Diskussion darüber, wie wir immer neue Hardware-Protokolle zu erfinden und sie Ethernet nennen." ; P - Félix Saparelli
Das ist ein guter Anfang - standards.ieee.org/events/ethernet/history.html - Jeff Sacksteder


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

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


30
2017-07-24 14:46





Sieh dir das an OSI-Modell: http://en.wikipedia.org/wiki/OSI_model

Dies erklärt, warum es nicht sinnvoll ist, Routing, ein Schicht-3-Konzept, basierend auf einem physikalischen Schicht-2-Mechanismus zu treffen.

Moderne Vernetzung ist in viele verschiedene Ebenen unterteilt, um Ihre End-to-End-Kommunikation zu erreichen. Ihre Netzwerkkarte (was durch die MAC-Adresse [physikalische Adresse] adressiert wird) muss nur für die Kommunikation mit Peers im physischen Netzwerk verantwortlich sein.

Die Kommunikation, die Sie mit Ihrer MAC-Adresse ausführen dürfen, ist auf andere Geräte beschränkt, die sich in physischem Kontakt mit Ihrem Gerät befinden. Im Internet zum Beispiel sind Sie nicht physisch mit jeder Maschine verbunden. Aus diesem Grund nutzen wir den Mechanismus TCP / IP (eine Schicht 3, logische Adresse), wenn wir mit einer Maschine kommunizieren müssen, mit der wir nicht physisch verbunden sind.


22
2017-07-24 15:37



+1 für die Erwähnung des OSI-Modells. - Massimo


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.


8
2017-07-24 12:54





Routingtabellen für MAC-Adressen benötigen fast jedes einzelne Gerät mit einer aufgelisteten MAC-Adresse. Routing für IP zum Internet ist ein einzelner Eintrag 0.0.0.0/0. Für Netzwerke Klassen brechen sie als 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 aggregiert werden, wodurch die Größe der Routingtabelle weiter reduziert wird.

Die Routen werden in umgekehrter Reihenfolge nach der Anzahl der Bits in ihrer Maske durchsucht. Dadurch funktioniert das Routing zu 192.168.100.0/24, wenn eine Route für 192.168.0.0/16 und eine weitere Route für 0.0.0.0/0 (Standardroute) vorhanden ist.

EDIT: Ursprünglich wurde der IP-Bereich in mehrere Klassen unterteilt; A, B und C sind die wichtigsten. Die A-Klasse bildete die erste Hälfte des Adressbereichs, die B-Reihe das nächste Viertel und die C-Reihe die nächsten acht der Reichweite. Diese Klassen hatten Masken von 8, 16 bzw. 24 Bits. Später wurde die strenge Verwendung dieser Masken verworfen und die Adresszuweisung in verschiedenen Größen vorgenommen.

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

IPv6 verwendet die gleiche Form der Zuweisung mit einer kleinsten Zuordnung, die im Internet angezeigt werden kann. In der Regel wird dem ISP eine viel größere Zuweisung zugewiesen, über die alle Internet-Router Bescheid wissen müssten. Erwartete Zuordnungen werden in den RFCs angegeben. Der ISP müsste wissen, wie er sein eigenes Subnetz routet und welche Adressen an welche Interconnect-Router weitergeleitet werden. Dies ist wesentlich einfacher als zu wissen, wie jede MAC-Adresse zu routen ist.


4
2017-07-24 13:38



Es gibt keine Klassen in der Vernetzung und nicht seit 1994. = [ - Chris S
@ChrisS IPv4 PTR-Lookups werden immer noch nach Klassen durchgeführt, obwohl eine Delegierung möglich ist. Die Aggregationen gelten immer noch mit oder ohne Klassen, und B- und C-Aggregationen wurden auch vor klassenlosen Netzwerken angewendet. - BillThor
PTR-Lookups werden von Oktett durchgeführt, es gibt keine Klassen. Siehe RFC 1517 bis 1520. - Chris S
@ChrisS Unter den Personen, mit denen ich arbeite, werden die Klassen verwendet, um sich auf die Anzahl der Oktette in der Netzmaske A = 1, B = 2 und C = 3 zu beziehen. Wir verknüpfen sie nicht mit historischen Bereichen und teilen die A-Klasse 10.0.0.0 in B- und C-Blöcke auf. Der Unterricht lebt in der Tradition fort, wenn nicht in seiner ursprünglichen Bedeutung. - BillThor