Nachdem wir im vorherigen Beitrag mit der Anwendungsschicht angefangen haben und uns das DNS vorgeknöpft haben, machen wir heute ein Deep Dive in das nächste fettgedruckte Protokoll, ebenfalls der Anwendungsschicht zugehörig: DHCP.

1 Application

DHCP

Mit dem Dynamic Host Configuration Protocol (DHCP) erhalten Clients die Netzwerkkonfigurationen durch einen Server. Die Idee ist dabei ein Plug ‘n Play Netzwerk: Wenn du zum Beispiel unterwegs bist, möchtest du nicht immer manuell die Netzwerkverbindung deines Laptops konfigurieren.

DHCP Server

Der DHCP Server wird im Hintergrund gestartet und wartet die ganze Zeit auf dem designierten UDP Port 67 auf Client-Anfragen. Was der besitzt ist eine Konfigurationsdatei, die alle möglichen Informationen über das Adresspool beinhaltet, die er vergeben darf, und weitere Angaben, wie Subnetzmaske, lokale DNS-Domain und das Gateway.

Der Server arbeitet in drei verschiedenen Modi: (1) Manuelle Zuordnung, (2) automatische Zuordnung, und (3) dynamische Zuordnung.

1. Manuelle Zuordnung

Auch statisches DHCP genannt. Die IP-Adressen sind fest auf unbestimmte Zeit mit den MAC-Adressen der Clients assoziiert. So können keine zusätzlichen Clients ins Netz eingebunden werden – nicht so flexibel wie wir es uns wünschen würden. Wo wird so ein Betriebsmodus dann überhaupt eingesetzt? Wenn zum Beispiel ein DHCP-Client Server-Dienste übernimmt, bietet es sich an, dass dieser unter einer festen IP-Adresse erreichbar ist.

2. Automatische Zuordnung

Eine IP Range (Bereich von IP-Adressen) wird im DHCP Server definiert, aus dem die Adressen den DHCP-Clients für eine bestimmte Lease-Dauer zugewiesen werden. Die verteilten IP-Adressen werden in einer dynamischen Tabelle gespeichert. Sobald der Adressbereich ausgemerzt ist, können keine weiteren Clients hinzugefügt werden. Sogar wenn Rechner nicht aktiv dabei sind, kann dessen IP-Adresse nicht hergegeben werden, da diese im Cache des DHCP-Servers gespeichert ist. Um an diese Adressen ranzukommen, kann man den Cache löschen.

3. Dynamische Zuordnung

Die dynamische Methode ist der automatischen Zuordnung nicht unähnlich, mit dem Unterschied einer zusätzlichen Angabe in der Konfigurationsdatei des DHCP-Servers: Die Lease-Time besagt, wie lang bestimmte IP-Adressen von Clients genutzt werden dürfen. Manchmal kann man das so einrichten, dass die IP-Adresse weiterhin von der MAC-Adresse abhängig ist; so kann ein Rechner sogar nach längerer Netzwerk-Abstinenz oder Ablauf der Lease-Time die zuvorige IP-Adresse beibehalten.

DHCP-Kommunikation

Und wie läuft denn jetzt so eine DHCP Kommunikation ab?

 

1 DHCP

 

1. DHCPDISCOVER

Der Client will eine IP-Adresse, und schickt deswegen einen Netzwerk-Broadcast an verfügbare DHCP-Server ab.

2. DHCPOFFER

Der kontaktierte DHCP-Server antwortet und macht ein IP-Adressenangebot (, welches der Client nicht ablehnen kann ;-) ). Der Vorschlag wird ebenfalls als Broadcast verschickt. Aus den verschiedenen Angeboten, die der Client erhält, wählt der daraufhin eines von denen aus.

3. DHCPREQUEST

Ein Broadcast und der Serveridentifier wird vom Client Richtung entsprechenden Server geschickt. Warum würde überhaupt ein DHCP Client ein IP-Adressen-Vorschlag ablehnen? Dies kann mehrere Gründe haben: Der Client nimmt gleich das erste Angebot an, oder wählt das mit der längsten Lease-Zeit aus; der Vorschlag mag auch von einem falsch konfigurierten Server stammen. Sobald der DHCP Client einem Server zugesagt hat, erfolgt eine Absage an alle anderen anwärtenden DHCP-Servern.

4. DHCPACK

Bei der Annahme einer IP-Adresse durch den DHCP Client muss der akzeptierte Server dies auch gleich bestätigen. In dem DHCPACK übermittelt der DHCP Server neben der IP-Adresse noch weitere relevanten Daten. Eine DHCPNAK Antwort könnte auch zurückkommen: Das Angebot der IP-Adresse wurde so zurückgezogen. So etwas kommt zustande, wenn der Client ehemalige und nicht mehr verfügbare IP-Adressen wieder leasen möchte, oder wenn der Client sich in einem anderen Subnetz aufhält. In diesem Falle fängt der ganze Prozess wieder von vorne bei DHCPDISCOVER an.

(5. DHCPRELEASE)

Der Client gibt noch bevor die Lease-Zeit abläuft die IP-Adresse zurück.

SMB

Den Server Message Block (SMB) knöpfen wir uns im nächsten Beitrag vor.