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)?
networking
mac-address
ipv4
Félix Saparelli
quelle
quelle
Antworten:
Die MAC-Adresse ist zwar eindeutig, die Nummer gibt jedoch keinen Hinweis darauf, wo sie sich befindet. MAC
00-00-00-00-00-00
könnte sich auf der anderen Seite des Planeten befinden00-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.x
ist 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.
quelle
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.
quelle
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 ...
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
Die MAC-Adresse einer Ziel-IP-Adresse ist nur für die Paketzustellung innerhalb einer einzelnen lokalen Broadcast-Domäne nützlich.
quelle
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
quelle
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.
quelle