Grund für eine MAC- und eine IP-Adresse

25

Wenn mein Computer eine IP-Adresse hat, warum benötigt er eine MAC-Adresse?

user1369975
quelle
2
Um Ihnen die beste Antwort zu geben, können Sie Ihre Frage dahingehend erweitern, warum Sie der Meinung sind, dass Sie keine MAC-Adresse benötigen, wenn Ihr Computer über eine IP-Adresse verfügt.
Brett Lykins
1
Ich würde empfehlen, ein gutes grundlegendes Buch über Networking zu lesen. wird es wert sein. Diese und viele weitere Fragen werden beantwortet: amazon.com/Computer-Networking-Top-Down-Approach-Edition/dp/…
Manoj Pandey
4
Das klingt pehaps snarky, aber es ist der einfachste Weg, um die Verwirrung zu reduzieren. Warum haben Sie eine Ethernet- Netzwerkkarte in Ihren Computer eingebaut? Beantworten Sie diese Frage, und sie beantwortet die Frage nach der Notwendigkeit einer Mac-Adresse.
Mike Pennington
4
@Reprovo, der einzige Ort, an dem Kommentare / Antworten diese Aussage wirklich treffen, ist, wenn das OP auf die Antwort von Teun Vink mit dem Wunsch antwortet, Netzwerkmodelle in den Antworten zu vermeiden. Wenn Sie nicht wissen, warum und wie die Netzwerkmodelle funktionieren, verstehen Sie Ihr Netzwerk wirklich nicht, und "die Arbeit erledigen" wird entweder viel schmerzhafter sein oder zusätzliche Probleme verursachen. Es gibt viele Dinge, die Sie als Netzwerkprofi nicht wirklich wissen müssen (z. B. wie Bits auf den Draht gelegt werden usw.), aber die Netzwerkmodelle sind nicht etwas, das sie vermeiden können, zumindest ein grundlegendes Verständnis zu erlangen.
YLearn
2
@ user1369975, ich denke du verpasst den Punkt. Wir sagen nicht, dass die Frage ungültig ist, und wir sagen auch nicht, dass die Leute nicht lernen müssen. Dies ist jedoch eine Website für Netzwerktechniker / -profis, und es ist nicht sinnvoll, hier eine Antwort zu formulieren, während die grundlegenden Grundlagen der Vernetzung ignoriert werden. Wenn Sie eine Antwort wünschen, die nicht an andere Netzwerkfachleute gerichtet ist, sollten Sie sie auf einer der anderen Sites wie SuperUser nachfragen .
YLearn

Antworten:

13

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:

  • einfach zu gruppierende TCP / IP-Adressen,
  • Alle Geräte sind so konstruiert, dass sie die MAC-Adresse auf dieser niedrigen Ebene berücksichtigen, und müssten geändert werden
  • Trotz der überwiegenden Mehrheit (ich denke :-P) werden noch einige andere Protokolle verwendet, die sich auf die MAC-Adresse stützen
woliveirajr
quelle
25

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.

Teun Vink
quelle
Vielen
11
Wenn Ihnen das zu schwer fällt, ist dies nicht die richtige Seite für Sie. Sie könnten argumentieren, dass diese Frage nicht zum Thema gehört, da dies für Netzwerktechniker allgemein bekannt ist.
Teun Vink
11
@ user1369975, die Modelle, auf die Sie sich beziehen, sind die Rahmenbedingungen für den Betrieb von Netzwerken (Hardware und Software). Ohne dieses Grundverständnis gäbe es keine aussagekräftige Antwort auf Ihre Frage. Dies wäre vergleichbar mit der Frage (nach einem US-Bürger), "ob er einen Namen hat, warum er eine Sozialversicherungsnummer benötigt", ohne die Erwähnung der Regierung in der Antwort zuzulassen.
YLearn
5
Stellen Sie sich eine MAC-Adresse als Beschreibung eines Hauses in Ihrer Straße vor. Für Ihre Nachbarn verstehen sie alle "The green house" oder "Mr. Johnsons house" oder "The duplex on the corner" - Diese sind vergleichbar mit einer MAC-Adresse, die nur lokal beschrieben wird. Eine IP-Adresse kann öffentlich weitergeleitet werden. Dies entspricht der Verwendung der vollständigen Adresse: 123 Main St, Somewhere, CA 92069. Dann ist die IP-Adresse für den MAC vermutlich so, als würde der Postbote auf die Straße kommen und "WER IST AT 123 MAIN?" Rufen. !?!? " und Mr. Johnson hörte ihn und sagte: "Hier, das Gewächshaus!" Ich vermute? Schreckliche Analogie.
David Houde
3
Das erklärt, warum dies angesichts der aktuellen Architektur erforderlich ist. Aber warum war die Architektur überhaupt so konzipiert? Ich könnte mir leicht eine Welt vorstellen, in der es nur lokale IP-Adressen und WAN-IP-Adressen gibt. Das ist technisch möglich.
Hallo Welt
17

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.

generalnetworkerror
quelle
3
Zusammenfassend lässt MACsich 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 ...
CodyBugstein
3
Meine Frage ist jedoch, warum ein separates Protokoll für MAC haben? Warum nicht einfach die nächste IP-Adresse ermitteln und aktuelle Quell- / Ziel-IPs neben den ursprünglichen Quell- / Ziel-IPs speichern?
CodyBugstein
@Imray: Das erste Problem bei der Eliminierung des MAC-Protokolls erfordert ein Redesign / Rewrite der Ethernet- und TCP / IP-Standards. Zweitens ist IP nicht das einzige Protokoll in L3, das MAC-Adressen in L2 für die Kommunikation verwendet. Drittens sind MAC-Adressen normalerweise an Hardware-Adressen (eingebrannte Adressen) auf NICs gebunden, während die IP auf der höheren Ebene aus Gründen der Flexibilität willkürlich sein darf. Viertens sind MACs nur lokal relevant, während IPs global relevant sind (ohne Berücksichtigung neuerer Änderungen bei NAT'ing und privaten Adressen, die nicht Teil des ursprünglichen Designs waren).
Generalnetworkerror
14

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.

ytti
quelle
Es gibt nichts , was man physisch davon abhalten , dieses Netzwerk entwerfen, anders als diese Komponenten, die in Ihrer Phantasie nur vorhanden sind : A) einen Ethernet - Switch , dass erfährt Quell - IP - Adressen B) ein Ethernet - NIC ohne MAC - Adresse
Mike Pennington
3

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:

Packet Travelling - Wie sich Pakete im Internet bewegen - pracnet.net/pt

Eddie
quelle
Natürlich wird für die Router-zu-Router-Verbindungen häufig ein Protokoll verwendet, das keine MAC-Adressen hat.
Ron Maupin
@ RonMaupin Ja. Na sicher. Aber ... wie relevant ist das angesichts der Frage, die speziell nach MAC-Adressen gestellt wird =)?
Eddie
Es scheint nur, dass Ihre Antwort impliziert, dass jedem Hop eine MAC-Adresse zugewiesen wird, was irreführend sein kann. Dies funktioniert auch, wenn in Ihrem Diagramm MAC-Adressen nur für den ersten und den letzten Hop angezeigt werden. Es ist etwas unvollständig, weshalb ich den Kommentar abgegeben habe.
Ron Maupin
1

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.

LawrenceC
quelle
0

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.

Hal
quelle
1
Einfach halten: Wenn Sie einen Namen haben, identifizieren Sie sich vor Ort. Sie benötigen eine SSN, um auf globaler Ebene identifiziert zu bleiben
Pulsarjune
-2

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

sunnychen
quelle
-2

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.

Turing
quelle