Aufgabe 1 - ARP

Als erstes schauen wir uns ARP etwas genauer an. Die Topologie, mit der wird dazu arbeiten finden Sie hier. Es handelt sich dabei um vier in Reihe geschaltete Switche, die jeweil noch mit zwei Hosts verbunden sind. Die Switche sind mit s1, s2, s3 und s4 bezeichnet. Die Host folgen einer einfachen Nomenklatur, wobei es immer einen Host 1 und einen Host 2 pro Switch gibt, worauf der Name des verbunden Switches folgt. Also z.B. h1s1 entspricht Host 1, der mit Switch 1 verbunden ist, oder h2s4 entspricht Host 2, der mit Switch 4 verbunden ist. Auch die MAC-Adressen folgen einer einfachen Nomenklatur in dieser einfachen Topologie. Die ersten 24 Bit kodieren den Host, die letzten 24 Bit den Switch. Host 1 an Switch 2 hat damit folgende MAC-Adresse: 00:00:11:00:00:22.

Topologie
Topologie

Untersuchen wir zunächst den ARP-Cache von Host h1s1 mit ip n auf dem Host. Er sollte leer sein. Das können wir ändern, indem wir einen einfachen Ping an h1s2 senden. Aber bevor wir das tun starten wir Wireshark auf Host h1s2 und beginnen die Aufzeichnung. Um dann den Ping zu schicken (drei Pakete) genügt folgedes Kommando auf der Mininet-Konsole:

h1s1 ping -c 3 h1s2

Einiges sollte auffallen. Zum einen sollte das erste Ping-Paket ungefähr doppelt so lange auf eine Antwort gewartet haben als alle folgenden. Das liegt daran, dass zunächst mittels ARP die MAC-Adresse von h1s2 aufgelöst werden musste. Das sollten Sie auch in Wireshark sehen. Auch kann jetzt der ARP-Cache von h1s1 wieder inspiziert werden. Nun sollte ein Eintrag vorhanden sein. Schauen wir uns ARP aber genauer in Wireshark an.

Am Protokollstapel des ARP-Pakets fällt auf, dass ARP direkt hinter dem Ethernet-Header kommt, d.h. es kommt kein IP-Header dazwischen. Muss es auch nicht, weil ARP nur im eigenen Subnetz funktionieren muss. Dazu braucht ARP aber einen eigenen Ethertype.

Auch fällt auf, dass die Ziel-MAC-Adresse die Broadcast-Adresse ist (FF:FF:FF:FF:FF:FF), die Antwort aber direkt geschickt wird, also nicht als Broadcast. Im ARP-Paket steht aber weit mehr als nur die IP-Adresse zu der die passende MAC-Adresse gesucht wird. So steht z.B. drin, um welche Art von MAC-Adresse es sich handelt, aber auch um welche Art von Netzwerkschicht Adressen, d.h. ARP ist entwickelt worden, um in dieser Hinsicht erweiterbar zu sein. Der ARP RFC RFC 826 sagt es eigentlich ganz schön:

“The world is a jungle in general, and the networking game contributes many animals. At nearly every layer of a network architecture there are several potential protocols that could be used.”

Übringens, es gibt auch ein Tool, um mittels ARP ein “Ping” zu verschicken: arping

Starten Sie doch noch einmal Wireshark. Diesmal auf h1s4 und starten Sie die Aufzeichnung. Starten sie von h1s1 arping zu h1s4 aus der Mininet-Konsole via:

h1s1 arping h1s2

Fällt Ihnen an den ARP Paketen, ab dem zweiten Paket etwas auf? Wer im Netz empfängt diese alles?


Zurück
Übersicht
Weiter