Red de conocimiento informático - Problemas con los teléfonos móviles - [Protocolo] Principio y análisis del protocolo DHCP (1)

[Protocolo] Principio y análisis del protocolo DHCP (1)

Capítulo 01:

El protocolo DHCP (Protocolo de configuración dinámica de host) se utiliza para proporcionar información de configuración a los hosts de Internet en una red TCP/IP. Se basa en el protocolo Bootstrap Protocol (BOOTP) y agrega la capacidad de asignar automáticamente direcciones de red para su reutilización y otras opciones de configuración, mientras que DHCP conserva la funcionalidad del agente de retransmisión de BOOTP.

Capítulo 02: Introducción al protocolo

El protocolo DHCP (Protocolo de configuración dinámica de host) se basa en el protocolo Bootstrap (BOOTP)

y es el protocolo principal para Las redes TCP/IP. Los hosts de Internet proporcionan información de configuración.

El protocolo DHCP se basa en el protocolo de arranque (BOOTP) y proporciona información de configuración para los hosts de Internet en la red TCP/IP.

DHCP adopta el modo cliente/servidor, es decir, el cliente envía una solicitud de configuración (incluida la dirección IP asignada,

máscara de subred, puerta de enlace predeterminada y otros parámetros) al servidor. y el servidor Devuelve la información de configuración correspondiente de acuerdo con la política.

Los mensajes DHCP se encapsulan utilizando UDP como protocolo de capa de transporte.

2 partes de DHCP:

1. Función de retransmisión DHCP, que transmite la información de configuración especificada por el servidor DHCP al host

2. Función de servidor; , Asigne direcciones de red y otros parámetros de configuración a los hosts.

La forma en que DHCP asigna IP es la siguiente:

1. Asignación automática, es decir, asignar una dirección IP fija a algunos hosts que se conectan a la red por primera vez. dirección

Será utilizada por el anfitrión durante mucho tiempo.

2. Asignación dinámica, el servidor DHCP asigna una dirección IP al Host y asigna

un período de arrendamiento a esta dirección. Si el tiempo de arrendamiento expira, el Cliente debe volver a solicitarlo. para una dirección. Este es el método más común para que el Cliente

solicite una dirección

3. Asignación manual, asigne una dirección IP fija a algunos hosts que se conectan a la red; por primera vez. Esta dirección

Será utilizada por el anfitrión durante mucho tiempo.

Clasificación de prioridad de las direcciones asignadas por DHCP:

1. La dirección IP vinculada estáticamente a la dirección MAC del Cliente en el grupo de direcciones del servidor DHCP.

2. La dirección utilizada previamente por el cliente. Cuando el cliente solicita una dirección nuevamente, envía un mensaje de descubrimiento de DHCP

e incluye la última dirección IP utilizada en las opciones de dirección. El cliente utilizará la dirección nuevamente

a menos que la dirección IP ya haya sido asignada o la dirección

no esté disponible (por ejemplo, la dirección IP está prohibida, etc.).

3. Si la dirección IP especificada por el cliente en la opción "Dirección IP solicitada" es una dirección válida en el grupo de direcciones

y no ha sido asignada, la dirección será asignado al cliente.

4. Busque en el grupo de direcciones DHCP las direcciones IP disponibles para su asignación en orden. La primera dirección IP disponible encontrada tiene alta prioridad.

Capítulo 03: Formato del mensaje DHCP

El significado de cada campo en el mensaje

El campo "opciones" es un campo de longitud variable, el cliente DHCP Debe poder recibir mensajes que contengan 312 bytes

"Opciones" es un campo de longitud variable. El campo "Opciones" es un campo de longitud variable. El cliente DHCP debe poder recibir mensajes IP de 312 bytes de longitud.

El campo "Opciones" es un campo de longitud variable.

El cliente DHCP puede negociar la longitud máxima

del paquete DHCP a través de la opción "tamaño máximo de paquete DHCP".

Formato de bandera:

B: el bit más a la izquierda, bandera de transmisión

MBZ: los bits restantes están reservados para uso futuro

Capítulo 04: Construcción y transmisión de información DHCP

DHCP usa el número de puerto del protocolo UDP

La información DHCP usa el número de puerto del protocolo UDP

La información DHCP usa el número de puerto del protocolo UDP . > Los mensajes DHCP de cliente a servidor se envían al servidor DHCP a través del puerto 67

y los mensajes de servidor a cliente se envían al cliente DHCP a través del puerto 68

Opciones de DHCP

El mensaje DHCP debe contener algunos elementos. El mensaje DHCP debe contener un conjunto de opciones, es decir, una lista de opciones. La lista de opciones comienza con una

palabra mágica de 4 bytes, va seguida de una serie de opciones y termina con una opción de "fin".

ID de cliente

DHCP define una opción para identificar a un cliente, la opción "Identificador de cliente". El cliente debe

rellenar el valor de la opción ID de cliente eligiendo un valor que se identifique de forma única dentro de la red física en la que se encuentra. Una vez que se inicializa este

valor, No se pueden realizar cambios posteriores durante la interacción de la información. Se recomienda utilizar la dirección MAC del cliente como valor de ID de cliente

.

ID del servidor

DHCP define una opción para identificar un servidor, la opción "identificador del servidor". Si el servidor DHCP tiene varias direcciones IP, puede elegir cualquiera como ID del servidor, pero se recomienda utilizar una dirección IP a la que el cliente pueda acceder. Por ejemplo, cuando el servidor y el cliente están en el mismo segmento de red

, es mejor elegir la dirección de ese segmento de red como ID del servidor. Si el cliente envía un mensaje de unidifusión al servidor, el valor de ID del servidor se utiliza como dirección de destino.

La dirección IP de origen del paquete enviado por el Cliente

La IP de origen del paquete enviado por el Cliente (el campo IP de origen en el encabezado IP) debe completarse con 0 hasta que el Cliente obtenga la dirección IP.

Indicador de transmisión

Indicador, el primer bit se utiliza como indicador de transmisión y los siguientes 15 bits son bits reservados y deben establecerse en 0.

Cuando el software no configura efectivamente la dirección IP de su propio protocolo IP, es posible que el cliente no pueda procesar la información de unidifusión recibida.

En este caso, el cliente Discovery. y los mensajes de solicitud deben enviarse con el indicador de transmisión establecido en 1, y el servidor o agente de retransmisión debe responder al cliente con un mensaje de transmisión después de recibir dichos mensajes.

Si el cliente puede manejar el mensaje de difusión, establece el indicador de difusión en 0 y el servidor o agente de retransmisión lo recibe.

Después de los mensajes de descubrimiento y solicitud, puede responder a un mensaje de unidifusión cuya dirección IP de destino es la dirección IP asignada por el servidor al cliente, que es el valor del campo yiaddr (su dirección IP) en el mensaje. Por supuesto, el servidor o agente de retransmisión

también puede responder en forma de transmisión.

Procesamiento del lado del servidor de los campos ciaddr y giaddr

ciaddr, dirección IP del cliente, solo cuando el cliente está en estado BOUND, RENEW o REBINDING y

can Se completará al responder a la solicitud ARP;

giaddr, dirección IP del agente de retransmisión;

1. Si el campo giaddr en el mensaje recibido por el servidor no es 0 (Es decir, si el servidor recibe el campo giaddr de la información recibida es 0, pero el campo ciaddr no es 0 (es decir, significa que el cliente ha configurado efectivamente su dirección IP), entonces responderá en modo unidifusión, y su dirección de destino será el valor del campo ciaddr;

3. El campo giaddr del mensaje recibido por el servidor es 0, el campo ciaddr es 0 y el indicador de transmisión no es 0 (eso es decir, indica que

el cliente no ha configurado su propia dirección IP y la información de unidifusión no se puede procesar en este momento), entonces responderá en modo transmisión;

4. Si el campo giaddr de la información recibida por el servidor es 0 y el campo ciaddr es 0. Si el indicador de transmisión es 0 (es decir,

el cliente aún no ha configurado su propia dirección IP y no puede. procesar información de unidifusión en este momento), luego responderá con una transmisión

;

5. Indica que

el cliente puede manejar información de unidifusión, incluso si no configura su propia dirección IP en este momento), entonces responderá en modo unidifusión (el método recomendado es unidifusión, por supuesto, también puede responder mediante transmisión).

ID de transacción

Xid (ID de transacción), un número aleatorio seleccionado por el cliente, utilizado para hacer coincidir los mensajes de interacción del servidor y el cliente

.

El cliente debe utilizar un algoritmo para garantizar que el valor xid que elige sea lo más diferente posible del valor xid elegido por otros clientes

, es decir, minimizar la probabilidad de siendo lo mismo.

Sobrecarga de opciones

En el encabezado del mensaje DHCP, los campos nombre y archivo ocuparán más bytes si uno o ambos de estos dos campos están en el mensaje

p>

Sin información se desperdicia espacio. Por lo tanto, DHCP puede extender opciones a los campos de nombre de usuario y archivo.

DHCP define una opción de sobrecarga que, si está presente, le indicará al destinatario que los campos de nombre de usuario y archivo han sido eliminados. Pierde su significado original y en su lugar indica que el La opción no está disponible.

Tipo de mensaje

DHCP define el tipo de mensaje en la opción de tipo de mensaje

El formato de la opción de tipo de mensaje es el siguiente:

<. p> Código de opción:

Longitud de la opción: la longitud es 1 byte, el valor es 53, lo que indica la opción del tipo de mensaje

Longitud de la opción: la longitud es 1 byte, el valor; es 1, indica la opción La longitud del campo de valor es 1 byte;

Valor de la opción: la longitud es 1 byte y el valor es 1, indica el tipo de mensaje DHCP.

En RFC2131, se definen los siguientes 8 tipos de mensajes DHCP: DHCPREQUEST,

DHCPDECLINE, DHCPRELEASE y DHCPINFORM

El cliente DHCP puede recibir DHCPOFFER del servidor; , mensajes DHCPACK y DHCPNAK.

DHCPDISCOVER

Cuando el servidor recibe un mensaje DHCPDISCOVER de un cliente, el servidor seleccionará una dirección de red

para el cliente, o si no hay ninguna dirección disponible , luego el servidor informará al administrador del sistema; si hay una dirección disponible, el servidor

seleccionará una dirección disponible para dársela al cliente. El mecanismo de selección es:

El. El servidor DHCP seleccionará para el cliente una dirección de red. Si no hay una dirección disponible, el servidor lo informará al administrador del sistema; si hay una dirección disponible, el servidor. >seleccionará una dirección disponible para dársela al cliente:

p>