Administration Tools

Zwei Mechanismen helfen, Hosts automatisch eine IP-Adresse zu vergeben. BOOTP und DHCP sind zwei verschiedene Mechanismen, welche beide die automatische Vergabe von IP-Adressen an Hosts erlauben.

 

Bootstrap Protocol (BOOTP)

BOOTP definiert den Mechanismus, welcher es erlaubt, eine disklose Workstation in ein Netz zu setzen ohne vorherige Konfiguration und alle nötigen Infos (IP-Adress Parameter, Bootfile-Parameter) von einem BOOTP-Server zu erhalten.

RFC 951 definiert die Funktionsweise des BOOTP-Protokolls. BOOTP kann jede Art von Workstation mit einer IP-Adresse versehen, nicht nur die Rechner ohne eigene Disk. Der BOOTP-Server ist typischerweise ein UNIX-Host. Der BOOTP-Serverprozess benutzt den UDP-Port 67, während der BOOTP-Clientprozess den Port 68 benutzt.

Der BOOTP-Server benutzt ein Konfigurationsfile „bootptab“, welches den Server instruiert, auf welche Weise er dem Client eine Adresse vergeben soll. Das „bootptab“-File kann so aussehen:

bootptab file

Das folgende Bild zeigt die Struktur eines BOOTP-Pakets.

bootp paket

Die Felder haben die folgende Bedeutung:

  • op: Packet op Code / message type: 1=BOOTREQUEST 2=BOOTREPLY
  • htype: Hardware address type
  • hlen: Hardware address length
  • hops: Client sets to 0
  • xid: Transaction ID
  • secs: Vergangene Sekunden, seit der Bootprozess gestartet wurde
  • flags: Option flag
  • ciaddr: Client IP address
  • yiaddr: „Your“ (client) IP address
  • siaddr: Server IP address
  • giaddr: Gateway IP address
  • chaddr: Client hardware address
  • sname: Server host name
  • file: Boot file name
  • vend: Optional vendor-specific use

 

Wenn die Diskless-Workstation auf dem Netz eingeschaltet wird, sendet die Workstation einen BOOTP-Request wie folgt raus:

bootsequenz 1

Weil die Workstation die IP-Adresse des BOOTP-Servers nicht kennt, sendet sie einen limitierten Broadcast ins Netz. Die Workstation benutzt die IP-Adresse, welche an jeder Stelle das nullwertige Bit gesetzt hat, als Source-IP-Adresse im IP-Datagramm Header.

 

Die BOOTP-Struktur sieht kein Feld für die Information der Subnetzmaske vor. Es kann das „vend“-Feld für diesen Gebrauch verwendet werden.

Wenn die Workstation den obigen BOOTP-Reply erhält, kennt sie ihre neue IP-Adresse. Es ist nicht absolut sichergestellt, dass sie eine IP-Adresse bekommen hat, die noch nicht verwendet wird. Zu diesem Zweck sendet der Rechner drei ARP-Requests ins Netz, um zu sehen, ob ein Rechner die Verwendung der IP-Adresse 172.16.1.21 vermeldet. Ist dies nicht der Fall, verwendet die Workstation im dritten ARP-Request die Source-Adresse 172.16.1.21 anstelle von 0.0.0.0 und gibt die Benutzung der Adresse bekannt. Ist sichergestellt, das die Verwendung der Adresse Konsistent ist, leitet die Workstation ein TFTP-File Transfer des Bootfiles ein. Anschliessend startet der Rechner das erhaltene Bootfile und kommt auf diesem Weg in den Betriebszustand.

bootsequenz 2

 

Dynamic Host Configuration Protocol (DHCP)

DHCP kann benutzt werden, um einem Client in einem IP-Netz alle zum Betrieb notwendigen Parameter zur Verfügung zu stellen. DHCP kann auch dazu benutzt werden, um die Vergabe und das Management von IP-Adressen in einem autonomen System sicherzustellen.

Das folgende Bild zeigt die Struktur eines DHCP-Pakets.

dhcp configuration protocol

Ein Vergleich mit der BOOTP-Struktur zeigt, dass der Aufbau bis auf das letzte Feld identisch ist. Das „vend“-Feld in BOOTP wurde zum „options“-Feld in DHCP und mehr Bytes wurden diesem Feld zugewiesen (312 DHCP, 64 BOOTP). DHCP verwendet auf der Serverseite UDP-Port 67, während auf der Clientseite Port 68 verwendet wird. Dies sind die selben Nummern, wie sie BOOTP verwendet ! Wie ist das möglich ?

BOOTP ist ein Bestandteil von DHCP! Es ist ja nicht erlaubt, dass zwei verschiedene TCP/IP-Applikationen die gleichen Portnummern verwenden. BOOTP ist eine Untergruppe von DHCP.

Ein DHCP-Server vergibt eine Adresse unter einer der beiden folgenden Voraussetzungen:

  • Permanente Zuweisung; Der Server weist dem Client eine IP-Adresse für die exklusive Verwendung des Clients zu
  • Dynamische Zuweisung; Der Server weist dem Client eine Adresse zu, die der für eine bestimmte Zeit verwenden darf

 

Es ist auch möglich, einem DHCP-Server einen Pool von IP-Adressen zuzuweisen, die er an die Clients in einem Subnetz vergeben darf.