dynamic host configuration protocol (dhcp) · dhcp-server aus (in der regel den, der ihm als erster...

23
Rheinisch – Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik IV Prof. Dr. rer. nat. Otto Spaniol Dynamic Host Configuration Protocol (DHCP) Proseminar: Kommunikationsprotokolle Mohamed El Kadaoui Matrikelnummer: 227370 Sommersemester 2003

Upload: vungoc

Post on 02-Mar-2019

235 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

Rheinisch – Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik IV

Prof. Dr. rer. nat. Otto Spaniol

Dynamic Host Configuration Protocol

(DHCP)

Proseminar: Kommunikationsprotokolle

Mohamed El Kadaoui Matrikelnummer: 227370

Sommersemester 2003

Page 2: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

2

Inhaltsverzeichnis

1. Einführung ...................................................................................................................3 2. IPv4 und IPv6 ..............................................................................................................4 2.1 IPv4 ………………………………………………………………………………........4 2.2 IPv6 ………………………………………………………………………………........5 2.3 Arten der Zuteilung von IP-Adressen ....................................................................6 2.3.1 Statische Zuordnung ……………………………………………………………6 2.3.2 Automatische Zuordnung ....……………………………………………..……6 2.3.3 Dynamische Zuordnung …….………………………………………………….6 3. Bootmechanismen ....................................................................................................7 3.1 BOOTP …………………………………………………………………………….….7 3.2 DHCP …..……………………………………………………………………………...7 4. Funktionsweise von DHCP...... ……………………………………………………..9 4.1 DHCP Client-Server Modell ……………………………………………………….9 4.2 Arten von DHCP-Nachrichten …..……………………………………………....12 4.3 DHCP-Optionen……………………………………………………………….14 4.4 Beispiel :DHCP-Konfigurationsphasen ...........................................................16 5. Leasen und Lease-Time ………………................................................. ………..18 5.1 Der Lease-Time-Mechanismus ..………………………………………....……….18 5.2 Ablaufdiagramm ……………... …..…………………………………….………….19 6.DHCP Relays………………........................................................................................20 7. Zusammenfassung 8. Quellenangaben ..……………………....................................................................22

Page 3: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

3

1. Einführung TCP/IP (Transport Control Protocol) ist weltweit das bevorzugte Netzwerkprotokoll, der Einsatz von TCP/IP im LAN (Local Area Network) verschafft dann die Basis für das Intranet. Diese schafft eine effiziente Infrastruktur, damit Computer in einer Abteilung, einem Gebäude, oder innerhalb der ganzen Firma - schnell und kostengünstig - miteinander kommunizieren. Eine der mitunter notwendigen Prozeduren bei der Einrichtung von TCP/IP im LAN ist die Erteilung von IP-Adressen für Arbeitsplatz-PCs: Jeder Arbeitsplatz-PC muss eine eindeutige IP-Adresse bekommen. Der Netzwerkadministrator muss sich zu jedem PC begeben, um dort TCP/IP einzurichten und dabei eine für diesen Rechner gültige IP-Adresse festzulegen, die nicht doppelt vorkommen darf. Je mehr Hosts im Netzwerk vorhanden sind und je häufiger Änderungen auftreten, desto zeitaufwändiger wird es für die Administratoren. Außerdem ist es schwierig, den Überblick über sämtliche Hosts-Konfigurationen zu behalten. Aus diesem Grund werden wir das DHCP-Protokoll als Problemlösung für die Netzwerkadministration vorstellen. Das DHCP-Protokoll erleichtert die Arbeit von Netzwerkadministratoren: je größer das Netzwerk ist, umso größer ist der Nutzen. Ein DHCP-Server vergibt dynamisch IP-Adressen an seine Clients. Der Server verhindert die Vergabe gleicher Adressen an verschiedene Client-Rechner. Clients können immer wieder andere Adressen zugewiesen werden. DHCP kann Hosts, die in einem TCP/IP-Netzwerk gestartet werden, automatisch konfigurieren sowie Netzwerkeinstellungen während aktiven Hostverbindungen ändern. Hierzu gehören z.B.: IP-Adressen, Netzmasken, Broadcast-Adressen, DNS-Server-Adressen und das Standard-Gateways(Router). Anhand dieser Ausarbeitung werden wir die Funktionsweise und die Architektur des DHCP-Client-Server-Modells kennenlernen und die Vorteile zum vorgängigen BOOTP-Protokoll erläutern. DHCP ist eine offene und auf Standards basierende Technologie gemäß RFC [2131] und RFC [2132].

Page 4: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

4

2. IPv4 und IPv6 Zum grundlegenden Verständnis des DHCP-Protokolls ist es wichtig, die Struktur der IP-Adressen zu verstehen. Aus diesem Grund will ich kurz auf den Aufbau einer IP-Adresse sowie die Art der IP-Adressierung eingehen. 2.1 IPv4 Bei einer IPv4-Adresse handelt sich um einen 32-Bit-Wert. Diese 32 Bit werden in vier Gruppen von jeweils acht Bit unterteilt und demnach durch vier Byte unterteilt. Die vier Bytes werden jeweils in Dezimal-Notation dargestellt und durch einen Punkt voneinander getrennt. Eine IP-Adresse kann demnach beispielsweise 192.168.100.111 lauten. Diese Schreibweise wird „Dotted Decimal Notation“ (dezimale Punktnotation) genannt. Jede IP-Adresse weist zwei Bestandteile auf: Die Netzwerknummer sowie die Host-Nummer. Beispielsweise befinden sich ein Host mit der IP-Adresse 192.168.100.24 und ein anderer Host mit der IP-Adresse 192.168.100.153 im selben Netzwerk, nämlich (192.168.100) und können von daher ohne Einsatz von einem Router kommunizieren. Dem gegenüber gehören die Hosts mit den IP-Adressen 192.168.121.52 und 192.168.100.93 verschiedenen Netzwerken an, so dass ein so genannter IP-Router erforderlich ist, um die Kommunikation zwischen den beiden Netzwerken zu ermöglichen. Die ersten Bits einer IP-Adresse geben Auskunft darüber, wie sich die darauf folgenden Bits in Netzwerk- und Hostnummer aufteilen. In diesem Zusammenhang taucht der Begriff „Class“ (Klasse) auf. Die Class spezifiziert, welcher Kategorie von Netzwerknummern eine IP-Adresse angehört und somit ebenfalls, auf welche Weise die Aufteilung einer IP-Adresse in Netzwerk- und Hostnummer geschieht. Um Netzen verschiedener Größe gerecht werden zu können, gibt es mehrere Klassen, die in Abbildung 1 beschrieben werden: Klasse: Host-Adressbereich

Abbildung 1

Page 5: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

5

2.2 IPv6 Da in der Zukunft die IPv4-Adressen knapp werden, wurde ein neues Internet Protokoll IPv6 entwickelt. Bei IPv6 wird die Adresse auf einen 16-Byte-Block anwachsen. Daher werden die 128 Bit-Adressen in doppelgepunkteten Acht-Tupeln hexadezimaler Zahlen dargestellt und nicht mehr als Dezimal-Notation wie bei der IPv4 . So ist z.B. die IPv6-Adresse in Dezimal-Notation: 7180.37124.0.39599.9956.244.627.19272 als:

1C0C:9104:0000:9AAF:26E4:00F4:0273:4B48 in Hexadezimal-Notation dargestellt. Falls eine Reihe von Nullen der Hexadezimalzahlen aufeinander folgt, werden die führende Nullen weggelassen und einmalig durch zwei Doppelpunkte ersetzt „:: “, was auch als Zero Compression (Null Kompression) bekannt ist. So wird z.B. die IPv6-Adresse:

1C0C:9104:0000:0000:0000:0000:0000: 4B48 Zu: 1C0C:9104::4B48 abgekürzt. Wir beschränken uns noch auf IPv4, das aktuell verwendete IP-Protokoll. 2.3 Arten der Zuteilung von IP-Adressen

Durch drei Verfahrensweisen können IP-Adressen an den Client zugeteilt werden:

2.3.1 Statische Zuordnung Der Netzwerkadministrator behält die Kontrolle über die Vergabe der IP-Adressen an Clients, die er selbst an die Clients zuordnet. So sollte bspw. ein Server immer unter ein und derselben Adresse zu erreichen sein. 2.3.2 Automatische Zuordnung Der DHCP-Server hält einen Pool von IP-Adressen, aus dem er einem DHCP-Client eine freie Adresse zuweist. Der DHCP-Client erhält die Adresse für unbegrenzte Zeit.

Page 6: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

6

2.3.3 Dynamische Zuordnung Eine wesentliche Neuerung in DHCP ist das Konzept des IP-Adress-Leasings [Kapitel 5. Leasen und Lease-Time], d.h. die dynamische Vergabe von IP-Adressen an DHCP-Clients für bestimmte Zeit, wie bei der automatischen Zuordnung, wobei der DHCP-Client die Adresse nur für einen bestimmten Zeitraum verwenden darf. Der DHCP-Client kann in einem solchen Fall versuchen, eine Verlängerung anzufordern, wobei weder die Verlängerung noch die erneute Zuordnung derselben IP-Adresse gesichert ist. Nach Ablauf der Lease-Zeit wird dem DHCP-Client die Adresse entzogen.

Page 7: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

7

3. Bootmechanismen 3.1 BOOTP Das BOOTP-Protokoll (Bootstrap Protocol) ermöglicht die dynamische Zuweisung von IP-Adressen für Diskless-Workstations (Arbeitsstationen ohne Datenträger). Dadurch erhalten diese Arbeitsstationen die notwendige Konfigurationsparametern, die für den Anschluß im Netzwerk benötigt waren. Beim BOOTP-Protokoll wird nur ein einzelnes Paket zwischen dem BOOTP-Client und dem BOOTP-Server getauscht. Ein BOOTP-Client sendet einen BOOTREQUEST (Anfrage) als Broadcast-Nachricht (= eine Rundsendung an alle Rechner die sich im gleichen Subnetz befinden, wobei die Broadcast-Adresse genau wie die Adresse des Subnetz aussieht, jedoch „255“ als Hostnummer hat) an einen BOOTP-Server, der sich im gleichen Subnetz befindet. Dabei schließt er seine MAC-Adresse mit ein. Der BOOTP-Server empfängt die Broadcast-Nachricht und antwortet mit einem BOOTREPLY auf die Anfrage des BOOTP-Clienten, indem er diesem eine IP-Adresse und andere Konfigurationsparameter, so genannte „vendor-specific-data“ mitteilt. BOOTP und DHCP verwenden nahezu identische Anforderungsmeldungen (von den Clients) und Antwortmeldungen (von den Servern), deshalb werden wir hier nicht detailliert erklären, wie die Arten und Inhalt von Nachrichten des BOOTP´s aufgebaut sind. BOOTP wird in den RFC [951]und RFC [1084] beschrieben. 3.2 DHCP Mit der Entwicklung von mobilen Systemen wie Systemen mit drahtloser Übertragung (WLAN) ergab sich das Problem, dass BOOTP Konfigurationsinformationen nur statisch zuzuordnen erlaubte. Außerdem mußte bei dem BOOTP-Protokoll der Netzwerkadministrator für jeden Host die Konfigurationsinformationen einzeln in einer Konfigurationsdatei des BOOTP-Server ablegen, was es unmöglich machte, einzelne Rechner dynamisch mit einer Konfiguration zu versorgen. Als Lösung für dieses Problem wurde das BOOTP-Protokoll erweitert. Die kompletten Konfigurationsinformationen sind in einem DHCP-Paket untergebracht. Die Werte in diesem Teil des Paketes werden unter DHCP als Optionen bezeichnet [Kapitel 4.3 DHCP-Optionen]. Um alle diese Konfigurationsinformationen unterbringen zu können, wurde das Feld für die Optionen von den ursprünglichen 64 Bytes von BOOTP-Protokoll auf 312 Bytes erweitert.

Page 8: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

8

Noch andere Probleme bekam man mit BOOTP vor allem dann, wenn weniger freie IP-Adressen vorhanden waren, da viele Rechner in unterschiedlichen Netzen eingesetzt werden sollten, aber nie alle zum Einsatz kamen. Die zugewiesenen IP-Adressen könnten nicht wiedergewonnen werden. Als Lösung für dieses Problem, anstatt den Clients IP-Adressen auf Dauer erteilen, least der DHCP-Server IP-Adressen aus seinem freien Bereich. Der sich daraus ergebende DHCP-Lease besitzt eine bestimmte Gültigkeitsdauer, die nach deren Ablaufszeit in den freien Bereich des DHCP-Server zurückfließt. [Kapitel 5. Leasen und Lease-Time]. DHCP ist nicht nur ein Update, sondern eine Erweiterung des BOOTP-Protokolls. Dabei wurde auf die Kompatibilität zu der älteren Version geachtet. Es erweitert BOOTP in den folgenden Punkten:

• DHCP erweitert das BOOTP-Protokoll, indem es Hosts mit zusätzlichen Konfigurationsinformationen versorgt (IP-Adressen, Standard-Gateways, Domainnamen, Subnetzmasken, DNS-Servern und WINS-Adressen etc).

• DHCP erlaubt die automatische und dynamische Vergabe von IP-Adressen. Wenn nun ein Rechner, der so genannte DHCP-Client, in das Netz eintritt, nimmt er mit dem DHCP-Server Kontakt auf. Der DHCP-Server wählt eine seiner freien IP-Adressen aus und vermittelt sie dem neuen Rechner. Wie das alles funktioniert werden wir im [Kapitel 4. Funktionsweise eines DHCP’s] erklären.

DHCP benutzt UDP (User Datagram Protocol), um über Port 67 und Port 68 seine Nachrichten zwischen Client und Server austauschen.

Page 9: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

9

4.0 Funktionsweise von DHCP 4.1 DHCP Client-Server Modell

Abb. 2 DHCP Client-Server-Modell

Das DHCP-Client-Server Modell, welches in Abbildung 2 dargestellt ist, arbeitet nach folgendem Verfahren: DHCPDISCOVER Beim Start des DHCP-Clients schickt dieser eine Broadcast-Nachricht vom Typ DHCPDISCOVER (Discover: entdecken) in sein lokales Subnetz, um herauszufinden, ob DHCP-Server verfügbar sind. Beim ersten Mal schließt er dabei in seiner Anfrage die MAC-Adresse seines Netzwerkadapters mit ein, denn eine IP-Adresse besitzt der Rechner bisher nicht. Der DHCP-Client wartet auf Konfigurationsangebote in Form von DHCPOFFER-Nachrichten eines DHCP-Servers. DHCPOFFER Alle DHCP-Server, die sich im lokalen Subnetz befinden, antworten per Broadcast mit einem DHCPOFFER(Offer: anbieten) auf die Anfrage. Die Antwort wird dabei mitsamt der IP-Adresse des DHCP-Servers an eine Broadcast-Adresse (normalerweise: 255.255.255.255) an den Client zurückgeschickt.

Page 10: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

10

DHCPREQUEST Sobald sich der DHCP-Client für ein Konfigurationsangebot entschieden hat, schickt er eine DHCPREQUEST-Nachricht (Request: Anfrage) an alle Server, wählt einen DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr Angebot ablehnt. Diese Nachricht enthält einen Server-Identifier, der die Bezeichnung desjenigen DHCP-Servers enthält, dessen Konfigurationsparameter der Client ausgewählt hat. DHCPACK Der ausgewählte Server reagiert darauf mit einem DHCPACK und bestätigt damit die ursprünglich angebotenen Parameter. An diesem Punkt ist die Adressenzuteilung abgeschlossen. Der Client ist von diesem Zeitpunkt an in der Lage, TCP/IP-Pakete von anderen Rechnern zu empfangen und auch selbst Pakete zu versenden. DHCPNAK Dem Client kann eine negative Bestätigung(DHCPNAK) zurückgeschickt werden- etwa in dem Fall, dass die vom DHCP-Client zuletzt verwendete IP-Adresse inzwischen einem anderen Client zugeteilt ist oder weil die Gültigkeit der IP-Adresse abgelaufen ist. DHCPDECLINE Stellt der DHCP-Client fest, dass es mit der vom DHCP-Server zugewiesenen IP-Adresse Probleme gibt, schickt er dem DHCP-Server eine Ablehnung. Der Vorgang der Zuteilung einer IP-Adresse beginnt erneut mit einem DHCPDISCOVER. DHCPRELEASE Beendet der DHCP-Client seine Arbeit, bevor die Gültigkeitsdauer der von DHCP-Server zugewiesenen IP-Adresse abläuft, kann er die IP-Adresse frei - und folglich an den DHCP-Server zurückgeben. DHCPINFORM Der DHCP-Client kann mit der DHCPINFORM-Nachricht um eine lokale Konfigurationseinstellung bitten, wobei der Client bereits eine manuell konfigurierte IP-Adresse besitzt. Eine detaillierte Darstellung zum Ablauf wird in Abbildung 3 verdeutlicht.

Page 11: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

11

Abb. 3 Zeitlicher Ablauf eines DHCP Client/Server Diagramm

Page 12: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

12

4.2 Arten von DHCP-Nachrichten Zum besseren Verständnis von DHCP ist es hilfreich, sich das Format von DHCP-Nachrichten anzusehen.

Tabelle 2

op Dieses Feld legt fest, ob es sich um eine Anfrage oder Antwort handelt. 1 steht für die Anfragen, 2 steht für die Antworten. htype Über dieses Feld wird der Hardware-Typ festgelegt. Der Netztyp 1 steht beispielsweise für Ethernet (10 Mbit/s). Andere Netztypen können in der Tabelle 3 entnommen werden. Netztyp 1 2 3 4 5 6

Beschreibung Ethernet (10 Mbit/s) Experiment-Ethernet (3Mbit/s) Amateur Radio X.25 Proteon Token Ring Chaos-Netz ARCnet

Tabelle 3

op (1 Byte) htype (1 Byte) hlen (1 Byte) hops (1 Byte) Xid(4 Byte) :Transaktions-ID

secs (2 Byte) : Sekunden flags (2 Byte) Ciaddr (4 Byte) : Client-IP-Adresse

yiaddr (4 Byte) : meine (client) IP-Adresse Siaddr (4 Byte) : Server-IP-Adresse

giaddr (4 Byte): Gateway (Relay - Agent)-IP-Adresse chaddr(16 Byte) : Client-Hardware-Adresse

sname(64 Byte) : Optionaler Server-Host-Name file (128 Byte) : Boot-Datei-Name

Options (min. 312 Byte) :Optionale Parameter-Felder

Page 13: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

13

hlen (Hardware-Adress length) Hierbei handelt sich um die Länge der Hardware-Adresse. Beispielsweise 6 Bytes für Ethernet Netztypen. hops Wird von einem DHCP-Client auf 0 gesetzt. Ein Relay-Agent [Kapitel 6. DHCP Relay] kann DHCP-Anfragen an einen DHCP-Server weiterleiten, der sich in einem anderen Subnetz befindet und diesen Wert um eins erhöhen. xid (Transaktions-Id) Diese Nummer legt der DHCP-Client zufällig fest. Von da ab dient die Transaktions-ID sowohl dem DHCP-Client als auch dem DHCP-Server, um Nachrichten und Antworten eindeutig einem Client bzw. Server zuordnen zu können. secs (seconds) Der DHCP-Client gibt in diesem Feld die Zeit in Sekunden an, die seit dem Einsetzen des Zuteilungs – oder Erneuerungsprozesses für eine IP-Adresse vergangen ist. Der maximale Wert für secs beträgt 60 Sekunden. flags Das höchstwertige Bit dieses Feldes gibt an, ob die Kommunikation zwischen DHCP-Client und -Server per Broadcast oder Unicast stattfindet. ciaddr (Client-IP-Adresse) In diesem Feld trägt der DHCP-Client seine IP-Adresse ein. Besitzt er noch keine, wird 0.0.0.0 eingesetzt. yiaddr (Meine IP-Adresse) Der DHCP-Server trägt in diesem Feld die für den DHCP-Client vorgesehne IP- Adresse ein, falls ciaddr mit 0.0.0.0 belegt war. siaddr (Server-IP-Adresse) Hier trägt der DHCP-Server seine IP-Adresse ein, die bei der nächsten DHCP-Anfrage benutzt werden soll.

Page 14: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

14

giaddr (Gateway Adresse) In dieses Feld trägt ein Relay-Agent seine IP-Adresse ein, falls er die Anfrage eines DHCP-Clients an einen DHCP-Server weiterleitet, der sich in einem anderen Subnetz befindet. chaddr (Client-Hardware-Adresse) In diesem Feld kann der DHCP-Client einen Client-Identifier eintragen, wobei es sich beispielsweise um eine MAC-Adresse (Client-Hardware) oder seinen DNS-Namen handeln darf. sname (Server Host Name) Optional kann hier der Name des DHCP-Servers enthalten sein. file (Boot-Datei-Name) Dieses Feld kann den Namen einer Boot-Datei beinhalten. options Hier können optionale Parameter-Felder enthalten sein. Die ersten vier Bytes tragen immer den Wert 99.130.83.99; auch als „Magic Cookie“ bezeichnet. Die restlichen Bytes dieses Feldes werden als DHCP-Optionen bezeichnet. Zahlreiche vordefinierte DHCP-Optionen sind im RFC [2132] spezifiziert. 4.3 Optionen Das Feld „option“ einer DHCP-Nachricht kann zahlreiche Angaben enthalten, die der DHCP-Server an den DHCP-Client übermittelt. Bei diesen Informationen handelt es sich beispielsweise um die IP-Adresse von Router bzw. Standard-Gateway und DNS-Server. Die wichtigen DHCP-Optionen findet man in Tabelle 5 aufgelistet. Die Optionen mit den Nummern 0 bis 49 können sowohl für BOOTP als auch für DHCP verwendet werden. Die Optionen mit den Nummern 50 bis 61 finden ausschließlich in DHCP ihre Verwendung.

Page 15: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

15

Code Option Bedeutung 1 Subnet-Mask Vom DHCP-Client zu verwendende

Subnet-Mask 3 Router Liste von IP-Adressen von Standard-

Gateways 6 DNS-Server Liste von IP-Adressen von DNS-Servern 15 Domänenname Name der vom DHCP-Client zu

verwenden DNS-Domäne 28 Broadcast-Adresse Gibt die Broadcast-Adresse an, die im

Subnetz des Clients verwendet wird.

51 IP-Adresse Lease Time Gültigkeitsdauer der IP-Adresse 53 DHCP Nachrichten Typus Typ der DHCP Message:

1 für DHCPDiscover 2 für DHCPOFFER 3 für DHCPREQUEST 4 für DHCPDECLINE 5 für DHCPACK 6 für DHCPNACK 7 für DHCPRELEASE

54 Server Identifier Vom DHCP-Client benutzt, um anzuzeigen, von welchem Server er Lease akzeptiert.

56 Message Nachrichten 57 Maximum DHCP Message

Size Maximale Größe der DHCP-Nachricht

58 Erneuerungszeitraum (T1) Gibt den Zeitraum (in Sekunden) von der Adresszuweisung bis zu dem Zeitpunkt an, an dem der Erneuerungszustand des Clients beginnt.

59 DHCPDISCOVER-Paket

Neueinbindungszeitraum (T 2)

60 Class-identifier Ein für jeden DHCP-Client im Netz eindeutiger Bezeichner

61 Class-identifier Ein für jeden DHCP-Client im Netz eindeutiger Bezeichner

255 End Option

Tabelle 4

Page 16: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

16

4.4 Beispiel :DHCP-Konfigurationsphasen Das nachfolgende Bild zeigt ein Netz mit einem DHCP-Client, der mittels Konfigurationsparameter von den zwei DHCP-Servern (Server 1 und Server 2) seine IP-Adresse zugewiesen bekommt.

• Bei der Anforderungsphase schickt der DHCP-Client A ein Broadcast-Nachricht

von Typ DHCPDISCOVER an DHCP-Server 1 und DHCP-Server 2 wie folgt: DHCP-Client A op : 1 (Anfrage) htype : 1 (Ethernet) hlen : 6 (Ethernet) hops : 0 xid : 22022 (Zufallswert ermittelt durch den Client) secs : 0 flags : null ciaddr : 0.0.0.0 yiaddr : siaddr : giaddr : chaddr: 00-50-22-8B-F9-BD sname :

...

Page 17: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

17

• Die beiden DHCP-Server, die das Paket empfangen, antworten dem Client A mit einem DHCPOFFER mit folgenden Paketdaten: DHCP-Server1 DHCP-Server 2

op : 2 (Antwort) op : 2 (Antwort)

htype : 1 (Ethernet) htype : 1(Ethernet) hlen : 6 (Ethernet) hlen : 6 (Ethernet) hops : 0 hops : 0 xid : 22022 xid : 22022 secs : 1 secs : 2 flags : null flags : null sname : Server 1 sname : Server 2

siaddr : 192.168.100.1 siaddr : 192.168.100.100 yiaddr : 192.168.100.10 yiaddr : 192.168.100.110 chaddr : 00-50-22-8B-F9-BD chaddr : 00-50-22-8B-F9-BD Subnet Mask: 255.255.255.0 Subnet Mask: 255.255.255.0 … … • Mittels einer DHCPREQUEST-Nachricht antwortet der DHCP-Client dem DHCP-

Server 1 und teilt ihm mit, daß er die Konfigurationsparameter akzeptiert. DHCP-Client A op : 1 (Anfrage) htype : 1 (Ethernet) hlen : 6 (Ethernet) hops : 0 xid : 22022 secs : 0 flags : null ciaddr :192.168.100.10 yiaddr : siaddr : giaddr : chaddr: 00-50-22-8B-F9-BD sname :

...

Page 18: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

18

• Der DHCP-Server 1 bestätigt dem Clienten die angebotene Parameter mit einem

DHCPACK. An diesem Punkt ist die Adressenzuteilung abgeschlossen. DHCP-Server 1

op : 2 (Antwort) htype : 1 (Ethernet) hlen : 6 (Ethernet) hops : 0 xid : 22022 secs :0 flags : null sname : Server 1

siaddr : 192.168.100.1 yiaddr : 192.168.100.10 chaddr : 00-50-22-8B-F9-BD Subnet Mask: 255.255.255.0

lease Dauer: 72 Stunden …

Page 19: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

19

5. Leasen und Lease – Time 5.1 Der Lease-Time-Mechanismus Ein besonderes Konzept von DHCP wird mit Leases realisiert. Anstatt einem DHCP-Client eine IP-Adresse auf Dauer zu erteilen, least der DHCP-Server dem DHCP-Client eine IP-Adresse für eine bestimmte Zeit. Der sich daraus ergebende DHCP-Lease besitzt eine bestimmte Gültigkeitsdauer, die der DHCP-Server im Rahmen der DHCP-Optionen festlegt und an den DHCP-Client beim DHCPACK übertragen wird. Auf der anderen Seite verwaltet der DHCP-Client zwei Timer T1 und T2, die für den Ablauf des Lease-Time-Mechanismus verantwortlich sind. Die Werte für T1 und T2 werden vom DHCP-Server vorgegeben und haben folgende Werte:

T1 = 0.5 * Lease-Dauer

und T2 = 0.875 * Lease-Dauer

Nach Ablauf von T1 beginnt der DHCP-Client damit, seinen DHCP-Lease beim DHCP-Server durch einen DHCPREQUEST zu erneuern. Mit dem Senden dieser Nachricht verfolgt der Client die Absicht, seine ihm zugeteilte Lease-Dauer zu verlängern. Empfängt der Client innerhalb einer Zeitdauer, die kleiner als T2 ist, ein DHCPACK mit einer neuer Lease-Dauer, so geht er wieder in den alten Zustand über. Läuft der DHCP-Lease ab, ohne dass der DHCP-Client diesen hat erneuern können, schickt der Client an alle Server einen DHCPREQUEST, um eine neue IP-Adresse zu bekommen. Der Client muss dann alle Netwerkaktivitäten einstellen und die Initialisierungsprozedur erneut beginnen. Schickt der Client keinen DHCPREQUEST vor Ablauf der Lease-Dauer an den Server, so geht der DHCP-Server davon aus, dass der DHCP-Client nicht mehr aktiv ist. Die dem DHCP-Lease zugehörige IP-Adresse wird dem Bereich freier IP-Adressen wieder zugeführt und kann dann an einen anderen DHCP-Client vergeben werden, der um eine IP-Adresse beim DHCP-Server nachsucht. Das Ablaufdiagramm in Abbildung 5 stellt die Leaseerneuerung dar.

Page 20: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

20

5.2 Ablaufdiagramm

Abb. 5 DHCP Client-Server Ablaufdiagramm zur Erneuerung der Lease-Dauer

Page 21: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

21

6. DHCP Relays Bei einer genauen Betrachtung stürzt der aufmerksame Beobachter über das Broadcast-Verhalten von DHCP: DHCP ist zwingend auf Broadcasts angewiesen. Damit stellt sich die Frage, wie den DHCP-Client die korrekte IP-Adresse zugeordnet werden kann, wenn sich der DHCP-Server sowohl auch der DHCP-Client nicht im gleichen Subnetz befindet. Dieses Problem nimmt sich der DHCP-Relay-Agent an. Die Aufgabe eines Relay-Agents besteht darin, die von DHCP-Clients in dem lokalen Subnetz ausgesendeten Broadcasts aufzufangen und zielgerichtet an einen DHCP-Server, der sich in einem anderen Subnetz befindet, weiterzuleiten. Ein Relay-Agent leitet DHCP-Nachrichten, die über MAC-Adressen übermittelt werden, an andere Subnetze weiter. In Abbildung 6 wird gezeigt, wie Client C in Subnetz 2 einen DHCP-Address-Lease vom DHCP-Server in Subnetz 1 erhält.

Abb. 6 Adress-Lease von DHCP-Server über einen Router

Der DHCP-Client sendet per Broadcast eine DHCPDISCOVER-Nachricht. Dabei trägt der Relay-Agent die IP-Adresse des Subnetzes 2, in dem sich der DHCP-Client befindet, in das Feld giaddr ein. Anhand dieser Information weiß der DHCP-Server 1 aus Subnetz 1 nicht nur, dass seine Antwort zunächst an den Relay-Agent zu senden ist, sondern er kennt ebenfalls das Subnetz 2, indem sich der DHCP-Client befindet. Diese Information reicht aus, um dem DHCP-Client C eine neue IP-Adresse zuzuteilen. Der DHCP-Server 1 trägt die gewünschten Informationen in die vorhergesehenen Felder der DHCP-Nachricht ein. Die Antwort vom DHCP-Server 1 gelangt daraufhin zunächst zum Relay-Agent, der sie dann an den DHCP-Client C weiterleitet.

Page 22: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

22

7. Zusammenfassung Das DHCP-Protokoll ermöglicht den Clients wichtige Netzwerkkonfigurationsinformationen weiterzuleiten. Mit dessen Hilfe erfolgt die Netzwerkeinstellung des DHCP-Clienten automatisch beim Start. Die Netzwerkadministratoren profitieren davon, da sich diese Netwerkeinstellungen nicht nur auf die IP-Adresse beziehen, sondern auch auf DNS-Server, den Gateway, die Netzwerkmaske, die Domäne usw. Durch den Einsatz des DHCP-Protokolls bleibt es Netzwerkadministratoren erspart, sämtliche Computer manuell konfigurieren zu müssen. Dadurch wird der Verwaltungsaufwand reduziert. Das DHCP-Protokoll ermöglicht die sichere und zuverlässige Konfiguration in TCP/IP-Netzwerken und trägt darüber hinaus dazu bei, dass IP-Adressen-Konflikte vermieden werden und optimiert durch eine zentrale Verwaltung der Adressenzuordnung die Verwendung von IP-Adressen. Im Gegensatz zur manuellen Konfiguration, bei der die IP-Adresse für jeden Client separat festgelegt werden muss, bevor der Computer ins Netzwerk eingebunden werden kann, ermöglicht DHCP-Protokoll den Clienten den direkten Zugang ans Netzwerk.

Page 23: Dynamic Host Configuration Protocol (DHCP) · DHCP-Server aus (in der Regel den, der ihm als erster geantwortet hat) und informiert gleichzeitig die anderen darüber, dass er ihr

23

8. Quellenangaben

- Croft, Gilmore, “Boostrap Protocol (BootP)”, [RFC 951] - Droms, “Dynamic Host Configuration Protocol”, 1997, [RFC 2131]

- Droms, “DHCP Options and BOOTP Vendor Extensions”, 1997, [RFC2132]

- Rob Scrimger, Kelli Adam, “MCSE Training Guide: TCP/IP, Second Edition”, 1999, ISBN : 1-56205-920-3

- Matthew G. Naugle, “Illustrated TCP/IP” ,1998, ISBN: 0471196568 - Craig Hunt. , “TCP/IP Netzanbindung von PCs”, O’Reilly Verlag, 1996 - Andrew S. Tanenbaum, “Computer Netzwerke”, ISBN: 3-8272-9568-8