Zum Hauptinhalt springen

Was ist das Address Resolution Protocol (ARP)?

Veröffentlicht am:
.
5 Minuten Lesezeit
.
Für die Englische Version

ARP (Address Resolution Protocol) ist ein Kommunikationsprotokoll der Netzwerkschicht, das verwendet wird, um dynamisch ein Internetprotokoll (IP) auf eine Hardware- oder MAC-Adresse in einem lokalen Netzwerk abzubilden. (LAN). Die Mapping-Technik ist aufgrund der Unterschiede in der Länge der IP- und MAC-Adressen entscheidend, da eine Übersetzung erforderlich ist, um eine gegenseitige Erkennung zwischen den Systemen zu ermöglichen. Während eine IPv4-Adresse aus 32 Bits besteht, umfassen MAC-Adressen 48 Bits. ARP konvertiert die 32-Bit-Adresse in eine 48-Bit-Adresse und umgekehrt.

Wenn ein primärer Host mit einem anderen Ziel-Host kommunizieren möchte, sendet er eine Broadcast-Anfrage an das gesamte Netzwerk. Die MAC-Adresse des Zielhosts, die mit der Anfrage übereinstimmt, wird dem primären Host als Antwort auf die Anfrage zurückgegeben.

Ein Host sendet eine Anfrage nach der MAC-Adresse, die mit der IP-Adresse des Ziels verknüpft ist, wenn er ein IP-Datagramm als Ethernet-Frame an einen anderen Host liefern muss, dessen MAC-Adresse er ignoriert. Wenn eine Anfrage im Subnetz empfangen wird, überprüft jeder Host, ob die in der Anfrage enthaltene IP-Adresse mit einer seiner Netzwerkschnittstellen verknüpft ist. Wenn dies der Fall ist, liefert der Host mit der übereinstimmenden IP-Adresse eine Unicast-Antwort an den Absender der IP-Adresse, MAC-Adresse-Paar-Anfrage. Um die Anzahl der über das Netzwerk gesendeten Anfragen zu reduzieren, führt jeder Host einen ARP-Cache mit IP-, MAC-Paarungen basierend auf den empfangenen Antworten.

ARP ist ein zustandsloses Protokoll, was bedeutet, dass eine Antwort gesendet werden kann, auch wenn die entsprechende Anfrage nie gesendet wurde. Wenn ein Host eine Antwort erhält, ersetzt er den entsprechenden Eintrag im Cache durch das in der Antwort enthaltene "IP, MAC"-Paar. Während ein Cache-Eintrag nur geändert werden sollte, wenn die Zuordnung bereits vorhanden ist, cachen bestimmte Betriebssysteme Antworten in jeder Situation, um die Effizienz zu verbessern.

Was macht ARP?

Wenn das Subnetz ein Paket von höheren Schichten erhält, überprüft es die IP-Adresse der Zielmaschine. Wenn sich die Sender-Maschine und die Ziel-Maschine im selben lokalen Netzwerk befinden, kann das Paket direkt an die Ziel-Maschine übertragen werden; andernfalls muss das IP-Paket über einen Router geleitet werden. Das Subnetz muss die MAC-Adresse der Zielmaschine kennen, um das Paket direkt an sie zu senden. ARP wird von der Netzwerkschicht der TCP/IP-Suite verwendet, um dies zu tun. ARP befindet sich in der unteren Hälfte der Netzwerkschicht der TCP/IP-Suite. Ein Host wird in dieser Schicht durch seine 32-Bit-IP-Adresse erkannt. Die Medium Access Control (MAC)-Schicht der TCP/IP-Suite verwendet hingegen ein anderes Adressierungsschema. Eine 48-Bit-MAC-Adresse identifiziert eine Schnittstelle in der MAC-Schicht. ARP ist ein Netzwerkprotokoll, das es Hosts ermöglicht, die 32-Bit-IP-Adresse einer Maschine dynamisch ihrer 48-Bit-MAC-Adresse (im lokalen Netzwerk) in einem Speicherbereich, der als ARP-Cache bekannt ist, zuzuordnen. Wenn ein Host die MAC-Adresse eines Zielknotens im lokalen Netzwerk ermitteln möchte, sendet er eine ARP-Anfrage mit seiner IP- und MAC-Adresse in den Feldern SPA (Source Protocol Address) und SHA (Source Hardware Address). Die IP-Adresse des Zielknotens wird im TPA (Target Protocol Address) Parameter festgelegt. Wenn die THA (Ziel-Hardware-Adresse) auf einen Dummy-Wert von 00:00:00:00:00:00 gesetzt ist, ist die Ziel-MAC-Adresse unbekannt.

Die IP-MAC-Adresszuordnung des Absenders (SPA und SHA) wird von den Knoten, die die ARP-Anfrage empfangen, gelernt und ihren jeweiligen ARP-Caches hinzugefügt. Der TPA-Wert in der ARP-Anfrage wird von jedem empfangenden Knoten überprüft, um festzustellen, ob er mit seiner IP-Adresse übereinstimmt. Es wird mit einer ARP-Antwortnachricht antworten, wenn dies der Fall ist.

Das ARP-Protokoll kann zwei Arten von ARP-Nachrichten senden. ARP-Anfrage ist die eine, und ARP-Antwort ist die andere;

ARP-Anfrage: Wenn ein Host eine ARP-Anfrage sendet, enthält er seine IP- und MAC-Adressen, die Art der ARP-Nachricht und die Ziel-IP-Adresse im ARP-Anforderungsrahmen. Die ARP-Anfrage wird dann an alle Hosts im selben LAN wie der sendende Host gesendet. Das Ziel-MAC-Adressfeld bleibt leer, damit es vom Host mit der Ziel-IP-Adresse ausgefüllt werden kann.

ARP-Antwort: Wenn ein Host eine ARP-Anfrage mit seiner IP als Ziel-IP erhält, füllt er das Ziel-MAC-Adressfeld mit seiner MAC-Adresse und das Operationsfeld mit dem Opcode der ARP-Antwort aus. Dieses Paket wird direkt an die anfragende Maschine gesendet; dies wird als Unicast bezeichnet. Wenn die anfragende Maschine eine ARP-Antwort erhält, aktualisiert sie ihren ARP-Cache mit der angeforderten MAC-Adresse.

Wofür wird das Address Resolution Protocol verwendet?

ARP (Address Resolution Protocol) ist ein verbindungsorientiertes Protokoll, das vom Internetprotokoll verwendet wird, um IP-Adressen mit MAC-Adressen zu verknüpfen, die in jedem Client-ARP-Cache gespeichert werden. Um diesen Prozess zu erleichtern, entwickelten Netzwerktechniker eine Reihe von Regeln, die als Protokolle für den Austausch von Computernachrichten bekannt sind. Diese Protokolle halten die verbundenen Geräte im Netzwerk verbunden und ermöglichen es ihnen, schnell und ohne Probleme zu arbeiten.

Was ist der Zweck des Address Resolution Protocol?

Jedes Paket in einem Subnetz muss an eine lokale Netzwerkschnittstelle zugestellt werden. Das Subnetz-Gateway empfängt diejenigen, deren Ziel-IP-Adressen außerhalb des lokalen Netzwerks liegen. (as indicated by the subnet mask). Pakete, die für das interne Subnetz bestimmt sind, werden direkt zugestellt. Die IP-Adresse muss auf eine MAC-Adresse abgebildet werden, unabhängig davon, ob die Zieladresse lokal oder ein Gateway ist. Die ARP-Auflösung verwendet eine einfache Broadcast-Anfrage, gefolgt von einer Unicast-Antwort, um eine verteilte Suche durchzuführen. Die Anfrage wird vom abfragenden Host an die lokale Broadcast-Adresse gesendet. Nur ein Host, der die angeforderte Adresse zugewiesen bekommen hat, soll gemäß dem Protokoll mit seiner lokalen Hardware-Adresse antworten.

Wie funktioniert ARP?

Das ARP ist eine der einfachsten, aber entscheidendsten LAN Kommunikationsmethoden. Das ARP wird verwendet, um die MAC-Adresse eines Hosts anhand seiner IP-Adresse zu bestimmen. Dies wird erreicht, indem ein ARP-Anforderungs-Paket im gesamten Netzwerk gesendet wird. In einem ARP-Antwortpaket antwortet der betroffene Host nun mit seiner MAC-Adresse. (unicast). Ein Host kann seine eigene MAC-Adresse unter bestimmten Umständen in einem speziellen Gratuitous ARP-Paket senden. Jeder Host führt einen ARP-Cache, der alle Adresszuordnungen speichert, die aus dem Netzwerk (dynamische Einträge) oder vom Administrator definiert wurden. (static entries). Die dynamischen Einträge laufen nach einer festgelegten Zeit ab, die zwischen den Betriebssystemen unterschiedlich ist. Wenn ein Eintrag sein Ablaufdatum erreicht, wird er aus dem Cache entfernt, und wenn der Host mit demselben Peer interagieren möchte, wird eine weitere ARP-Anfrage gesendet. Die statischen Einträge laufen nicht ab.

ARP funktioniert durch das Übertragen von 'ARP-Anforderungs'-Paketen. "Hat jemand die IP-Adresse x?" fragt eine ARP-Anfrage. Wenn das der Fall ist, bitte sende mir deine MAC zurück." Selbst in einem Switch-Netzwerk werden diese Pakete an alle Maschinen im LAN gesendet.

ARP-Anfrage und ARP-Antwort Beispiel

Abbildung 1. Beispiel für ARP-Anfrage und ARP-Antwort

Ein Beispiel für eine ARP-Anfrage und eine ARP-Antwort in einem ARP ist wie folgt:

  1. Host IP1 möchte ein Paket an IP3 senden, aber IP1 kennt nur die IP-Adresse von IP3.

  2. Host IP1 sendet eine ARP-Anfrage mit der IP-Adresse von IP3, wie in Abbildung 1 gezeigt.

  3. Alle Hosts im lokalen Netzwerk empfangen die ARP-Anfrage, die als Broadcast gesendet wird.

  4. Host IP3 antwortet mit seiner MAC-Adresse durch Unicast der ARP-Antwort, wie in Abbildung 1 gezeigt, und aktualisiert seinen ARP-Cache mit der MAC von MAC3.

  5. Host IP1 fügt die MAC-Adresse von MAC3 zu seinem ARP-Cache hinzu.

  6. Jetzt kann Host IP1 Pakete direkt an IP3 senden.

Starten Sie noch heute kostenlos mit Zenarmor

Was sind die Arten von ARP?

Es gibt vier Arten von ARP:

  1. Reverse ARP

  2. Proxy ARP

  3. Gratuitous ARP

  4. Inverses ARP.

1. Reverse ARP

Die Operationen von ARP und Reverse ARP (RARP) sind unterschiedlich. ARP setzt voraus, dass jeder Host versteht, wie er seine Hardware-Adresse auf seine Protokoll-Adresse abbildet.(es). Ein kleiner Cache wird verwendet, um Informationen über andere Hosts zu speichern. Es gibt keine Unterscheidung zwischen Clients und Servern; alle Hosts haben den gleichen Status. RARP hingegen erfordert die Pflege einer Datenbank von Zuordnungen von Hardware-Adressen zu Protokoll-Adressen und die Beantwortung von Anfragen von Client-Hosts durch einen oder mehrere Server-Hosts.

Server-Hosts sind gemäß RARP verpflichtet, große Datenbanken zu pflegen. Die Pflege einer solchen Datenbank im Kernel des Betriebssystems eines Hosts ist unerwünscht und in einigen Situationen unmöglich. Infolgedessen müssen die meisten Implementierungen auf irgendeine Weise mit einem Programm außerhalb des Kernels interagieren.

Es ist entscheidend, eine einfache Lösung mit minimalem Einfluss auf die bestehende Host-Software zu haben. Einen Protokoll zu entwerfen, das Änderungen an der Software jedes Hosts erforderte, unabhängig davon, ob sie teilnehmen wollten oder nicht, wäre ein Fehler.

2. Proxy ARP

Um ein kleines Netzwerk von Geräten in einem anderen Subnetz sichtbar zu machen, verwenden Sie Proxy ARP mit Subnetting. Dies lässt alle Maschinen im lokalen Netzwerk (von nun an als Netzwerk 0 bekannt) so erscheinen, als wären sie mit dem Hauptnetzwerk verbunden.

Nur Pakete von Netzwerk 1 zu Netzwerk 0 werden durch das Proxy ARP geleitet. Die übliche IP-Routing-Funktionalität wird verwendet, um die Pakete in die andere Richtung zurückzuleiten.

Wenn Hosts sich in verschiedenen physischen Netzwerken befinden und Sie keine Subnetzmaskierung verwenden möchten, ist Proxy ARP nützlich. ARP-Broadcasts werden nicht über Hosts in separaten physischen Netzwerken propagiert, daher erhalten Hosts keine Antwort auf ihre ARP-Anfrage, wenn sich das Ziel in einem anderen Subnetz befindet. Die Hosts können transparent über den Switch miteinander kommunizieren, wenn der Switch so konfiguriert ist, dass er als ARP-Proxy fungiert. Proxy ARP ermöglicht es Hosts in einem Subnetz, mit Hosts in anderen Subnetzen zu kommunizieren, ohne dass Routing oder ein Standardgateway erforderlich ist.

3. Gratuitous ARP

Eine Nachricht, die von einem Host gesendet wird, um die MAC-Adresse für seine IP-Adresse zu suchen, ist als gratuitous ARP bekannt. Es wird von einem Host gesendet, der überprüfen möchte, ob es auf dem LAN einen anderen Host mit derselben IP-Adresse gibt, oder von einem Host, der erklärt, dass sich seine MAC-Adresse geändert hat, damit andere Hosts ihre Caches aktualisieren können.

Gratuitous ARP ist eine einzigartige ARP-Antwort, die nicht auf eine ARP-Anfrage reagiert. Eine Antwort ohne ARP-Anfrage wird als gratuitous ARP-Antwort bezeichnet. Für ein Gratuitous ARP wird keine Antwort erwartet. Die folgenden Merkmale kennzeichnen ein gratuitous ARP-Paket. Sowohl die Quell- als auch die Ziel-IP-Adressen sind auf die IP-Adresse der Maschine eingestellt, die das kostenlose ARP-Paket sendet.

Netzwerkgeräte erstellen aus verschiedenen Gründen unnötige ARP-Pakete, von denen einige unten aufgeführt sind. Um IPv4-Adressen zu finden, die identisch sind. Wenn Computer eine Antwort auf eine freiwillige ARP-Anfrage erhalten, können sie einen IPv4-Adressen-Konflikt im Netzwerk erkennen. Nach einer Änderung der IPv4- oder MAC-Adresse aktualisieren Sie die ARP-Tabelle.

4. Inverses ARP (IARP)

Frame Relay-Stationen können das Inverse Address Resolution Protocol (IARP) verwenden, um die Protokolladresse einer Station zu ermitteln, die mit dem virtuellen Kreis verbunden ist. Es ist schneller und vielseitiger als das Senden von ARP-Nachrichten an jede VC (virtueller Kreis) für jede Adresse, die das System auflösen muss. Basic IARP funktioniert ähnlich wie ARP, mit dem Unterschied, dass es keine Anfragen broadcastet. Dies liegt daran, dass die Hardware-Adresse der Zielstation bereits bekannt ist. Wenn eine Schnittstelle, die IARP unterstützt, eingeschaltet wird, sollte sie das IARP-Protokoll starten und IARP-Anfragen für jede aktive PVC (Permanent Virtual Circuit), die IARP unterstützt, formatieren. Die anfordernde TA-Station erledigt dies, indem sie einfach ihre Quellhardware, Quellprotokolladressen und die bekannte Zielhardwareadresse in eine Anfrage eingibt. Das Zielprotokolladressfeld wird dann mit Nullen gefüllt. Schließlich wird das Paket für das angegebene Netzwerk gekapselt und direkt an die Zielstation gesendet.

Was ist der funktionale Unterschied zwischen ARP, DHCP und DNS?

Die Link-Layer-Protokolle, Dynamic Host Configuration Protocol (DHCP) und ARP sind für den Betrieb eines LAN erforderlich. DHCP ist ein Protokoll, das die Verbindung zu einem Netzwerk erleichtert. DHCP automatisiert die Zuweisung von TCP/IP-Stack-Konfigurationsparametern, wie dem Standardgateway, der Subnetzmaske und IP-Adressen, wenn ein Host mit dem Netzwerk verbunden wird. Das ARP-Protokoll wird verwendet, um die MAC-Adresse eines netzwerkfähigen Geräts aufzulösen, dessen IP-Adresse bekannt ist.

DNS ist ein Datenspeicher, der Domainnamen in IP-Adressen umwandelt. Die IP-Adresse wird von der TCP/IP-Suite verwendet, um Pakete zu routen, aber der Hostname ist für Menschen lesbarer. Ein hierarchischer Namensraum wird als DN-Raum verwendet, da DNs global eindeutig sein müssen; dieser wird in Form einer Baumstruktur konstruiert, wobei die Wurzel oben ist. Obwohl das Wurzel-Label eine leere Zeichenkette ist, hat jeder Knoten im Baum ein Label, das eine Zeichenkette ist. DN hingegen ist eine Reihe von durch Punkte getrennten Labels, die vom Knoten bis zur Wurzel verlaufen.

DHCP steht für 'Dynamic Host Configuration Protocol' und ist eine Methode, um TCP/IP-Netzwerkeinstellungen von einem zentralen Server für vernetzte Computer zu erhalten. DHCP ermöglicht es Computern, manuelle oder dynamische IP-Adressen für Hosts anzufordern, wenn sie sich mit dem Netzwerk verbinden. Der DHCP-Dienst weist IP-Adressen, Subnetzmasken, Gateways und andere IP-Netzwerkmerkmale automatisch zu. IP-Adressen werden nicht dauerhaft an Hosts vergeben; stattdessen werden sie für einen festgelegten Zeitraum vermietet. Eine Maschine sollte kurz vor Ablauf der Lease eine Verlängerung der Lease beim DHCP-Server beantragen. Andernfalls wird die IP-Adresse gesperrt. Die Adresse wird wieder in den Bereich zur Wiederverwendung zurückgegeben, wenn der Host ausgeschaltet oder vom Netzwerk getrennt wird. Der DHCP-Server stellt nicht sicher, dass die IP-Adresse dem Client zugewiesen wird; dennoch behält der Server die Adresse normalerweise, bis der Client sie ordnungsgemäß angefordert hat.

Um das DHCP-Discover-Broadcast-Paket von einem neu gestarteten Client-Computer weiterzuleiten, ist ein DHCP-Relay-Agent erforderlich. Der Relay-Agent sendet es als Unicast-Übertragung an den DHCP-Server. (which may be on another network). Die IP-Adresse des DHCP-Servers wird normalerweise vom Relay-Agenten gespeichert. Infolgedessen besteht die Aufgabe des Relay-Agenten darin, Pakete zwischen Servern und Clients weiterzuleiten. Dies ermöglicht es dem DHCP-Server, Subnetze zu verwalten, in denen kein Server verfügbar ist, wodurch die Anforderung eines Servers pro Subnetz entfällt. Ein DHCP-Server verwendet das Konzept der Vermietung, um die Dauer der IP-Adresszuweisung nachzuverfolgen.

DNS-Server sind eine Sammlung von Computern, die den DN-Raum teilen. Die Domäne, die ein Teilbaum des DN-Raums ist und auch als Zone bekannt ist, wird verwendet, um den DN-Raum zu unterteilen. Der Name der Domain entspricht dem Namen des obersten Knotens des Teilbaums.

DNS wurde als Client-Server-System erstellt. Ein Responder erhält die DN vom Browser und liefert eine zugeordnete Abfrageanfrage an den DNS-Server in der Client-seitigen Anwendung von DNS.

Mit einfachen Worten, ein Webserver wird von einem Webbrowser durch seine IP-Adresse identifiziert. Durch das Senden einer DNS-Abfrage, die den DN enthält, erhält der Browser die IP-Adresse des Servers von einem DNS-Server. Der DNS-Server antwortet mit der Server-IP, und das Browser-Programm antwortet mit einer HTTPS-Anfrage, die diese Server-IP als Ziel-IP verwendet. HTTPS verschlüsselt die HTTP-Kommunikation zwischen Clients und Servern für zusätzliche Sicherheit. Durch das Spoofen dieser DNS-Signale und das Ersetzen der Server-IP durch die IP des Angreifers können Angreifer die unsichere DNS-Kommunikation ausnutzen. Als Zielserver liefert der Webbrowser eine HTTPS-Nachricht an die IP-Adresse des Angreifers. Der Angriff ist nicht nachweisbar, wenn der Angreifer eine Website verwendet, um auf die Anfrage des Clients zu reagieren. DNS-Spoofing oder Phishing sind Begriffe, die verwendet werden, um solche Angriffe zu beschreiben.

Was ist die Bedeutung von ARP in Netzwerken?

Die MAC-Adresse der Zielmaschine wird vom Host-Gerät benötigt, um eine Nachricht von einer Maschine zur anderen im selben oder in einem anderen Netzwerk zu übertragen.(s). Infolgedessen, wenn die MAC-Adresse des Ziels nicht im ARP-Cache der Quelle gefunden wird, muss eine Zuordnung zwischen der IP-Adresse und der MAC-Adresse hergestellt werden. ARP wird zu diesem Zweck verwendet.

Infolgedessen ist ARP eine kritische Komponente der Netzwerkschicht und ein zustandsloses Protokoll. Benutzer müssen bestimmen, wie viele Hosts sie in ihrem Subnetz haben können, da sie nicht mit einem Subnetz enden wollen, das entweder zu klein ist, um alle benötigten IP-Adressen zu verwalten, oder zu groß und ineffizient.

Was ist ein ARP-Spoofing-Angriff?

Ein Angreifer könnte ARP-Spoofing verwenden, um Datenpakete in einem LAN abzufangen, den Fluss zu manipulieren oder ihn vollständig zu stoppen. Der Angriff wird häufig als Sprungbrett für andere Arten von Angriffen wie Denial-of-Service, Man-in-the-Middle und Session-Hijacking verwendet. Der Angriff ist auf lokale Netzwerksegmente beschränkt und kann nur in Netzwerken eingesetzt werden, die das ARP verwenden. Die MAC-Adresse bezieht sich auf die Netzwerkkarte.

Im Prinzip ist die MAC-Adresse eine global eindeutige und unveränderliche Adresse, die auf der Netzwerkkarte gespeichert ist. Das Netzwerkprotokoll erfordert MAC-Adressen, damit ein Computer die ARP-Anfrage untersuchen, überprüfen kann, ob ihm derzeit die entsprechende IP zugewiesen ist, und mit einer ARP-Antwort antworten kann, die seine MAC-Adresse bereitstellt. Betriebssysteme speichern einen Cache von ARP-Antworten, um die Anzahl der gesendeten ARP-Pakete zu reduzieren. Wenn ein Host eine ARP-Antwort erhält, wird er die IP-MAC-Zuordnung in seinem ARP-Cache aktualisieren.

Während der Übertragung zwischen den Knoten wird ARP verschmutzt. In diesem Fall kann der Angreifer die Daten ändern sowie die Datenübertragung stören. Um eine ARP-Antwort zu erhalten, muss der Computer keine ARP-Anfrage senden. Infolgedessen würde der Cache des Computers wie gewohnt aktualisiert werden, wenn eine gefälschte Antwort eintreten würde.

ARP ist ein zustandsloses Protokoll. Selbst wenn sie keine explizite ARP-Anfrage dafür gesendet haben, werden Hosts alle an sie gelieferten ARP-Antworten zwischenspeichern. Auf den meisten Betriebssystemen wird selbst dann, wenn ein vorheriger, nicht abgelaufener dynamischer ARP-Eintrag im ARP-Cache vorhanden ist, dieser durch ein neueres ARP-Antwortpaket überschrieben. Da sie keine Möglichkeit haben, ihre Peers zu verifizieren, speichern alle Hosts einfach die ARP-Antworten, die sie erhalten. Dies ist das zugrunde liegende Problem, das zu ARP-Spoofing führt.

ARP-Spoofing-Angriff

Abbildung 2. ARP-Spoofing-Angriff

Der Prozess der Herstellung von ARP-Paketen, um einen anderen Host im Netzwerk zu imitieren, wird als ARP-Spoofing bezeichnet. Bei der grundlegendsten Art des ARP-Spoofings sendet der Angreifer dem Ziel regelmäßig gefälschte ARP-Antworten. Die Dauer zwischen den gefälschten Antworten ist erheblich kürzer als die ARP-Cache-Eintrag-Timeout-Periode für das Betriebssystem des Zielhosts. Der Zielhost sollte niemals eine ARP-Anfrage für den Host stellen, dessen Adresse der Angreifer spoofed hat.