Address Resolution Protocol

Aus Foxwiki

ARP (Address Resolution Protocol) - Adressauflösung von IP- in MAC-Adressen

Beschreibung

ARP (Address Resolution Protocol) ist ein Netzwerkprotokoll, das zu einer Netzwerkadresse der Internetschicht die physische Adresse (Hardware-Adresse) der Netzzugangsschicht ermittelt und diese Zuordnung gegebenenfalls in den ARP-Tabellen der beteiligten Rechner hinterlegt.

Es wird im Zusammenhang mit IPv4-Adressierung auf Ethernet-Netzen, also zur Ermittlung von MAC-Adressen zu gegebenen IP-Adressen verwendet

  • Für IPv6 wird diese Funktionalität nicht von ARP, sondern durch das Neighbor Discovery Protocol (NDP) bereitgestellt.
  • Zuordnung von Ebene 3 (IP-) Adressen zu Ebene 2 (MAC-) Adressen
  • Um IP-Pakete über Ethernet zu verschicken, ist noch eine Zuordnung der Adressierung von IP auf die Adressierung von Ethernet nötig
  • Diese Zuordnung übernimmt das ARP - das Address Resolution Protocol
  • ARP ist ein einfaches Protokoll, das auf Ethernet-Broadcasts basiert
  • Jeder Host der über Ethernet an ein Netzwerk angeschlossen ist unterhält eine Tabelle
  • Diese Tabelle (ARP-Cache) enthält Einträge, die für alle bekannten IP-Adressen das Ethernet-Device und die MAC-Adresse angeben
  • ARP-Einträge können entweder statisch gesetzt werden (wenn die MAC-Adresse bekannt ist) oder dynamisch angelegt werden (über das Protokoll)
  • Ist ein Paket an eine IP-Adresse zu versenden, für die es im Cache keinen Eintrag gibt, wird ein Broadcast gesendet und nach der IP gefragt
  • Das System, welches die IP besitzt, antwortet mit einem ARP-Reply
  • Danach wird ein neuer Eintrag in den ARP-Cache eingefügt
  • Dynamische ARP-Einträge haben eine begrenzte Gültigkeit und werden nach gewisser Zeit gelöscht
  • Um auf Veränderungen der IP- oder MAC-Adresse reagieren zu können

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 Ethernet-Adressen 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.

IP-Adressen werden von der IANA (Internet Assigned Numbers Authority) zugeteilt.

  • Da IPv4-Adressen eine Länge von nur 32 Bits haben, können die 48 Bit langen MAC-Adressen damit nicht direkt abgebildet werden.
  • Es kann deshalb keine feste Beziehung zwischen MAC-Adressen und IP-Adressen hergestellt werden.
  • Bevor ein Rechner in einem Ethernet an einen Rechner im selben Subnetz ein IP-Paket sendet, muss er die Information in einen Ethernet-Frame verpacken.
  • Dazu muss er die MAC-Adresse des Zielrechners kennen und im entsprechenden Feld des Ethernet-Frames 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.


Namens- und Adressauflösung

Einordnung ins DoD-Modell

ARP (Address Resolution Protocol)
Familie: Internetprotokollfamilie
Einsatzgebiet: Netzwerkadressenzuordnung
Vorlage:Netzwerk-TCP-IP-Sicherungsprotokoll
Standards: RFC 826 (1982)

ARP - Eigenschaften

  • RFC 826
  • Setzt auf dem Data Link Layer (Ethernet, TR, etc.) auf
  • (Ethernet-) Typefeld: 08-06

Datagramm

Das ARP-Paket schließt sich an den Ethernet-MAC-Header an.

  • Das Typfeld im Ethernet-Frame 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 Ethernet-Frame zwischen ARP-Paket und CRC zusätzliche Byte eingefügt werden (Padding), um die minimale Framelänge von 64 Byte 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 vier auf 16 Byte 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
octet offset 0 1
0 Hardwareadresstyp
2 Protokolladresstyp
4 Hardwareadressgröße Protokolladressgröße
6 Operation
8 Quell-MAC-Adresse (erste 2 Byte)
10 (nächste 2 Byte)
12 (letzte 2 Byte)
14 Quell-IP-Adresse (erste 2 Byte)
16 (letzte 2 Byte)
18 Ziel-MAC-Adresse (erste 2 Byte)
20 (nächste 2 Byte)
22 (letzte 2 Byte)
24 Ziel-IP-Adresse (erste 2 Byte)
26 (letzte 2 Byte)


Feld Länge Beschreibung
Hardwareadresstyp 2 Byte Typ der MAC-Adresse im Paket (für Ethernet: 1).
Protokolladresstyp 2 Byte Protokolltyp, der für die MAC-Adresse angefordert wird (für IPv4-Adressen: 0x0800 (2048)).
Hardwareadressgröße 1 Byte Größe der MAC-Adresse (für Ethernet: 6).
Protokolladressgröße 1 Byte Größe des Protokolls (für IPv4: 4).
Operation 2 Byte Wert, der angibt, welche Operation ausgeführt werden soll (1 für ARP-Anforderung, 2 für ARP-Antwort).
Quell-MAC-Adresse 6 Byte In einer ARP-Anforderung die MAC-Adresse des Senders. In einer ARP-Antwort enthält es die MAC-Adresse des antwortenden Hosts oder Next-Hop-Routers.
Quell-IP-Adresse 4 Byte Bei einer ARP-Anforderung die IP-Adresse des anfragenden Hosts. In einer ARP-Antwort enthält es die IP-Adresse des antwortenden Hosts oder Next-Hop-Routers.
Ziel-MAC-Adresse 6 Byte Wird in einer ARP-Anforderung ignoriert (meist 00:00:00:00:00:0016). In einer ARP-Antwort enthält es die MAC-Adresse des anfragenden Hosts.
Ziel-IP-Adresse 4 Byte Bei einer ARP-Anforderung die IP-Adresse des gesuchten Hosts. In einer ARP-Antwort enthält es die IP-Adresse des anfragenden Hosts.

Ablauf einer Adressauflösung durch ARP

  1. Rechner ‚A‘ sucht die MAC-Adresse von Rechner ‚B‘
  2. ARP-Cache wird überprüft
  3. ARP-Anforderung wird gesendet (Broadcast)
  4. ARP-Eintrag von Rechner ‚A‘ wird dem ARP-Cache hinzugefügt
  5. ARP-Antwort wird gesendet (Unicast)
  6. ARP-Eintrag wird von Rechner ‚B‘ wird dem ARP-Cache hinzugefügt
  7. IP-Pakete werden gesendet

Adressauflösung

Ablaufverfolgung

Ablaufdiagramm

Adressauflösung über Subnetzgrenzen (Routing)

Installation

Syntax

Parameter

Optionen

Umgebungsvariablen

Exit-Status

Konfiguration

Dateien

Anwendungen

Sicherheit

ARP-Spoofing

Mit ARP-Spoofing ist es möglich, absichtlich eine falsche Hardwareadresse in einem Netz zu verteilen.

ARP-Spoofing ist aufgrund der Architektur von ARP sehr einfach zu realisieren.

  • Es müssen einfach ARP-Pakete mit den falschen MAC-/IP-Kombinationen versendet werden.
  • Daraufhin wird keiner der Empfängerrechner irgendwelche Überprüfungen anstellen, sondern die Daten einfach in seinen Cache eintragen.

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

Dokumentation

RFC

Man-Pages

Info-Pages

Siehe auch

Links

Projekt-Homepage

Weblinks

Einzelnachweise


Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5


Anwendungen

Dokumentation

RFC

Links

Intern

  1. arp (Befehl)

Weblinks

  1. https://itexamanswers.net/cyberops-associate-module-8-address-resolution-protocol.html

Kontrollfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5