Wenn mein Computer eine IP-Adresse hat, warum benötigt er eine MAC-Adresse?
Wenn mein Computer eine IP-Adresse hat, warum benötigt er eine MAC-Adresse?
Antworten:
ohne auf das OSI-Modell, die TCP-Schicht usw .:
In früheren Zeiten entstanden Netzwerke: Einige Computer kommunizierten miteinander, um etwas gemeinsam zu nutzen. Um das zu tun, müssen sie wissen, mit wem gesprochen wurde und mit wem gesprochen wurde. Anstatt jedem Computer einen Namen zu geben, gaben wir ihnen einen Ausweis. Diese ID wird als MAC-Adresse bezeichnet und sollte jeden Computer eindeutig identifizieren.
(OK, identifizieren Sie jede Netzwerkkarte, aber zu dieser Zeit könnte man sich eine MAC-Adresse für jeden Computer vorstellen).
Es gab keine eindeutige Spezifikation für die Art und Weise, wie Computer miteinander kommunizieren: Viele Protokolle wurden angezeigt: TCP / IP, IPX / SPX usw. Jedes Protokoll spezifizierte die Dinge, die sie für ok hielten. Zum Beispiel würde IPX / SPX jeden Computer mit der MAC-Adresse und einigen weiteren Informationen ansprechen.
Das TCP / IP-Protokoll wurde jedoch ein wenig anders gestaltet: Sie entschieden, dass eine virtuelle Adresse aus 4 Bytes (0.0.0.0 bis 255.255.255.255) ausreicht und noch einfacher zu verwalten ist: Es spielt keine Rolle, ob Ihre Netzwerkkarten haben alle eine ähnliche MAC-Adresse oder nicht. Wir gruppieren unseren Computer so, dass alle TCP / IP-Adressen, die mit 10.0.xx begannen, Teil der Engineering-Gruppe sind und die von 10.1.xx die Drucker und. ..
Also, wenn eine TCP / IP-Adresse mit einer anderen kommunizieren muss, wird nur die TCP / IP-Adresse verwendet. Die Netzwerkgeräte müssen jedoch wissen, auf welche Netzwerkkarte diese Nachricht gesendet wird, damit sie die TCP / IP-Adresse in die MAC-Adresse konvertieren können.
Warum nicht einfach den MAC entfernen und stattdessen nur TCP / IP verwenden?
einige Gründe:
MAC-Adressen und IP-Adressen 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 (insbesondere den Router / das Gateway zum Rest des Netzwerks / des Internets), 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.
Wenn Sie verstehen, dass die IP-zu-IP-Kommunikation eigentlich nur eine Reihe von MAC-zu-MAC-Kommunikationen ist, die an jedem Router-Hop stattfinden, werden Sie verstehen, warum beide notwendig sind.
Der IP-Header eines Pakets, das von Ihrer Workstation an eine IP in einem anderen Subnetz gesendet wird, behält die Quell-IP und die Ziel-IP bei, wobei NAT momentan nicht berücksichtigt wird. [Was passiert, wenn sich das Ziel im selben Subnetz befindet?] Der Ethernet-Header enthält Ihren Quell-MAC und den Ziel-MAC Ihres Standard-Gateways. Aus Ihrer Sicht ist der endgültige Ziel-MAC nicht bekannt. Dieser erste Router schreibt die Quell-MAC in sich selbst und die Ziel-MAC in den nächsten Router-Hop usw., bis das Paket den letzten Router erreicht, der direkt mit dem Ziel-Subnetz verbunden ist.
Um eine einfache Darstellung zu versuchen, betrachten Sie die L2 / L3-Header, wenn sich ein Paket von der Quell-IP (sIP) zu einer Ziel-IP (dIP) bewegt und die Quell- und Ziel-MACs auf dem Weg neu geschrieben werden - fs = first-source und ld = last-destination und r1-r3 sind Router:
fsMAC-r1MAC / sIP-dIP
r1MAC-r2MAC / sIP-dIP
r2MAC-r3MAC / sIP-dIP
r3MAC-ldMAC / sIP-dIP
Alle beteiligten L2-Switches ändern die MAC-Adressen nicht.
Jetzt ist für die Kommunikation mit einer anderen IP-Adresse in Ihrem Subnetz eine direkte MAC-Kommunikation erforderlich. Um diese MAC-Adresse zu erhalten, ist jedoch das ARP-Protokoll erforderlich, das eine Übertragung im Subnetz verwendet, um sie zu finden. Übrigens erhält Ihre Workstation auf diese Weise die MAC-Adresse Ihres Standard-Gateways, das sich in demselben Subnetz befinden muss.
MAC
sich sagen, dass die Nachricht von einem Sprung zum anderen übertragen wird, während IP die ursprüngliche Quelle und das ursprüngliche Ziel verfolgt. Dies scheint analog zu einem Postamt zu sein, in dem ich meinen Brief an Oma in Phoenix adressiere, aber der Postbote, der ihn vom Briefkasten abholt, kümmert sich nur darum, ihn zum Postamt zu bringen, und das Postamt kümmert sich nur darum, ihn zum Sortieren zu bringen Zentrum etc ...
Es gibt nichts, was Sie physisch daran hindert, ein Netzwerk zu entwerfen, das nur die IP-Adresse für L2 und L3 hat. Dann würde "Ethernet-Switch" die SIP-Adresse eingehender Pakete lernen und überfluten oder in Richtung DIP-Adresse weiterleiten.
Dieses Netzwerk würde jedoch immer nur IP unterstützen, wenn die nächste Generation von IPvX kommt, würde es nicht funktionieren, da der "Ethernet-Switch" dieses Protokoll nicht unterstützen könnte. Sie können auch keine anderen Protokolle wie IPX und AppleTalk oder ein neues Protokoll ausführen, das Sie zu Hause entwickeln und testen.
Abstraktionsschichten erhöhen die Entwicklungsgeschwindigkeit und fördern Innovationen, da Sie nicht das ganze Haus neu bauen müssen, um ein Fenster zu wechseln.
Jetzt hätten Sie dieselben Ethernet-Switches verwenden und Ihr Netzwerk zwischenzeitlich von IPX auf IPv4 auf IPv6 migrieren können, ohne Ihr LAN zu berühren.
Die IP-Adresse und die MAC-Adresse dienen unterschiedlichen (aber entscheidenden) Zwecken:
Die MAC-Adresse erhält einen Frame von einer Netzwerkkarte zur nächsten. Die IP-Adresse erhält ein Paket von einem Computer zum Server
Gegeben also folgendes:
Source Computer <---> RouterA <---> RouterB <---> Destination Server
Was das Paket von der "Quelle" zum "Ziel" leitet, ist die IP-Adresse. Was jedoch das Paket vom Quellcomputer zu RouterA und dann von RouterA zu RouterB und dann von RouterB zu Ziel erhält, sind die MAC-Adressen.
Sie können die Beziehung in dieser Abbildung sehen:
Das IP-Protokoll bietet die Grundlage für die Unterstützung von Subnetzen und Routing . Dies bedeutet, dass IP nicht davon ausgeht, dass sich Ihr Ziel im selben Netzwerk befindet. Andernfalls muss der Datenverkehr über ein zwischengeschaltetes Gerät wie einen Router weitergeleitet werden. IP hat TTL / Hop Limit-Felder und solche, die dies unterstützen.
Ethernet geht davon aus, dass der Ziel-MAC direkt erreichbar ist, wenn Daten über die Schnittstelle gesendet werden. Ethernet wurde ursprünglich entwickelt, als die häufigste Methode zum Verbinden von Computern in einem Netzwerk über eine physikalische Bustopologie bestand. Auch wenn fast der gesamte verdrahtete Ethernet-Verkehr jetzt umgeschaltet wird, funktioniert dies logischerweise immer noch wie eine Bustopologie. Die zugrunde liegende Annahme bei Ethernet ist also, dass sich der Knoten mit dem Ziel-MAC physisch im selben Netzwerk befindet. Bei IP gibt es eine solche Annahme nicht.
Ich vermute, Sie könnten Ethernet in Subnetze und Routing "hacken", aber Sie könnten auch ein Protokoll entwickeln, das sich nicht auf die Details und Annahmen von Ethernet auf niedriger Ebene stützt, und deshalb haben wir IP.
Um so einfach wie möglich zu sein:
Eine Mac-Adresse ist die physische oder virtuelle Adresse Ihrer Netzwerkkarte oder Netzwerkschnittstelle. Aus der Sicht eines Computers in einem Netzwerk ist dies die physikalische Adresse der NIC-Karte dieses Computers. Es wird verwendet, um Informationen auf den Computer in Schicht 2 des OSI-Modells zu übertragen.
Die IP-Adresse ist auf Schicht 3 erforderlich. Sie muss mit Computern in verschiedenen Subnetzen und Geräten kommunizieren. Die IP-Adresse überprüft, wo sich das Gerät in einem Netzwerk befindet.
Die IP-Adressen und Mac-Adressen werden zusammen verwendet. Das Adressauflösungsprotokoll wird verwendet, um die beiden zu verbinden, indem IP-Adressen in Mac-Adressen innerhalb der Verbindungsschicht in einem einzelnen Netzwerk aufgelöst werden.
Vielleicht möchten Sie auch hier eine ausführlichere Erklärung abrufen.
Die MAC-Adresse stellt die Hardware-Adresse dar. Sie ist konstant und verschiedene Systeme in unserem Netzwerk, die von verschiedenen Anbietern hergestellt werden, haben eine sehr unterschiedliche Auswahl an Mac-Adressen, so dass es schwierig ist, sie als Netzwerk zu ordnen. Mit Hilfe von IP-Adressen können wir die Geräte in unserem Netzwerk ordnen Netzwerk in einem Bereich, der gleichzeitige Adressen ist. Auch können wir unsere Mac-Addrees nicht an externe Netzwerke senden
Zunächst ist dies eine sehr gute Frage, die die grundlegenden Netzwerkgrundlagen berührt. Die Quintessenz Ihrer Frage ist, dass wir keine MAC-Adresse benötigen, um Konnektivität zu erreichen. Theoretisch könnte ein Netzwerk nur mit IP-Adressen aufgebaut werden! Bei der Verwendung eines solchen Schemas können jedoch einige praktische Schwierigkeiten auftreten. Wenn Sie davon ausgehen, jedem Netzwerkgerät manuell eine IP-Adresse zuzuweisen, können Sie die Hauptprobleme vermeiden. Wenn Sie jedoch automatisch IP-Adressen zuweisen müssen, da zu viele Netzwerkknoten manuell verwaltet werden müssen, können Sie nicht sicherstellen, dass jedem Knoten genau eine einzelne IP-Adresse oder eine festgelegte Anzahl von IP-Adressen zugewiesen wird können nicht voneinander unterscheiden, es sei denn, die Adressverteilungsentität kann das anfordernde Gerät eindeutig und eindeutig identifizieren, z durch seine MAC-Adresse, von der angenommen wird, dass sie für jedes Gerät in einem LAN eindeutig ist. Solch ein nicht identifizierbares Gerät kann wiederholt nach zusätzlichen IP-Adressen fragen und letztendlich die Lebensfähigkeit des Netzwerks beeinträchtigen. Zurück zum Thema: Alles, was Sie zum Einrichten eines reinen IP-Netzwerks benötigen, ist, den Data Link Layer des Netzwerkschnittstellenadapters über jeden empfangenen Datenrahmen direkt an den Network Layer weiterleiten zu lassen, unabhängig von einem MAC-vergleichbaren Adresstyp Gefiltert werden nach der Ziel-IP-Adresse, anstatt auf der Datenebene gefiltert zu werden. Nehmen Sie zur Veranschaulichung des Konzepts an, dass ein Netzwerk durch die Verbindung von RS-232-UART-Ports hergestellt wird: UART-Geräte haben keine MAC-Adressen oder andere eindeutige Kennungen. Sie können jedoch ein lokales Netzwerk mit UARTs und IP-Adressen aufbauen allein, Vorausgesetzt, Sie installieren die richtigen UART-Treiber. Hoffe, diese Passage gab Ihnen einige Einblicke in das Thema.