Proxy ARP

Proxy ARP
ARP (Address Resolution Protocol)
Familie: Internetprotokollfamilie
Einsatzgebiet: Netzwerkadressenzuordnung
ARP im TCP/IP‑Protokollstapel:
Anwendung HTTP IMAP SMTP DNS
Transport TCP UDP
Internet IPv4
Netzzugang ARP
Ethernet Token
Bus
Token
Ring
FDDI
Standards: RFC 826 (1982)

Das Address Resolution Protocol (ARP) ist ein Netzwerkprotokoll, das zu einer Netzwerkadresse der Internetschicht die physikalische Adresse (Hardwareadresse) der Netzzugangsschicht ermittelt und diese Zuordnung gegebenenfalls in den sogenannten ARP-Tabellen der beteiligten Rechner hinterlegt. Es wird fast ausschließlich im Zusammenhang mit IPv4-Adressierung auf Ethernet-Netzen, also zur Ermittlung von MAC-Adressen zu gegebenen IP-Adressen verwendet, obwohl es nicht darauf beschränkt ist. Für IPv6 wird diese Funktionalität nicht von ARP, sondern durch das Neighbor Discovery Protocol (NDP) bereitgestellt.

Inhaltsverzeichnis

Verwendungen

MAC-Adressen werden vom Hersteller einer Ethernet-Netzwerkkarte oder eines Ethernet-fähigen Gerätes vergeben. Die Adresse jeder Schnittstelle ist dabei theoretisch weltweit eindeutig. Bei einigen Netzen, wie zum Beispiel Novell und DECnet, werden die Netzwerkadressen eindeutig auf die Ethernetadressen abgebildet, etwa, indem die MAC-Adresse um weitere Informationen ergänzt wird. Ein Sender kann dann die MAC-Adresse des Empfängers einfach aus der Netzwerkadresse ermitteln.

Adressbereiche des Internet-Protokolls (IP-Adressen) werden von der Internet Assigned Numbers Authority (IANA) zugeteilt, und außerdem bestehen IPv4-Adressen nur aus 32 Bits und sind daher gar nicht in der Lage, MAC-Adressen zu speichern. Es gibt deshalb keine feste Beziehung zwischen MAC-Adressen und IP-Adressen. Will ein Rechner in einem Ethernet an einen Rechner im selben Subnetz ein IP-Paket senden, muss er die Information in einen Ethernetframe verpacken. Dazu muss er die MAC-Adresse des Zielrechners kennen und im entsprechenden Feld des Ethernetframes einfügen. Ist ihm diese nicht bekannt, kann er das IP-Paket nicht zustellen. Stattdessen ermittelt er dann mit Hilfe des ARP zunächst die MAC-Adresse des Zielrechners.

Funktionsweise am Beispiel Ethernet

Es wird eine ARP-Anforderung (ARP Request) mit der MAC-Adresse und der IP-Adresse des anfragenden Computers als Senderadresse und der IP-Adresse des gesuchten Computers als Empfänger-IP-Adresse an alle Computer des lokalen Netzwerkes gesendet. Als Empfänger-MAC-Adresse wird dazu die Broadcast-Adresse ff-ff-ff-ff-ff-ff16 verwendet. Empfängt ein Computer ein solches Paket, sieht er nach, ob es seine IP-Adresse als Empfänger-IP-Adresse enthält. Wenn dies der Fall ist, antwortet er mit dem Zurücksenden seiner MAC-Adresse und IP-Adresse (ARP-Antwort oder ARP-Reply) an die MAC-Quelladresse des Anforderers. Dieser trägt nach Empfang der Antwort die empfangene Kombination von IP- und MAC-Adresse in seiner ARP-Tabelle des sogenannten ARP-Cache ein. Für ARP-Request und ARP-Reply wird das gleiche Paket-Format verwendet.

Zusätzlich können die Empfänger des ARP-Requests ebenfalls die Kombination von IP-Adresse und MAC-Adresse des anfragenden Computers in ihre ARP-Tabelle eintragen bzw. einen bestehenden Eintrag aktualisieren. Insbesondere der Rechner mit der im ARP-Request angefragten IP-Adresse sollte diese Eintragung vornehmen, da anzunehmen ist, dass der ARP-Request als Vorbereitung für weitere Kommunikation auf höherer Protokollebene dienen soll, wofür er dann für eventuelle Antworten ebenfalls die MAC-Adresse des Anfragenden benötigt.

Der ARP-Cache enthält eine vierspaltige Tabelle, die im Allgemeinen aus <Protokolltyp, Protokolladresse des Senders, Hardware-Adresse des Senders, Eintragszeitpunkt> besteht. Das Zeitintervall, nachdem ein Eintrag aus dem ARP-Cache gelöscht wird, ist implementierungsabhängig. So verwerfen aktuelle Linux-Distributionen Einträge nach ca. 5 Minuten. Sobald ein Eintrag in der Tabelle genutzt wird, wird dessen Ablaufzeit verlängert.

Unter Unix und Windows kann der ARP-Cache mit arp (oder arp -a) angezeigt und manipuliert werden. Mit dem Zusatzprogramm arping können manuell Anforderungen versendet werden.

ARP im globalen Zusammenhang

Das ARP ist für die Auflösung der MAC-Adressen im lokalen Netzwerk zuständig. Sollen Daten über Netzwerkgrenzen hinweg gesendet werden, wird das Internet Protokoll (IP) verwendet. IP Implementierungen sind in der Lage zu erkennen, dass ein Paket nicht für das lokale Subnetz bestimmt ist und senden es an einen lokalen Router, der sich um die Weiterleitung des Pakets kümmert. Dieser Router hat wiederum eine lokale MAC Adresse, die über ARP ermittelt werden kann.

Das folgende Flussdiagramm stellt den Zusammenhang von IP-Routing mit ARP dar:

Schematische Darstellung von ARP und Routing

Paketformat

Das ARP-Paket schließt sich an den Ethernet-MAC-Header an. Das Typfeld im Ethernetframe wird auf 0x0806 (2054) gesetzt. Diese Nummer ist für das ARP-Protokoll reserviert. Dadurch lassen sich ARP-Pakete von Paketen anderer Protokolle wie beispielsweise IP unterscheiden.

Da das Paket sehr kurz ist, müssen in der Regel im Ethernetframe zwischen ARP-Paket und CRC zusätzliche Bytes eingefügt werden (Padding), um die minimale Framelänge von 46 Bytes zu erreichen.

Obwohl ARP ursprünglich für IPv4 und MAC-Adressen entwickelt wurde, sind im Paket Adresstypen und Protokollgrößenfelder vorgesehen. Dadurch ist ARP auch für andere Protokolle geeignet. Für IPv6 könnten die Protokolladressgröße statt auf 4 auf 16 Bytes gesetzt und die Adressfelder auf 128 Bits (=16 Byte) verlängert werden, jedoch wird ARP für IPv6 durch das Neighbor Discovery Protocol (NDP) ersetzt, welches auf ICMPv6 basiert.

ARP-Nachrichtenformat am Beispiel Ethernet MAC-Adressen und IPv4-Adressen
Bit 0–7 Bit 8–15 Bit 16–23 Bit 24–31
Hardwareadresstyp (1) Protokolladresstyp (0x0800)
Hardwareadressgröße (6) Protokolladressgröße (4) Operation
Quell-MAC-Adresse
Quell-MAC-Adresse Quell-IP-Adresse
Quell-IP-Adresse Ziel-MAC-Adresse
Ziel-MAC-Adresse
Ziel-IP-Adresse

Hardwareadresstyp (2 Byte) enthält den Typ der MAC-Adresse im Paket (für Ethernet: 1).

Protokolladresstyp (2 Byte) enthält den Protokolltyp, der für die MAC-Adresse angefordert wird (für IPv4-Adressen: 0x0800 (2048)).

Hardwareadressgröße (1 Byte) enthält die Größe der MAC-Adresse (für Ethernet: 6).

Protokolladressgröße (1 Byte) enthält die Größe des Protokolls (für IPv4: 4).

Operation (2 Byte) enthält den Wert, der angibt, welche Operation ausgeführt werden soll (1 für ARP-Anforderung, 2 für ARP-Antwort).

Quell-MAC-Adresse (6 Byte) enthält in einer ARP-Anforderung die MAC-Adresse des Senders. In einer ARP-Antwort enthält es die MAC-Adresse des antwortenden Hosts.

Quell-IP-Adresse (4 Bytes bei IPv4) enthält bei einer ARP-Anforderung die IP-Adresse des anfragenden Hosts. In einer ARP-Antwort enthält es die IP-Adresse des antwortenden Hosts.

Ziel-MAC-Adresse (6 Byte) ist in einer ARP-Anforderung undefiniert. In einer ARP-Antwort enthält es die MAC-Adresse des anfragenden Hosts.

Ziel-IP-Adresse (4 Bytes bei IPv4) ist bei einer ARP-Anforderung die IP-Adresse des gesuchten Hosts. In einer ARP-Antwort enthält es die IP-Adresse des anfragenden Hosts.

Spezielle ARP-Nachrichten

Proxy ARP

Proxy ARP erlaubt einem Router, ARP-Anforderungen für Hosts zu beantworten.

Die Hosts befinden sich dabei in verschiedenen Netzen. Bei der Kommunikation ist für die Hosts der Router transparent, das heißt er braucht nicht speziell angesprochen zu werden, sondern die Hosts können wie gewöhnlich Pakete über verschiedene Netze hinweg versenden.

Sendet Computer A eine ARP-Anforderung an Computer B, reagiert der dazwischen liegende Router anstelle des Computers B mit einer ARP-Antwort und der Hardwareadresse der Schnittstelle (MAC des Ports am Router), auf der die Anfrage empfangen wurde. Der anfragende Computer A sendet dann seine Daten an den Router, der sie dann an Computer B weiterleitet.

Proxy ARP kann man am ARP-Cache von Computer A erkennen. Falls für mehrere IP-Adressen dieselbe MAC-Adresse eingetragen ist, arbeitet der Router mit dieser MAC-Adresse als Proxy. Die Einträge können auch ein Hinweis auf einen Angriff durch ARP-Spoofing sein.

Gratuitous ARP

Gratuitous ARP (engl. „unaufgefordertes ARP“) bezeichnet eine spezielle Verwendung von ARP. Dabei sendet ein Host ein ARP-Anforderungs-Broadcast, bei dem er seine eigene IP-Adresse als Quell- und Ziel-IP-Adresse einträgt. Damit teilt er seine ggf. neue MAC-Adresse unaufgefordert mit. Das kann mehreren Zwecken dienen:

  1. Normalerweise darf keine Antwort kommen, denn eine IP-Adresse muss in einem Netz eindeutig sein. Bekommt er trotzdem eine Antwort, ist das für den Administrator ein Hinweis darauf, dass ein Host nicht richtig konfiguriert ist.
  2. Jeder Host aktualisiert seinen ARP-Cache. Das ist beispielsweise dann nützlich, wenn die Netzwerkkarte eines Rechners ausgetauscht wurde und die anderen Hosts über die neue MAC-Adresse informiert werden sollen. Gratuitous ARP geschieht deshalb normalerweise beim Booten eines Computers.
  3. Wenn zwei Server aus Gründen der Ausfallsicherheit als Server und Ersatzserver aufgebaut sind und sich eine IP-Adresse teilen und der aktive Verkehr vom einen auf den anderen geschwenkt werden soll, ist die IP-Adresse jetzt über eine andere MAC-Adresse zu erreichen. Diese neue MAC-/IP-Adress-Zuordnung muss bekannt gemacht werden. Sonst bekommt niemand den Wechsel mit.
  4. In einem Mobile IP-Szenario sendet der Home Agent einen Gratuitous ARP, wenn sich der Mobile Host aus dem Heimatnetz entfernt, um die Pakete stellvertretend für diesen zu empfangen. Analog sendet der Mobile Host einen Gratuitous ARP, sobald er sich wieder im Netz befindet.

RARP – Reverse ARP

Das Reverse Address Resolution Protocol (RARP) funktioniert umgekehrt zu ARP. Es kann also MAC-Adressen zu IP-Adressen auflösen. Dies ist für die Ermittlung der eigenen IP-Adresse bei Geräten nützlich, bei denen keine dauerhafte Speicherung oder Zuweisung einer Adresse vorgesehen ist. Beide Protokolle besitzen das gleiche Paketformat. Die Anwendungsbereiche von RARP und ARP unterscheiden sich jedoch stark voneinander.

Probleme

ARP ist für den Benutzer unsichtbar, so dass das Vorhandensein dieses Protokolls meist nur bemerkt wird, wenn seltene Fehler auftreten.

Die Dauer der Gültigkeit eines ARP-Eintrags (normalerweise wenige Minuten) kann ein Problem darstellen, wenn falsche Einträge vorhanden sind. Solange ein fehlerhafter Eintrag existiert, kann mit dem betreffenden Host nicht kommuniziert werden. Die Fehlfunktion wird häufig nicht dem ARP-Protokoll zugeschrieben, sondern dem Netz oder einem Fehler in der Netzwerkimplementierung. Darüber hinaus ermöglicht nicht jedes Betriebssystem das Erzeugen eines korrigierten Eintrags oder einer Anforderung.

Gravierender ist das Eintragen von Daten in den ARP-Cache aus Paketen, für die keine Anforderung erzeugt wurde (blinder Glaube). Ein überlasteter Host, der eine alte IP-Adresse führt, antwortet mit großer Wahrscheinlichkeit als letzter auf eine ARP-Anforderung mit einer Antwort, die die falsche Adresse enthält. Dieses letzte Paket überschreibt die ARP-Tabelle aller Geräte im Netz, ein fehlerhafter Eintrag bleibt übrig.

Mit ARP-Spoofing ist es auch möglich, absichtlich eine falsche Hardwareadresse in einem Netz zu verteilen, teilweise sogar von außen über einen Remote-Broadcast. Dadurch kann der Datenverkehr für einen Rechner auf einen anderen umgelenkt und eventuell von diesem sogar gefiltert werden (Man-In-The-Middle-Angriff). Das stellt ein Sicherheitsproblem dar.

Moderne Implementierungen ändern die ARP-Tabelle nur für ARP-Antworten, für die vorher vom betreffenden Host eine Anforderung generiert wurde.

Siehe auch

verwandte Protokolle:

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Proxy ARP — (Address Resolution Protocol) is a technique by which a network host answers to the ARP queries for the network address that it does not have configured on the receiving interface. Proxying ARP requests on behalf of another host effectively… …   Wikipedia

  • Proxy ARP — Saltar a navegación, búsqueda El Proxy ARP es una técnica para usar el ARP para proporcionar un mecanismo de enrutamiento ad hoc. Un dispositivo de varios puertos, como un router, que implemente Proxy ARP responderá a las peticiones de ARP en una …   Wikipedia Español

  • Proxy ARP — Proxy ARP  техника, применяющаяся в маршрутизаторах для трансляции ARP ответов из одного сегмента сети в другой. Эта техника используется некоторыми сетевыми устройствами, чтобы позволить определять с помощью протокола ARP MAC адрес… …   Википедия

  • Proxy ARP — En redes informáticas, proxy ARP es una técnica para usar el protocolo ARP para proveer un ad hoc mecanismo enrutador. Un dispositivo de puertos múltiples (p.e. un router) implementando el proxy ARP responderá a los pedidos ARP en una interfaz… …   Enciclopedia Universal

  • ARP — Название: Address Resolution Protocol Уровень (по модели OSI): канальный Семейство: TCP/IP Создан в: 1982 г. Порт/ID: 0x0806/Ethernet Назначение протокола: Преобразование сетевых адресов в канальные С …   Википедия

  • Proxy — Servidor proxy conectando indirectamente dos ordenadores. Un proxy, en una red informática, es un programa o dispositivo que realiza una acción en representación de otro, esto es, si una hipotética máquina A solicita un recurso a una C, lo hará… …   Wikipedia Español

  • Proxy Mobile IPv6 — (or PMIPv6, or PMIP) is a network based mobility management protocol standardized by IETF and is specified in RFC 5213. It is a protocol for building a common and access technology independent of mobile core networks, accommodating various access …   Wikipedia

  • ARP-Poisoning — ARP Spoofing (vom engl. to spoof – dt. täuschen, reinlegen) oder auch ARP Request Poisoning (zu dt. etwa Anfrageverfälschung) bezeichnet das Senden von gefälschten ARP Paketen. Beim ARP Spoofing wird das gezielte Senden von gefälschten ARP… …   Deutsch Wikipedia

  • ARP-Spoofing — (vom engl. to spoof – dt. täuschen, reinlegen) oder auch ARP Request Poisoning (zu dt. etwa Anfrageverfälschung) bezeichnet das Senden von gefälschten ARP Paketen. Beim ARP Spoofing wird das gezielte Senden von gefälschten ARP Paketen dazu… …   Deutsch Wikipedia

  • прокси-ARP — Метод, при котором одна машина, обычно маршрутизатор, обрабатывает запросы ARP вместо другой машины. За счет такой подмены маршрутизатор берет на себя ответственность за маршрутизацию пакетов реальному адресату. Прокси ARP позволяет сайту… …   Справочник технического переводчика

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”