Um diese Webseite uneingeschränkt betrachen zu können, aktivieren Sie bitte Javascript

2021-03-01

Von: Lukas Reipert (gepr. Osmers)





Adress Resolution Protocol


Im Folgenden möchte ich kurz Hintergrund und Funktion des ARP (Address Resolution Protocol) erläutern. Das ARP erfüllt eine wichtige Aufgabe innerhalb eines Netzwerkes, beim Versenden von Datenpaketen. Es stellt eine Verknüpfung zwischen IP und herstellerseitiger physischer Adresse her.

 

Wenn ein Host ein Datenpaket an eine IP-Adresse im Netzwerk senden möchte, dann kann das ARP die Mac-Adresse des gewünschten Gerätes herausfinden. Innerhalb von Netzwerken führen Gateways mithilfe eines ARP-Programms Caches, in denen kürzlich und/oder häufig verwendete Adressverknüpfungen zwischengespeichert sind. Damit muss in einigen Fällen keine erneute Anfrage gesendet werden und die gesuchte physische Adresse ist schon bekannt. Wenn die physische Adresse zu einer IP allerdings nicht in einem solchen Cache steht, dann sendet das ARP eine Anfrage an alle Netzwerkteilnehmer und erwartet eine Antwort, zu wem die IP-Adresse gehört. Wenn ein Netzwerkgerät die mitgesendete IP-Adresse selber nicht nutzt, dann wird die Anfrage von diesem Teilnehmer verworfen. Wenn ein Teilnehmer die IP-Adresse allerdings mit einem Netzwerkgerät benutzt, dann sendet es eine Reply, also eine Antwort, mit der er bestätigt, dass er die gesuchte Adresse besitzt. Damit ist dann das Ziel gefunden, an das ein anderer Host ein Datenpaket senden wollte und es kann den gewünschten Empfänger erreichen.
Für den Fall, das ein Ziel in einem anderen Subnetz liegt als der Host, von dem die Initiative ausgeht, dann kommt ein Gateway ins Spiel, das schaut ob die gesuchte IP-Adresse in einem der angeschlossenen Subnetze liegt. Wenn das der Fall ist, dann wird wieder mithilfe des ARP die IP-Adresse rausgesucht oder angefragt und dann weitergegeben.

 

Das ARP-Protokoll arbeitet nach allgemeinem Konsens im Bereich der Schichten 2 und 3 des OSI 7-Schichten-Modells, der Sicherungsschicht und der Vermittlungsschicht, denn es sorgt sowohl für eine zuverlässige und funktionierende Verbindung[1] als auch für die Adressierung von Teilnehmern in einem Netzwerk.

 


 

 

Es gibt allerdings noch ein weiteres Protokoll mit Namen „RARP“ (Reverse Address Resolution Protocol), dass eine ähnliche Aufgabe übernimmt wie ARP nur auf umgekehrtem Wege. Ionos.de führt als Beispiel an, dass ein Netzwerkgerät möglicherweise keinen eigenen Speicher besitzt und es deswegen die eigene IP-Adresse nicht kennt. In diesem Fall muss das RARP mit einer vorhandenen Mac-Adresse die dazugehörige IP-Adresse ermitteln.

 

Auch über die Windows-Kommandozeile kann man die Funktionen des ARP-Protokolls nutzen. Dort wird es hauptsächlich genutzt, um die Mac-Adressen zu den zugehörigen IP-Adressen herauszufinden. Der Befehl „arp“ stellt verschiedene Funktionen des Adress Resolution Protocols zur Verfügung. Mit ihm kann man beispielsweise Einträge im Cache des ARP ändern oder den Cache anzeigen lassen. Dabei werden dann alle IP-Adressen mit den bekannten MAC-Adressen sichtbar. Aufgelistet sind die Kombinationen von den, sich im Gerät befindlichen, Netzwerkschnittstellen. Da jedes netzwerkfähige Gerät seinen eigenen Cash-führt werden diese auch separat aufgeführt.

 

Wenn ich zum Beispiel eine Whitelist für ein Netzwerkgerät führen möchte, dann brauche ich die Mac-Adresse des entsprechenden Geräts. Dann gebe ich „arp –a“ in die Befehlszeile ein und bekomme die Tabelle mit allen bekannten Eintragungen aller Schnittstellen. Mit dem Parameter „-n“ kann auch noch eine Schnittstelle angegeben werden, dann werden nur die Einträge angezeigt, die dieser Schnittstelle bekannt sind.

 

Auch das oben beschriebene „Reverse ARP“ kann in der Kommandozeile genutzt werden. In arp –a werden bereits alle Einträge mit IP-Adresse und physikalischer Adresse aufgeführt. Wenn ich aber die MAC habe und die IP-Adresse suche, dann kann ich entweder manuell suchen oder ich nutze die Befehlszeile „arp -a | find [Mac-Adresse]“. Das Ergebnis ist die gefundene IP-Adresse zur physikalischen Adresse. Der Befehl „find“ sucht einfach nur in der aktuellen Konsolenausgabe. Mit der Eingabe „arp –s [IP-Adresse] [Mac-Adresse] kann auch ein Eintrag hinzugefügt beziehungsweise eine Zuordnung vorgenommen werden.

 

 


[1] https://www.elektronik-kompendium.de/sites/kom/0301201.htm