Zum Inhalt springen

Address Resolution Protocol: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(23 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''ARP''' ('''A'''ddress '''R'''esolution '''P'''rotocol) - Adressauflösung von [[IP-Adresse]]n in [[MAC-Adresse]]n
'''Address Resolution Protocol''' (ARP) - Auflösung von [[IPv4-Adresse]]n in [[MAC-Adresse]]n


== Beschreibung ==
== Beschreibung ==
{| class="wikitable float"
; [[Netzwerkprotokoll]]
! style="background:#C0C0FF" colspan="2" font="size:larger" | ARP (Address Resolution Protocol)
Zu einer Netzwerkadresse der [[Internetschicht]] eine physische Adresse (Hardware-Adresse) der [[Netzzugangsschicht]] ermitteln
|-
* Zuordnung in den ''ARP-Tabellen'' der beteiligten Rechner hinterlegen
!  Familie:
| [[Internetprotokolle]]
|-
! Einsatzgebiet:
| Netzwerkadressenzuordnung
|-
| align="center" colspan="2" |{{Netzwerk-TCP-IP-Sicherungsprotokoll|ARP|IP=[[IPv4]]}}
|-
!  Standards:
|  RFC 826 (1982)
|}


'''ARP''' ('''A'''ddress '''R'''esolution '''P'''rotocol) 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.
; IP-Pakete über [[Ethernet]]
 
Es wird im Zusammenhang mit [[IPv4]]-Adressierung auf [[Ethernet]]-[[Rechnernetz|Netzen]], also zur Ermittlung von [[MAC-Adresse]]n zu gegebenen [[IP-Adresse]]n verwendet
; Es wird im Zusammenhang mit [[IPv4]]-Adressierung auf [[Ethernet]]-[[Rechnernetz|Netzen]], also zur Ermittlung von [[MAC-Adresse]]n zu gegebenen [[IP-Adresse]]n verwendet
* Für [[IPv6]] wird diese Funktionalität nicht von ARP, sondern durch das [[Neighbor Discovery Protocol]] (NDP) bereitgestellt
* 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
* 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
Um IP-Pakete über Ethernet zu verschicken, ist eine Zuordnung der Adressierung von IP auf die Adressierung von Ethernet nötig
* Diese Zuordnung übernimmt das ARP - das Address Resolution Protocol
* Diese Zuordnung übernimmt das ARP - das Address Resolution Protocol
* ARP ist ein einfaches Protokoll, das auf Ethernet-Broadcasts basiert
* ARP ist ein einfaches Protokoll, das auf Ethernet-Broadcasts basiert
Zeile 35: Zeile 23:
* Um auf Veränderungen der IP- oder MAC-Adresse reagieren zu können
* Um auf Veränderungen der IP- oder MAC-Adresse reagieren zu können


=== Verwendungen ===
== Ablauf einer Adressauflösung durch ARP ==
; MAC-Adressen werden vom Hersteller einer Ethernet-[[Netzwerkkarte]] oder eines Ethernet-fähigen Gerätes vergeben
[[File:arp.png|mini|350px]]
* 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.
{| class="wikitable options col1center"
* Ein Sender kann dann die MAC-Adresse des Empfängers einfach aus der Netzwerkadresse ermitteln.
|-
! Option !! Beschreibung
|-
| 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
|}
 
== 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
; IP-Adressen
* Da IPv4-Adressen eine Länge von nur 32 [[Bit]]s haben, können die 48 Bit langen MAC-Adressen damit nicht direkt abgebildet werden.
Werden von der IANA ([[Internet Assigned Numbers Authority]]) zugeteilt
* Es kann deshalb keine feste Beziehung zwischen MAC-Adressen und IP-Adressen hergestellt werden.
* Da IPv4-Adressen eine Länge von nur 32 [[Bit]]s haben, können die 48 Bit langen MAC-Adressen damit nicht direkt abgebildet 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.
* Es kann deshalb keine feste Beziehung zwischen MAC-Adressen und IP-Adressen hergestellt werden
* Dazu muss er die MAC-Adresse des Zielrechners kennen und im entsprechenden Feld des Ethernet-Frames einfügen.
* 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
* Ist ihm diese nicht bekannt, kann er das IP-Paket nicht zustellen.
* Dazu muss er die MAC-Adresse des Zielrechners kennen und im entsprechenden Feld des Ethernet-Frames einfügen
* Stattdessen ermittelt er dann mithilfe des ARP zunächst die MAC-Adresse des Zielrechners.
* Ist ihm diese nicht bekannt, kann er das IP-Paket nicht zustellen
* Stattdessen ermittelt er dann mithilfe des ARP zunächst die MAC-Adresse des Zielrechners


=== Namens- und Adressauflösung ===
=== Namens- und Adressauflösung ===
Zeile 54: Zeile 66:




'''ARP - Eigenschaften'''
; ARP - Eigenschaften
 
* RFC 826
* RFC 826
* Setzt auf dem Data Link Layer (Ethernet, TR, etc.) auf
* Setzt auf dem Data Link Layer (Ethernet, TR, und weitere) auf
* (Ethernet-) Typefeld: 08-06
* (Ethernet-) Typefeld: 08-06


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


; Padding
; Padding
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.
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.
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.
* 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 Bit (= 16 Byte) verlängert werden, jedoch wird ARP für IPv6 durch das [[Neighbor Discovery Protocol]] (NDP) ersetzt, welches auf [[ICMPv6]] basiert.
* Für [[IPv6]] könnten die Protokolladressgröße statt auf vier auf 16 Byte gesetzt und die Adressfelder auf 128 Bit (= 16 Byte) verlängert werden, jedoch wird ARP für IPv6 durch das [[Neighbor Discovery Protocol]] (NDP) ersetzt, welches auf [[ICMPv6]] basiert
; ARP-Nachrichtenformat
; ARP-Nachrichtenformat


Zeile 126: Zeile 137:




{| class="wikitable sortable"  
{| class="wikitable sortable options big"
|-
|-
! Feld !! Byte !! Beschreibung
! Feld !! Byte !! Beschreibung
|-
|-
|'''Hardwareadresstyp'''  || 2 || Typ der MAC-Adresse im Paket (für Ethernet/ <code>1</code>).
| Hardwareadresstyp || 2 || Typ der MAC-Adresse im Paket (für Ethernet/ <code>1</code>)
|-
|-
|'''Protokolladresstyp'''  || 2 || Protokolltyp, der für die MAC-Adresse angefordert wird (für IPv4-Adressen: <code>0x0800 (2048)</code>).
| Protokolladresstyp || 2 || Protokolltyp, der für die MAC-Adresse angefordert wird (für IPv4-Adressen: <code>0x0800 (2048)</code>)
|-
|-
|'''Hardwareadressgröße'''  || 1 || Größe der MAC-Adresse (für Ethernet/ <code>6</code>).
| Hardwareadressgröße || 1 || Größe der MAC-Adresse (für Ethernet/ <code>6</code>)
|-
|-
|'''Protokolladressgröße''' || 1 || Größe des Protokolls (für IPv4: <code>4</code>).
| Protokolladressgröße || 1 || Größe des Protokolls (für IPv4: <code>4</code>)
|-
|-
|'''Operation'''  || 2 || Wert, der angibt, welche Operation ausgeführt werden soll (<code>1</code> für ARP-Anforderung, <code>2</code> für ARP-Antwort).
| Operation || 2 || Wert, der angibt, welche Operation ausgeführt werden soll (<code>1</code> für ARP-Anforderung, <code>2</code> für ARP-Antwort)
|-
|-
|'''Quell-MAC-Adresse'''  || 6 || 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-MAC-Adresse || 6 || 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 || 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.
| Quell-IP-Adresse || 4 || 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 || Wird in einer ARP-Anforderung ignoriert (meist 00:00:00:00:00:00<sub>16</sub>). In einer ARP-Antwort enthält es die MAC-Adresse des anfragenden Hosts.
| Ziel-MAC-Adresse || 6 || Wird in einer ARP-Anforderung ignoriert (meist 00:00:00:00:00:00<sub>16</sub>). In einer ARP-Antwort enthält es die MAC-Adresse des anfragenden Hosts
|-
|-
|'''Ziel-IP-Adresse'''  || 4 || Bei einer ARP-Anforderung die IP-Adresse des gesuchten Hosts. In einer ARP-Antwort enthält es die IP-Adresse des anfragenden Hosts.
| Ziel-IP-Adresse || 4 || 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 ==
[[File:arp.png|mini|350px]]
{| class="wikitable options col1center"
|-
! Option !! Beschreibung
|-
| 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 ===
=== Adressauflösung ===
Zeile 181: Zeile 171:
== Spezielle ARP-Nachrichten ==
== Spezielle ARP-Nachrichten ==


{| class="wikitable options"
{| class="wikitable options big"
|-
|-
! Option !! Beschreibung
! Option !! Beschreibung
Zeile 189: Zeile 179:
| Gratuitous ARP || [[Gratuitous ARP]]
| Gratuitous ARP || [[Gratuitous ARP]]
|-
|-
| RARP Reverse-ARP || [[Reverse Address Resolution Protocol]]
| RARP - Reverse-ARP || [[Reverse Address Resolution Protocol]]
|}
|}


Zeile 202: Zeile 192:
==== RFC ====
==== RFC ====


==== Links ====
=== Links ===
===== Weblinks =====
==== Weblinks ====
# https://itexamanswers.net/cyberops-associate-module-8-address-resolution-protocol.html
# https://itexamanswers.net/cyberops-associate-module-8-address-resolution-protocol.html


[[Kategorie:ARP]]
[[Kategorie:OSI/2 Data Link]]
[[Kategorie:OSI/2 Data Link]]
[[Kategorie:OSI/3 Network]]
[[Kategorie:OSI/3 Network]]
</noinclude>

Aktuelle Version vom 13. Juli 2025, 19:31 Uhr

Address Resolution Protocol (ARP) - Auflösung von IPv4-Adressen in MAC-Adressen

Beschreibung

Netzwerkprotokoll

Zu einer Netzwerkadresse der Internetschicht eine physische Adresse (Hardware-Adresse) der Netzzugangsschicht ermitteln

  • Zuordnung in den ARP-Tabellen der beteiligten Rechner hinterlegen
IP-Pakete über Ethernet

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 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

Ablauf einer Adressauflösung durch ARP

Option Beschreibung
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

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 mithilfe des ARP zunächst die MAC-Adresse des Zielrechners

Namens- und Adressauflösung

Einordnung ins DoD-Modell

ARP - Eigenschaften
  • RFC 826
  • Setzt auf dem Data Link Layer (Ethernet, TR, und weitere) 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
Padding

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 Bit (= 16 Byte) verlängert werden, jedoch wird ARP für IPv6 durch das Neighbor Discovery Protocol (NDP) ersetzt, welches auf ICMPv6 basiert
ARP-Nachrichtenformat

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 Byte Beschreibung
Hardwareadresstyp 2 Typ der MAC-Adresse im Paket (für Ethernet/ 1)
Protokolladresstyp 2 Protokolltyp, der für die MAC-Adresse angefordert wird (für IPv4-Adressen: 0x0800 (2048))
Hardwareadressgröße 1 Größe der MAC-Adresse (für Ethernet/ 6)
Protokolladressgröße 1 Größe des Protokolls (für IPv4: 4)
Operation 2 Wert, der angibt, welche Operation ausgeführt werden soll (1 für ARP-Anforderung, 2 für ARP-Antwort)
Quell-MAC-Adresse 6 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 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 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 Bei einer ARP-Anforderung die IP-Adresse des gesuchten Hosts. In einer ARP-Antwort enthält es die IP-Adresse des anfragenden Hosts


Adressauflösung

Ablaufverfolgung

Ablaufdiagramm

Adressauflösung über Subnetzgrenzen (Routing)

Spezielle ARP-Nachrichten

Option Beschreibung
Proxy ARP Proxy ARP
Gratuitous ARP Gratuitous ARP
RARP - Reverse-ARP Reverse Address Resolution Protocol


Anhang

Siehe auch


RFC

Links

Weblinks

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