Frage Warum dauert es Sekunden, um eine IP-Adresse über DHCP zu erhalten?


Aus Neugier, warum dauert es oft Sekunden um eine Netzwerkkonfiguration über DHCP zu erhalten, wenn die CPU in der Lage ist, Millionen von Operationen pro Sekunde zu verarbeiten und ein Ping zum Router einige Millisekunden benötigt?

In meiner häuslichen Umgebung mit einem WLAN-Router und etwa 5 Geräten ist es nicht selten, Zeiten wie 5-10 Sekunden zu sehen.


22
2017-12-30 13:35


Ursprung




Antworten:


Zusätzlich zu der tatsächlichen Übernahme der DHCP-Lease vom DHCP-Server (die in der Regel nicht sehr lange dauert), pingen einige Server zuerst die IP-Adresse an, die sie austeilt, bevor sie sie tatsächlich aushändigt, um zu verifizieren, dass sie es nicht bereits ist im Netzwerk verwendet - dies dauert einige Sekunden. Der Client wird manchmal das gleiche tun (um IP-Adresskonflikte zu vermeiden), was etwas mehr Zeit benötigt. Darüber hinaus registrieren einige Clients ihre DNS-Einträge usw.


21
2017-12-30 14:07



Der DHCP-Server meiner Arbeit verwendet ARP-Anfragen, um IP-Konflikte zu erkennen. - erichui


DHCP kann etwas länger dauern, da es eine Reihe von Transaktionen umfasst, nicht mit einem einzelnen Server, sondern mit allen Geräten im Netzwerk während der ersten Anfrage, da es eine Broadcast-Nachricht sendet.

Wenn Sie den RFC für DHCP überprüfen,

http://www.faqs.org/rfcs/rfc2131.html

Sie können deutlich sehen, die Reihe der Verhandlungen beinhaltet. Zu Beginn sendet der Client DHCPDISCOVER an alle Geräte im LAN, dann geben die Server, die den DHCP-Dienst ausführen, die Meldung DHCPOFFER zurück. Möglicherweise wartet der Client auch darauf, Antworten von allen verfügbaren dhcp-Servern zu erhalten, bevor er einen auswählt. Dann sendet es ein DHCPREQUEST mit einer Kennung, die angibt, welcher Server es als IP-Provider ausgewählt hat. Schließlich erhält es DHCPACK mit allen Konfigurationsparametern. Dies ist nur eine Zusammenfassung der "3.1 Client-Server-Interaktion - Zuweisung einer Netzwerkadresse" aus dem RFC.

Aus meiner Erfahrung dauert Dhcp lange Zeit hauptsächlich in großen LAN-Einstellungen mit vielen verbundenen Knoten. In einem Heimnetzwerk mit nur einem DHCP-Server (zum Beispiel WLAN-Router) und einem oder zwei PCs ist es ziemlich schnell.


9
2017-12-30 13:54



In meinem Heimnetzwerk mit einem WLAN-Router und etwa 5 Geräten dauert es etwa 5-10 Sekunden, was ich für ziemlich langsam halte. Aber danke für die Erklärung. - Borek Bernard
Stellen Sie sicher, dass Sie einen einzigen DHCP-Server haben. Wenn es nur 5 Geräte sind, möchten Sie möglicherweise IPs für jedes Gerät auf dem DHCP-Server reservieren. Aber wenn Sie neugierig genug sind, können Sie tcpdump verwenden, um sich die tatsächliche Verhandlung anzusehen und zu sehen, was die Verzögerung verursacht. - Daniel t.


Zwei Gründe (und Lösungen) fand ich, als ich schnelle Antworten von meinem DHCP-Server wollte.

1) Mein DHCP hat einen Ping der Adresse ausgeführt, die er zuordnen wollte. Dies hat 3 Sekunden Verzögerung hinzugefügt. Ich entfernte das, indem ich die DHCP-Konfiguration änderte, um eine Zuordnung für MAC-Adresse zu IP-Adresse zu haben. Dies verwendet im Grunde DHCP, um eine statische Adresse zuzuweisen. Dies hat die 3 Sekunden Verzögerung für mich beseitigt.

2) Ich habe ein isoliertes Netzwerk, aber Sie können dies manchmal bekommen. Es wurde eine DNS-Suche durchgeführt, was für mich zu einer Verzögerung von vielen Sekunden führte, bis eine IP-Adresse von DHCP erhalten wurde. In der DHCP Server Konfiguration gab es Optionen für unsere Domain und DNS Server. Nach dem Entfernen der DNS-Optionen und der obigen Änderung erhielt ich sofort Antworten vom DHCP-Server. (**)

Diese Probleme waren, was ich in meinem Setup gefunden habe. Ihr Kilometerstand kann variieren.

Prost

PFUND

(**) Wenn ich einen Penny für jedes Mal hatte, dass eine fehlgeschlagene DNS-Suche eine Verzögerung verursachte, die zu einem seltsamen Anklopfen führte, was dazu führte, dass ich mich am Kopf kratzte, hätte ich viele viele Pfennige.


2
2018-05-31 09:15





Ich weiß nicht, welche Szenerie Sie haben, aber in der realen Welt erhalten Sie die IP-Adresse ... etc von einem alten Server (dhcp-Server ist immer der mit der ältesten Hardware :)) mit vielen Anfragen, hinter einer Firewall , ein oder mehrere Router / Switches ... Latenz, CPU-Leistung ... und in einer Windows-Welt ist die DHCP-Implementierung nicht so effizient, wie wir es gerne hätten!


1
2017-12-30 13:50



"In einer Windows-Welt ist die DHCP-Implementierung nicht so effizient, wie wir es gerne hätten!" Verfügen Sie über Unterlagen oder Quellen, um zu bestätigen, was Sie hier gesagt haben? - mfinni
Nein, aber zum Beispiel .... Linux bietet Fail-Over-DHCP-Optionen auf sehr einfache Weise. Neben der eingebauten Active Directory-Funktionalität in Windows gibt es noch weitere Punkte, die als mögliche Sicherheitsprobleme zu betrachten sind. - C_Sense
Ich denke, dass du die Übertreibung, die man durch das Lesen von zu vielen Internet-Posts erfahren hat, wiedergibst. "Microsoft ist schlecht." "Warum?" "Weil das jeder sagt." - joeqwerty
Sie können überlappende DHCP-Bereiche auf Windows DHCP-Servern durchführen. Mit win2k8 R2 gibt es anscheinend auch eine neue Failover-Option. Vielleicht ist Linux besser als das. Nichts davon hat etwas mit "Effizienz" zu tun. Und auf welche "Sicherheitsprobleme" in Windows DHCP beziehen Sie sich? Ich habe Sie nach Quellen gefragt, und stattdessen werfen Sie mehr Ansprüche aus. - mfinni


Wenn Sie Probleme mit DHCP haben;

  1. Überprüfen Sie die Netzwerklatenz
  2. Sehen Sie sich die Paket-Cap-Dhcp-Verhandlung an. Sie sollten sehen können, welche Aktion lange dauert. (Problem kann nicht mit dem DHCP-Server sein, wer wartet auf wen?)
  3. Untersuchen Sie DHCP-Server laden und Protokolle.

0
2017-12-30 14:11



Es ist ein Heimnetzwerk-Szenario, ich habe die Frage aktualisiert. - Borek Bernard
U_ಠ Y U NEIN SUPERUSER DANN? - Ablue
Vielleicht, weil es mit Netzwerken zu tun hat und hier ist der beste Platz dafür? - Kedare
meta.serverfault.com/questions/1049/... - Ablue