|
DHCP ist die Abkürzung für "Dynamic Host Configuration Protocol".
Dieses Protokoll dient dazu, IP-Adressen dynamisch zu vergeben.
So kann es mehr Clients in einem Netzwerk geben als IP-Adressen, vorrausgesetzt
es sind nicht alle zur selben Zeit online. Nach genau diesem Prinzip vergeben
Internet Service Provider (ISP) ihre IP-Adressen. Zwar werden dort auch statische
IP-Adressen vergeben, das lassen sich die Provider jedoch teuer bezahlen.
Der Ablauf für eine Anmeldung ins Netz funktioniert nach folgendem Prinzip:
Zuerst sendet der Host eine Meldung "DHCP-Discover" als Broadcast ins Netz.
Der DHCP Server sendet dann ein "DHCP-Offer" zurück. Gibt es mehrere DHCP-Server
im LAN, so wird das erste erhaltene "DHCP-Offer" vom Client angenommen.
In einem "DHCP-Offer" Paket ist eine mögliche IP-Adresse enthalten. Wird diese
vorgeschlagene IP-Adresse vom Host akzeptiert, so sendet dieser ein "DHCP-Request"
zurück. Daraufhin antwortet der DHCP-Server mit einem "DHCP-Pack".
Jetzt ist der Host mit der IP-Adresse konfiguriert.
Ausser der IP-Adresse bekommt der Client noch die Information, wie viele Sekunden
diese gültig ist. Standardmäßig wird eine IP-Adresse 3.600 Sekunden, also 1 Stunde
vergeben. Vor Ablauf dieser Zeit muss der Client die IP-Adresse erneut anfordern, was
allerdings normalerweise automatisch geschieht.
Beispiel eines DHCP-Discover Paketes:
| Source: | 0.0.0.0 | (Anonym) |
| Source-Port: | 68 | (DHCP-Client-Port) |
| Destination: | 255.255.255.255 | (an alle) |
| Dest-Port: | 67 | (DHCP-Server-Port) |
| yi-Adresse: | 0.0.0.0 | (noch keine Adresse) |
| Anfrage-ID: | 654 | (Zufallszahl) |
Ein DHCP-Server im lokalen Netzwerk bekommt nun diese Nachricht und antwortet darauf, da er
keine explizite IP-Adresse hat, ebenfalls an alle mit folgendem Paket:
| Source: | 223.1.2.5 | (Adresse des Servers) |
| Source-Port: | 67 | (DHCP-Server-Port) |
| Destination: | 255.255.255.255 | (an alle) |
| Dest-Port: | 68 | (DHCP-Client-Port) |
| yi-Adresse: | 223.1.2.4 | (vorgeschlagene Adresse) |
| Anfrage-ID: | 654 | (gleiche ID wie Host zur Identifizierung der Antwort) |
| Lifetime: | 3600 | (1 Stunde verfügbar) |
Da dieses Paket auch als Broadcost gesendet wurde, erhält es auch der Host, der
ursprünglich die Anfrage gestartet hat. Er identifiziert die Antwort anhand des
Ports und der ID und antwortet wiederum dem gesamten Netz,
dass er mit dieser Adresse einverstande ist:
| Source: | 0.0.0.0 | (Adresse noch nicht angenommen) |
| Source-Port: | 68 | (DHCP-Client-Port) |
| Destination: | 255.255.255.255 | (an alle) |
| Dest-Port: | 67 | (DHCP-Server-Port) |
| yi-Adresse: | 223.1.2.4 | (Adresse würde akzeptiert werden) |
| Anfrage-ID: | 655 | (nächste ID) |
| Lifetime: | 3600 | (Bestätigung der Verfügbarkeits-Zeit) |
Der DHCP-Server antwortet nun dem Host noch
mit einer ACK-Nachricht (er sendet sie wiederum an alle, um zu signalisieren, dass der Host
nun eine IP-Adresse zugewiesen bekommen hat):
| Source: | 223.1.2.5 | (Adresse des Servers) |
| Source-Port: | 67 | (DHCP-Server-Port) |
| Destination: | 255.255.255.255 | (an alle) |
| Dest-Port: | 68 | (DHCP-Client-Port) |
| yi-Adresse: | 223.1.2.4 | (vergebene Adresse) |
| Anfrage-ID: | 655 | (gleiche neue ID wie Host) |
| Lifetime: | <3600/TD> | (Repetition der Zeit) |
|