Arp: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Quelle) |
|||
| (20 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | =Address Resolution Protocol= | + | = Address Resolution Protocol (ARP) = |
| − | + | ||
| − | =Header= | + | * Netzwerkprotokoll zur Ermittlung der physikalischen Adresse (MAC) zu einer bekannten Netzwerkadresse (IP). |
| + | * Hinterlegt diese Zuordnung in den ARP-Tabellen (ARP-Cache) der beteiligten Rechner. | ||
| + | |||
| + | = Verwendungen = | ||
| + | * MAC-Adressen werden vom Hersteller vergeben und sind theoretisch weltweit eindeutig. | ||
| + | * IP-Adressen (32 Bit) werden von der '''IANA''' (Internet Assigned Numbers Authority) zugeteilt. | ||
| + | * Da IPv4-Adressen nur 32 Bit lang sind, können die 48 Bit langen MAC-Adressen nicht direkt abgebildet werden. | ||
| + | * Es besteht keine feste mathematische Beziehung zwischen MAC- und IP-Adressen. | ||
| + | * Vor dem Senden eines IP-Pakets im selben Subnetz muss dieses in einen Ethernet-Frame verpackt werden. | ||
| + | * Dazu muss der Sender die Ziel-MAC-Adresse kennen. | ||
| + | * Ist diese unbekannt, ermittelt der Rechner sie mithilfe von ARP. | ||
| + | |||
| + | = Funktionsweise am Beispiel Ethernet = | ||
| + | * '''ARP-Anforderung (ARP Request):''' | ||
| + | ** Wird als Broadcast (Ziel-MAC: ff-ff-ff-ff-ff-ff) an alle Computer des lokalen Netzwerkes gesendet. | ||
| + | ** Enthält die MAC- und IP-Adresse des Senders sowie die IP-Adresse des gesuchten Ziels. | ||
| + | ** Ziel-MAC-Adresse im ARP-Feld wird mit 00-00-00-00-00-00 gefüllt (Platzhalter für die Suche). | ||
| + | * '''ARP-Antwort (ARP Reply):''' | ||
| + | ** Nur der Computer mit der passenden Empfänger-IP-Adresse antwortet. | ||
| + | ** Er sendet seine MAC- und IP-Adresse zurück (per Broadcast oder Unicast). | ||
| + | * '''Eintragung:''' | ||
| + | ** Der Anfragende trägt die Kombination in seine ARP-Tabelle (ARP-Cache) ein. | ||
| + | ** Auch der Zielrechner sollte die Daten des Anfragenden speichern (Vorbereitung für Rückantwort). | ||
| + | |||
| + | = ARP-Cache = | ||
| + | * Besteht aus IP-Adresse, MAC-Adresse, Eintragungszeitpunkt und Gültigkeitsdauer. | ||
| + | * Die Verweildauer im Cache ist implementierungsabhängig (bei Linux oft ca. 5 Minuten). | ||
| + | * Jede Nutzung eines Eintrags verlängert dessen Ablaufzeit. | ||
| + | |||
| + | = Header = | ||
{| class="wikitable" style="text-align: center; width: 40em;" border=1 | {| class="wikitable" style="text-align: center; width: 40em;" border=1 | ||
|- | |- | ||
| Zeile 53: | Zeile 82: | ||
| colspan="16" style="background:#d0d0ff"| (letzte 2 Bytes) | | colspan="16" style="background:#d0d0ff"| (letzte 2 Bytes) | ||
|} | |} | ||
| − | |||
| − | |||
| − | + | * '''Hardwareadresstyp (2 Byte):''' Typ der MAC-Adresse im Paket (Ethernet: 1). | |
| + | * '''Protokolladresstyp (2 Byte):''' Protokolltyp der angeforderten Adresse (IPv4: 0x0800). | ||
| + | * '''Hardwareadressgröße (1 Byte):''' Größe der MAC-Adresse (Ethernet: 6). | ||
| + | * '''Protokolladressgröße (1 Byte):''' Größe des Protokolls (IPv4: 4). | ||
| + | * '''Operation (2 Byte):''' Wert der Operation (1 = ARP-Anforderung, 2 = ARP-Antwort). | ||
| + | * '''Quell-MAC-Adresse (6 Byte):''' MAC-Adresse des Senders bzw. antwortenden Hosts. | ||
| + | * '''Quell-IP-Adresse (4 Byte):''' IP-Adresse des Senders bzw. antwortenden Hosts. | ||
| + | * '''Ziel-MAC-Adresse (6 Byte):''' In Anforderung Broadcast (FF:FF:FF:FF:FF:FF), in Antwort MAC des Anfragenden. | ||
| + | * '''Ziel-IP-Adresse (4 Byte):''' IP-Adresse des gesuchten Hosts bzw. des Anfragenden. | ||
| + | |||
| + | = Verwaltung und Befehle = | ||
| + | * '''ip neighbor show''' (oder '''ip neigh'''): Zeigt die aktuelle ARP-Tabelle an (Nachfolger von arp -n). | ||
| + | * '''ip neighbor flush dev eth0''': Löscht alle Einträge für ein bestimmtes Interface. | ||
| + | * '''arping''': Manuelles Versenden von Anforderungen (z.B. für IP-Konfliktprüfung). | ||
| − | =Vorgang= | + | ==== Vergleich der Befehlswelt ==== |
| + | {| class="wikitable" | ||
| + | ! Funktion !! Veraltet (net-tools) !! Aktuell (iproute2) | ||
| + | |- | ||
| + | | Tabelle anzeigen || arp -n || '''ip neigh''' | ||
| + | |- | ||
| + | | Eintrag löschen || arp -d IP || '''ip neigh del IP dev Interface''' | ||
| + | |- | ||
| + | | Eintrag hinzufügen || arp -s IP MAC || '''ip neigh add IP lladdr MAC dev Interface nud reachable''' | ||
| + | |} | ||
| + | |||
| + | = Prinzip = | ||
| + | [[Datei:arp-prinzipv2.png]] | ||
| + | |||
| + | = Vorgang = | ||
| + | * Der Client schickt eine ARP-Request an alle Clients im Netz. | ||
| + | * Alle erhalten und überprüfen den Request. | ||
| + | * Der angesprochene Client antwortet mit einem ARP-Reply inklusive seiner MAC-Adresse. | ||
[[Datei:arp-1.png]] | [[Datei:arp-1.png]] | ||
| − | =Quelle= | + | [[Datei:arp-2.png]] |
| − | *https://de.wikipedia.org/wiki/Address_Resolution_Protocol | + | |
| + | = Befehle = | ||
| + | * Mit dem Befehl "ip neigh" wird die Tabelle mit den ARP-Einträgen angezeigt. | ||
| + | [[Datei:arp-3.png]] | ||
| + | |||
| + | = Arp in der analogen Welt = | ||
| + | * Anwendungsfall: Paket-Hol- und Lieferdienst. | ||
| + | * Beteiligte Ebenen: | ||
| + | ** „3“: Person A versendet Paket an Person B (Name bekannt). | ||
| + | ** „2“: Transportdienst (Hausadresse/MAC benötigt). | ||
| + | * Komfort: Versender muss nur Namen wissen, Paketdienst nutzt Adressbuch (Cache). | ||
| + | * Transportvorgang: | ||
| + | ** Paket wird bei A abgeholt. | ||
| + | ** Fahrer erfragt Zieladresse für B („Wer ist B und wo wohnt er?“) -> ARP. | ||
| + | ** Paket wird im Verteilzentrum umgeladen und an Hausadresse von B geliefert. | ||
| + | |||
| + | = Quelle = | ||
| + | * https://www.rrze.fau.de/files/2017/10/20171025-Lokale-Netze-NWA-WS17-18.pdf | ||
| + | * https://de.wikipedia.org/wiki/Address_Resolution_Protocol | ||
Aktuelle Version vom 29. März 2026, 10:31 Uhr
Address Resolution Protocol (ARP)
- Netzwerkprotokoll zur Ermittlung der physikalischen Adresse (MAC) zu einer bekannten Netzwerkadresse (IP).
- Hinterlegt diese Zuordnung in den ARP-Tabellen (ARP-Cache) der beteiligten Rechner.
Verwendungen
- MAC-Adressen werden vom Hersteller vergeben und sind theoretisch weltweit eindeutig.
- IP-Adressen (32 Bit) werden von der IANA (Internet Assigned Numbers Authority) zugeteilt.
- Da IPv4-Adressen nur 32 Bit lang sind, können die 48 Bit langen MAC-Adressen nicht direkt abgebildet werden.
- Es besteht keine feste mathematische Beziehung zwischen MAC- und IP-Adressen.
- Vor dem Senden eines IP-Pakets im selben Subnetz muss dieses in einen Ethernet-Frame verpackt werden.
- Dazu muss der Sender die Ziel-MAC-Adresse kennen.
- Ist diese unbekannt, ermittelt der Rechner sie mithilfe von ARP.
Funktionsweise am Beispiel Ethernet
- ARP-Anforderung (ARP Request):
- Wird als Broadcast (Ziel-MAC: ff-ff-ff-ff-ff-ff) an alle Computer des lokalen Netzwerkes gesendet.
- Enthält die MAC- und IP-Adresse des Senders sowie die IP-Adresse des gesuchten Ziels.
- Ziel-MAC-Adresse im ARP-Feld wird mit 00-00-00-00-00-00 gefüllt (Platzhalter für die Suche).
- ARP-Antwort (ARP Reply):
- Nur der Computer mit der passenden Empfänger-IP-Adresse antwortet.
- Er sendet seine MAC- und IP-Adresse zurück (per Broadcast oder Unicast).
- Eintragung:
- Der Anfragende trägt die Kombination in seine ARP-Tabelle (ARP-Cache) ein.
- Auch der Zielrechner sollte die Daten des Anfragenden speichern (Vorbereitung für Rückantwort).
ARP-Cache
- Besteht aus IP-Adresse, MAC-Adresse, Eintragungszeitpunkt und Gültigkeitsdauer.
- Die Verweildauer im Cache ist implementierungsabhängig (bei Linux oft ca. 5 Minuten).
- Jede Nutzung eines Eintrags verlängert dessen Ablaufzeit.
Header
| 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 Bytes) | |||||||||||||||
| 10 | (nächste 2 Bytes) | |||||||||||||||
| 12 | (letzte 2 Bytes) | |||||||||||||||
| 14 | Quell-IP-Adresse (erste 2 Bytes) | |||||||||||||||
| 16 | (letzte 2 Bytes) | |||||||||||||||
| 18 | Ziel-MAC-Adresse (erste 2 Bytes) | |||||||||||||||
| 20 | (nächste 2 Bytes) | |||||||||||||||
| 22 | (letzte 2 Bytes) | |||||||||||||||
| 24 | Ziel-IP-Adresse (erste 2 Bytes) | |||||||||||||||
| 26 | (letzte 2 Bytes) | |||||||||||||||
- Hardwareadresstyp (2 Byte): Typ der MAC-Adresse im Paket (Ethernet: 1).
- Protokolladresstyp (2 Byte): Protokolltyp der angeforderten Adresse (IPv4: 0x0800).
- Hardwareadressgröße (1 Byte): Größe der MAC-Adresse (Ethernet: 6).
- Protokolladressgröße (1 Byte): Größe des Protokolls (IPv4: 4).
- Operation (2 Byte): Wert der Operation (1 = ARP-Anforderung, 2 = ARP-Antwort).
- Quell-MAC-Adresse (6 Byte): MAC-Adresse des Senders bzw. antwortenden Hosts.
- Quell-IP-Adresse (4 Byte): IP-Adresse des Senders bzw. antwortenden Hosts.
- Ziel-MAC-Adresse (6 Byte): In Anforderung Broadcast (FF:FF:FF:FF:FF:FF), in Antwort MAC des Anfragenden.
- Ziel-IP-Adresse (4 Byte): IP-Adresse des gesuchten Hosts bzw. des Anfragenden.
Verwaltung und Befehle
- ip neighbor show (oder ip neigh): Zeigt die aktuelle ARP-Tabelle an (Nachfolger von arp -n).
- ip neighbor flush dev eth0: Löscht alle Einträge für ein bestimmtes Interface.
- arping: Manuelles Versenden von Anforderungen (z.B. für IP-Konfliktprüfung).
Vergleich der Befehlswelt
| Funktion | Veraltet (net-tools) | Aktuell (iproute2) |
|---|---|---|
| Tabelle anzeigen | arp -n | ip neigh |
| Eintrag löschen | arp -d IP | ip neigh del IP dev Interface |
| Eintrag hinzufügen | arp -s IP MAC | ip neigh add IP lladdr MAC dev Interface nud reachable |
Prinzip
Vorgang
- Der Client schickt eine ARP-Request an alle Clients im Netz.
- Alle erhalten und überprüfen den Request.
- Der angesprochene Client antwortet mit einem ARP-Reply inklusive seiner MAC-Adresse.
Befehle
- Mit dem Befehl "ip neigh" wird die Tabelle mit den ARP-Einträgen angezeigt.
Arp in der analogen Welt
- Anwendungsfall: Paket-Hol- und Lieferdienst.
- Beteiligte Ebenen:
- „3“: Person A versendet Paket an Person B (Name bekannt).
- „2“: Transportdienst (Hausadresse/MAC benötigt).
- Komfort: Versender muss nur Namen wissen, Paketdienst nutzt Adressbuch (Cache).
- Transportvorgang:
- Paket wird bei A abgeholt.
- Fahrer erfragt Zieladresse für B („Wer ist B und wo wohnt er?“) -> ARP.
- Paket wird im Verteilzentrum umgeladen und an Hausadresse von B geliefert.


