Bootstrap-Protokoll: Alle Informationen zum Vorläufer von DHCP
Um in Netzwerken wie dem Internet miteinander zu kommunizieren, benötigen die teilnehmenden Systeme eine IP-Adresse. Grundsätzlich kann dies manuell vergeben werden; In der Praxis verbinden die meisten Geräte diese jedoch automatisch. Hierzu ist das DHCP- Kommunikationsprotokoll erforderlich , das verbindungssuchende Systeme beim Abrufen der erforderlichen Informationen unterstützt. In den Anfängen von Computern und Netzwerken übernahm das Boot-Protokoll, auch als BOOTP bekannt, die Rolle des Adressmanagers.
- Was ist BOOTP?
- So funktioniert der Austausch von Netzwerkinformationen mit BOOTP
- BOOTP vs. DHCP: Warum das Boot-Protokoll heute nicht mehr verwendet wird
Was ist BOOTP?
Im September 1985 veröffentlichte die Stanford University Network Group die erste Version des Boot Protocol (BOOTP) in RFC 951 . Dieses Kommunikationsprotokoll, das in Zusammenarbeit mit einem Team des Computerherstellers Sun Microsystems entwickelt wurde, ermöglichte erstmals, dass die Terminals und Workstations ohne eine zu diesem Zeitpunkt verwendete Festplatte zusätzlich zur IP-Adresse Informationen abrufen konnten B. die Gateway- Adresse , die Boot-Server-Adresse und das Boot-Dateiverzeichnis (erforderlich zum Laden des Betriebssystems). Es ersetzte das zuvor verwendete Reverse Address Resolution Protocol (RARP) , das auf die Bereitstellung von Netzwerkadressen beschränkt war und nur in Subnetzen verwendet werden konnte.
Das Bootstrap-Protokoll ist Teil der Internetprotokollfamilie und funktioniert wie viele andere Protokolle im Stapel mit dem Client-Server-Modell . Der Nachrichtenaustausch zur Übertragung von Netzwerkinformationen findet ebenfalls zwischen einem BOOTP-Client und dem BOOTP-Server statt . Das minimale verbindungslose Benutzerdatagrammprotokoll (Ports 67 und 68) ( UDP ) wurde als Protokoll für den Transport von Datenpaketen bereitgestellt . Im Vergleich zu TCP ist es nicht nur weniger komplex, sondern ermöglicht im Gegensatz zum Standardprotokoll für den Datentransport auch die Übertragung von Audio und Video in Echtzeit . Da der Client beim Herstellen der Verbindung weder seine eigene Adresse noch die des BOOTP-Servers kennt, ist diese Messaging-Methode, über die alle Netzwerkteilnehmer kontaktiert werden , die einzige Lösung, um die automatisch zu erhalten Adresse.
So funktioniert der Austausch von Netzwerkinformationen mit BOOTP
Die Adresszuweisung über BOOTP basiert auf einem einfachen zweistufigen Nachrichtenaustausch zwischen dem Client und dem Server, bei dem die Clientkomponente der Initiator ist . Da es zunächst weder seine eigene IP-Adresse noch die des BOOTP-Servers kennt, sendet es eine allgemeine Anfrage (“BOOTREQUEST”) an die Broadcast-Gruppenadresse 255.255.255.255 . Der Server, der den UDP-Port 67 überwacht, empfängt und verarbeitet die Anforderung, die hauptsächlich darin besteht, der MAC-Adresse des Client-Systems die richtige IP-Adresse zuzuweisen . Die Antwort (“BOOTREPLY”) wird dann zusammen mit zusätzlichen Netzwerkinformationen an den Client gesendet. Von diesem Moment an kann der Kunde das Betriebssystem über das Netzwerk verbinden.
Wenn der Client die BOOTP-Serveradresse bereits kennt, kann er die Anforderung direkt über eine Unicast-Verbindung an den BOOTP-Server senden.
Dies ist die Struktur der Nachrichten, die vom Client und vom Server während der Kommunikation über das Startprotokoll gesendet werden:
Jede BOOTP-Nachricht beginnt mit einem 8-Bit- Operationsfeld , das die Art der Operation oder Nachricht definiert . Für Anforderungen vom Client wird zu diesem Zeitpunkt der Wert 1 (für BOOTREQUEST) festgelegt, während die Serverantworten den Wert 2 (für BOOTREPLY) anzeigen. Es folgen 8 Bits, die den Typ (“htype”) sowie die Länge der Hardwareadresse (“hlen”) angeben. Das Feld “Hops”, ebenfalls 8 Bit, gibt die Anzahl der Zwischenstationen an , die das Paket auf seinem Weg zum Empfänger durchläuft. In Client-Anfragen ist der Wert immer 0.
Der nächste Block enthält eine vom Client generierte 32-Bit-zufällige Transaktionskennung , die auch in der Serverantwort verwendet wird, damit der Client sie eindeutig klassifizieren kann. Der Client füllt auch das Feld ” Zeit ” (16 Bit) aus, das die Sekunden angibt, die seit dem Startversuch des Clients vergangen sind . Das Ende der Einführungsinformationen bildet ein weiteres 16-Bit-Feld, das vollständig leer bleibt. Die folgenden Einträge im BOOTP-Paket entsprechen den tatsächlichen Netzwerkinformationen , die in der folgenden Liste enthalten sind :
- Client-IP-Adresse (ciaddr) : Die Bezeichnung “ciaddr” ( Client-IP-Adresse ) unterscheidet das 32-Bit-Feld, in das der Client seine eigene IP-Adresse eingibt, sofern er diese kennt. Ist dies nicht der Fall, enthält das Feld den Wert 0.
- Zugewiesene IP-Adresse (yiaddr) : Das Feld “yiaddr” ( Ihre IP-Adresse, Ihre IP-Adresse) ist auch für die IP-Adresse des Clients reserviert. Im Gegensatz zu dem oben erwähnten Paketabschnitt füllt der Server dieses 32-Bit-Feld, falls der Client seine IP-Adresse zum Zeitpunkt der Erstellung der Netzwerkanforderung nicht kennt.
- Server-IP-Adresse (siaddr) : In der 32-Bit-Sequenz “siaddr” ( Server-IP-Adresse ) teilt der BOOTP-Server seine eigene IP-Adresse mit dem Client.
- Router-IP-Adresse (giaddr) : Wenn im Kommunikationsprozess ein Gateway (z. B. ein Router) integriert ist, wird dessen Adresse in das Feld “giaddr” ( Gateway-IP-Adresse , Gateway-IP-Adresse) eingegeben . Verknüpfung).
- Client-Hardwareadresse (chaddr) : Die Hardwareadresse (128 Bit) ist eine der obligatorischen Daten des Clients während des Nachrichtenaustauschs. Ohne diese MAC-Adressen kann der Server die richtige Adresse und den entsprechenden Netzwerkparameter nicht zuweisen.
- Server-Hostname (Sname) : Optional kann der Server die BOOTP-Antwort auch in seinem Computernamen angeben. Hierzu steht ein Feld mit bis zu 512 Bit zur Verfügung, in das Sie eine Zeichenfolge eingeben können, die mit Null endet (Null gibt das Ende der Zeichenfolge an).
- Name der Startdatei (Datei) – Optional können Sie auch eine bestimmte Startdatei angeben, die der Client zum Starten des Betriebssystems auf dem Terminal oder der Workstation benötigt. Dieses Feld enthält auch eine nullterminierte Zeichenfolge, die in diesem Fall den vollständigen Verzeichnispfad der Datei wiedergibt. Die Zeichenfolge kann bis zu 1024 Bit lang sein. In der Clientanforderung wird entweder der Wert 0 oder ein generischer Name angezeigt.
- Herstellerspezifische Informationen (Vend) – Herstellerspezifische Informationen, die nicht im Protokoll enthalten sind, markieren das Ende der Nachricht. Dies können beispielsweise Informationen zu Hardwaretypen oder Seriennummern sein. Zusätzlich können diese 512-Bit-Informationsdaten für einen dritten Startprozess oder Betriebsprozess reserviert werden.
Im Allgemeinen können BOOTP-Nachrichten auch bis zu 2400 Bit (300 Byte) lang sein. Das vollständige UDP / IP-Datagramm, einschließlich der integrierten Bootstrap-Protokollanforderungen und -antworten, weist die folgende Konstruktion auf:
BOOTP vs. DHCP: Warum das Boot-Protokoll heute nicht mehr verwendet wird
Für Terminal-Clients und Workstations ohne Festplatte war BOOTP die perfekte Lösung, um eine IP-Adresse im Netzwerk zu erhalten und damit das Betriebssystem zu binden. Die Tatsache, dass die Adresszuweisung durch das Kommunikationsprotokoll gleichzeitig mit dem Startvorgang gelöst werden konnte, war praktisch und einfach für Desktop-Computer, die in Netzwerken mit überschaubareren Größen eingesetzt wurden. So war es beispielsweise für den Administrator problematisch, die Netzwerkinformationstabellen des BOOTP-Servers manuell konfigurieren zu müssen.
Mit dem Wachstum der Netzwerke und der Autonomie der Computer wurde es jedoch als negativer Faktor angesehen, den Konfigurationsprozess nicht automatisieren zu können, da immer mehr mobile tragbare Geräte entwickelt wurden . Der Wunsch nach einem neuen Protokoll war offensichtlich. Mit dem Dynamic Host Configuration Protocol (DHCP) wurde 1993 ein Nachfolger gefunden (endgültige Spezifikation in RFC 2131). DHCP basiert größtenteils auf der Boot-Protokollstruktur, wird jedoch durch verschiedene zusätzliche Konfigurationsoptionen ergänzt und bietet die Möglichkeit, verbindungssuchenden Clients wiederverwendbare Netzwerkadressen zuzuweisen . Darüber hinaus funktioniert die Zuweisung von Adressinformationen mit DHCP auch während des aktuellen Systembetriebs: Mit BOOTP ist kein Neustart erforderlich.
Dies sind die wichtigsten Unterschiede zwischen beiden Protokollen:
|
BOOTP |
DHCP |
Automatische Konfiguration |
Die Zuweisung von IP-Adressen erfordert die manuelle Konfiguration von Adresstabellen |
Unterstützt die automatische Zuweisung und das automatische Abrufen von IP-Adressen (auch manuelle Konfiguration) |
Temporäre IP-Adressen |
Es ist nicht möglich |
Möglich für einen begrenzten Zeitraum |
Unterstützung für mobile Geräte |
IP-Konfiguration und Zugriff auf Netzwerkinformationen sind nicht möglich |
Unterstützt die Mobilität von Netzwerkclients |
Fehlerindex |
Hohe Fehlerrate durch manuelle Konfiguration |
Dank der automatischen Konfiguration der Netzwerkkomponenten nahezu fehlerfrei |
System Anforderungen |
Keiner |
Erfordert eine Festplatte zum Speichern und Weiterleiten von Informationen |
Dank verschiedener Optimierungen wurde DHCP schnell zum Standardprotokoll für die IP-Verwaltung in Netzwerken, während das BOOTP-Protokoll heute nur noch historischen Wert hat . Da DHCP das Startprotokoll unterstützt, können DHCP-Server im Prinzip auch auf alle Arten von Anforderungen eines BOOTP-Clients antworten.