| Das ARP Protokoll ist das Bindeglied zwischen der fixen, an die Hardware gebundenen MAC-Adresse und der IP-Adresse. | ARP wird innerhalb eines lokalen Netzwerks verwendet, um die Verbindung zu den direkten Nachbarn aufzubauen. |
Netzwerk
|
Zusammenarbeit - Lokal und weltweit |
| Nahverkehr | Direkte Kommunikation mit LAN-Partnern (Nachbarn) |
| ARP-Stack | Nachschlag-Liste (Lookup-table) MAC <-> IP |
| ARPing | Suche nach der MAC-Adresse zu einer IP-Adresse |
| Experimente | Das Verhalten von ARP am eigenen PC |
| Verwandte Themen | OSI-Modell, Ethernet, MAC, IPv4, IPv6, |
| Links |
Ausgewählte
|
Nahverkehr |
|
| ARP regelt (nur) die Kommunikation mit den direkt erreichbaren Partnern (Nachbarn) im gleichen Netzwerk-Segment. | |
PCEin typischer Arbeits-PC in einem lokalen Netzwerk (LAN) kommuniziert direkt nur mit 1 oder 2 Partner-Geräten (Nachbarn): In vielen kleinen LANs dient der → Server auch als → Router - Dann hat jeder PC nur ein Gerät als ständigen Kommunikations-Partner.Die direkte Verbindung mit anderen Arbeits-PC des gleichen Netzwerks (Peer-to-Peer) ist zwar möglich, jedoch nur selten notwendig oder sinnvoll. Bei Bedarf wird auch dafür ARP verwendet. |
Ein PC kommuniziert natürlich mit zahlreichen weiteren Geräten, jedoch: • Drucker und andere gemeinsam genutzte LAN-Geräte werden indirekt über den → Server erreicht. • Das Internet wird ebenfalls nur indirekt über den → Router erreicht. Alle Fälle der indirekten Kommunikation (über Zwischenstufen) reduzieren sich auf der untersten Ebene auf die Kommunikation mit den direkt erreichbaren Nachbarn (Server, Router), die ihrerseits die Weiterleitung der Daten veranlassen. |
ServerDer → Server eines lokalen Netzwerks kommuniziert laufend mit allen anderen Geräten seines LAN, die er mit seinen Diensten versorgt. Alle diese direkten Verbindungen werden mit Hilfe von ARP aufgebaut. |
RouterEin → Router (Proxy-Server) hat Verbindung mit 2 verschiedenen Netzwerk-Segmenten:• Ein (→ Ethernet)-Interface verbindet mit dem lokalen Netzwerk. Über dieses (und mit ARP) kommuniziert der Router mit allen PC des LAN, welche Daten mit dem → Internet austauschen. • Ein weiteres Interface verbindet den Router mit dem 'Außen'-Netzwerk. Dieses führt meist zum Internet-Provider. In diesem Segment ist der Router des Providers der einzige direkte Partner der mit ARP hergestellten Verbindung. |
Brücke zwischen MAC und IPSinnvolle Kommunikations-Aufträge von Programmen erfolgen nur an IP-Adressen.Damit ein Gerät (PC) Daten über ein (→ Ethernet)-Netzwerk zustellen kann, muss es allerdings die → MAC-(Hardware)-Adresse des direkten Kommunikations-Partners kennen. |
ARP analysiert das lokale Netzwerk und findet die → MAC-Adresse zu einer gewünschten → IPv4-Adresse. ARP schreibt diese Daten in eine Tabelle (ARP-Stack). Mit Hilfe des ↓ ARP-Stack erspart man sich beim nächsten Kommunikations-Auftrag an den gleichen Partner die Analyse des LAN, da man die benötigte MAC-Adresse dort sehr viel rascher findet. |
ARP-Stack |
|
Der ARP-Stackist eine Liste, welche die MAC-Adressen aller direkten Kommunikations-Partner mit deren IP-Adressen verknüpft.$ arp Address HWaddress Iface 192.168.0.2 00:19:DB:81:C7:3C eth0 192.168.0.32 00:22:3F:DC:A0:5A eth0Auf Windows verwendet man die Option -a C:\> arp -a Schnittstelle 192.168.0.32 Internetadresse Physikal. Adresse 192.168.0.1 00-02-e3-16-71-0e 192.168.0.2 00-19-db-81-c7-3cDer Stack ist eine Liste mit 2 Spalten. Links die → IPv4-Adressen aller in letzter Zeit kontaktierten direkten Nachbarn, rechts die → MAC-(Hardware)-Adresse von deren Netzwerk-(Ethernet)-Interface. Je nach Option werden weitere Daten angezeigt, z.B. die Namen oder Adressen der eigenen Interface (Iface, Schnittstelle). |
TimeoutDie Daten des ARP-Stack haben eine begrenzte Lebensdauer von einigen Minuten. Man findet darin nur jene Partner, mit denen unmittelbar vorher kommuniziert wurde.Jede erfolgreiche Kommunikation verlängert die Lebensdauer des entsprechenden Datensatzes (Zeile) im ARP-Stack. Damit kann ARP auf Veränderungen im lokalen Netzwerk reagieren. Wenn ein ARP-Stack fehlerhafte Datern enthält, dann ist während dieser Zeit keine Verbindung zum betroffenen Partner möglich. Wenn der fehlerhafte ARP-Datensatz abgelaufen ist oder manuell gelöscht wurde, wird der Partner erneut gesucht und der Fehler normalerweise behoben. |
IPv4Das ARP-Protokoll wird nur in der → IP-Version 4 verwendet. |
IPv6Die → IP-Version 6 verwendet für den gleichen Zweck das deutlicher benannte Neighbor Discovery Protocol (NDP) zum 'Auffinden der Nachbar-Geräte'. |
ARPing |
|
Suche im ARP-StackWenn ein PC-Programm mit einem Partner kommunizieren will, dann wird die gewünschte IP-Adresse im ARP-Stack gesucht.● Wenn die gewünschte IP-Adresse im ARP-Stack eingetragen ist, dann wird ohne Verzögerung die Verbindung mit dem Partner hergestellt: Das (Ethernet) Daten-Paket wird an die im Stack eingetragene MAC-Adresse des Partners (und damit normalerweise an die richtige IP-Adresse) gesendet. ● Wenn die IP-Adresse nicht eingetragen ist, dann wird der Partner im Netzwerk mit einem ARPing gesucht. |
ARPingDamit sucht ARP einen Kommunikations-Partner, dessen IP-Adresse verlangt wird, dessen MAC-Adresse jedoch unbekannt ist.• ARP sendet einen Rundspruch (Broadcast) an die → MAC-Adresse FF:FF:FF:FF:FF:FF die von jedem Gerät im lokalen Netzwerk empfangen wird. In den Daten ist die gesuchte IPv4-Adresse enthalten. • Wenn ein Gerät darin seine eigene IP-Adresse erkennt, dann sendet es ein kurzes Daten-Paket an den Absender, in welchem die Verbindung bestätigt wird. • Eine bestätigte Verbindung wird auf beiden Seiten in den ARP-Stack eingetragen, und auf dieser Grundlage die weitere Kommunikation durchgeführt. • Jeder ARPing löst einen Broadcast aus. Das bedeutet einigen Aufwand und kostet mehr Zeit als das Nachsehen (Lookup) im ARP-Stack. Jedes Betriebssystem versucht die Ablaufzeit eines Eintrags im ARP-Stack zu optimieren und dadurch unnötigen Daten-Verkehr (Traffic) zu verhindern. |
Programm ARPingIn allen Linux Server-Distributionen ist das Konsolen-(Shell)-Programm arping enthalten, welches u.a. Nachbar-Geräte mit bestimmten IP-Adressen suchen kann. In Linux Desktop-Distributionen kann man das Programm nachträglich laden; auch für Windows gibt es kostenfreie Versionen im Internet. |
Ein ARPing wird sinnvoll nur an IP-Adressen im eigenen lokalen Netzwerk gerichtet. Man kann damit z.B. sehr rasch alle belegten und freien Adressen aus den 254 möglichen IPv4-Adressen eines LAN ermitteln. Ein ARPing darf daher immer passieren, auch dann wenn bei 'paranoider' Einstellung des Firewall sogar → ICMP (Ping) verboten ist. Ein Router lässt ARP Daten-Pakete in keinem Fall durch, da ARP auf jeweils 1 Netzwerk-Segment begrenzt ist. |