{{htmlmetatags>metatag-keywords=(ARP,IP,IPv4,ethernet,network,networking,TCP) }} ====== ARP - Address resolution protocol ====== {{tag>arp network ipv4 protocol }} [[.:|{{mdi>arrow-left-circle}}]] Fuer den Versand von Datenpaketen ueber TCP/IP sind vor allem 3 Informationen ueber die Zieladresse wichtig: - IP-Adresse - Subnetzmaske - MAC-Adresse Waehrend IP-Adresse und Subnetzmaske in den jeweiligen Netzwerken auf die eine oder andere Weise (statisch oder DHCP) konfiguriert werden, werden MAC-Adressen (auch hardware-Adressen genannt) von Herstellerinnen vergeben und mit Hilfe des ARP-Protokolls mit einer IP-Adresse verknuepft. Zumindest bei IPv4 - im Falle von IPv6 passiert dies mit ND - neighbour discovery.\\ ARP ist fuer die Datenuebertragung in ethernet-Netzwerken notwendig, da einerseits, wie bereits weiter oben erwaehnt, die MAC-Adresse benoetigt wird und andererseits IPv4 nicht in der Lage ist, die MAC-Adressen zu speichern. ===== Wie funktioniert ARP? ===== Zuerst ueberprueft ARP, ob die IP-Adresse des Zielhosts im selben lokalen Netz ist, oder zu einem anderen Subnetz gehoert (subnet mask inspection). Ist sie im lokalen Netz, wird der ARP-cache auf bereits vorhandene Eintraege ueberprueft und - wenn vorhanden - zur Adressierung benutzt. Wenn nicht, wird ein ARP request an alle hosts ueber die ARP-broadcast Adresse (FF:FF:FF:FF:FF:FF) verschickt. In diesem request liegt die IP-Adresse des Ziels. Die hosts vergleichen diese mit der/den eigenen und antworten bei Zutreffen mit einem ARP-reply, in dem u.A. die MAC-Adresse steht. Alle anderen verwerfen den ARP-request. Im Falle Falle eines ARP-reply wird die IP- und MAC-Adress-Verknuepfung in den ARP-cache eingetragen. Ist die Adresse des Zielhosts nicht im selben Subnetz, geht der request an's gateway. Das gateway (router) leitet es dann zum Zielhost weiter - und zwar entweder direkt zum Zielhost, oder zum naechsten gateway. Das geht dann entweder so lang, bis das Paket das Ziel erreicht, oder das TTL-Feld (IP-header), den Wert 0 bekommt.