Das Address Resolution Protocol (ARP)Im LAN, speziell im Ethernet, kommunizieren die Geräte allerdings nicht direkt über IP-Adressen, sondern über unsere bekannten 48-stellige MAC-Adresse. Unser Rechner kennt in einem IP-Netzwerk allerdings nur die IP-Adresse des Rechners mit dem er reden soll, zum Beispiel die IP-Adresse seines Anmeldeservers. Ein Rechner der frisch eingeschaltet wird, muss also zuerst einmal die MAC-Adresse seines Anmeldeservers herausfinden. Um das zu tun sendet er einen ARP-Request. Mann kann sich das etwa so vorstellen: Der Rechner ruft nach dem Hochfahren ins Netz hinaus :
Das ganze LAN hört diese Ankündigung und merkt sich gleich das mitgelieferte Adressenpärchen, aber nur der Rechner mit der IP-Adresse zzz.zzz.zzz.zzz antwortet und sagt:
Etwas technischer ausgedrückt sieht das so aus: Wenn eine Maschine eine Anforderung an eine IP-Adresse erhält, dann sieht sie in ihrem ARP-Cache nach ob sie die entsprechende MAC-Adressse schon kennt. Der ARP-Cache ist eine Tabelle die etwa so aussieht: ![]() Dabei bedeuten die einzelnen Felder:
Für den Typ des Eintrags sind folgende Werte möglich:
Auf NT- und Inix-Maschinen kann der ARP-Cache mit dem Befehl arp eingesehen und manipuliert werden. Findet er keinen entsprechenden Eintrag, dann sendet er einen ARP-Request als Broadcast in das Netz. Der sieht etwa so aus: ![]() Der hat natürlich wieder ein paar Felder und zwar:
Bei einem ARP-Request werden alle Felder bis auf die Hardware-Adresse des Empfängers genutzt (genau die versuchen wir ja gerade herauszufinden ) Dieser Request wird nun von allen Maschinen im Netz gehört, und gegebenenfalls genutzt um den ARP-Cache auf den neuesten Stand zu bringen. Die Maschine nach der gefragt wird sendet dann einen ARP-Reply der genauso aussieht wie der Request, aber alle Felder nutzt. Auch dieses Paket wird wieder genutzt um den ARP-Cache aller Maschinen im Netz auf den neuesten Stand zu bringen. Einträge im ARP-Cache die nicht statisch sind werden nach einer bestimmten Zeit wieder gelöscht. Wer es noch technischer will kann das Ganze in RFC826 nachlesen. Frage: Nehmen wir an ein Gerät ist, aus welchen Gründen auch immer auf die IP-Adresse eines unserer Drucker konfiguriert und antwortet die ganze Zeit auf entsprechende ARP-Requests: Was hat das für Auswirkungen, und was tun wir dagegen? Da es sich bei ARP-Paketen um Broadcasts handelt werden sie nicht geroutet, sondern bleiben in dem Netz, in dem sie abgesandt wurden. Damit man trotzdem noch mit Rechnern in anderen Netzsegmenten reden kann nimmt man etwas namens Proxy-ARP. Dabei macht der Router einen entsprechenden Eintrag in seinen ARP-Cache und sendet alle Pakete für Rechner in dem entsprechenden Netz dorthin. Auf diese Art können LANs transparent verbunden werden. |