Vorlesung Netzwerke Praktikumsversuch 1: LAN Fachbereich Informatik - Lehrveranstaltung „Netzwerke (TK)“, Bachelor, Praktikum ______________________________________________________________________ (Stand 16.Oktober 2012 Netze Team) Name, Vorname MatNr E-Mail Szenario In diesem Versuch sollen Sie ein einfaches lokales Netz (LAN) aufbauen und durch Protokollanalyse grundlegende Protokolleigenschaften kennenlernen. Lernziele OSI-Referenzmodell und TCP/IP-Referenzmodell verstehen und bei der Protokollanalyse anwenden. Mehrere Netzkomponenten (PC, Hub, Switch) zu einem lokalen Netz (LAN) verbinden. Die Adressierung und Identifizierung von Endeinrichtungen und Anwendungen in unterschiedlichen Kommunikationsschichten verstehen. Die Datenstruktur von Protokolldateneinheiten (Frame, Paket, Segment) unterschiedlicher Schichten unter Zuhilfenahme des Kapselungskonzepts analysieren und verstehen. Die Netzwerkanalyse Software Wireshark kennenlernen und sinnvoll einsetzen. Das Address Resolution Protocol (ARP) verstehen. Vorbemerkungen Zur Vorbereitung des Praktikumstermins bearbeiten Sie Teil A der Praktikumsanleitung zu Hause (Die Vorbereitungsunterlagen befinden Sich in dem Dokument „*Vorbereitung_Praktikum*.doc). Bringen Sie die ausgefüllten Vorbereitungsunterlagen mit zum Labortermin. Die häusliche Vorbereitung ist Voraussetzung für die Teilnahme am Labor. Legende zu dieser Anleitung o Fragen sind grau hinterlegt. o 68609183 -Zeichen gekennzeichnet Seite 1 von 20 Vorlesung Netzwerke Praktikumsversuch 1: LAN Fachbereich Informatik - Lehrveranstaltung „Netzwerke (TK)“, Bachelor, Praktikum ______________________________________________________________________ (Stand 16.Oktober 2012 Netze Team) Literatur [PD] Larry L. Peterson und Bruce S. Davie, Computer Networks, 4. Auflage (Apr. 2007), dpunkt.verlag, ISBN-10: 0123705487 [KR] James F. Kurose und Keith W. Ross, Computernetze, 3. Auflage (Okt 2004), Pearson Studium Verlag (Bafög-Ausgabe) [WIKI] Wikipedia: Address Resolution Protocol (ARP). http://de.wikipedia.org ; zuletzt besucht im Oktober 2009 68609183 Seite 2 von 20 Teil B Laborteil Arbeiten Sie als Team und geben Sie jedem Mitglied Ihres Teams die Möglichkeit, den Versuchsablauf nachzuvollziehen. Jedes Teammitglied fertigt ein Versuchsprotokoll an. Dazu werden die Ergebnisse und Antworten direkt in diesem Dokument protokolliert. Ggf. ist zu Hause noch eine Nachbearbeitung angebracht. Inhalt des Laborteils 1. Aufbau eines LAN in switched Ethernet Technologie 2. Protokollanalyse mit Wireshark am Beispiel von Ping und ARP 3. DHCP Protokollanalyse 1 Aufbau eines Ethernet-LAN mit 4 PCs und einem Switch Verbinden Sie jeweils 4 PCs (Labor-Hosts) einer Tischreihe mit jeweils einem Patch-Kabel zu einem sternförmigen LAN mit einem Switch im Mittelpunkt (Abb. 1.1). Der Switch arbeitet als Vermittler auf Schicht 2 des OSI-Modells. Abbildung 1.1 Bezeichner PC1 PC2 PC3 PC4 IP-Adresse 192.168.2.10 192.168.2.20 192.168.2.30 192.168.2.40 Subnet-Maske 255.255.255.0 255.255.255.0 255.255.255.0 255.255.255.0 Gateway --- --- --- --- DNS-Server --- --- --- --- 1.1 Konfiguration der TCP/IP-Parameter Melden Sie sich am Labor-PC an. Username und Passwort bitte beim Betreuer erfragen. Konfiguration der TCP/IP-Netzwerkparameter wie in Abb. 1.1: (Bei Bedarf finden Sie eine Anleitung in Anlage 1) ipconfig.exe in der Eingabeaufforderung ausführen: Sie bekommen die aktuelle IP-Konfiguration der Netzwerkschnittstellen angezeigt. 68609183 Seite 3 von 20 Verifizieren Sie, dass die Änderungen übernommen wurden wie in Anhang 1 beschrieben. ipconfig /all ausführen: Jetzt wird auch die MAC-Adresse in hexadezimaler Notation angezeigt. 1.2 Überprüfen der IP-Erreichbarkeit mit dem Programm „ping“ in der Eingabeaufforderung. Pingen Sie jeden Partnerrechner PC1...PC4 an. Syntax: ping [ip-Adresse] Alle sollten erreichbar sein. Im Fehlerfall informieren Sie Ihre Betreuer. Zeigen Sie diese in der Eingabeaufforderung mit arp –a an und kopieren Sie die Ausgabe hierher. Im ARP-Cache finden Sie nun alle IP-MAC-Adress-Paare. Erläutern Sie die Struktur und Funktionsweise der ARP-Tabelle. 68609183 4 2 Protokollanalyse mit Wireshark Eine Kurzanleitung zur Bedienung von Wireshark finden Sie in Anlage 2 2.1 Aufzeichnen von Ping-Traffic Wireshark starten (Verknüpfung auf Desktop). In der Eingabeaufforderung Ihres PCs den Befehl arp –d * ausführen ('*' ist eine "Wildcard"). Aufzeichnung Starten z.B. durch Klicken auf den Start-Button im Fenster "Capture Options" Einen beliebigen Nachbarrechner pingen Aufzeichnung stoppen. Die Anzeige sollte jetzt der Abbildung B.2 ähneln. Ins Filter-Fenster "icmp or arp"eintragen und mit „Apply“ bestätigen. Danach werden nur noch ARP- und ICMP-Protokollnachrichten angezeigt. Packet-Fenster (1 Packet/Zeile) Protokoll-Fenster: Interpretierte Darstellung des markierten Packets. "Target IP address" ist markiert (ICMP-PDU wurde expandiert, Data-Feld ist markiert) Daten-Fenster: (Bytes; nicht interpretiert) des markierten Packets. Daten des Target IP adr-Felds sind blau markiert Abb 2: Graphische Benutzeroberfläche von Wireshark nach der Aufzeichnung des pingTraffic. Packet-Fenster (oben): zeigt alle aufgezeichneten Pakete in Listendarstellung Daten-Fenster (unten): Rohdaten des ausgewählten Pakets in Hexadezimal- und ASCII-Code 68609183 5 Protokoll-Fenster (mitte): zeigt die schichtenweise interpretierten Daten (Protokoll- Headervariablen und ihre Werte) des ausgewählten Pakets. Bei Klick auf das '+'-Zeichen werden mehr Detailinformationen angezeigt. Speichern sie die Daten in einer txt-Datei und kopieren sie diese von dort aus in eine elektronische Version des vorliegenden Dokuments: Die Nachricht im Packet-Fenster markieren Die Ethernet-II-PDU und die ARP-PDU im Protokoll-Fenster expandieren (nur 1. Ebene). im Kontext-Menü (rechte Maustaste) "Print…" wählen. Filename (z.B. arp.txt) eintragen "Plain text aktivieren, selected Pakets only auswählen. Packet-Format: As Displayed, Print File mit Text-Editor öffnen und hierher kopieren. Notieren Sie die Analyseergebnisse der ARP-Request Nachricht durch kopieren des Paketinhaltes. Ebenso verfahren Sie nun mit der ARP-Reply PDU. 68609183 6 68609183 7 2.2 Analyse des ARP-Protokolls Fragen zum Frame-Header vor dem ARP-Request Welche Protokolle sind an der Übertragung beteiligt? Ordnen Sie diese ihrer Schicht zu: Länge des Frames in Bytes? Länge des Frame-Headers in Bytes? Länge der ARP-PDU in Bytes? An welche Ziel-Adresse wurde der Frame mit dem ARP-Request versendet? Zu welcher IP-Adresse gehört die Src-MAC-Adresse im Frame-Header des ARP-Requests Welche Round Trip Time hat Wireshark für die ARPAnfrage gemessen? Woran erkennt Wireshark, dass der Frame eine ARPPDU enthält? Fragen zum ARP-Request Zu welcher IP-Adresse wird die MAC-Adresse gesucht? Wie heißt das Feld, in dem diese IP-Adr. eingetragen ist? Welche MAC-Adresse ist für dieses Objekt im Request eingetragen? Fragen zum ARP-Response Im ARP-Response ist die Antwort auf die Anfrage im Request zu finden. Wie lautet die gesuchte MACAdresse? Markieren Sie diese im Protokollmitschnitt. Auf welchem Layer des OSI-Modells befindet sich ihrer Meinung nach das ARP-Protokoll, diskutieren sie mit ihren Kommilitonen und begründen sie ihre Entscheidung. B.3 Analyse des Ping-Traffic Expandieren Sie nur die erste Ebene der beteiligten Protokolle im Protokoll-Fenster, kopieren Sie die empfangenen Daten für das erste Echo-Request und –Reply-Paar hierher (ggf. elektronisch über den Umweg einer Textdatei, wie oben beschrieben). 68609183 8 Welche Protokolle sind an der Übertragung beteiligt? Ordnen Sie diese ihrer Schicht zu: Hinweis: Obwohl ICMP unter Kapselungsaspekten zu Schicht 4 zu gehören scheint, wird es als integraler Bestandteil von IP auch der Schicht 3 zugerechnet. Die Betriebsbereitschaft welcher Schichten des OSI-Schichtenmodells wird durch das pingProgramm getestet? Begründen Sie! Im Zweifelsfall diskutieren Sie die Frage mit Ihrem Betreuer. Folgende Fragen beziehen sich auf die mitgeschnittenen ICMP Pakete: Länge des Frames in Bytes? Länge des Frame-Headers in Bytes? Länge des IP-Headers in Bytes? Länge der ICMP-PDU in Bytes? An welche Ziel-IP-Adresse wurde der ICMPRequest versendet? Wie lautet die assoziierte MAC-Adresse? Welche Round Trip Time hat Wireshark für den Ping gemessen? Woran erkennt Wireshark, dass ein Frame ein IPPacket enthält? Woran erkennt Wireshark, dass ein IP-Packet eine ICMP-Echo-Request-Nachricht enthält? Warum wurde vor dem ersten Ping-Request eine ARP-Anfrage durchgeführt? Wozu dient die "Sequence number" im ICMPHeader? Welche Nutzdaten transportieren die ICMPEcho-Nachrichten? (Markieren Sie diese oben) Entwickeln Sie hier aus dem Encapsulation-Schema der ICMP-Nachrichten die Protokollarchitektur zum Versenden/Empfangen der ICMP-Nachrichten in Form eines 68609183 9 Schichtenmodells. Hinweis für die elektronische Bearbeitung: Man kann auch mit ASCII-Zeichen zeichnen. Achtung: Löschen Sie das ICMP-Filter in Wireshark jetzt wieder! 4 Dynamic Host Configuration Protocol (DHCP) Im diesem Praktikumsteil erhalten LAN-PCs eine IPAdresse aus dem IP-Adresspool eines DHCP-Servers zugewiesen. Dazu wird das aufgebaute LAN (4PCs und ein Hub) verwendet und um einen DHCP-Server erweitert. In jedem der 4PCs wird der DHCPClient aktiviert. Verbinden des DHCP-Servers mit dem LAN Erfragen Sie beim Administrator (Betreuer) alle Informationen, die Sie benötigen, um den DHCPServer mit Ihrem LAN aus 4 68609183 10 Abbildung 4.1 PCs zu verbinden. Schließen Sie den Server an Ihr LAN an und testen Sie die Konnektivität. Stellen Sie in der Netzwerkumgebung des Betriebssystems die TCP/IP-Eigenschaften der aktiven Netzwerkkarte auf automatische Konfiguration um (s. Abb. 4.1). Damit aktivieren Sie den DHCP-Client auf Ihrem PC sowie die automat. Konfiguration der TCP/IP-Parameter. 4.1 DHCP-Protokollanalyse Sie sollen die Kommunikation zwischen einem DHCP-Client (=Ihr PC) und einem DHCP-Server mit Wireshark aufzeichnen und analysieren. Eine Beschreibung des DHCP-Protokolls finden Sie in Anlage 3. Eingabeaufforderung am PC starten ipconfig /release eingeben: Die soeben vergebene IP-Adresse wird wieder freigegeben. Jetzt ist Ihr DHCP-Client in einem definierten Zustand: Er hat keine IP-Adresse. Kontrollieren Sie dies mit dem Kommando ipconfig. Welche IP-Adresse wird angezeigt? Filter in Wireshark auf „bootp or arp“ einstellen, Aufzeichnung starten und ipconfig /renew in der Eingabeaufforderung eingeben: PC fordert eine neue IP-Adresse vom DHCP-Server an. Aufzeichnung stoppen nach dem die IP-Adresse empfangen wurde. Expandieren Sie nur die erste Ebene des DHCP-Protokolls im Protokoll-Fenster, Kopieren Sie die Inhalte aller DHCP-Nachrichten hierher. Analysieren Sie die aufgezeichneten Daten. Fragen dazu: Fragen zum Schichtenmodell Listen sie die IDs der beteiligten Protokolle anhand des DHCP-Discover auf. Welche Absenderadresse gibt der DHCP-Client an? An welche IP- und MAC-Adresse sendet der DHCP-Client? An welche IP- und MAC-Adresse sendet der DHCPServer? Wie wird geprüft ob die vergebene IP-Adresse nicht bereits statisch vergeben wurde. Fragen zur DHCP-PDU 68609183 11 Welche IP-Adresse wurde dem DHCP-Client vom DHCPServer angeboten? Welche lease time wird offeriert? Welche IP-Adresse hat der Client ausgewählt und im Request angefordert? Welche IP-Adresse bekommt der Client vom Server fest zugewiesen? Was geschieht nach der DHCPACK-Nachricht? Beschreiben und erklären Sie. 68609183 12 Kontrollieren Sie die aktuelle IP-Adresskonfiguration Ihres PCs mit Windows Bordmitteln. Beschreiben Sie hier, wie Sie vorgehen und dokumentieren Sie die Ergebnisse. Starten Sie erneut Wireshark und fordern Sie erneut eine neue IP-Adresse mit ipconfig /renew an, ohne die bisher zugeteilte IP-Adresse mittels ipconfig /release vorher frei zu geben. Kopieren Sie die wesentlichen Informationen hierher. Analysieren Sie den neuen DHCP-Traffic, suchen Sie nach Unterschieden zur ersten Aufzeichnung und erklären Sie diese. Bei Bedarf schauen Sie in RFC 2131 Abschnitt 3.2 rein. Geschafft! Melden Sie dieses erfreuliche Ereignis Ihrem Betreuer und gehen Sie mit ihm Ihre Ergebnisse durch. 68609183 13 Anlage 1: Konfiguration der TCP/IP-Parameter 1. Melden Sie sich am Labor-PC an. Username und Passwort bitte beim Betreuer erfragen.. 2. Konfiguration der TCP/IP-Netzschnittstelle: Wählen Sie auf dem Desktop Rechtsklick auf Netzwerkumgebung –> Eigenschaften. Dann Rechtsklick auf LAN-Verbindung 3 → Eigenschaften Wählen Sie das TCP/IP Protokoll aus (Abb. A1.1). Klicken Sie auf TCP/IP – Eigenschaften. Im zugehörigen Fenster (Abb. A1.2) konfigurieren Sie die NetzwerkSchnittstelle: IP-Adresse und Subnetzmaske: siehe Tabelle zu Abbildung 1.1 Standard Gateway: (zunächst) kein Eintrag DNS Server: (zunächst) kein Eintrag 3. Öffnen Sie die Eingabeaufforderung über die Schnellstartleiste (links unten neben dem Startknopf). Abbildung A1.1 4. Anschließend ipconfig in der Eingabeaufforderung ausführen: Sie bekommen die aktuelle IP-Konfiguration der Netzwerkschnittstellen angezeigt. Verifizieren Sie, dass die Änderungen übernommen wurden. 5. Sollte dies nicht der Fall sein, gehen Sie wie folgt vor: Wählen sie die Eigenschaften der Netzwerkumgebung wie in Punkt 2 beschrieben. Wählen sie mit Rechtsklick die Lan-Verbindung 3 und deaktivieren sie diese, anschließend aktivieren sie diese wieder. Damit sollte sichergestellt sein, dass die IPKonfiguration übernommen ist. Kontrollieren Sie dies! 6. ipconfig /all ausführen: Jetzt wird auch die MAC-Adresse in hexadezimaler Notation angezeigt. 68609183. Abbildung A1.2 Page 14 of 20 Anlage 2: Einführung in Wireshark Die Protokollanalyse ist ein effizientes Hilfsmittel bei der Fehlersuche. Ein Protokollanalysator zeichnet jede von der lokalen Netzwerkinterfacekarte gesendete und empfangene Protokolldateneinheit (PDU) im Binärformat auf, interpretiert diese gemäß den Formatierungsregeln der Protokoll-Standards und stellt die Ergebnisse in übersichtlicher Form dar. Zur Analyse der von den beteiligten Protokollen ausgetauschten Protokollnachrichten steht der Protokollanalysator Wireshark (Open Source Packet Sniffer Software) zur Verfügung. Nach dem Start präsentiert sich Wireshark mit einem Starfenster (s. Abb. A2.1) Capture-Options einstellen Abb. A2.1: Wireshark unmittelbar nach dem Start Mitlesen des Netzwerkverkehrs Capture-Optionen einstellen: Klicken Sie auf den gekennzeichneten Button. Im Dialogfenster "Capture Options" (s. Abb. A2.2) Wählen Sie die Fast-EthernetNetzwerkkarte (Intel) deren Daten mitgelesen werden sollen. (Im Zweifelsfall fragen Sie Ihren Betreuer). Aktivieren Sie den "Promiscuous Mode": In diesem Mode werden ALLE Daten auf der NetzSchnittstelle mitgelesen und nicht nur diejenigen, die an diesen Host adressiert sind. Abb. A2.2: Konfiguration der Mitlesefunktion Wenn Sie nur Pakete von/zu der IP-Adresse a.b.c.d aufzeichnen wollen, tragen Sie host a.b.c.d in das Feld Capture Filter ein. Page 15 of 20 Aufzeichnung Starten z.B. durch Klicken auf den Start-Button im Dialog-Fenster "Capture Options". Stoppen der Aufzeichnung z.B. durch Klicken auf den Stop-Button (s. rechts) 2. Analyse der aufgezeichneten Pakete Wireshark präsentiert die Inhalte der aufgezeichneten Pakete in 3 Fenstern mit unterschiedlichem Abstraktionsgrad (siehe Abb. A2.3) Im Datenfenster sind die Paketdaten so dargestellt, wie sie empfangen wurden, also in binärer Form. Die Interpretation der Binärdaten als ASCII-Code an jedem Zeilenende soll das Aufspüren von Klartextpassagen in den Paketdaten vereinfachen. Im Packet-Fenster sind die wichtigsten Informationen zu jedem Paket auf einer Zeile zusammen gefasst. Im Protokoll-Fenster ist jedes Protokoll, das beim Senden des Pakets mitgewirkt hat, in der Reihenfolge ihrer Mitwirkung gelistet. In dieser Darstellung wird die Schichtung der Protokolle gemäß dem Schichtenmodell visuell erkennbar. Einen Einblick in die Inhalte der Protokollheader Packet-Fenster (1 Packet/Zeile) Protokoll-Fenster: Interpretierte Darstellung des markierten Packets. "Target IP address" ist markiert (ICMP-PDU wurde expandiert, Data-Feld ist markiert) Daten-Fenster: (Bytes; nicht interpretiert) des markierten Packets. Daten des Target IP adr-Felds sind blau markiert bekommt man, indem man die Anzeigetiefe der Protokolldaten expandiert (Klick auf Zeichen) Page 16 of 20 Abb A2.3: Graphische Benutzeroberfläche von Wireshark nach der Aufzeichnung des ping-Traffic Fenster der Wireshark Benutzeroberfläche: (Abbildung A2.3) o Packet-Ansicht (oben): zeigt alle aufgezeichneten Pakete in Listendarstellung o Packet-Byteansicht(unten): zeigt die Rohdaten des ausgewählten Einzel-Pakets in Hexadezimal- und ASCII-Code o Packet-Detailansicht (mitte): zeigt die schichtenweise interpretierten Daten (Protokoll- Headervariablen und ihre Werte) des ausgewählten Pakets. Bei Klick auf das '+'-Zeichen werden mehr Detailinformationen angezeigt. 3. Filtern der aufgezeichneten Pakete Die Teilmenge der interessierenden Pakete bekommt man angezeigt, wenn man diese unter Nennung des zugehörigen Protokolls herausfiltert. Beispiel: Wer nur an ICMP- und ARP-Nachrichten interessiert ist, gibt ins Filter-Feld ein und bestätigt mit „Apply“. Die Hintergrundfarbe grün (rot) signalisiert eine gültige (ungültige) Auswahl. Anlage 3: Dynamic Host Configuration Program (DHCP) Um ein Computer-Netzwerk aufzubauen ist es notwendig jede einzelne Netzschnittstelle zu konfigurieren. Handelt es sich um ein TCP/IP-Netzwerk, müssen folgende Einstellungen bei jeder Schnittstelle vorgenommen werden: Zuweisen einer eindeutigen IP-Adresse Zuweisen einer Subnetzmaske (Subnetmask) Zuweisen des Default- bzw. Standard-Gateways Bei größeren Netzwerken bindet dies sehr viel Planungs- und Arbeitszeit. Deshalb werden oft die Dienste des DHCP für die vollautomatische Konfiguration von TCP/IP verwendet. Es wurde von der Internet Engineering Taskforce (IETF) im RFC 2131 standardisiert. DHCP hat eine Client-Server-Architektur. Der Administrator pflegt eine Tabelle im DHCP-Server, die jeder Schnittstelle in seinem Netz die notwendigen festen Adressinformationen (u.a. die IP-Adresse; mehr siehe unten) zuordnet. Zur eindeutigen Identifikation einer Hardware-Netz-Schnittstelle dient die MAC-Adresse (Schicht-2-Adresse oder Hardwareadresse). Dies ist eine 48-Bit-Adresse, die ein Hersteller den Netz-Interfaces zuweist. Meldet sich ein Host (genauer: eines seiner Netz-Interfaces) mit seiner MAC-Adresse, so bekommt er vom Server die dieser MAC-Adresse zugeordneten logischen Adressinformationen mitgeteilt. In sehr großen Netzen mit vielen Fluktuationen bei Topologie und Nutzern ist auch die Tabellenpflege ein erheblicher Aufwand für Administratoren. Für diesen Fall ist der DHCP-Server in der Lage, die Tabelle dynamisch selbst zu pflegen. Dazu stellt ihm der Administrator einen Pool Page 17 of 20 unbenutzter IP-Adressen zur Verfügung, die der Server bei Bedarf für eine bestimmte Zeit (lease time) an einen anfragenden DHCP-Client" vermieten" kann. Der Client hat zudem die Option, die lease time zu verlängern. Doch nicht nur die Daten zur Konfiguration in einem TCP/IP-Netzwerk kann DHCP dem Client mitteilen. Sofern der DHCP-Client weitere Angaben auswerten kann, übermittelt der DHCP-Server auf Anforderung weitere Informationen: Time Server Adresse Default IP Time To Live (TTL) Name Server Adresse Broadcast Adresse Domain Name Server Adresse SMTP Server Adresse WINS-Server Adresse POP3 Server Adresse Domain Name Die DHCP-Adressvergabe Die Broadcast Anfrage vom Client zum Server folgt folgendem Muster, welches auch in Abbildung A4.1 dargestellt ist. Die Verständigung zwischen dem Client und dem Server läuft mittels User Datagram Protocol (UDP). Wobei der Server auf Port 67 und der Client auf Port 68 kommuniziert. Beim Booten fragt der DHCP-Client mit einer DHCPDISCOVER-Nachricht via Broadcast (IPQuelladresse: 0.0.0.0; IP-Zieladresse: 255.255.255.255) nach seinen Adressinformationen und teilt dem Server ggf. seine Wünsche mit (gewünschte Lease-Time, Antworten nur als Broadcast, … ). Zu diesem Zeitpunkt kennt er noch nicht seine IP-Adresse sondern nur die MAC-Adresse seines Netzwerkinterfaces. Die DHCP-Server, die diese DHCPDISCOVER-Nachricht empfangen, stellen nun die Adressinformationen zusammen und antworten mit einer DHCPOFFER-Nachricht, die u.a. schon die der MAC-Adresse zugeordnete IP-Adresse enthält. Wenn die IP-Adresse schon mal vergeben wurde, sollten die DHCP-Server mittels ICMP_ECHO_REQUEST zuvor testen, ob die angebotene IP-Adresse tatsächlich nicht mehr benutzt wird (siehe RFC2131 Abschnitt 2.2). Die DHCPOFFER-Nachricht wird i.d.R. als Unicast an die IP-Adresse des Clients versandt. Nur wenn der Client keine Unicast-Nachrichten empfangen kann (dies signalisiert er durch ein gesetztes Broadcast-Bit in der DHCPDISCOVER-Nachricht), muss die DHCPOFFER als Broadcast versandt werden (Details dazu in RFC2131 Abschnitt 4.1). Page 18 of 20 Abbildung A4.1: Zeitlicher Ablauf des DHCP-Nachrichtenaustausches bei der Zuweisung einer neuen Netzwerk-Adresse [Quelle: RFC2131 Dynamic Host Configuration Protocol] Sobald der Client aus den eingesammelten Angeboten ein für ihn akzeptables Angebot ausgewählt hat (.ie Auswahlkriterien sind implementationsabhängig), broadcastet er eine DHCPREQUESTNachricht, um dem Server bzw. den Servern (falls mehrere geantwortet haben) seine Auswahl mitzuteilen. Anhand der in dieser Nachricht auch enthaltenen Server-ID (IP-Adresse des Servers) erkennen DHCP-Server, ob ihr Angebot angenommen wurde oder das eines anderen Servers. Der erfolgreiche DHCP-Server bestätigt diese Nachricht mit einer DHCPACK-Nachricht. Auch hier bestimmen die Fähigkeiten des Clients, ob der Server diese als Unicast oder Broadcast versendet. Nach Empfang dieses DHCPACK durch den Client testet dieser, ob ein anderer Host im LAN diese IP-Adresse bereits benutzt. Dazu benutzt er z.B. das Adress Resolution Protocol (ARP). Dieses Protokoll ist ein Hilfsprotokoll der Schicht 3 des OSI-Modells und wird in diesem Kontext in der Vorlesung behandelt. Der Test wird auch gratuitous (unaufgefordert) ARP genannt. Erhält der Client auf den ARP-Request eine Antwort, ist diese IP-Adresse tatsächlich doppelt vergeben. Dann sendet der Client eine DHCPDECLINE-Nachricht an den Server und die gesamte Vergabeprozedur beginnt nun von vorne. Im Falle einer DHCPDECLINE-Nachricht, sperrt der Server die Adresse für die interne Vergabe. Page 19 of 20 Zusammen mit seiner IP-Adresse erhält der Client in der DHCPACK-Nachricht auch eine Lease-Time mitgeteilt, welche ihm sagt, wie lange die IP-Adresse für ihn reserviert ist. Der RFC Standard sieht vor, dass der Client nach der Hälfte der Lease-Time einen erneuten DHCPREQUEST sendet und so dem Server mitteilt, dass er weiterhin die für ihn reservierte IP-Adresse behalten will. Nach Erhalt dieser Nachricht sendet der Server eine identische DHCPACK-Nachricht an den Client zurück, in der die neue Lease-Time mitgeteilt wird. Damit ist die Lease-Time verlängert und der DCHP-Refresh ist komplett. Wenn der Client es versäumt, eine Verlängerung zu beantragen, muss das Netzwerkinterface dekonfiguriert werden und der DHCP-Request startet erneut mit einer DHCPDISCOVER-Nachricht. Wird das Betriebssystem des DHCP-Client heruntergefahren wird, kann es "gnädig" sein, und mittels einer DHCPRELEASE-Nachricht an den Server die "gemietete" IP-Adresse bereits vor Ablauf der Lease-Time freigeben (graceful shutdown). Alternativ erlaubt der DHCP-Standard aber auch, die zugewiesene IP-Adresse bis zum nächsten Booten zu behalten. Dann entfallen die Initialisierungsschritte und der Client schickt beim Reboot direkt eine DHCPREQUEST-Nachricht an den Server. Dieser bestätigt entweder die Anfrage oder sendet eine DHCPNAK-Nachricht, um dem Client mitzuteilen, seine gespeicherten Konfigurationen zu löschen, und die Anfrage komplett von vorne zu beginnen (z.B. weil der Client zwischenzeitlich an ein anderes Subnet angeschlossen ist). Page 20 of 20