¿Por qué tarda unos segundos en obtener la dirección IP a través de DHCP?


24

Por curiosidad, ¿por qué a menudo toma segundos obtener la configuración de red a través de DHCP cuando la CPU es capaz de procesar millones de operaciones por segundo y hacer ping al enrutador toma un par de milisegundos?

En el entorno de mi hogar con un enrutador WiFi y aproximadamente 5 dispositivos, no es raro ver tiempos como 5-10 segundos.

Respuestas:


22

Además de la adquisición real del arrendamiento DHCP del servidor DHCP (que generalmente no toma mucho tiempo), algunos servidores primero harán ping a la dirección IP que está a punto de entregar antes de entregarla para verificar que aún no esté en uso en la red: esto demora unos segundos en agotarse. El cliente a veces hará lo mismo (nuevamente, para evitar conflictos de direcciones IP), lo que agregará más tiempo. Luego, además de eso, algunos clientes también registrarán sus entradas de DNS, etc.


3
El servidor dhcp en mi trabajo utiliza solicitudes ARP para detectar conflictos de IP.
erichui

9

DHCP puede tardar un poco más de tiempo porque involucra una serie de transacciones, no con un solo servidor sino con todos los dispositivos en la red durante la solicitud inicial, ya que envía un mensaje de difusión.

Si marca el RFC para DHCP,

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

Puedes ver claramente la serie de negociaciones que involucra. Al principio, el cliente envía DHCPDISCOVER a todos los dispositivos en la LAN, luego los servidores que ejecutan el servicio dhcp devuelven el mensaje DHCPOFFER. El cliente también puede esperar para obtener respuestas de todos los servidores dhcp disponibles antes de elegir uno. Luego envía un DHCPREQUEST con un identificador que indica qué servidor ha elegido como su proveedor de ip. Finalmente obtiene DHCPACK con todos los parámetros de configuración. Esto es solo un resumen de la "3.1 Interacción cliente-servidor: asignación de una dirección de red" del RFC.

Desde mi experiencia, dhcp lleva mucho tiempo principalmente en entornos LAN grandes con muchos nodos conectados. En una red doméstica con un solo servidor dhcp (enrutador WIFI, por ejemplo) y una o dos PC, es bastante rápido.


En mi red doméstica con un enrutador WiFi y aproximadamente 5 dispositivos, toma alrededor de 5-10 segundos, lo que considero bastante lento. Pero gracias por la explicación.
Borek Bernard

asegúrese de tener un único servidor dhcp. Si son solo 5 dispositivos, es posible que desee reservar IP para cada dispositivo en el servidor dhcp. Pero si tiene la curiosidad suficiente, puede usar tcpdump para ver la negociación real y ver cuál es la causa del retraso.
Daniel t.

Dependiendo del servidor dhcp, puede llevar varios segundos independientemente de la actividad de la red o la velocidad de la CPU. Esto se debe a que el servidor primero consulta la red para ver si una dirección está en uso antes de ofrecerla a un cliente, y tiene que esperar al menos un poco para que lleguen las respuestas. Este tiempo de espera es parte del retraso que observa y existirá incluso en la red más silenciosa.
13sәɹoɈ

2

Dos razones (y soluciones) las encontré cuando quería respuestas rápidas de mi servidor DHCP.

1) Mi DHCP hizo un ping de la dirección que quería asignar. Esto agregó 3 segundos de retraso. Eliminé esto cambiando la configuración de DHCP para tener una asignación de dirección MAC a dirección IP. Básicamente, esto está utilizando DHCP para asignar una dirección estática. Esto eliminó el retraso de 3 segundos para mí.

2) Tengo una red aislada, sin embargo, puede obtener esto a veces. Se estaba realizando una búsqueda de DNS, lo que para mí resultó en muchos segundos de retraso para obtener una dirección IP de DHCP. En la configuración del servidor DHCP había opciones para nuestro dominio y servidores DNS. Después de eliminar las opciones de DNS y el cambio anterior, obtuve respuestas instantáneas del servidor DHCP. (**)

Estos problemas fueron los que encontré en mi configuración. Tu kilometraje puede variar.

aclamaciones

LB

(**) Si tuviera un centavo por cada vez que una búsqueda de DNS fallida causara un retraso que resultara en un extraño golpe de efecto que me hiciera rascarme la cabeza, tendría muchos centavos.


1

No sé qué escenario tiene, pero en el mundo real obtiene la dirección IP ... etc. de un servidor antiguo (el servidor dhcp es siempre el que tiene el hardware más antiguo :)) con muchas solicitudes, detrás de un firewall , uno o varios enrutadores / conmutadores ... Latencia, potencia de la CPU ... y en un mundo de Windows, la implementación de dhcp no es tan eficiente como nos gustaría.


1
"En un mundo de Windows, ¡la implementación de dhcp no es tan eficiente como nos gustaría!". ¿Tiene alguna documentación o fuentes para respaldar lo que dijo aquí?
mfinni

No, pero por ejemplo ... Linux proporciona opciones DHCP de conmutación por error de una manera muy fácil. Además de la funcionalidad incorporada de Active Directory en Windows, hay otros puntos a considerar como posibles problemas de seguridad.
C_Sense

2
Creo que estás regurgitando la hipérbole obtenida de años de leer demasiadas publicaciones en Internet. "Microsoft es malo". "¿Por qué?" "Porque todos lo dicen".
joeqwerty

Puede superponer ámbitos DHCP en servidores DHCP de Windows. Con win2k8 R2, aparentemente, también hay una nueva opción de conmutación por error. Quizás Linux es mejor que eso. Nada de eso tiene nada que ver con la "eficiencia". ¿Y a qué "problemas de seguridad" en Windows DHCP se refiere? Te pedí fuentes y, en cambio, rechazaste más reclamos.
mfinni

0

Si tiene problemas de rendimiento con dhcp;

  1. Comprobar latencia de red
  2. Mire la negociación de dhcp de tapa de paquete. Debería poder ver qué acción lleva mucho tiempo. (el problema puede no estar en el servidor dhcp, ¿quién está esperando a quién?)
  3. Examine la carga y los registros del servidor dhcp.

Es un escenario de red doméstica, he actualizado la pregunta.
Borek Bernard

ಠ_ಠ ¿NO PREGUNTAS AL SUPERUSUARIO ENTONCES?
Ablue

¿Quizás porque está relacionado con las redes y aquí está el mejor lugar para esto?
Kedare

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.