ARP-Anfrage
Eine ARP-Anforderung wird gesendet, wenn ein Gerät die MAC-Adresse ermitteln muss, die mit einer IPv4-Adresse verknüpft ist, und es keinen Eintrag für die IPv4-Adresse in seiner ARP-Tabelle hat.
ARP-Nachrichten werden direkt in einem Ethernet-Rahmen gekapselt. Es gibt keinen IPv4-Header. Die ARP-Anforderung wird in einem Ethernet-Rahmen unter Verwendung der folgenden Header-Informationen eingekapselt:
- Ziel-MAC-Adresse - Dies ist eine Broadcast-Adresse FF-FF-FF-FF-FF-FF-FF, die alle Ethernet-NICs im LAN benötigt, um die ARP-Anforderung zu akzeptieren und zu verarbeiten.
- Quell-MAC-Adresse - Dies ist die MAC-Adresse des Absenders der ARP-Anforderung.
- Typ - ARP-Nachrichten haben ein Typ-Feld von 0x806. Dadurch wird die empfangende NIC informiert, dass der Datenteil des Frames an den ARP-Prozess übergeben werden muss.
Da es sich bei ARP-Anforderungen um Broadcasts handelt, werden diese vom Switch an alle Ports mit Ausnahme des Empfangsports überflutet. Alle Ethernet-NICs im LAN-Prozess senden Broadcasts und müssen die ARP-Anforderung zur Verarbeitung an ihr Betriebssystem liefern. Jedes Gerät muss die ARP-Anforderung verarbeiten, um zu sehen, ob die Ziel-IPv4-Adresse mit seiner eigenen übereinstimmt. Ein Router leitet keine Broadcasts über andere Schnittstellen weiter.
Nur ein Gerät im LAN hat eine IPv4-Adresse, die mit der Ziel-IPv4-Adresse in der ARP-Anforderung übereinstimmt. Alle anderen Geräte antworten nicht.
Operation ARP - ARP-Antwort
Nur das Gerät mit der Ziel-IPv4-Adresse, die der ARP-Anforderung zugeordnet ist, antwortet mit einer ARP-Antwort. Die ARP-Antwort wird unter Verwendung der folgenden Header-Informationen in einem Ethernet-Frame gekapselt:
- Ziel-MAC-Adresse - Dies ist die MAC-Adresse des Absenders der ARP-Anfrage.
- Quell-MAC-Adresse - Dies ist die MAC-Adresse des Absenders der ARP-Antwort.
- Typ - ARP-Nachrichten haben ein Typ-Feld von 0x806. Damit wird die empfangende NIC informiert, dass der Datenteil des Rahmens an den ARP-Prozess übergeben werden muss.
Nur das Gerät, das die ARP-Anforderung ursprünglich gesendet hat, erhält die Unicast-ARP-Antwort. Nachdem die ARP-Antwort empfangen wurde, fügt das Gerät die IPv4-Adresse und die entsprechende MAC-Adresse zu seiner ARP-Tabelle hinzu. Pakete, die für diese IPv4-Adresse bestimmt sind, können nun unter Verwendung der entsprechenden MAC-Adresse in Frames gekapselt werden.
Sollte kein Gerät auf die ARP-Anforderung antwortet, wird das Paket verworfen, da kein Rahmen erstellt werden kann.
Die Einträge in der ARP-Tabelle werden mit einem Zeitstempel versehen. Sofern ein Gerät vor Ablauf des Zeitstempels keinen Frame von einem bestimmten Gerät empfängt, wird der Eintrag für dieses Gerät aus der ARP-Tabelle entfernt.
Zusätzlich können statische Karteneinträge in eine ARP-Tabelle eingegeben werden, was jedoch selten geschieht. Statische ARP-Tabelleneinträge verfallen nicht mit der Zeit und müssen manuell entfernt werden.
Das IPv6 verwendet einen ähnlichen Prozess wie ARP für IPv4, bekannt als ICMPv6 Neighbor Discovery (ND). Das besagte IPv6 verwendet Nachbarschaftsanfragen und Nachbarschaftswerbenachrichten, ähnlich wie IPv4-ARP-Anfragen und ARP-Antworten.
ARP-Rolle in der Remote-Kommunikation
Befindet sich die Ziel-IPv4-Adresse nicht im gleichen Netzwerk wie die Quell-IPv4-Adresse, muss das Quellgerät den Frame an sein Standard-Gateway senden. Dies ist die Schnittstelle des lokalen Routers. Immer wenn ein Quellgerät über ein Paket mit einer IPv4-Adresse in einem anderen Netzwerk verfügt, kapselt es dieses Paket unter Verwendung der Ziel-MAC-Adresse des Routers in einen Frame ein.
Die IPv4-Adresse des Standard-Gateways wird in der IPv4-Konfiguration der Hosts gespeichert. Sobald ein Host ein Paket für ein Ziel generiert, vergleicht er die Ziel-IPv4-Adresse mit seiner eigenen IPv4-Adresse, um festzustellen, ob sich die beiden IPv4-Adressen im selben Layer-3-Vermittlungsschicht befinden. Gehört der Ziel-Host nicht zu demselben Netzwerk, prüft die Quelle ihre ARP-Tabelle auf einen Eintrag mit der IPv4-Adresse des Standard-Gateways. Existiert kein Eintrag, verwendet es den ARP-Prozess, um eine MAC-Adresse des Standard-Gateways zu bestimmen.
Entfernen von Einträgen aus einer ARP-Tabelle
Für jedes Gerät entfernt ein ARP-Cache-Zeitgeber ARP-Einträge, die für eine bestimmte Zeitspanne nicht verwendet wurden. Die Zeiten sind je nach Betriebssystem des Geräts unterschiedlich. Beispielsweise speichern neuere Windows-Betriebssysteme ARP-Tabelleneinträge zwischen 15 und 45 Sekunden.
Befehle können auch verwendet werden, um einige oder alle Einträge in der ARP-Tabelle manuell zu entfernen. Nachdem ein Eintrag entfernt wurde, muss der Prozess zum Senden einer ARP-Anforderung und Empfangen einer ARP-Antwort erneut ausgeführt werden, um die Karte in die ARP-Tabelle einzutragen.