A: Client stellt IP-Anfrage
Wenn ein DHCP-Client startet, konfiguriert er seine IP-Adresse automatisch auf 0.0.0.0. Da eine normale Kommunikation mit 0.0.0.0 nicht möglich ist, muss der Client eine gültige Adresse über den DHCP-Server erhalten. Da der Client die IP-Adresse des DHCP-Servers nicht kennt, verwendet er die Adresse 0.0.0.0 als Quelladresse, den UDP68-Port als Quellport, 255.255.255.255 als Zieladresse und den UDP67-Port als Zielport Senden Sie die angeforderten IP-Adressinformationen. Die Broadcast-Informationen enthalten die MAC-Adresse und den Computernamen des DHCP-Clients, sodass der DHCP-Server feststellen kann, welcher Client die Anfrage gesendet hat.
B: Serverantwort
Wenn der DHCP-Server die Informationen vom Client erhält, der eine IP-Adresse anfordert, durchsucht er seinen eigenen IP-Adresspool, um zu sehen, ob dem Client eine legale IP-Adresse zur Verfügung gestellt werden kann. Wenn ja, markiert der DHCP-Server die IP-Adresse und fügt sie der DHCPOFFER-Nachricht hinzu. Anschließend sendet der DHCP-Server eine DHCPOFFER-Nachricht, die die folgenden Informationen enthält: die MAC-Adresse des DHCP-Clients; Subnetzmaske; Standard-Gateway (Routing-Zeitraum); IP-Adresse des DHCP-Servers. Da der DHCP-Client noch keine IP-Adresse hat, verwendet der DHCP-Server seine eigene IP-Adresse als Quelladresse, den UDP67-Port als Quellport, 255.255.255.255 als Zieladresse und den UDP68-Port als Zielport für die Übertragung DHCPOFFER-Nachricht.
C: Client wählt IP aus
Der DHCP-Client wählt eine IP-Adresse aus der ersten empfangenen DHCPOFFER-Nachricht aus, und der DHCP-Server, der die IP-Adresse ausgegeben hat, reserviert die Adresse, damit sie nicht an einen anderen DHCP-Client vergeben werden kann. Die dritte Phase der DHCP-Lease erfolgt, nachdem der Client das DHCPOFFER vom ersten DHCP-Server erhält und eine IP-Adresse auswählt. Der Client sendet eine DHCPREQUEST-Nachricht an alle DHCP-Server, um anzuzeigen, dass er das Angebot annimmt. Die DHCPREQUEST-Nachricht enthält die Dienstkennung (IP-Adresse) des Servers, der die IP-Konfiguration für diesen Client bereitgestellt hat. Der DHCP-Server überprüft das Feld „Server-ID“, um festzustellen, ob er selbst ausgewählt wurde, um den angegebenen Clients IP-Adressen bereitzustellen. Wenn diese DHCPOFFER abgelehnt werden, stellt der DHCP-Server ihre IP-Adressen nicht mehr zur Verfügung und reserviert sie für die nächste IP-Lease-Anfrage.
Während des IP-Auswahlvorgangs hat der Client zwar eine IP-Adresse ausgewählt, aber noch keine IP-Adresse konfiguriert. Es können mehrere DHCP-Server in einem Netzwerk vorhanden sein, sodass der Client immer noch die Adresse 0.0.0.0 als Quelle verwendet Verwenden Sie den UDP68-Port als Quellport, 255.255.255.255 als Zieladresse und den UDP67-Port als Zielport zum Senden von DHCPREQUEST-Informationen.
D: Server bestätigt Lease
Nach Erhalt der DHCPREQUEST-Nachricht sendet der DHCP-Server eine erfolgreiche Bestätigung in Form einer DHCPACK-Nachricht. Diese Nachricht enthält die gültige Lease der IP-Adresse und andere mögliche Konfigurationsinformationen. Obwohl der Server die Lease-Anfrage des Clients bestätigt hat, hat der Client die DHCPACK-Nachricht des Servers nicht erhalten, sodass der Server weiterhin seine eigene IP-Adresse als Quelladresse, den UDP67-Port als Quellport und 255.255.255.255 als Zieladresse verwendet Der UDP68-Port dient als Zielport für die Übertragung von DHCPACK-Informationen. Wenn der Client die DHCPACK-Nachricht empfängt, konfiguriert er eine IP-Adresse und schließt die TCP/IP-Initialisierung ab.
Wenn DHCPREQUEST nicht erfolgreich ist, weil der Client beispielsweise versucht hat, die vorherige IP-Adresse zu leasen, die IP-Adresse aber nicht mehr verfügbar ist oder die IP ungültig ist, weil der Client in ein anderes Subnetz gewechselt ist, sendet der DHCP-Server eine negative Bestätigungsnachricht DHCPNACK. Wenn der Client eine erfolglose Bestätigung erhält, startet er den DHCP-Lease-Prozess neu.
Der DHCP-Client sendet ein DHCPREQUEST-Nachrichtenpaket direkt an den DHCP-Server, der ihm die IP-Adresse bereitstellt, wenn 50 % der Mietdauer abgelaufen sind. Wenn der Client das vom Server beantwortete DHCPACK-Nachrichtenpaket empfängt, aktualisiert der Client seine Konfiguration basierend auf der neuen Lease-Periode und anderen aktualisierten TCP/IP-Parametern, die im Paket bereitgestellt werden, und die IP-Lease-Aktualisierung ist abgeschlossen. Wenn keine Antwort vom Server eingeht, verwendet der Client weiterhin die vorhandene IP-Adresse, da noch 50 % der aktuellen Lease-Periode verbleiben.
Falls nach Ablauf von 50 % der Lease-Periode kein Update erfolgt, kontaktiert der DHCP-Client nach Ablauf von 75 % der Lease-Periode erneut den DHCP-Server, der ihm die IP-Adresse bereitgestellt hat. Wenn dies immer noch nicht erfolgreich ist und die Lease 100 % erreicht, muss der DHCP-Client die IP-Adresse aufgeben und erneut anwenden. Wenn zu diesem Zeitpunkt kein DHCP-Server verfügbar ist, verwendet der DHCP-Client eine zufällige Adresse in 169.254.0.0/16 und versucht es alle 5 Minuten erneut.
Das obige ist der detaillierte Inhalt vonDHCP-Prinzipien unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!