¿Por qué el servidor no puede usar la dirección IP de destino de 0.0.0.0 como se usa en la fuente IP de DHCP Discover and Request? Puede usar la dirección MAC del cliente que se aprendió de DHCP Discover y Request para dirigir el frame a la máquina cliente adecuada.¿Por qué se ofrecen DHCP Offer y Ack?
Respuesta
La elección de unidifusión o de difusión se especifica en el DHCP RFC 2131:
Si el campo 'Giaddr' en un mensaje DHCP de un cliente no es cero, el servidor envía los mensajes de retorno a el puerto 'servidor DHCP' en el agente de retransmisión BOOTP cuya dirección aparece en 'giaddr'. Si el campo 'giaddr' es cero y el campo 'ciaddr' es distinto de cero, entonces el servidor unica los mensajes DHCPOFFER y DHCPACK a la dirección en 'ciaddr'. Si 'giaddr' es cero y 'ciaddr' es cero, y el bit de difusión es establecido, el servidor difunde los mensajes DHCPOFFER y DHCPACK a 0xffffffff. Si el bit de difusión no está configurado y 'giaddr' es cero y 'ciaddr' es cero, entonces el servidor unica los mensajes DHCPOFFER y DHCPACK a la dirección de hardware del cliente y a la dirección 'yiaddr'. En todos los casos, cuando 'giaddr' es cero, el servidor transmite cualquier mensaje DHCPNAK a 0xffffffff.
con ciaddr y Giaddr ser:
ciaddr 4 Client IP address; only filled in if client is in BOUND, RENEW or REBINDING state and can respond to ARP requests. giaddr 4 Relay agent IP address, used in booting via a relay agent.
lo tanto, el servidor DHCP elige para transmitir o no de acuerdo a la situación actual del cliente (sobre todo si ya tiene una dirección IP o no) y, en consecuencia, al remitente del mensaje, si es un agente de retransmisión o simplemente un cliente.
En este caso, mi servidor DCHP optó por unidifusión la DHCPOFFER porque mi máquina ya tenía una dirección IP y no tengo un agente de retransmisión en mi LAN.
EDIT:
Y nadie puede utilizar la dirección IP 0.0.0.0 como dirección de destino. Como se especifica en la IPv4 RFC 5735:
0.0.0.0/8 - Direcciones en este bloque refieren a hosts de origen en "este" red. La dirección 0.0.0.0/32 se puede usar como una dirección de origen para este host en esta red; otras direcciones dentro de 0.0.0.0/8 pueden usarse para referirse a hosts especificados en esta red ([RFC1122], Sección 3.2.1.3).
Su pregunta no es suficientemente clara. Publique [una nueva pregunta] (http://superuser.com/questions/ask) en Superusuario detallando el comportamiento de los dispositivos involucrados, su función y, posiblemente, direcciones IP y registros capturados. – Avio
Tengo un problema similar, pero el problema es que tengo un dispositivo que envía un paquete DHCP Discover destinado a 255.255.255.255, el servidor recibe este mensaje (ya que uso un registrador de paquetes para ver las actividades de todos los nodos) y respuestas, esta respuesta que recibe mi dispositivo es un marco de transmisión del servidor DHCP. Pero el dispositivo no acepta la configuración de IP. ¿Algún tipo de explicación para esta anomalía? – Abhinav
Buena respuesta. Explica cómo funcionan las cosas y si es posible tener DHCPOFFER sin difusión. Pero también me gustaría saber el motivo de tener un DHCPOFFER emitido. ¿Algunas ideas? – limitcracker
De the RFC 2131, página 24:
Normalmente, los servidores DHCP y agentes de reenvío de BOOTP intentará entregar mensajes DHCPOFFER, DHCPACK y DHCPNAK directamente al cliente mediante la entrega uicast. La dirección IP de destino (en la cabecera IP) se establece a la dirección de DHCP 'yiaddr' y la dirección de destino de nivel de enlace es conjunto a la dirección de DHCP 'Chaddr'. Desafortunadamente, algunas implementaciones de cliente no pueden recibir tales datagramas IP de unicast hasta la implementación se ha configurado con una dirección IP válida (lo que lleva a un punto muerto en el que la dirección IP del cliente no puede ser entregada hasta que el cliente haya sido configurado con Dirección IP).
Un cliente que no puede recibir datagramas IP unicast hasta que su software de protocolo se ha configurado con una dirección IP deben establecer el bit BROADCAST en el campo 'banderas' a 1 en cualquier DHCPDISCOVER DHCPREQUEST o mensajes que envía el cliente. El bit BROADCAST proporcionará una indirecta al servidor DHCP y agente de retransmisión BOOTP para transmitir cualquier mensajes al cliente en la subred del cliente.
Un cliente que puede recibir datagramas IP unicast antes de su software de protocolo ha sido configurado debe borrar el bit BROADCAST a 0. El documento aclaraciones BOOTP discute las ramificaciones de la utilización de la emisión poco .
- 1. ¿Qué DBMS ofrecen tablas organizadas por índice?
- 2. ¿Por qué el cliente DHCP escucha en el puerto 68?
- 3. ¿Por qué esperar tiempo SIFS antes de enviar ACK?
- 4. ¿Qué agentes en línea ofrecen API?
- 5. Emacs - No se puede obtener buffer-offer-save trabajando
- 6. ¿Alguna biblioteca dhcp python?
- 7. ¿Por qué las pruebas funcionales no son suficientes? ¿Qué ofrecen las pruebas unitarias?
- 8. Pregunta confiable del método UDP y ACK
- 9. DHCP en Ubuntu Server 12.04: no se puede cargar eth0
- 10. ¿Qué bibliotecas ofrecen métodos NLP básicos o avanzados?
- 11. Ack y lookahead negativo dando errores
- 12. ¿Por qué los desarrolladores .NET ofrecen versiones de 32 bits/64 bits de ensamblados .NET?
- 13. C++: ¿qué beneficios ofrecen los flujos de cadenas?
- 14. ack-grep: caracteres escapando
- 15. ¿Por qué todavía se necesita lenguaje ensamblador si tenemos idiomas de alto nivel que ofrecen herramientas sofisticadas?
- 16. implementando ack sobre UDP?
- 17. Activar Ack en MacVIm
- 18. ¿Qué sitios ofrecen plantillas gratuitas y de calidad para el diseño de sitios web?
- 19. Cómo truncar líneas coincidentes largas devueltas por grep o ack
- 20. Consultando un servidor DHCP en C#
- 21. Deshabilitar ACK retrasados de TCP
- 22. ¿Por qué se introdujeron window.scrollY y window.scrollX?
- 23. io_service, ¿por qué y cómo se usa?
- 24. Configuración de DHCP en Mac OS X
- 25. ¿Por qué TCP espera tres ACK duplicados antes de la retransmisión rápida?
- 26. TCP: ¿Cómo se generan los números seq/ack?
- 27. Python, Ruby, Haskell - ¿Ofrecen verdadero multihilo?
- 28. ¿Por qué se usan campos ocultos?
- 29. ¿Por qué los comandos y eventos se representan por separado?
- 30. ¿Por qué se usa gridview: true y qué significa?
Tengo la sospecha de que esto es necesario para trabajar en ambientes donde hay múltiples, colaborando servidores DHCP. Podría ser necesario que los agentes de retransmisión funcionen correctamente también. – Flexo