¿Cómo obtiene una computadora una dirección IP a través de DHCP?

27

¿Cómo sabe la computadora qué dispositivo en la red consultar? ¿Cómo influye el gateway predeterminado en esto? ¿Cuál es la cadena de eventos que ocurre cuando una computadora intenta obtener una dirección IP usando DHCP ?

La razón por la que pregunto es porque estoy tratando de descubrir cómo configurar mejor un servidor DHCP redundante, en caso de que el original falle por alguna razón.

Bigbio2002
fuente

Respuestas:

41

No sabe qué dispositivo consultar. Por lo tanto, transmite su solicitud a toda la subred. El servidor DHCP está escuchando un cierto tipo de comunicación y cuando escucha esa transmisión específica comienza la conversación DHCP con el dispositivo que transmitió su solicitud. Eche un vistazo al proceso de DORA para obtener más información.

DORA significa:

En cuanto a la puerta de enlace, solo puede entrar en juego si reenvía explícitamente el tráfico DHCP a otra subred. Esa característica generalmente se llama retransmisión DHCP . De lo contrario, la puerta de enlace ignora el mensaje de difusión de DHCP al igual que ignora cualquier otro mensaje de difusión.

En cuanto a los servidores DHCP redundantes, querrá mantenerlos a ambos en la misma subred y probablemente usar la regla 80/20 . Puede configurar la conmutación por error si está utilizando CentOS como su servidor DHCP .

Wesley
fuente
17
+1 DORA the dhcp explorer? Supongo que sería más un DORA el descubridor
Nixphoe
3
@Nixphoe Me gusta.
Wesley
Aquí hay una pregunta, generalmente hay una dirección de transmisión asociada con cada subred, sin saber nada sobre la red, ¿cómo formula la tarjeta de red el mensaje para que el servidor DHCP (y cualquier conmutador intermedio) lo reciba?
crasic
2
@crasic - correcto, en ese caso se transmite el 255.255.255.255
Mark Henderson
1
@ Mark D'oh, la mayor parte de esto se explica en el enlace de la respuesta, la próxima vez que deba RTFA
crasic
3

DHCP es (generalmente) un protocolo de transmisión, por lo que el cliente no necesita saber nada sobre la red, simplemente emite una solicitud.

Los servidores DHCP en la red luego ven esa solicitud y responden.

Por supuesto, es mucho más complejo que eso, debido al enrutamiento y otros dispositivos de red. La página de Wikipedia es una excelente fuente .

Y el RFC relevante cubre los detalles.

OchoBitTony
fuente
3

La razón por la que pregunto es porque estoy tratando de descubrir cómo configurar mejor un servidor DHCP redundante, en caso de que el original falle por alguna razón.

Primero, elogio su interés en aprender más sobre el protocolo. Ese es un buen plan.

En segundo lugar, te agradezco por explicar tu objetivo; Creo que te ayudará a obtener una buena respuesta.

Finalmente, mi respuesta:

Para cualquier servidor DHCP que elija, es probable que haya una configuración de conmutación por error / redundancia que le permita configurar un servidor DHCP redundante que puede hacerse cargo automáticamente (creo que Windows lo tiene, y sé que el servidor DHCP del ISC puede). Esa sería mi primera opción, ya que generalmente aborda problemas con los arrendamientos otorgados por el servidor DHCP primario antes de su falla, y porque se recupera automática y rápidamente.

La segunda opción sería duplicar completamente la configuración en otra máquina para que pueda activar la otra máquina manualmente en caso de falla de la primera. Esto no es tan óptimo porque perderá la información de arrendamiento existente y por el tiempo de inactividad implícito entre la falla del primer servidor DHCP y cuando aparece el reemplazo.

Slartibartfast
fuente
Veo el punto de la regla 80/20 ... si el servidor 80 falla, entonces todavía hay servidor 20 para dar direcciones IP. Pero esto no proporciona ningún tipo de soporte para un tiempo de inactividad extendido, ya que eventualmente todos los clientes querrán renovar su contrato de arrendamiento, pero con solo el 20% del rango de direcciones anterior disponible. Me gusta su sugerencia de redundancia "real", pero el uso de una segunda máquina Windows no sería una opción en mi situación (el firewall de hardware sería el otro servidor DHCP). ¿Supongo que podría reconfigurar manualmente el servidor 20 para que sea el servidor 100? ;)
Bigbio2002
2

Se requieren varios pasos para obtener una dirección IP de un servidor dhcp.

  1. Mensaje de descubrimiento, este mensaje se transmite para buscar un servidor dchp

  2. Los servidores DHCP en la red responden con un mensaje de oferta.

  3. El cliente envía un mensaje de solicitud de DHCP mediante difusión ... Este mensaje informará a todos los servidores DHCP de la red, cuya oferta fue aceptada por el cliente.

  4. Se envía un mensaje de confirmación de DHCP para la confirmación del servidor.

eos
fuente
1
Votación a favor de la simplicidad. Sería genial si pudieras incorporar esto a la respuesta aceptada
Bigbio2002
@ Bigbio2002 Es tu pregunta. Puedes decidir qué respuesta se debe aceptar.
Michael Hampton