Das Adress Resolution Protocol (Kurz ARP) hat die Aufgabe Adressen aus der Internetschicht einer Hardware-Adresse zu zuordnen. Anhand dieser Zuordnung führen Clients, unabhängig voneinander, eine eigene ARP-Tabelle auf. Diese Tabelle wird später für Verbindungen innerhalb des eigenen Subnet gebraucht. Man kann sich lange darüber unterhalten, ob ARP jetzt auf Layer-2 oder Layer-3 agiert. Für meine Begriffe ist es ein reiner Layer-2 Protokoll.
Wie funktioniert die Kommunikation von ARP im Netzwerk?
Wir gehen davon aus, dass unser Client mit der IP 192.168.1.104 eine Verbindung zum 192.168.1.32 aufbauen möchte. Für Verbindungen innerhalb des Subnet verwedent der Client sein eigenes ARP-Cache. Ist die Ziel IP-Adresse nicht zu finden, dann sendet er einen ARP-Broadcast (ARP-Request) an die Adresse FF:FF:FF:FF:FF:FF mit der Frage „Welche MAC-Adresse hat die IP-Adresse 192.168.1.32?“. Da die Zielmaschine innerhalb des selben Subnet ist, sieht sie den Broadcast und fühlt sich angesprochen, darauf antwortet sie mit einem ARP-Unicast (ARP-Reply): „Die IP-Adresse 192.168.1.32 is at AB:BB:3D:F3:C6:07“. Im selben Zug speichert die Zielmaschine die Daten aus dem ARP-Request in seiner Tabelle, um zukünftige ARP-Broadcast zu vermeiden. Die Maschine mit der IP-Adresse 192.168.1.104 erhält die Antwort und ergänzt seine ARP-Tabelle.


