Das Address Resolution Protocol (ARP) dient als Hilfsprotokoll zur Zuordnung der IP-Adressen zu den Hardware-Adressen, in unserem Falle der MAC Adresse des Ethernets.
Das ARP ist im RFC 826 veröffentlicht worden.
Die heute gebräuchlichste Form der Umwandlung der Internet-Adressen in Hardware-Adressen wird nach der dynamischen Methode realisiert. Hierbei wird vor der Übertragung von Daten durch das Internet Protokoll IP das Vorhandensein eines Eintrags für die Zieladresse in der ARP-Adresstabelle (ARP Cache) überprüft. Das ARP-Protokoll vergleicht die vorhandenen Tabelleneinträge mit der Anfrage des Internet-Protokolls. Wird kein Eintrag im ARP-Cache gefunden, so wird bei allen Rechnern am Netz die gewünschte Adresse mit Hilfe einer Ebene 2 Broadcast-Meldung erfragt. Nur der Rechner mit einem Eintrag zu dieser Internet-Adresse antwortet auf diese Anfrage. Die Antwort (ARP-Reply) auf den ARP-Request wird in einem ARP-Cache gespeichert. Dieser Eintrag verbleibt in dieser Tabelle für eine bestimmte Zeit, bis er automatisch nach Ablauf des ARP-Timers gelöscht wird. Der ARP-Timer wird bei jedem Auslesen eines Eintrags wieder auf null zurückgesetzt.
Der Inhalt des ARP Cache kann mit dem DOS Befehl arp -a aufgelistet werden.
In dem nachstehenden Beispiel will der Knoten #1 mit dem Knoten #2 mit Hilfe der IP Adresse Verbindung aufnehmen:
Schritt |
Beschreibung |
1 |
Der Knoten #1 will ein IP-Telegramm an die Adresse 178.1.10.6 senden. Im ARP-Cache wird nachgeschlagen ob dazu schon eine MAC Adresse bekannt ist. Wenn ja kann das Telegramm sofort gesendet werden, wenn nein müssen die nachfolgenden Schritte ausgeführt werden. |
2 |
Ein ARP-Request wird an alle MAC Adressen (FF-FF-FF-FF-FF-FF) gesendet: “Wer kennt die Hardware-Adresse von Netzknoten 178.1.10.6 ?" |
3 |
Der Knoten #2 antwortet mit einem ARP-Reply: “Die Ethernet-Hardware-Adresse von Netzknoten 178.1.10.6 lautet 08-00-2B-98-76-54” |
4 |
Der Knoten #1 trägt die MAC Adresse in seinen ARP-Cache ein. Die Kommunikation kann aufgebaut werden. |
Das ARP Telegramm hat den Ethernet TYPE 0x0806 und die folgende Struktur:
ARP Telegramm |
Umfang in Byte |
Werte |
Bedeutung |
---|---|---|---|
Hardware Address Type (HWA) |
2 |
1 = Ethernet |
Welche Adressen müssen gesucht werden? |
Protocol Address Type (PRA) |
2 |
0x0800 = IP |
Welche Adresse ist schon bekannt? |
Hardware Address Length (HLen) |
1 |
6 (für MAC) |
|
Protocol Address Length (PLen) |
1 |
4 (für IP) |
|
Operation Code |
2 |
1 = Request 2 = Reply |
Funktion von diesem Telegramm |
Hardware Address of sender |
6 |
|
|
Protocol Address of sender |
4 |
|
|
Hardware Address of target |
6 |
|
|
Protocol Address of target |
4 |
|
|