DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration...

22
DHCP Proseminar Kommunikationsprotokolle Lehrstuhl für Informatik 4 Prof. Dr. O. Spaniol Autor : Christoph Halmes Betreuer : M. Günes

Transcript of DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration...

Page 1: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

DHCPProseminar Kommunikationsprotokolle

Lehrstuhl für Informatik 4Prof. Dr. O. Spaniol

Autor : Christoph Halmes

Betreuer : M. Günes

Page 2: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

2 Proseminar 16.05.02

Inhaltsverzeichnis

1. KURZBESCHREIBUNG......................................................................................................3

2. KURZEINFÜHRUNG : IPV4 UND IPV6 ........................................................................42.1 IPV4...............................................................................................................................42.2 IPV6...............................................................................................................................7

3. MOTIVATION : WARUM DHCP? WELCHE PROBLEME LÖST MAN? ........73.1 SZENARIO : NETZWERKADMINISTRATION................................................................73.2 SZENARIO : PROVIDER.................................................................................................8

4. DHCP: ERSTE VORSTELLUNG......................................................................................9

5. BOTTOM - TOP - ANSATZ : DER DHCP - CLIENT ................................................95.1 INITIALISIERUNGSPHASE.............................................................................................95.2 ZUWEISUNG DER DATEN...........................................................................................10

6. TOP - DOWN - ANSATZ : DER DHCP - SERVER .................................................. 116.1 KONFIGURATIONSDATEN : IP - ADRESSEN.............................................................11

6.1.1 Statische Adresszuweisung ........................................................................... 116.1.2 Dynamische Adresszuweisung..................................................................... 12

6.2 KONFIGURATIONSDATEN : SONSTIGE PARAMETER..............................................126.3 BEISPIELKONFIGURATION.........................................................................................13

7. ABLAUFSCHEMA UND DIE DHCP - MESSAGES ................................................ 147.1 DHCPDISCOVER....................................................................................................147.2 DHCPOFFER ............................................................................................................147.3 DHCPREQUEST ......................................................................................................147.4 DHCPACK.................................................................................................................147.5 DHCPRELASE.........................................................................................................147.6 DHCPNACK .............................................................................................................157.7 DHCPDECLINE.......................................................................................................157.8 DHCPINFORM .........................................................................................................15

8. WAS IST EIN DHCP - RELAY? ..................................................................................... 17

9. LEASEN UND LEASE - TIME........................................................................................ 189.1 DER LEASE - TIME - MECHANISMUS.......................................................................189.2 ABLAUFDIAGRAMM...................................................................................................19

10. EIN DHCP - UDP - PAKET ............................................................................................ 2010.1 SCHEMATISCHE DARSTELLUNG............................................................................2010.1 ERLÄUTERUNG DER EINZELNEN FELDER.............................................................21

11. LITERATURVERZEICHNIS ........................................................................................ 22

Page 3: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

Proseminar DHCP

Proseminar 16.05.02 3

Dynamic Host Configuration Protocol

1. Kurzbeschreibung

Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen zu Problemen derNetzwerkadministration, bei denen sich die Frage nach einer effizienten Lösung stellt. Als Lösung dieser Probleme wird das DHCP-Protokoll vorgestellt. Hiervon wird die globale Architektur der DHCP - Server, DHCP-Relay und Clients in Netzen undSubnetzen beschrieben. Im einzelnen werden die Probleme, die ein DHCP - Client bei dem Empfang von Konfigurationsdaten hat, auf was der DHCP - Server bei Vergabe der Konfigurationen zu beachten hat, und wozu der DHCP-Relay dient, betrachtet. Der Aufbau eines einzelnen DHCP-UDP-Pakets wird anhand einer Schemazeichnungerläutert.

Page 4: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

4 Proseminar 16.05.02

2. Kurzeinführung : IPv4 und IPv6

2.1 IPv4

Um einen Rechner in einem Netzwerk adressieren zu können, braucht jeder Rechner eine eindeutige Adresse. Als Standard für die Übertragung von Daten in LAN’s und WAN’s hat sich das Protokoll TCP/IP durchgesetzt. TCP/IP steht für „Transmission Control Protocol“ und „Internet Protocol“. IP deckt den 3. (Vermittlungs-) und TCP den 4. (Transport-) Layer des Iso-7-Layermodells ab. Jeder Rechner im Netz erhält eine eindeutige Adresse, IP-Adresse genannt. Eine IP-Adresse ist 32 Bit lang, z.B.

11000000 10101000 00000000 00010100

Diese Form ist jedoch nicht gut handhabbar, deshalb wird normalerweise eineDezimaldarstellung in 4 Byte-Blöcken gewählt, für unser Beispiel wäre das

192.168.0.20

Der aus diesen IP-Adressen bestehende sog. Adressraum umfasst ca. 4 Milliarden potenzielle Adressen. Diese 4 Milliarden Adressen werfen zwei Probleme auf:

1. Einen Rechner in der Riesenmenge an Adressen zu finden, würde viel zu lange dauern. Daher hat man den Adressraum in Klassen, diese in Subnetze und in einige besondere Adressen unterteilt.Es gibt drei Klassen:

Class A: 1.x.x.x – 127.x.x.x (� 127.0.0.1 fällt z.B. raus)Class B: 128.x.x.x – 191.255.x.xClass C: 192.0.0.x – 223.255.255.x (� 192.168.0.x)

Der Unterschied zwischen den Klassen liegt in der Anzahl der verwendbaren Subnetze und Hosts. In einem Class A Netz hat man nur ein Subnetz, die restlichen Stellen können Rechner adressieren, in einem Class C Netz gibt es nur einen 4 –Byte-Block = 254 Rechner zu adressieren.

2. Da immer mehr IP - Adressen zum Ausbau des Internets gebraucht werden, sind 4 Milliarden Adressen zu wenig. Eine Lösung für dieses Problem stellt DHCP dar.

Jeder Rechner, der in einem gewissen Subnetz hängt, kann nur Rechner, die im selben Subnetz hängen, direkt erreichen. Will man nicht einen speziellen Rechner, sonder das ganze Subnetz ansprechen, wird eine sog. Broadcastadresse verwendet. EineBroadcastadresse sieht aus wie eine Adresse des Subnetzes, hat jedoch alsHostbezeichner den Wert 255 eingetragen.

Page 5: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

Proseminar DHCP

Proseminar 16.05.02 5

Beispiel: Eine Adresse des Subnetzes 192.168.0.x wäre 192.168.0.20Die Broadcastadresse für 192.168.0.x ist 192.168.0.255

Um festzustellen, welche IP-Adresse zum eigenen Subnetz oder zu einem anderengehört, braucht ein Rechner noch die Netmask. Diese ist in der Regel 255.255.255.0. Die Netmask wird per AND mit der eigenen IP-Adresse verknüpft und man erhält so zu jeder IP-Adresse das passende Subnetz.

iMa c

ID C

Unternehmens-LAN

Adressbereich192.168.0.0

192.168.0.40192.168.0.10 192.168.0.20

192.168.0.100192.168.0.50

WorkstationWorkstation

ServerWorkstation

Drucker

Fig. 1: IP - Adressen im LAN

Nun braucht man aber auch die Möglichkeit, Rechner, die nicht im eigenen Subnetz hängen, ansprechen zu können. Hierzu bedient man sich sog. Router, das sind Rechner oder extra Hardware, die über mehrere Netzwerkanschlüsse verfügen. DieNetzwerkanschlüsse sind für die verschiedenen Subnetze konfiguriert, und einespezielle Software sorgt dafür, dass die Datenpakete von einem zum anderen Subnetz geschickt werden. Manchmal werden Router auch Gateways genannt, da sie das „Tor“ zum nächsten Netz darstellen.

Page 6: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

6 Proseminar 16.05.02

C IS COSY STE MS

CI SC OSYS TEM S

10.0.50.0

Router/Gateway

Router/Gateway

192.168.0.0

189.90.3.0Class A

Class C

Class B

Fig. 2: Unterschiedliche Adressklassen in einem Netz

Bekanntlich adressiert man im Internet einzelne Rechner aber nicht mit ihrer IP-Adressesondern mit einem Namen, hinter dem die richtige IP-Adresse verborgen liegt. Diesen Dienst stellt ein sog. DNS (= Domain Name Server) zu Verfügung.

Beispiel: Man will die Website der RWTH-Aachen aufrufen. Im Browser gibt man die Adresse www.rwth-aachen.de ein. Der Rechner erfragt beim DNS-Server die IP-Adresse von www.rwth-aachen.de und erhält134.130.4.33. Zu dieser Adresse wird nun die Verbindung aufgebaut.

Page 7: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

Proseminar DHCP

Proseminar 16.05.02 7

WAN / InternetProviderKunde

Fig. 3: Verbindung vom Endkunden ins Internet

Fazit: Zum erfolgreichen Aufbau einer Verbindung von einem Rechner aus ins Internet oder in ein anderes Netzwerk sind folgende Konfigurationsdaten nötig:

1. Eigene IP - Adresse2. Netmask3. Router4. Nameserver

2.2 IPv6

IPv6 ist eine Weiterentwicklung von IPv4, die hauptsächlich das Problem der nicht ausreichenden Anzahl von Adressen lösen soll, und mit dessen Hilfe sich dieKonfiguration von Rechnern erheblich vereinfachen soll. Eine IPv6-Adresse ist 128 Bit lang und wird in 8 Blöcke von je 2 Byte in Hexadezimal aufgeschrieben. Die einzelnen Blöcke werden durch Doppelpunkte abgetrennt. Im Gegensatz zu IPv4 stellen bei IPv6 die ersten 2 Byte eine Art „Typ“ für die Adresse dar. Die verschiedenen Typen der Adressen bedeuten z.B. Broadcast auf alle DNS-Server. Hierzu sei aber auf den Vortrag „IP“ verwiesen.

3. Motivation : Warum DHCP? Welche Probleme löst man?

3.1 Szenario : Netzwerkadministration

In einem größeren Unternehmen muss ein Netzwerkadministrator fast ständig neue Rechner in sein Netzwerk aufnehmen oder ältere Betriebssystemeersetzen. Dies ist jedesmal mit der Konfiguration der Netzwerkumgebungverbunden, einem Rechner müssen seine IP-Adresse, ein Router, ein DNS-Server und eventuell noch mehr Parameter mitgeteilt werden. Jetzt kann es in laufendem Betrieb aber auch vorkommen, dass allen Rechnern z.B. aufgrund

Page 8: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

8 Proseminar 16.05.02

eines Providerwechsels ein neuer Nameserver und ein neuer Router mitgeteilt werden müssen.

� Wie kann man diese Aufgaben effizient erledigen?

Findet in dem Unternehmen z.B. eine Konferenz statt, zu der die Teilnehmer mit ihrem Laptop anreisen und ins Unternehmens-LAN eingeklinkt werden müssen, stellt sich die Frage, wie man 1. temporär IP-Adressen vergeben kann, denn die Adressen brauchen nicht für

die nächste Konferenz erhalten bleiben.2. die Inhouse-Konfiguration ohne viel Aufwand an die Clients verteilen kann.

Verkauft ein Unternehmen Serviceleistungen an Kunden, die mit einemVororteinsatz eines Servicetechnikers verbunden sind, kann es sein, das der Techniker vom Laptop aus einen Zugang ins Firmennetz braucht. Hierfür benötigt sein Laptop auch wieder eine gültige IP-Adresse des Unternehmens-LAN’s. Natürlich besteht die Möglichkeit, jedem Rechner, also auch demLaptop, eine feste IP -Adresse zuzuweisen. Dies würde jedoch bedeuten, dassauf einen Mitarbeiter immer mehrere Adressen entfallen, wovon er jedoch nur immer eine gleichzeitig nutzen kann. Also stellt sich auch hier wieder die Frage nach einer einfachen und adressensparenden Realisationsmöglichkeit.

3.2 Szenario : Provider

Ein Provider (z.B. die RWTH) will seinen Kunden Einwahlzugänge zur Verfügung stellen. Dazu benötigt die RWTH IP-Adressen, um sie den Kunden als IP-Adresse für ihre Rechner zu Verfügung zu stellen. Um die Dienste des Providers nutzen zu können, brauchen die Kunden noch mehr Informationen, die schon oben erwähnten Konfigurationsparameter. Da die IP-Adressen nicht frei zu haben und sehr teuer sind, versucht der Provider natürlich mit möglichst wenigen Adressen auszukommen. Da nicht immer alle Kunden gleichzeitig eingewählt sind, ist es auf keinen Fall sinnvoll, die Adressen statisch (d.h. jedem Kunden eine Adresse) zu vergeben. Man ist vielmehr bemüht, mit einer Adresse möglichst viele Kunden zu versorgen.

Auch hier stellt sich wieder die Frage nach einem effektiven System der IP-Adressen und Informationsverteilung.

Page 9: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

Proseminar DHCP

Proseminar 16.05.02 9

4. DHCP: Erste Vorstellung

Nehmen wir einmal das Beispiel unseres Firmen-LAN’s: Aufgrund der Gegebenheiten des Beispiels entscheidet sich die Firma für die Installation eines DHCP - Servers.DHCP steht als Abkürzung für „Dynamic Host Configuration Protocol“ und ist ein offener Standard, der im RFC („Request for Comments“) 2131 festgehalten ist. Der RFC definiert ein System von Servern und Clients, das in einem auf TCP/IPbasierenden Netzwerk den Austausch von Konfigurationsinformationen ermöglicht. Was als Konfigurationsdaten übertragen wird, ist weitgehend offen gelassen worden, es gehört jedoch mindestens die IP-Adresse für den Client dazu. Zusätzlich haben sichnoch einige „Standardinformationen“ entwickelt, wie z.B. das Standardgateway(Router), DNS-Server, in Windowsnetzen der WINS-Server etc. Betrachten wirzunächst den Client des DHCP-Systems.

5. Bottom - Top - Ansatz : Der DHCP - Client

Ein Rechner gilt als DHCP - Client, wenn er a) bei der Installation derBetriebssystemsoftware die IP-Adresse auf 0.0.0.0 gesetzt bekommen hat, oder b) eine spezifische Option in den Netzwerkeigenschaften eingeschaltet worden ist. Ganz ohne Softwareunterstützung geht der Austausch der Daten natürlich nicht, denn auf der Clientseite müssen die Protokolldaten interpretiert und ggf. darauf reagiert werden. Fast alle gängigen Betriebssysteme bringen heute standardmäßig einen DHCP - Client im Kernel (Windows, div. Unix) oder als Modul (div. Linux) mit.

Gehen wir davon aus, dass der Rechner gerade gestartet wurde. Der Kernel des Betriebssystems wird geladen, ebenso die Netzwerkmodule und/oder Treiber. DerRechner stellt fest, dass ihm keine feste IP -Adresse zugeteilt wurde, erkennt aufgrund der Konfiguration aus dem vorrangegangenem Absatz, dass er ein DHCP - Client ist.

5.1 Initialisierungsphase

Der Client sendet ein Signal, das „DHCPDISCOVER“, per Broadcast in sein lokales Subnetz. Broadcasten muss er, weil er weder selber eine IP hat noch die IP eines DHCP- Servers kennt. Sind in dem Subnetz jetzt ein oder mehrere DHCP - Server, so senden alle auf die „DHCPDISCOVER“-Nachricht ein „DHCPOFFER“, d.h. heißt sie sagen dem Client: Hier gibt es einen DHCP - Server, von dem du Dienste beziehen kannst. Sind in einem Subnetz mehrere DHCP - Server vorhanden, was z.B. aus Gründen der Ausfallsicherheit durchaus sein kann, kommen natürlich bei dem Client mehrere„DHCPOFFER“ an. Im RFC2131 ist nur gesagt, dass der Client einen Server auswählt, jedoch ist offen nach welchem Kriterium. Das ist den Programmierern von DHCP -

Page 10: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

10 Proseminar 16.05.02

Clients selbst überlassen, in fast allen gängigen Implementationen wird einfach der „DHCPOFFER“ genommen, der beim Client ankommt, kommen mehrere gleichzeitigan, wird einer per Zufallsgenerator ausgewählt. Hat der Client sich einmal für einen DHCP - Server entschlossen, sendet er per Broadcast ein „DHCPREQUEST“ ins Subnetz. Dieses Paket enthält als Zieladresse den gewünschten DHCP - Server, alle anderen, an denen das Paket vorbeikommt, interpretieren es als Ablehnung ihres„DHCPOFFER“’s.

5.2 Zuweisung der Daten

Der Client hat sich nun einen Server ausgesucht. Dieser bestätigt nocheinmal mit DHCPACK, dass der Client die ihm zugewiesene IP - Adresse behalten darf. Der Server markiert sie in seiner internen Datenbank als „in Benutzung“ und sendet die restlichen Konfigurationsparameter wie Router - Adresse, Nameserveradresse, Zeitserver undeventuell andere spezifische Daten in einem weiteren Datenpaket an den Client. Jetzt braucht der Client für einen reibungslosen Netzbetrieb diese Daten nur noch in seinem Netzwerkinterface einzutragen.

Page 11: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

Proseminar DHCP

Proseminar 16.05.02 11

6. Top - Down - Ansatz : Der DHCP - Server

Betrachten wir nun einmal die Serverseite.

Ein DHCP - Server ist ein Server oder auch eine Workstation, auf der ein Softwarepaket „DHCP - Server“ installiert ist. Dieser Server braucht in den Adressraum des Subnetzes, in dem er hängt, keine spezielle IP - Adresse oder ähnliches, da der erste Teil der Initialisierung mit dem Client über das Protokoll UPD, also Broadcast abläuft, somit quasi „öffentlich“ geführt wird.

Als elementare Frage wirft sich natürlich auf, woher ein Server, wenn erKonfigurationsdaten verteilen soll, diese nimmt. Diese Frage ist nur teilweise einfach zu beantworten.

6.1 Konfigurationsdaten : IP - Adressen

Es gibt zwei Möglichkeiten, einem Server mitzuteilen, welche IP - Adressen er wie vergeben darf:

6.1.1 Statische Adresszuweisung

Für kleine Netze reicht es auch, dem Server ein festes Mapping, also eineZuweisungstabelle zu erstellen. Sie enthält Einträge der Art

00-03-ba-04-b0-f5 � 192.168.0.10…

„00-03-ba-04-b0-f5“ ist eine MAC - Adresse, eine Hardwareadresse der Netzwerkkarte.Der Server kann sie aus einem Datenpaket des Clients auslesen und somit feststellen, welcher Client seine IP - Adresse haben will, guckt in der Zuweisungstabelle nach und verschickt die entsprechende Adresse an den Client.

Für kleine LAN’s ist diese Methode durchaus sinnvoll, sie funktioniert jedoch nur ,wenn auch alle MAC - Adressen der Rechner bekannt sind.

Ein wichtiger Vorteil ist, dass bei diesem Verfahren jeder Client immer dieselbe IP -Adresse erhält, was bei der Konfiguration von Firewalls und Routern eine wichtige Rolle spielen kann.

Page 12: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

12 Proseminar 16.05.02

6.1.2 Dynamische Adresszuweisung

Verfügt man nicht über alle MAC - Adressen, wie in unserem Beispiel ein Provider, so kann man die Adressen dynamisch zuweisen lassen. Das bedeutet dass man dem Server mitteilt, dass er eine Adresse für einen Client selbstständig aus einem Adressbereichheraussucht. Gibt man z.B. an, dass der Server die Adressen von 134.130.4.0 bis 134.130.4.254 nutzen darf, so sucht er eine freie IP mittels „Ping“ und einem Blick in seine Statusdatenbank heraus und schickt sie dem Client. In dem vom Serververwendeten Adresse gibt es einige Einschränkungen, die Adressen von vorneherein ausklammern. Es gibt keinen Sinn, den DHCP - Server selber Web-, Mail -, DNS -Server per DHCP Adressen zuweisen zu lassen, das diese in der Konfiguration des DHCP - Server fest eingetragen sind. Damit der Server auf der Suche nach einer unbenutzten IP - Adresse nicht immer auch diese Adressen ausprobiert kann man sie von vorne herein sperren, in dem man sie auf eine Ausschlussliste schreibt.

Der Vorteil liegt bei dieser Art der Adresszuweisung eindeutig darin, dass man außerdem Einstellen des Adresspools keinen Administrationsaufwand hat.

Eventuell kann es aber nachteilig sein, wenn die Clients nicht immer dieselbe IP -Adresse erhalten.

Welche der Adresszuweisungsarten man letztendlich bei der Konzipierung eines DHCP- Servers wählt, hängt im wesentlichen von der Anforderung der Clients ab.

6.2 Konfigurationsdaten : Sonstige Parameter

Da ein DHCP-Server Clients ausser ihren IP - Adressen auch noch weitereKonfigurationsparameter mitgeben kann, braucht der Server eine Wissensbasis, aus der er wiederum die Parameter entnehmen kann. Als Wissensbasis dient dieKonfigurationsdatei des DHCP - Servers, die alle relevanten Einträge enthält, z.B.Nameserver, Router etc.

Stellt der Server ein DHCPOFFER - Paket zusammen, so lie st er die Informationen aus, und füllt sie in die entsprechenden Felder des Datenpaketes.

Page 13: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

Proseminar DHCP

Proseminar 16.05.02 13

6.3 Beispielkonfiguration

Im Folgenden wird eine Konfiguration eines DHCP - Servers mit festerAdresszuweisung gezeigt.

/etc/dhcpd.conf

# dhcpd.conf## configuration file for dhcpd#

option domain-name "my-net.org";option domain-name-servers 134.130.4.3, 134.130.4.7,134.130.4.20, 212.117.67.2, 212.117.64.86, 192.109.159.1;option subnet-mask 255.255.255.0;option broadcast-address 134.130.4.255;option routers defrouter.my-net.org;option netbios-name-servers 134.130.4.20;default-lease-time 72000;max-lease-time 86400;

deny unknown-clients;

subnet 134.130.4.0 netmask 255.255.255.0 {# range 134.130.4.252 134.130.4.254;}

# Fixed IP addresses can also be specified for hosts.These addresses# should not also be listed as being available for dynamic assignment.# Hosts for which fixed IP addresses have been specified can boot using# BOOTP or DHCP. Hosts for which no fixed address isspecified can only# be booted with DHCP, unless there is an address range on the subnet# to which a BOOTP client is connected which has thedynamic-bootp flag# set.

host myclient { hardware ethernet 00:A0:24:4D:04:40; fixed-address myclient.my-net.org;}

Page 14: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

14 Proseminar 16.05.02

7. Ablaufschema und die DHCP - Messages

In diesem Kapitel wird der Ablauf der Kommunikation zwischen Client und Server graphisch dargestellt, sowie die Bedeutung der einzelnen DHCP - Messages aufgeführt

7.1 DHCPDISCOVER

Diese Message wird von einem Client als UDP - Broadcast ins lokale Subnetz gesendet, um einen DHCP - Server zu finden. Als Absender - IP wird 0.0.0.0, als Ziel - IP255.255.255.255 verwendet.

7.2 DHCPOFFER

Diese Message ist die Antwort eines DHCP - Servers auf ein DHCPDISCOVER, der Server bietet dem Client eine IP - Adresse weiter Parameter an. Besonderheit ist, dassdas Packet auch per UDP versendet wird und als Ziel- IP 255.255.255.255 hat.

7.3 DHCPREQUEST

Mit dieser Message wählt der DHCP - Client einen DHCP - Server aus und alle anderen Server erhalten dadurch implizit eine Absage. Hat ein Client schon eine Konfiguration erhalten, so kann er mit dieser Meldung seine Gültigkeit verlängern.

7.4 DHCPACK

Diese Meldung sendet ein DHCP - Server nach dem Erhalten von DHCPREQUEST an den Client, um seine Konfiguration zu bestätigen.

7.5 DHCPRELASE

Mit dieser Meldung gibt der Client dem Server bekannt, dass er sich abmeldet und seine IP wieder freigegeben ist.

Page 15: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

Proseminar DHCP

Proseminar 16.05.02 15

7.6 DHCPNACK

Diese Meldung zeigt dem Client, dass die von ihm geforderte IP - Adresse ungültig (z.B. schon belegt) ist, oder das seine Lease Time abläuft.

7.7 DHCPDECLINE

Diese Meldung schickt der Client dem Server, wenn er feststellt, dass seine IP - Adresseschon gelegt ist.

7.8 DHCPINFORM

Mit dieser Meldung fordert der Client weitere Konfigurationsparameter vom Server an.

Page 16: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

16 Proseminar 16.05.02

Ablaufdiagramm

Server(nicht selekiert)

Server(selekiert)

Client

Zeit

Begin derInitialisierung

Sammelt Antworten

Sucht eine Konfigurationaus

BietetKonfiguration

an

BietetKonfiguration

an

DHCPDISCOVER DHCPDISCOVER

DHCPOFFER DHCPOFFER

DHCPREQUEST DHCPREQUEST

BestätigtKonfiugration

Initializationkomplett

Beendendes Clients

Freigebender

Resourcen

DHCPACK

DHCPRELEASE

...

Fig. 4: Ablauf der Kommunikation zwischen Client und Server

Page 17: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

Proseminar DHCP

Proseminar 16.05.02 17

8. Was ist ein DHCP - Relay?

In großen Netzen ist es die Regel, dass es mehrere Subnetz gibt. Oft werden pro Abteilung oder Niederlassung Subnetze eingerichtet, um den Datenverkehr besserkontrollieren zu können. Die Subnetze werden durch Router verbunden, damit die einzelnen Workstations und Server miteinander kommunizieren können.

Will man in dem Unternehmensnetz jetzt DHCP zur Konfiguration der Clientseinsetzen, stellt sich die Frage, ob es sinnvoll ist, in jedem Subnetz einen DHCP -Server einzurichten. Jeder Server mehr bedeutet mehr Aufwand beim Administrierendes Netzes und führt bei Ausfall zu erheblichen Einschränkungen im Netzbetrieb. Daher ist man daran interessiert, möglichst wenige, ausfallsichere Server zu betreiben.

Sieht man sich noch einmal an, wie der Client versucht, einen DHCP - Server zu finden, entdeckt man schnell das Problem: der Client kann nur in seinem eigenen Subnetz nach einem Server suchen. Man braucht also einen Rechner in jedem Subnetz, der die Anfragen der Clients aufnimmt, an das nächste Subnetz (oder direkt an den DHCP -Server) weitergibt, seine Antwort abwartet und diese wiederum ins eigene Subnetz zu dem Client schickt. Diese Aufgaben werden von einem DHCP - Relay übernommen. Ein DHCP - Relay, in der Praxis ein DHCP - Server ohne eigene Konfigurationsdaten,der nur die Adresse des „richtigen“ DHCP - Servers kennt. Die hier eingesetzte Technik entspricht der eines BOOTP - Relays.

Client B

DHCP - Relay

DHCP - ServerClient A

Subnetz A

Subnetz B

Fig. 5: DHCP - Relay zwischen zwei Netzen

Page 18: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

18 Proseminar 16.05.02

9. Leasen und Lease - Time

In diesem Kapitel wollen wir uns mit der Lease - Time eines DHCP - Clients befassen.

Ein DHCP - Client tritt an einen DHCP - Server heran und bezieht eine Konfigurationvon ihm. Jetzt ist es aber nicht sinnvoll, einem Client eine Konfiguration solange zu überlassen, bis er sich wieder abmeldet, denn es kann sein, dass sich der Client nie wieder abmelden kann, wenn er z.B. abgestürzt ist. Normalerweise kommt das nicht vor, aber einige Betriebsysteme sind nicht für einen Dauerbetrieb ausgelegt, andere können sich zwar selber beenden, der Mechanismus zum Abmelden vom DHCP -Server ist jedoch nicht implementiert.

Aus diesen Gründen hat man sich entschieden, jedem Client, der sich bei einem DHCP -Server anmeldet, die Konfiguration für einen bestimmten Zeitraum, der so genanntenLease - Time zu überlassen. Meldet sich der Client innerhalb der Lease - Time nicht wieder beim DHCP - Server, so wird seine IP - Adresse als „unbenutzt“ in derserverinternen Datenbank markiert und andere Clients können sie beziehen.

9.1 Der Lease - Time - Mechanismus

Beim Empfang der Konfiguration teilt der Server dem Client über DHCPACK mit, wie lange seine Konfiguration gültig ist. Der Client liest diese Zeit aus, und speichert sich zwei Zeitgeber: T1 = 50% der Lease - Time und T2 = 87,5% der Lease - Time. Diese Werte für T1 und T2 sind der Default, je nach Implementation des Client können sie variieren, T1 muss jedoch immer kleiner als T2 sein.

Ist die in T1 gespeicherte Zeit verstrichen, versucht der Client seine Konfiguration zu verlängern. Dazu schickt er eine DHCPREQUEST-Message an den Server, der ihm die Konfiguration zugewiesen hat. Der Server antwortet mit einer DHCPACK-Messages,die wiederum eine neue Lease - Time enthält, und T1 und T2 werden neu gesetzt. Dieser Vorgang wiederholt sich solange, bis der Client sich vom Server explizitabmeldet oder der Server aus irgendeinem Grund kein DHCPACK mehr schickt.

Schafft der Client es nicht, in der Zeit zwischen T1 und T2 (d.h. T2 wird überschritten) sich eine neue Lease - Time zu besorgen, so sendet der Client auch wieder eine DHCPREQUEST-Message, aber diesmal per Broadcast, so dass alle DHCP - Server in seinem Subnetz sie mitbekommen. Alle Server schauen nach, ob sie die Lease - Timeverlängern können und schicken eine DHCPACK - Message. Kann kein Server die Lease - Time verlängern, so schicken alle „DHCPDISCOVER“ um zu signalisieren, dass der Client von ihnen eine komplett neue Konfiguration beziehen kann.

Page 19: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

Proseminar DHCP

Proseminar 16.05.02 19

9.2 Ablaufdiagramm

Im Ablaufdiagramm sieht die Verlängerung der Lease - Time wie folgt aus:

Server ServerClient

Zeit

Beginn derInitialisierung

Entnimmt dem erstenDHCPACK die neue

Lease - Time

Sucht nachder

Konfigurationfür diesen

Client

DHCPACK

DHCPREQUEST DHCPREQUEST

WeitereDHCPACK

werdenverworfen

DHCPACK

Sucht nachder

Konfigurationfür diesen

Client

Fig. 6: Lease - Time - Erneuerung

Page 20: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

20 Proseminar 16.05.02

10. Ein DHCP - UDP - Paket

Nachdem wir einen Grossteil der Möglichkeiten und Funktionen von DHCP betrachtet haben, schauen wir uns zum Schluss ein DHCP - Message - Paket an. Eine DHCP -Message ist ein UPD - Paket, das für IPv4 typisch, 32 Bit = 4 Byte lang ist.

10.1 Schematische Darstellung

Die schematische Darstellung sieht wie folgt aus:

xid (4)

Byte 0 - 7

op (1)

24 - 3116 - 238 - 15

hops (1)hlen (1)htype (1)

secs (2) flags (2)

giaddr (4)

ciaddr (4)yiaddr (4)siaddr (4)

chaddr (16)sname (64)

file (128)options (var)

Die Zahl hinter den Bezeichnern der Felder gibt an, wie „lang“ (in Byte) sie sind.

Page 21: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

Proseminar DHCP

Proseminar 16.05.02 21

10.1 Erläuterung der einzelnen Felder

Die Bedeutung der Felder im „Klartext“:

op : Message Typ

htype : Hardwareadresstyp

hlen : Hardwareadressenlänge

hops : Anzahl der Sprünge über Relay’s

xid : Eine Zufallszahl, vom Client ausgewählt, die sich der Server nach dem ersten Datenpaket eines Clients merkt. An Hand dieser Zahl kann der Server immer eindeutig feststellen, von welchem Client das Datenpaket kommt. Dies ist wichtig, da zur selben Zeit mehrere Clients sich mit demselben Serverunterhalten können.

ciaddr : Die Client - IP - Adresse. Wird nur dann vom Client ausgefüllt, wenn er schon eine zugewiesen bekommen hat, z.B. wenn er versucht seine Lease zuverlängern.

yiaddr : „your“ (Client) IP - Adresse. Enthält die vom DHCP - Server für den Client zur Verfügung gestellte IP - Adresse

siaddr : Die Server - IP - Adresse.

giaddr : „Gateway“ - IP - Adresse. Enthält eventuell die Adresse eines DHCP - Relay’s

chaddr : „Client Hardwareadresse“. Enthält die MAC - Adresse des Clients

sname : Kann den Serverhostname enthalten, optionales Feld.

file : Boot file name

options : Ein Feld von variabler Länge. Hier werden vom Server die Informationen wie IP - Adresse des Routers etc. eingetragen.

Page 22: DHCP - nets.rwth-aachen.de · Proseminar DHCP Proseminar 16.05.02 3 Dynamic Host Configuration Protocol 1. Kurzbeschreibung Diese Ausarbeitung führt die Zuhörer an Hand von Beispielen

22 Proseminar 16.05.02

11. Literaturverzeichnis

Als Basis für diese Ausarbeitung dienten:

- RFC 2131 „Dynamic Host Configuration Protocol“, März 1997

- Ross Keith, Kames F. Kurose, "Computer networking: a top-down approach featuring the Internet"