2 Protokollanalyse mit Wireshark

Werbung
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
Herunterladen