Kapitel 4. Adressauflösungsprotokoll

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

"Die Welt ist ein Dschungel im Allgemeinen, und das Vernetzungsspiel trägt viele Tiere bei."

RFC 826

Der Betrieb eines IPv4-Netzwerks erfordert nicht nur die Verwendung verschiedener Arten von Adressen auf verschiedenen Ebenen des Netzwerkmodells, sondern auch die Auflösung dieser Adressen. In diesem Kapitel wird der Prozess der Adressauflösung beschrieben, es werden praktische Beispiele für die verwendeten Nachrichten gegeben und Einblicke in potenzielle Sicherheitsrisiken im Zusammenhang mit ihrer Verwendung gegeben.

Das Problem

Ein Großteil der auf IP-Paketen basierenden Datenübertragung beginnt und endet in einem LAN. Das gilt unabhängig davon, ob das IP-Paket an einen Nachbarn im selben LAN oder an das andere Ende der Welt geht. In Kapitel 3 wird beschrieben, wie IP-Pakete in LAN-Rahmen eingekapselt werden, die sowohl für den Quell- als auch für den Zielknoten eine Layer-2-MAC-Adressierung verwenden. Die Quell-MAC-Adresse ist leicht zu ermitteln. Das Problem ist die Bestimmung der Ziel-MAC-Adresse.

Bei Ethernet als LAN-Infrastruktur wird ein Rahmen unter Verwendung der eigenen MAC-Adresse des Absenders als Quelle auf Schicht 2 und seiner IP-Adresse als Quelle auf Schicht 3 aufgebaut. Die IP-Adresse des Ziels (oder zumindest der Name) ist in der Regel bekannt, so dass nur noch die MAC-Adresse des Ziels bestimmt werden muss. Abbildung 4-1 zeigt einen Überblick über diese Adressen in einer eingekapselten ICMP-Nachricht.

Abbildung 4-1. Adressierungsschichten

Dies ist ein Beispiel für einen übertragenen Frame, bei dem die Quell- und Ziel-MAC-Adressen zuvor bestimmt wurden.

Techniken

Zu den Methoden zur Bestimmung der Ziel-MAC-Adresse gehören die Berechnung in geschlossener Form, das Nachschlagen in Tabellen und der Austausch von Nachrichten. Einige dieser Optionen sind im RFC 894 aufgeführt, der die Ethernet-Kapselung beschreibt.

Die Closed-Form-Berechnung berechnet die unbekannte MAC-Adresse aus der bekannten IP-Adresse. Der sendende Knoten fügt die Ziel-MAC-Adresse anhand des berechneten Wertes in den Ethernet-Rahmen ein. Diese Methode ist sehr schnell und erfordert keine externen Ressourcen oder Kommunikation. Außerdem ermöglicht sie eine relativ genaue Kontrolle über den Adressraum. Allerdings erfordert sie konfigurierbare MAC-Adressen und ein gewisses Maß an Verwaltung, da die Adressen den verschiedenen Hosts zugewiesen werden müssen.

Die Tabellensuche liefert jedem Host eine Liste mit MAC-Adressen und den entsprechenden IP-Adressen. Das ist auch sehr schnell, da der Sender die Tabelle nur vor dem Aufbau des Ethernet-Rahmens konsultieren muss. Wenn auch nur eine einzige Netzwerkkarte ausgetauscht wird, müssen allerdings alle Tabellen aktualisiert werden.

Diese Methoden haben den Vorteil, dass sie schneller sind, aber sie erfordern einen hohen Verwaltungsaufwand. Einzelne Hostadressen müssen konfiguriert werden und die Hosts müssen über jede Änderung informiert werden. Aus diesem Grund setzen Netzwerke heute (mit Ausnahme einiger WAN-Verbindungen) auf den verteilten Ansatz oder den Nachrichtenaustausch mit dem Address Resolution Protocol (ARP). Der Nachrichtenaustausch verursacht zusätzlichen Datenverkehr im Netzwerk und ist langsamer als die anderen Methoden. Er ist jedoch vollständig automatisiert und daher sehr attraktiv.

Protokoll Beschreibung

ARP ist in die IP-Konfiguration eines jeden Knotens integriert. Das bedeutet, dass die Entwickler bei Microsoft, Sun, Google und in der Open-Source-Community ihre Betriebssysteme für den Betrieb in einem IPv4-Netzwerk entwickeln und der Code für ARP enthalten ist.

Das Schöne an ARP ist, dass es für den Grundbetrieb nur zwei Nachrichten gibt: eine ARP-Anfrage und eine ARP-Antwort. Wenn ein Host die MAC-Adresse des Ziels herausfinden muss, sendet er eine ARP-Anfrage, nachdem er seine ARP-Tabelle konsultiert und festgestellt hat, dass die Adresse tatsächlich unbekannt ist.

Nach Erhalt der ARP-Anfrage sendet das Ziel eine ARP-Antwort zurück. Im Grunde genommen fragt die ARP-Anfrage: "Kann ich deine MAC-Adresse haben?" und die Antwort lautet: "Sicher, hier ist sie." Hosts sagen niemals nein, wenn sie es vermeiden können. Abbildung 4-2 zeigt diesen Nachrichtenaustausch.

Abbildung 4-2. ARP-Austausch

Wireshark interpretiert diese Konversation als eine Frage, gefolgt von einer Antwort. In der ersten Zeile fragt ein Knoten (192.168.1.1) nach 192.168.1.254 und in der Antwort gibt 192.168.1.254 seinen Standort als 00:19:55:35:1a:d0 an, was eine MAC-Adresse ist.

Struktur

Der Aufbau der ARP-Anforderungsnachricht ist in Abbildung 4-3 dargestellt. Die Antwortnachricht sehen wir uns in Abbildung 4-5 an. Betrachte die Details der beiden Nachrichtentypen und achte dabei besonders auf die Adressierung, die sowohl im Rahmen als auch in den ARP-Feldern verwendet wird.

Abbildung 4-3. ARP-Anfrage

Das ARP-Nachrichtenformat ist einfach und besteht aus den folgenden Feldern:

Hardware-Typ

Der Typ der gesuchten MAC-Adresse

Protokoll-Typ

Das verwendete Layer-3-Protokoll

Hardware Größe

Die Länge der MAC-Adresse

Protokollgröße

Die Länge der Protokolladresse

OpCode

Der Typ der ARP-Nachricht

MAC-Adresse des Absenders

Die MAC-Adresse des Rechners, der die Anfrage sendet

IP-Adresse des Absenders

Die Protokolladresse des Rechners, der die Anfrage sendet

Ziel-MAC-Adresse

Die gesuchte MAC-Adresse

Ziel-IP-Adresse

Die Protokolladresse des Ziels

Die Begriffe Hardware-Adresse und Protokoll-Adresse werden als allgemeine Beschreibungen verwendet, aber in der Praxis handelt es sich fast immer um sechs Byte große Ethernet-Hardware-Adressen und vier Byte große IP-Adressen. Der OpCode ist entweder eine Anfrage oder eine Antwort.

Adressierung in der ARP-Anfrage

Drei der vier Adressen in einem ARP-Anfrage-Paket sind bekannt: die Quell- und Ziel-IP sowie die Quell-MAC. Damit bleibt nur die Ziel-MAC unbekannt. Das Anfragepaket wird vervollständigt, indem das Feld für die unbekannte Adresse mit 0en aufgefüllt wird. In der Antwort wird der richtige Wert eingetragen.

Zeile 2 in Abbildung 4-3 zeigt, dass die Quell-MAC des Ethernet-Rahmens der Rechner ist, der die Anfrage sendet, aber die Ziel-MAC des Rahmens ist eine Broadcast-Adresse. So wird sichergestellt, dass alle Knoten die Anfrage beantworten, wenn das Ziel verbunden und eingeschaltet ist.

Obwohl in dieser Nachricht IP-Adressen oder Protokolladressen verwendet werden, hat sie keinen IP-Header. Die IP-Adressen sind lediglich Teil des ARP-Headers. Das bedeutet, dass ARP-Nachrichten nicht geroutet werden können und dass Router den ARP-Verkehr nicht an ein anderes Netzwerk weiterleiten werden. Folglich kann die MAC-Adresse eines Knotens, der sich nicht im LAN des Quellknotens befindet, nicht ermittelt werden.

Es bedeutet auch, dass der Ethertype in einem Ethernet-Frame, der eine ARP-Nachricht enthält, anders ist als im normalen Datenverkehr. Dieser Unterschied ist in Abbildung 4-4 dargestellt.

Abbildung 4-4. Ethertypes

Frame 17 in Abbildung 4-4 hat einen hexadezimalen Typwert von 0x0806 und keinen IP-Header. Frame 12 hat den hexadezimalen Typwert 0x0800 und verfügt über einen IP-Header. Dieser Unterschied kann sich auf die Paketfilterung oder die Firewall-Regeln auswirken, je nachdem, welche Informationen gesucht werden.

Adressierung in der ARP-Antwort

Die in Abbildung 4-5 dargestellte ARP-Antwort ist die Antwort auf die in Abbildung 4-3 gesendete Anfrage, wobei die fehlende MAC-Adresse ergänzt wurde. Die Antwort geht in die entgegengesetzte Richtung. Die Absender- und die Zieladresse sind jetzt also vertauscht. Das Codefeld hat sich ebenfalls in eine Antwort geändert.

Abbildung 4-5. ARP-Antwort

Im Ethernet-Rahmen selbst sind statt eines Broadcast-Ziels nun beide MAC-Adressen Unicast. Die Antwort geht vom Ziel direkt an den ursprünglichen Absender, und andere Knoten ignorieren den Rahmen.

Nach Erhalt dieser Nachricht wird der ursprüngliche Host zwei Dinge tun:

  1. Erstelle den Datenrahmen unter Verwendung der neu ermittelten MAC-Adressinformationen im Zielfeld.

  2. Befülle die lokale ARP-Tabelle.

Schritt 1 erfüllt das ursprüngliche Ziel, eine Nachricht an das Ziel zu senden. Der zweite Schritt füllt eine ARP-Tabelle auf, um bei der nächsten Übertragung an dasselbe Ziel Zeit zu sparen. Die ARP-Tabelle ist eine Sammlung von kürzlich erlernten MAC-Adressen und den entsprechenden IP-Adressen. Wenn der Host das nächste Mal einen Frame senden muss, sucht er nach der Adresse im lokalen Speicher und verwendet nach Möglichkeit die dort gefundene Adresse, anstatt eine weitere ARP-Anfrage zu stellen. Ein Beispiel für eine ARP-Tabelle ist in Abbildung 4-6 dargestellt.

Abbildung 4-6. ARP-Tabelle

Diese Ausgabe wurde auf einem Windows-Rechner mit dem Befehl arp -a von der Befehlsshell aus erstellt. Beachte die beiden Arten von Einträgen - statisch und dynamisch. Der normale Eintrag ist ein dynamischer Eintrag. Statische Einträge sind unüblich.

Die dynamische Natur dieser Einträge zeigt, dass sie nicht dauerhaft sind. Unabhängig vom zugrundeliegenden Betriebssystem veralten die Einträge in der ARP-Tabelle bei allen Knoten innerhalb weniger Minuten. Windows zum Beispiel löscht diese Einträge nach etwa zwei Minuten. Wenn ein Knoten angesprochen werden soll, der bereits aus der ARP-Tabelle entfernt wurde, muss der ARP-Prozess für diesen Knoten wiederholt werden.

Die Zeit, die ein ARP-Tabelleneintrag überleben sollte, ist umstritten, da es unterschiedliche Meinungen über die perfekte Zeit gibt. Wenn der Wert zu kurz ist, werden die Hosts häufiger erneut ARP-Anfragen stellen und mehr Netzwerkverkehr erzeugen. Ist die Zeit zu lang, können schlechte oder fehlerhafte Informationen länger bestehen bleiben und die Hosts daran hindern, das richtige Ziel zu erreichen.

Operation

Um zu verstehen, was unter der Haube vor sich geht, helfen zwei Beispiele, die Bildung von ARP-Paketen für nahe und ferne Ziele zu veranschaulichen, wenn keine ARP-Tabelleninformationen vorhanden sind.

Beispiel 1 - Sender und Ziel im selben LAN

Eine gängige Methode zur Fehlersuche ist das Anpingen einer IP-Adresse als "Lebensbeweis". Ping erzeugt ein ICMP-Echo-Request-Paket, das in ein IP-Paket eingekapselt wird, das wiederum in einen Ethernet-Frame eingekapselt wird, wie in Abbildung 4-7 dargestellt.

Abbildung 4-7. Grundlegende Rahmenkapselung

Die Paketaufnahmeaktivität des in Abbildung 4-7 dargestellten Frames ist in Abbildung 4-8 dargestellt.

Abbildung 4-8. ARP und ICMP im selben Netzwerk

Die in Frame 1 angeforderte MAC-Adresse wird in Frame 2 zurückgegeben. Sie wird dann in Frame 3 verwendet, um den Ethernet-Frame mit dem Ping (ICMP-Echo) zu erstellen, wobei Node A versucht, den Router in seinem LAN zu kontaktieren(Abbildung 4-9). In diesem Beispiel wird zwar ein Ping mit den dazugehörigen ICMP-Echo-Anfrage/Antwort-Nachrichten verwendet, aber dieselbe ARP-Anfrage und -Antwort wäre auch erforderlich gewesen, wenn der Absender eine Telnet-, FTP- oder HTTP-Anfrage an das Ziel gestellt hätte.

Abbildung 4-9. Einzelne LAN-Topologie

Beispiel 2 - Sender und Ziel in getrennten LANs

Wie in unserem ersten Beispiel muss die Ziel-MAC-Adresse des Ethernet-Rahmens ermittelt werden, wenn sich Absender und Ziel in verschiedenen LANs befinden. In diesem Fall befindet sich der Zielknoten in einem entfernten LAN. Da die Layer-2-MAC-Adressierung auf das lokale Netzwerk beschränkt ist, ist die Hilfe des Standardgateways erforderlich, das den Rahmen an das Zielnetzwerk weiterleiten wird. Das ARP-Verhalten von Routern ist ähnlich wie das von Hosts. Sie reagieren auf ARP-Nachrichten und müssen lokal verbundene Knoten finden.

Dazu ermittelt der sendende Knoten die MAC-Adresse des Gateways und setzt sie in das Zielfeld, wie in Abbildung 4-10 dargestellt. Wie zuvor wird Frame 3 erweitert, um zu zeigen, dass in der ICMP-Echo-Anfrage die MAC-Adresse des Routers verwendet wird.

Abbildung 4-10. ARP- und ICMP-Austausch für verschiedene Netzwerke

Zusammenfassend lässt sich sagen, dass der Absender versucht, die Ziel-MAC-Adresse zu ermitteln, die ICMP-Echo-Anfrage aber an ein Ziel in einem anderen Netzwerk gerichtet ist. Die ICMP-Echo-Anfrage verwendet also die MAC-Adresse des Standardgateways (00:14:bf:7f:fb:9d), aber die IP-Adresse ist die des entfernten Knotens. Wie in Abbildung 4-11 zu sehen ist, versucht Knoten A nun, Knoten C zu kontaktieren.

Abbildung 4-11. Topologie mit zwei Netzwerken

Die Frage, die man sich an dieser Stelle stellen muss, ist: "Woher wusste der ursprüngliche Quellknoten, dass er die MAC-Adresse des Zielhosts durch die MAC-Adresse des Routers ersetzen musste?" Die Hosts verarbeiten zunächst ihre eigenen Routing-Tabellen, um festzustellen, ob sich der Host im selben LAN befindet. Dann übernimmt der ARP-Prozess. Der Algorithmus, den die Hosts verwenden, wird in Kapitel 7 erläutert.

Zusätzliche Operationen

Die Standardfunktion von ARP ist ziemlich einfach: Man sendet eine Nachricht, in der die MAC-Adresse einer bestimmten IP-Adresse angefordert wird, und erhält eine Antwort. Es gibt jedoch einige wichtige "Helfer"-Aufgaben, die ARP erledigt und die entweder die Sicherheit erhöhen oder die Leistung des Netzwerks verbessern.

Die Rückgabe-ARP

Die in Abbildung 4-12gezeigte Konversation veranschaulicht einen weiteren wichtigen Aspekt von ARP: Nur der Host, von dem die Konversation ausgeht (der die ARP-Anfrage stellt), wird einen Eintrag für den Zielhost in seiner lokalen ARP-Tabelle vornehmen. Das heißt, dass andere Stationen, die den Austausch hören, selbst wenn sie die ARP-Anfrage empfangen, diese Stationen nicht zu ihren eigenen ARP-Tabellen hinzufügen. Viele Hosts (vor allem Router) sind jedoch aggressiv, wenn es darum geht, ihre Tabellen aufzufüllen. Wenn sie ARP-Verkehr hören oder in ARP-Nachrichten involviert sind, erzeugen sie anschließend ihre eigenen ARP-Anfragen, um ihre Tabellen aufzufüllen.

Abbildung 4-12. ARP-Rückgabeaustausch

Die in Abbildung 4-12 gezeigte Paketaufnahmesequenz zeigt, wie der ursprüngliche Host ARP verwendet, um sein Standardgateway zu bestimmen, wenn er versucht, an einen externen Host zu senden. Nachdem das Gespräch weitergeleitet wurde, stellt der Router (Standardgateway) eine eigene ARP-Anfrage für den ursprünglichen (sendenden) Host. Auf diese Weise füllt er seine Tabelle mit der Adresse auf, die er für eine gültige Host-Adresse hält. Dies verbessert die Routing-Effizienz für die zukünftige Weiterleitung des Datenverkehrs.

Gratuitous ARP

Wenn ein Host hochfährt, erhält er entweder eine IP-Adresse über DHCP oder hat eine statisch konfigurierte. Der Host muss jedoch sicherstellen, dass kein anderer Netzwerkknoten dieselbe Adresse verwendet. Aus diesem Grund führen Netzwerk-Hosts oft ein ARP für sich selbst durch. Wenn ein Gerät antwortet, wird der Absender darauf aufmerksam gemacht, dass ein anderer Knoten dieselbe IP-Adresse verwendet. Abbildung 4-13 zeigt ein unentgeltliches ARP, bei dem die Ziel- und die Absender-IP-Adresse identisch sind.

Abbildung 4-13. Unentgeltlicher ARP

Sicherheitswarnung

Der verteilte Ansatz zur Adressauflösung kann für Angreifer anfällig sein. Obwohl Hosts ihre Tabellen nur mit Informationen füllen sollten, die sie angefordert haben, sind nicht alle Betriebssysteme so programmiert. Einige ältere Systeme lassen es zu, dass unaufgeforderter ARP-Verkehr den Cache eines Hosts füllt und akzeptieren eine ARP-Antwort, auch wenn sie nicht angefordert wurde. Dadurch können Angreifer die ARP-Tabelle mit gefälschten Daten füllen, was dazu führt, dass Hosts den Datenverkehr auf der Grundlage falscher Informationen weiterleiten.

Ein Angreifer kann auch den Wunsch eines Geräts ausnutzen, seine ARP-Tabelle aufzufüllen, indem er eine Antwort für jede Adresse im Netzwerk gibt. Auf diese Weise behauptet er, eine gültige MAC-Adresse für alle Hosts im Netzwerk zu haben, sodass die Hosts und Router im Netzwerk glauben, dass die Adresse des Angreifers für alle Ziele verwendet werden soll. Der Effekt ist, dass die gültigen Netzwerkhosts ihren Datenverkehr an den Angreifer senden, der dann Kopien der Daten anfertigt und den Datenverkehr an das richtige Ziel weiterleitet.

Dies wird als Man-in-the-Middle-Angriff bezeichnet, da sich der Angreifer zwischen die Quelle und das eigentliche Ziel gesetzt hat und effektiv unsichtbar ist. Die Technik, falsche Daten in die ARP-Tabellen ahnungsloser Hosts einzufügen, wird ARP-Poisoning genannt.

Du kannst diese Art von Angriff diagnostizieren, indem du die ARP-Tabellen auf den Host-Rechnern und den Routern untersuchst und nach mehreren Einträgen mit identischen MAC-Adressen suchst. Die Sicherheitsheuristik sucht auch nach übermäßigen ARP-Nachrichten im Netzwerk. Diese Tabellen sind zwar leicht zugänglich, aber überlastete Netzwerkadministratoren müssen trotzdem nachsehen, so dass diese Informationen oft übersehen werden.

IPv6

ARP gibt es in IPv6 nicht. Stattdessen verwenden die Netzwerk-Hosts eine Reihe von Nachrichten, die Redirects, Solicitations und Advertisements genannt werden, um ihre Nachbarn zu finden. Statt eines Ansatzes, bei dem die Hosts die MAC-Adressen erst dann ermitteln müssen, wenn sie benötigt werden, wendet IPv6 einen etwas anderen Prozess an. Nachbarschaftsaufrufe und -anzeigen helfen dabei, Informationen über das Netzwerk zu finden, bevor sie benötigt werden. Diese Nachrichten werden per Multicast an alle IPv6-Knoten gesendet. Beispiele für diese Pakete findest du in Kapitel 6.

Ein bisschen tiefer gehen - die Kosten eines verteilten Ansatzes

ARP, ein verteilter Ansatz zur Adressauflösung und -erkennung, ist nicht unproblematisch. Betrachte den Datenverkehr in einem Netzwerk mit 100 Knoten, in dem jeder Host jede Adresse im Netzwerk ermitteln muss. Wenn die Knoten keine Informationen zwischenspeichern, die von einem Nachbarn übermittelt wurden, kann jeder Knoten 99 Nachrichten senden. Rechnet man weitere 99 Nachrichten für die entsprechenden Antworten hinzu, ergibt sich für den einzelnen anfragenden Knoten eine Gesamtzahl von 198. Bei n Knoten erzeugt jeder Knoten 2(n-1) Nachrichten, also insgesamt 2n(n-1).

Die Hälfte der 2n(n-1)-Nachrichten, n(n-1), sind Broadcast-Frames, die im gesamten Layer-2-Netz (drahtgebunden und drahtlos) unterwegs sind, und alle sind notwendig, werden aber als Overhead betrachtet, da sie keine Nutzdaten übertragen. Es ist unwahrscheinlich, dass die meisten dieser Frames zur gleichen Zeit erzeugt werden, aber es gibt Zeiten (z. B. zu Beginn und am Ende des Arbeitstages), in denen eine große Anzahl von Netzwerkhosts gleichzeitig sendet. Erschwerend kommt hinzu, dass die ARP-Tabellen von Knotenpunkten, die nicht regelmäßig am Nachrichtenaustausch teilnehmen, veralten. Das Auffrischen dieser Tabellen erhöht den Netzwerkverkehr zusätzlich.

Router sind mit dem zusätzlichen Problem belastet, dass sie die Adressen der Next-Hop-Router auflösen müssen. Wenn ein Router also eine Nachricht erhält, die an einen weit entfernten Host gesendet werden soll, muss er zunächst die MAC-Adresse des benachbarten Routers ermitteln. Auf der anderen Seite muss der Router, der ein IP-Paket empfängt, möglicherweise den Zielhost per ARP suchen, was den Nachrichtenverkehr zusätzlich verzögert. Daher ist es nicht ungewöhnlich, dass das erste Paket einer Übertragung verzögert wird oder verloren geht, während die Adressen aufgelöst werden. Aus diesem Grund füllen Router ihre ARP-Tabellen aggressiv mit bekannten Hosts auf.

IPv6 entschärft einige dieser Probleme, führt aber auch zu anderen Verkehrsproblemen, da der Discovery-Prozess mehrere Nachrichtentypen verwendet (von denen einige Multicast sind). Das Verhalten von Switches bei Multicast ist insofern ähnlich, als dass Multicast-Frames überall in der Layer-2-Domäne gesendet werden. Router, Switches und Hosts haben zwar einige Möglichkeiten, den Multicast-Verkehr zu filtern, aber wir haben die Anzahl der Nachrichtentypen (Redirects, Router Advertisements, Router Solicitations, Neighbour Advertisements und Neighbour Solicitations) erhöht, was den Overhead im Netzwerk erhöht.

Zusammenfassung

In diesem Kapitel haben wir das Problem der Layer-2-Adressauflösung untersucht. Nachdem wir die Pakete selbst und die verwendete Adressierung untersucht haben, solltest du nun ein solides Verständnis von ARP haben. Wir haben auch einige der verwendeten Operationen und die Sicherheitsbedrohung durch diesen verteilten Ansatz untersucht.

Zusätzliche Lektüre

In diesem Kapitel hast du die Funktionsweise und Struktur von ARP kennengelernt. Diese Informationen sind so ziemlich alles, was du brauchst, um mit ARP in fast jedem Netzwerk umzugehen. Es gibt jedoch einige Vorgänge oder Standards, mit denen du dich vertraut machen solltest, auch wenn du sie wahrscheinlich nicht sehr oft antreffen wirst. Nützliche Ressourcen sind unter anderem:

RFC 826: "Ethernet Address Resolution Protocol"

Dies ist der grundlegende Standard für die Adressauflösung. Obwohl er nicht sehr aussagekräftig ist, basiert der aktuelle Betrieb auf diesem RFC.

RFC 903: "A Reverse Address Resolution Protocol"

Dieser RFC geht das Problem der Adressauflösung aus der entgegengesetzten Richtung an. Anstatt zu versuchen, eine MAC-Adresse zu lernen, beschreibt RFC 903, wie ein Host eine Protokoll-(IP-)Adresse ermitteln kann, wenn er nur die MAC-Adresse des Ziels kennt.

RFC 1293: "Inverse Address Resolution Protocol"

Dieser RFC ermöglicht es einem Host, eine bestimmte Protokolladresse für eine bestimmte Hardwareadresse anzufordern.

RFC 1868: "ARP Extension-UNARP (Proxy ARP)"

Dieser RFC schlägt einige Lösungen für mögliche Grenzen des ursprünglichen ARP RFC vor.

Fragen überprüfen

  1. Wie viele Adressen sind im ARP definiert?

  2. Ist eine ARP-Nachricht routingfähig?

  3. Beschreibe die Ethernet-Adressierung, die in der Standard-ARP-Anfrage verwendet wird. Sind die Quell- und Zieladressen Unicast, Broadcast oder Multicast?

  4. Beschreibe die Ethernet-Adressierung, die in der Standard-ARP-Antwort verwendet wird. Sind die Quell- und Zieladressen Unicast, Broadcast oder Multicast?

  5. Was ist ein unentgeltlicher ARP?

  6. Welche Informationen werden in einer ARP-Tabelle gespeichert?

  7. Können wir Standard-ARP-Nachrichten direkt an Computer senden, die sich nicht in unserem eigenen Netzwerk befinden?

  8. Ist ARP in IPv6 enthalten?

  9. Ist ARP ein sicheres Protokoll?

  10. Was ist der hexadezimale Ethertype-Wert für eine ARP-Nachricht?

Rückblick Antworten

  1. 2

  2. Nein, die Nachrichten enthalten keinen IP-Header.

  3. Die ARP-Anfrage verwendet eine Unicast-Adresse für die Quelle und eine Broadcast-Adresse für das Ziel.

  4. Die ARP-Antwort verwendet eine Unicast-Adresse für die Quelle und eine Unicast-Adresse für das Ziel.

  5. Dieser Begriff bezieht sich auf einen Knoten, der eine ARP-Anfrage für seine eigene IP-Adresse aussendet, um festzustellen, ob ein anderer Knoten dieselbe Adresse verwendet.

  6. Die ARP-Tabelle enthält eine Zuordnung zwischen MAC- und IP-Adressen der Hosts. Sie zeigt auch, ob jeder Eintrag statisch oder dynamisch ist.

  7. Nein, ARP ist nicht routingfähig.

  8. Nein.

  9. Nein. Falsche ARP-Nachrichten können erstellt werden, um ARP-Tabellen zu täuschen. Die Hosts treffen dann falsche Weiterleitungsentscheidungen. ARP-Übertragungen werden auch im Klartext gesendet.

  10. 0806

Labor-Aktivitäten

Aktivität 1 - Bestimme deine IP-Adresse und dein Standard-Gateway

Materialien: Ein Windows-Computer mit einer Netzwerkverbindung

  1. In Windows klickst du auf die Schaltfläche Start.

  2. Gib in das Ausführungsfeld cmd ein und drücke die Eingabetaste. Es öffnet sich ein Befehlsfenster.

  3. Gib ein. ipconfig /allDadurch wird die IP-Adresse deines Computers angezeigt. Die Ausgabe sieht ungefähr so aus wie die folgende. Hier werden deine IP-Adresse und die Adresse des Standardgateways angezeigt:

    Windows IP Configuration
    
    Mini-PCI Express Adapter
       Physical Address. . . . . . . . . : 00-22-68-90-D5-DB
       DHCP Enabled. . . . . . . . . . . : Yes
       Autoconfiguration Enabled . . . . : Yes
       IPv4 Address. . . . . . . . . . . : 192.168.15.100(Preferred)
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       Default Gateway . . . . . . . . . : 192.168.15.1
       DHCP Server . . . . . . . . . . . : 192.168.15.1
       DNS Servers . . . . . . . . . . . : 24.56.123.4
                                           106.12.34.56
       NetBIOS over Tcpip. . . . . . . . : Enabled

Aktivität 2 - Untersuchen der ARP-Tabelle

Materialien: Ein Windows-Computer mit einer Netzwerkverbindung

  1. Gib im Befehlsfenster Folgendes ein arp -a. Dies liefert die gleiche Ausgabe wie in Abbildung 4-6. Dies gibt Aufschluss über die Knoten im Netzwerk, mit denen der Computer kürzlich kommuniziert hat.

  2. Notiere die IP-Adressen, die du in dieser Tabelle siehst, denn du wirst sie später brauchen.

Aktivität 3 - Paketerfassung

Materialien: Ein Windows-Computer mit einer Netzwerkverbindung und Paketaufzeichnungssoftware

  1. Um den ARP-Verkehr zu erfassen, musst du zunächst die ARP-Tabelle oder den ARP-Cache löschen. Dazu gibst du arp -d * in das Befehlsfenster ein; dann tippe arp -a ein, um zu überprüfen, ob es keine Einträge gibt.

  2. Wähle in Wireshark deinen Adapter aus und starte eine Aufzeichnung.

  3. Zurück im Befehlsfenster, pinge einen der Knoten an, die zuvor in der ARP-Tabelle aufgeführt wurden. Im Aufnahmefenster solltest du die ARP-Anfrage und die ARP-Antwort sehen. Darauf folgt der ICMP-Verkehr. Wenn du das Standard-Gateway anklingelst, siehst du möglicherweise die ARP-Antwort, d.h. nachdem du das Gateway angeklingelt und den damit verbundenen Datenverkehr gesehen hast, erzeugt das Gateway seine eigene ARP-Anfrage, die an dich zurückgeht.

Aktivität 4-Gratuitous ARP

Materialien: Ein Windows-Computer mit einer Netzwerkverbindung, Paketaufzeichnungssoftware und ein DHCP-Server wie ein Linksys-Router

Um zu sehen, wie ein Knoten ARP für sich selbst nutzt, ist der beste Zeitpunkt direkt nach dem Austausch mit dem DHCP-Server. Das kann beim Start geschehen oder indem du den Knoten zwingst, den Prozess der Freigabe und Erneuerung der IP-Adresse zu durchlaufen.

  1. Beginne eine weitere Erfassung.

  2. Gib im Befehlsfenster Folgendes ein ipconfig /release. Dadurch wird der Knoten gezwungen, seine IP-Adresse preiszugeben.

  3. Gib im Befehlsfenster Folgendes ein ipconfig /renew. Dies veranlasst den Knoten, erneut nach einer IP-Adresse zu fragen.

  4. Nachdem der DHCP-Austausch abgeschlossen ist, solltest du sehen, dass dein Knoten die IP-Adresse, die ihm während des Austauschs zugewiesen wurde, per ARP anfordert. Das ist der unentgeltliche ARP.

Aktivität 5 - Wie lange ist ein ARP-Tabelleneintrag gültig?

Materialien: Ein Windows-Computer mit einer Netzwerkverbindung

  1. Gib im Befehlsfenster ein arp -a ein, um die anderen Knotenpunkte im Netzwerk anzuzeigen.

  2. Pinge einen dieser Knotenpunkte an, um den ARP-Tabelleneintrag zu aktualisieren.

  3. Wiederhole den Befehl arp -a in 30-Sekunden-Intervallen, bis der Eintrag aus der ARP-Tabelle verschwindet. Wie lange hat es gedauert?

Get Paketführer für Kernnetzprotokolle now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.