Ethernet, MAC und ARP
Die wichtigsten Befehle zum Merken
ip link— Netzwerkschnittstellen und ihre MAC-Adressen untersuchen.ip -4 neigh— IPv4-Nachbarn und ihre Link-Layer-Adressen untersuchen.
Befehle und Optionen
Diese Befehle kommen im kurzen Beispiel unten vor.
| Befehl | Bedeutung |
|---|---|
ip -br link show |
Schnittstellen, Link-Zustände und Link-Layer-Adressen anzeigen. -br wählt eine kurze Darstellung. |
ip -4 neigh show |
Die IPv4-Nachbartabelle anzeigen. -4 wählt IPv4; neigh steht für Neighbor. |
Beide Befehle lesen vorhandenen Zustand. Sie ändern keine Schnittstellen, leeren keinen Cache und erzeugen keinen Testaustausch.
Die entscheidenden Konzepte
1. Ethernet liefert Frames im lokalen Netzwerk
Ein IP-Paket transportiert Verkehr zu einem IP-Ziel. Auf einer Ethernet-Verbindung reist es innerhalb eines Ethernet-Frames, der eigene Quell- und Zieladressen besitzt.
Denke an zwei Fragen: IP identifiziert das Ziel über Netzwerke hinweg; Ethernet liefert den Frame zur nächsten Schnittstelle im lokalen Netzwerk. Dieses lokale Netzwerk kann auch Switches enthalten, nicht nur ein Kabel.
2. Eine MAC-Adresse identifiziert eine Link-Layer-Schnittstelle
Eine Ethernet-MAC-Adresse ist normalerweise 48 Bit lang und wird als sechs hexadezimale Paare geschrieben, etwa 02:42:ac:11:00:02. Ein Frame verwendet MAC-Adressen für die lokale Zustellung. Ein Switch lernt Quell-MAC-Adressen, um Frames gezielt weiterzuleiten.
Eine MAC-Adresse ist weder eine IP-Adresse noch eine dauerhafte Identität des ganzen Computers. Eine Maschine kann mehrere Schnittstellen haben; MAC-Adressen können konfiguriert oder zufällig gewählt werden.
Router leiten IP-Pakete zwischen Netzwerken weiter. Beim Weiterleiten auf eine andere Ethernet-Verbindung verwenden sie dafür einen neuen Ethernet-Header. Die ursprüngliche Client-MAC reist nicht als Ethernet-Quelle bis zu einer entfernten Website mit.
3. ARP findet die MAC-Adresse des nächsten Hops
ARP (Address Resolution Protocol) löst eine IPv4-Adresse im lokalen Netzwerk in eine Link-Layer-Adresse auf.
Bei der ersten Auflösung über Ethernet sendet ein Host normalerweise eine Broadcast-Anfrage: „Wer hat diese IPv4-Adresse?“ Der Besitzer antwortet mit seiner MAC-Adresse. Damit kann Linux den ausgehenden Frame adressieren. Die Ethernet-Broadcast-Adresse lautet ff:ff:ff:ff:ff:ff.
Nach welcher IPv4-Adresse wird gefragt? Das bestimmt die Route. Bei einem direkt erreichbaren Ziel wird dessen Adresse aufgelöst. Bei einem entfernten Ziel über einen Router wird die lokale Routeradresse aufgelöst. Das IP-Paket nennt weiterhin das entfernte Ziel, der Frame dagegen den lokalen nächsten Hop.
ARP findet keine Server-MAC über Router hinweg und löst keine Website-Namen auf. Namensauflösung ist eine andere Aufgabe.
4. Die Nachbartabelle ist ein Cache, kein Anwendungstest
Linux speichert gelernte Zuordnungen in seiner Nachbartabelle, damit nicht jedes Paket einen neuen ARP-Austausch benötigt.
REACHABLE: Die Erreichbarkeit des Nachbarn wurde kürzlich bestätigt.STALE: Die Zuordnung ist bekannt, die Erreichbarkeit muss bei Verwendung erneut bestätigt werden. Das bedeutet nicht automatisch einen Fehler.INCOMPLETE/FAILED: Die Auflösung läuft noch oder ist fehlgeschlagen.
Eine gültige Zuordnung unterstützt die lokale Zustellung. Sie beweist weder einen funktionierenden entfernten Pfad noch eine antwortende Anwendung.
Ein kleines Beispiel
Optional: Führe diese Befehle in einem Linux-Terminal mit installiertem iproute2 aus. Administratorrechte sind nicht erforderlich:
ip -br link show
ip -4 neigh show
Suche in der ersten Ausgabe eine Ethernet-Schnittstelle und ihre MAC-Adresse. lo ist Loopback, kein Ethernet-Nachbar. Namen und Adressen variieren. Virtuelle Schnittstellen können Zustände wie UNKNOWN melden; der Zustand allein prüft keine durchgehende Verbindung.
Lies in der Nachbartabelle die IPv4-Adresse, dev (lokale Schnittstelle), lladdr (Link-Layer-Adresse des Nachbarn) und den Zustand. Die Nachbar-MAC gehört zum nächsten Hop; der erste Befehl zeigt die Adressen deiner eigenen Schnittstellen. Während der Auflösung kann lladdr noch fehlen.
Eine leere Tabelle ist gültig, wenn gerade keine IPv4-Nachbarn gespeichert sind. Das Beispiel liest den Cache. Es zeichnet keine ARP-Anfrage auf und beweist keinen gerade erfolgten Austausch. Aufräumen ist nicht erforderlich.
Merke dir: Routing wählt den nächsten Hop, ARP findet dessen lokale MAC-Adresse und Ethernet liefert den Frame dorthin.