
Ich verstehe nicht, warum Ethernet-MAC-Adressen erforderlich sind. Können nicht alle Computer einfach an das einheitliche Netzwerk angeschlossen werden und IP-Adressen zur Kommunikation verwenden?
Beispielsweise gibt es im Ethernet folgenden Mechanismus:
- Computer mit IP
192.168.1.1
(X.1
) möchte ein Paket an192.168.1.2
(X.2
) senden X.1
verwendet ARP, um die MAC-Adresse desX.2
- Dazu
X.1
muss ein Paket an alle Computer im Netzwerk gesendet werden; nur einer wird antworten X.1
erhält eine MAC und sendet das Paket
Wäre es nicht einfacher, nur einen Schritt auszuführen:
X.1
sendet ein Paket an alle Computer im Netzwerk; nur dieseX.2
verarbeiten es, die anderen ignorieren es
Die ergänzende Frage wäre: Warum werden IP-Adressen benötigt, wenn alle Geräte eindeutige MAC-Adressen haben?
Antwort1
Derverschiedene Netzwerkschichtensind dazu da, den Austausch gegen unterschiedliche Technologien zu ermöglichen.
Die beiden Schichten, von denen Sie hier sprechen, sind die Schichten 2 und 3. Schicht 2 ist in diesem Szenario Ethernet – aus dem die MAC-Adressen stammen – und Schicht 3 ist IP.
Ethernet funktioniert nur auf lokaler Ebene, zwischen Netzwerkgeräten, die mit einem Broadcast-Netzwerk („Datalink“) verbunden sind, wohingegen IP ein routingfähiges Protokoll ist und daher auf Geräte in Remote-Netzwerken abzielen kann.
Die Anforderungen sind jeweils unterschiedlich. Ethernet gibt eine Familie von Technologien an, die das Senden und Empfangen von Paketen zwischen Netzwerkgeräten ermöglichen, während IP ein Protokoll definiert, das das Durchqueren von Datenpaketen über mehrere Netzwerke ermöglicht.
Keiner von beiden ist vom anderen abhängig, was der Vernetzung ihre Flexibilität verleiht. Sie können sich beispielsweise für die Verbindung mit Ihrem Internetdienst per IP über Ethernet entscheiden, in Ihrem internen Netzwerk jedoch IP über ... Papier verwenden. Dabei schreibt jemand den Inhalt jedes Pakets auf, bringt es physisch zu einem anderen Computer und tippt es ein. Natürlich wäre das nicht besonders schnell, aber es wäre immer noch IP, vorausgesetzt, die Person, die die Papierfetzen mit sich herumträgt, beachtet die IP-Routingregeln.
In der realen Welt gibt es unterschiedliche Datenverbindungsprotokolle, und Sie verwenden bereits zwei verschiedene (obwohl ihre Adressierungsschemata gleich sind): 802.3 – Ethernet und 802.11 – WLAN.
Für IP ist die zugrunde liegende Schicht egal.
Ebenso kann IP gegen verschiedene Netzwerkschichtprotokolle ausgetauscht werden (vorausgesetzt, dies geschieht für alle Teilnehmer). Zum BeispielGeldautomat.
Zwar spricht nichts direkt gegen die Erstellung eines Protokolls, das sowohl Schicht 2 als auch Schicht 3 umfasst, es wäre jedoch weniger flexibel und damit weniger attraktiv und würde daher wahrscheinlich nicht eingesetzt werden.
Antwort2
Wo würde diese Entscheidung getroffen, ob das Paket verarbeitet oder ignoriert wird? Keine Antwort ist wirklich zufriedenstellend:
1) Im Switch? Nun, das würde bedeuten, dass Switches jedes Protokoll verstehen müssen, das bestimmt, welche Computer an welchen Paketen interessiert sind. Das würde nicht nur die Kosten der Switches erhöhen und ihre Geschwindigkeit verringern, sondern es würde auch die Umsetzung von Änderungen im IP-Protokoll viel schwieriger machen.
2) In der Hardware der Ethernet-Schnittstelle? Nun, das würde das Netzwerk viel langsamer machen, da jedes Datenpaket an jede Maschine gehen muss. Technologien wie WLAN und das Überbrücken von Netzwerken mit langsameren Brücken wären unmöglich. Ethernet mit unterschiedlichen Geschwindigkeiten zusammenarbeiten zu lassen, wäre unmöglich. Technologien wie IPv6 oder IP-Multicast würden Hardwareänderungen erfordern, um sie in allen Ethernet-Endstationen einzusetzen.
3) In der Software? Nun, das würde die Computer viel langsamer machen, da sie mit einer viel höheren Anzahl von Netzwerkschnittstellenunterbrechungen umgehen müssten. Alle oben genannten Bridging-, VPN- und WLAN-Probleme wären ebenfalls ein Problem.
All dies würde Ethernet ohne IP unbrauchbar machen und würde bedeuten, dass Änderungen am Ethernet erforderlich wären, um Änderungen am IP vorzunehmen. Igitt.
Die Trennung der Belange ist gut.
Antwort3
IP-Adressen und MAC-Adressen arbeiten auf unterschiedlichen Ebenen desInternetprotokoll-Suite. MAC-Adressen werden verwendet, um Maschinen innerhalb des gleichen Broadcast-Netzwerks auf Schicht 2 zu identifizieren, während IP-Adressen auf Schicht 3 verwendet werden, um Maschinen in verschiedenen Netzwerken zu identifizieren.
Selbst wenn Ihr Computer eine IP-Adresse hat, benötigt er dennoch eine MAC-Adresse, um andere Rechner im selben Netzwerk zu finden, da jede Schicht untergeordnete Schichten verwendet. Auf der oben erwähnten Seite finden Sie einige schöne Diagramme, die die Protokollsuite im Detail erklären.
Antwort4
Mit zunehmender Größe von Ethernet-Netzwerken treten Überlastungsprobleme auf. Dies kann wiederum das Netzwerk verstopfen und zu Verzögerungen führen. Dies ist einer der Faktoren, die das Subnetzkonzept hervorgebracht haben. Bei Subnetzen benötigen wir jedoch eine zusätzliche Entität namens Router, damit Pakete von einer Maschine in einem Subnetz zu einer Maschine in einem anderen Subnetz gelangen können.
Die von Ethernet-Kabeln überbrückte Distanz ist ein weiteres großes Problem, da sie den Übertragungserfolg beeinträchtigen kann, wenn sie einen bestimmten Grenzwert überschreitet. Dies führte zu weiteren neuen Einheiten in Form von Hubs/Repeatern.
Beachten Sie, dass nicht alle Kommunikationsmechanismen eine MAC-Adresse zur Kommunikation verwenden. PPP und HDLC verwenden keine MAC-Adresse zur Identifizierung.
Beachten Sie auch, dass einige Netzwerke kein Ethernet verwenden. Token-Ring-Netzwerke erfordern eine andere Datenverbindungsschicht.
Wenn Sie ein Paket von Netzwerk A an ein Gerät in Netzwerk B senden, indem Sie es über die MAC-Adresse des Geräts in Netzwerk B adressieren, wird es in Netzwerk A selbst verworfen. Beachten Sie, dass selbst wenn sich zwischen Netzwerk A und Netzwerk B ein Router befindet, der Router das Paket verwirft, da der Router Pakete empfängt, die an seine MAC-Adresse, aber für eine andere IP-Adresse adressiert sind.
Aus den oben genannten Szenarien geht klar hervor, dass das Internet aufgrund verschiedener lokaler/privater Netzwerke kein flaches Netzwerk ist. Zwischen Quelle und Ziel gibt es außerdem verschiedene Netzwerkeinheiten.
Da das Internet kein flaches Netzwerk ist, die MAC-Adresse nicht für alle Arten der Kommunikation verwendet wird und manche Netzwerke andere Datenverbindungsschichten als Ethernet erfordern, brauchen wir eine IP-Adresse für die Weiterleitung an den gewünschten Knoten, unabhängig vom Standort des Knotens, und dies wird mit der Netzwerkschicht erreicht.
Siehe auch eine ähnliche Diskussion inhttps://stackoverflow.com/questions/26290069/arp-vs-ip-warum-brauchen-wir-beide