Ich verstehe nicht, warum Ethernet-MAC-Adressen benötigt werden. Können nicht alle Computer einfach mit dem einheitlichen Netzwerk verbunden werden und IP-Adressen für die 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 den MAC von zu erhaltenX.2
- Dazu muss
X.1
ein Paket an alle Computer im Netzwerk gesendet werden. nur einer wird antworten X.1
bekommt einen MAC und sendet das Paket
Wäre es nicht einfacher, nur einen Schritt zu tun:
X.1
sendet ein Paket an alle Computer im Netzwerk; nurX.2
wird es verarbeiten, andere werden es ignorieren
Die ergänzende Frage wäre: Warum werden IP-Adressen benötigt, wenn alle Geräte eindeutige MAC-Adressen haben?
networking
ethernet
ip-address
mac-address
user2449761
quelle
quelle
Antworten:
Die verschiedenen Netzwerkschichten dienen dazu, sie gegen verschiedene Technologien auszutauschen.
Die beiden Schichten, von denen Sie hier sprechen, sind die Schichten 2 und 3. Schicht 2 in diesem Szenario ist Ethernet - aus denen MAC-Adressen entstehen, und Schicht 3 ist IP.
Ethernet funktioniert nur auf lokaler Ebene zwischen Netzwerkgeräten, die mit einem Broadcast-Netzwerk-Datenlink verbunden sind, wohingegen IP ein routbares Protokoll ist und Geräte in Remotenetzwerken ansprechen kann.
Die Anforderungen von jedem von diesen sind unterschiedlich. Ethernet gibt eine Familie von Technologien an, mit denen Pakete zwischen Netzwerkgeräten gesendet und empfangen werden können, während IP ein Protokoll definiert, mit dem Datenpakete mehrere Netzwerke durchqueren können.
Keiner ist auf den anderen angewiesen, was dem Networking seine Flexibilität verleiht. Beispielsweise können Sie eine Verbindung zu Ihrem Internetdienst über IP over Ethernet herstellen, in Ihrem internen Netzwerk können Sie jedoch auch IP over ... -Papier verwenden. Wo jemand den Inhalt eines jeden Pakets aufschreibt und es physisch zu einem anderen Computer weiterleitet und eingibt. Dies wäre natürlich nicht besonders schnell, aber es wäre immer noch IP, wenn die Person, die die Papierstücke herumträgt, die IP-Routing-Regeln einhält.
In der realen Welt gibt es verschiedene Datenverbindungsprotokolle, die Sie bereits verwenden (obwohl die Adressierungsschemata identisch sind): 802.3 - Ethernet und 802.11 - WLAN.
IP ist es egal, was die darunterliegende Schicht ist.
Ebenso kann IP für verschiedene Protokolle der Netzwerkschicht ausgetauscht werden (vorausgesetzt, dies geschieht für alle Teilnehmer). Wie ATM .
Während nichts die Erstellung eines Protokolls, das sowohl Schicht 2 als auch Schicht 3 umfasst, direkt verhindert, wäre es weniger flexibel und daher weniger attraktiv und daher unwahrscheinlich, dass es verwendet wird.
quelle
Wo würde diese Entscheidung getroffen, ob das Paket verarbeitet oder ignoriert werden soll? Keine Antwort ist wirklich zufriedenstellend:
1) Im Schalter? Nun, das würde bedeuten, dass Switches jedes Protokoll verstehen müssen, das bestimmt, welche Computer an welchen Paketen interessiert sind. Dies würde nicht nur die Kosten für Switches erhöhen und deren Geschwindigkeit verringern, sondern auch die Abhängigkeit von Änderungen im IP-Protokoll erheblich erschweren.
2) In der Hardware der Ethernet-Schnittstelle? Nun, dies würde das Netzwerk viel langsamer machen, da jedes Datenpaket an jede Maschine gesendet werden muss. Technologien wie WiFi und Bridging-Netzwerke mit langsameren Bridges wären unmöglich. Es wäre unmöglich, Ethernet mit unterschiedlichen Geschwindigkeiten zusammenarbeiten zu lassen. Technologien wie IPv6 oder IP-Multicast erfordern Hardwareänderungen für die Bereitstellung in allen Ethernet-Endstationen.
3) In der Software? Nun, dies würde Computer viel langsamer machen, da sie mit einer viel höheren Anzahl von Netzwerkschnittstellen-Interrupts umgehen müssen. Alle oben erwähnten Überbrückungs-, VPN- und Wifi-Probleme wären ebenfalls ein Problem.
All dies würde Ethernet ohne IP unbrauchbar machen und würde bedeuten, dass Änderungen in Ethernet erforderlich wären, um Änderungen in IP vorzunehmen. Yuck.
Die Trennung von Bedenken ist gut.
quelle
IP-Adresse und MAC-Adresse werden auf verschiedenen Ebenen der Internetprotokollsuite ausgeführt . MAC-Adressen werden verwendet, um Computer innerhalb desselben Broadcast-Netzwerks auf Schicht 2 zu identifizieren, während IP-Adressen auf Schicht 3 verwendet werden, um Computer in verschiedenen Netzwerken zu identifizieren.
Selbst wenn Ihr Computer über eine IP-Adresse verfügt, benötigt er eine MAC-Adresse, um andere Computer im selben Netzwerk zu finden, da jede Schicht darunter liegende Schichten verwendet. Auf der oben erwähnten Seite finden Sie einige schöne Diagramme, die die Protokollsuite detailliert erläutern.
quelle
Das Problem der Überlastung tritt bei Ethernet-Netzwerken mit zunehmender Größe auf. Diese Störung kann das Netzwerk verstopfen und zu Verzögerungen führen. Dies ist einer der Faktoren, die das Subnetzkonzept mit sich gebracht haben. Bei Subnetzen benötigen wir jedoch eine zusätzliche Entität namens Router, damit das Paket von einem Computer in einem Subnetz zu einem Computer in einem anderen Subnetz übertragen werden kann.
Die vom Ethernetkabel zurückgelegte Entfernung ist ein weiteres wichtiges Anliegen, da sie den Übertragungserfolg einschränken kann, wenn sie eine bestimmte Grenze überschreitet. Dies brachte weitere neue Einheiten in Form von Hub / Repeater.
Beachten Sie, dass nicht alle Kommunikationsmechanismen die MAC-Adresse für die Kommunikation verwenden. PPP & 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 die MAC-Adresse des Geräts in Netzwerk B eingeben, wird es in Netzwerk A abgelegt. Beachten Sie, dass der Router, selbst wenn sich ein Router zwischen Netzwerk A und Netzwerk B befindet, das Paket verwirft, während der Router Pakete empfängt, die an seine Mac-Adresse adressiert sind, jedoch für eine andere IP-Adresse.
Aus den obigen Szenarien geht hervor, dass das Internet aufgrund verschiedener lokaler / privater Netzwerke kein flaches Netzwerk ist. Es gibt auch verschiedene Netzwerkeinheiten zwischen Quelle und Ziel.
Da das Internet kein flaches Netzwerk ist, die MAC-Adresse nicht für alle Kommunikationstypen verwendet wird und für einige Netzwerke eine andere Datenverbindungsschicht als Ethernet erforderlich ist, benötigen wir die IP-Adresse, um sie unabhängig vom Standort des Knotens an den gewünschten Knoten zu leiten wird mit Netzwerkschicht erreicht.
Eine ähnliche Diskussion finden Sie auch unter /programming/26290069/arp-vs-ip-why-do-we-need-both
quelle
Wie andere bereits erklärt haben, benötigen Sie Layer 2-Protokolle zur Überlastungskontrolle in Ihrem lokalen Netzwerk. Die Schicht 3 wird für das Routing und die Adressierung zwischen Netzwerken verwendet.
Vor diesem Hintergrund könnte eine berechtigte Frage lauten: Warum können nicht beide Ebenen dasselbe Adressierungsschema verwenden?
Erste Antwort: Wie bereits erwähnt, können Sie auf diese Weise die L2- und / oder L3-Technologie wechseln, und alles funktioniert noch.
Zweite Antwort: Selbst wenn sich alle darauf einigten, dass Layer 2-Protokolle IP-Adressen verwenden, müssten Sie dennoch zwei IP-Adressen verwenden, eine für Layer 2 und eine für Layer 3. Warum? NATting. Wenn Ihr Computer über eine öffentliche IP-Adresse verfügt, können die Adressen L2 und L3 identisch sein. Wenn Sie jedoch NATting verwenden, unterscheiden sich Ihre L2- und L3-Adressen.
Letzter Kommentar: Wenn Sie sagen, dass alle die Nachricht erhalten und Nichtempfänger sie ignorieren, sprechen Sie von WiFi. Kabelgebundenes Ethernet funktioniert nicht mehr so. Früher war es so, als wir Koaxialkabel und später Hubs verwendeten. Switches senden die Nachrichten / Pakete nur an den entsprechenden Port (es sei denn, Sie führen einen Angriff auf sie durch und füllen ihre Tabellen aus).
quelle
MAC-Adressen und IP-Adressen werden für verschiedene Zwecke auf verschiedenen Netzwerkebenen betrieben. Das Entfernen einer der Schichten kann Probleme verursachen, Verwirrung stiften oder das Funktionieren von Dingen verhindern.
Nehmen wir an, ich habe einige alte Hardware (z. B. eine millionenschwere CNC-Drehmaschine), die nur IPX spricht . Wie würde jemand in Ihrem IP-Netzwerk mit ihm sprechen? Oder sagen Sie, ich verbinde einen nicht konfigurierten Computer mit einem neuen Netzwerk. Wie kann der DHCP-Server meinem Computer mitteilen, welche IP-Adresse er verwenden soll, wenn keine MAC-Adressen vorhanden sind ?
Lassen Sie sich sagen , dass ich einen Server mit vier Gigabit - Verbindungen zu einem Backbone - Switch habe, aggregiert in eine einzige virtuelle Verbindung. Wie lautet die Adresse meines Servers in Ihrem MAC-Netzwerk? Oder sagen Sie, ich habe einen Computer über ein PPPoA-Modem angeschlossen und habe keine MAC-Adresse. Wie kann sich jemand damit verbinden?
quelle
Hmmm ich denke das hätte funktionieren können (ich habe tatsächlich / getan / Hand MAC Adresszuweisung); Wenn dies getan worden wäre, müssten Sie jedoch neue Hardware für IPv6 kaufen, und es hätte wahrscheinlich keine Überlappung gegeben. Insgesamt mag ich die Konsequenzen nicht.
quelle
Das I in IP steht für Internetworking Protocol.
Das bedeutet, dass eine IP in ALLEN Netzwerken der Welt eindeutig sein soll.
IP-Adressen sollen buchstäblich global sein. Wenn Sie Datenverkehr an 9.9.9.9 senden, soll dieser an jeden Ort gelangen, an dem sich 9.9.9.9 befindet, egal wo auf der Welt sich 9.9.9.9 physisch befindet oder in welchem Netzwerk 9.9.9.9 sich physisch befindet.
(Dies ist etwas aufgrund von NAT kaputt. Als TCP / IP erfunden wurde, war NAT nicht Teil des ursprünglichen Plans, und es ist ein "Hack", bis IPv6 sich dort durchsetzt, wo es nicht benötigt wird. Stellen Sie sich vor, NAT existiert nicht, um es zu verstehen diese Antwort.)
Eine MAC-Adresse sollte nur in dem lokalen Netzwerk eindeutig sein, in dem sich der Host befindet. Es ist nicht dafür ausgelegt, die Kommunikation zwischen Objekten zu ermöglichen, die sich nicht im selben lokalen Netzwerk befinden. Daher wird für MAC-Adressen eine physikalische Einschränkung angenommen, für IP-Adressen jedoch keine.
TCP / IP basiert auf dem Gedanken, dass:
Wenn ein anderer grundlegender Mechanismus vorhanden wäre, bei dem die beiden oben genannten Konzepte nicht zutreffen, wären IP und MAC nicht erforderlich, wie sie derzeit sind.
Wenn Sie ein Protokoll oder etwas anderes entwerfen, das absolut nie mit Computern außerhalb desselben lokalen Netzwerks kommunizieren muss, ist es eine gute Idee, sich nur an MAC-Adressen zu halten. Ich denke, das ATA over Ethernet-Protokoll ist so, da es die gemeinsame Nutzung von ATA-Laufwerken im selben Netzwerk und nicht aus Sicherheitsgründen über das Internet ermöglicht.
quelle
Ich hatte gerade ähnliche Gedanken. Aber ich bin zu der Erkenntnis gekommen, dass man MAC-Layer braucht. Nicht einmal zum Schalten!
Das unvermeidbare Problem ist, dass Sie nicht nur das IP-Protokoll haben, auch wenn es sich um IP handelt, gibt es IPv4 und IPv6. Woher weiß das Netzwerkgerät, welches es ist? Sie benötigen also MAC als Bootstrapping-Schicht, im Protokollfeld ist es die nächste Schicht, die Ihnen sagt, was über MAC übertragen wird.
quelle
Sie bleiben stecken, wenn Sie nur an eine einzige OSI-Schicht denken. IP funktioniert nur, weil Ethernet (und andere) vorhanden sind, genauso wie Ethernet, weil physische Kabel für den Datenverkehr vorhanden sind. Es handelt sich nicht um "IP oder MAC" - das Routing des Datenverkehrs erfordert, dass MAC-Adressen funktionieren: IP-Technologie (sowie andere verwandte und nicht verwandte Technologien) kommen hinzu. Man kann nicht einfach eins gegen das andere tauschen.
quelle
Dynamische IPs mein Freund! In Ihrer lokalen Umgebung (Ihrem Haus, Ihrer Hochschule, Ihrem Arbeitsplatz) haben Sie eine Netzwerkeinrichtung. Es ist nicht direkt mit dem Internet verbunden (mit einem großen 'I'), sondern über einen Router. Dieser Router erhält von Ihrem Internetdienstanbieter eine dynamische IP-Adresse (in den meisten Fällen, sofern Sie keine statische haben) und weist allen angeschlossenen Computern dynamische Adressen zu. Warum ist es so gemacht? In einer Linie, um mehr Benutzern als IPs, die Sie haben, Service zu bieten. Die Sache ist, Sie müssen in der Lage sein, Ihr MacBook Pro (: D) unter allen anderen Computern zu identifizieren, daher benötigen Sie eine EINZIGARTIGE Adresse, keine dynamische / gemeinsam genutzte. Das ist dein Mac. Und deshalb brauchst du es.
Sie können hier weiter lesen
quelle