O problema é que seu cliente não está falando DHCP , mas bootp . Nem todos os dhcp
servidores manipulam bootp
devido a limitações de design ou configurações.
Estou trabalhando em alguns dispositivos embarcados que devem ser conectados a uma rede grande (centenas de dispositivos) via ethernet e que devem ser configurados usando o protocolo DHCP. O que estou experimentando é que aparentemente os dispositivos obtêm o endereço em algumas redes, mas não em outros. Eu configuro uma rede de teste com apenas um cliente, um switch e um servidor DHCP (Ubuntu Linux). O endereço é atribuído corretamente e os logs do servidor DHCP mostram a sequência DORA.
Eu tentei conectar o mesmo cliente a um roteador doméstico comum com um servidor DHCP (é meu roteador doméstico, portanto, ele deve estar funcionando corretamente) e o endereço IP não é adquirido pelo cliente. Este é o dump de sequência do dispositivo:
No. Time Source Destination Protocol Length Info
86 26.515684000 :: ff02::16 ICMPv6 90 Multicast Listener Report Message v2
Frame 86: 90 bytes on wire (720 bits), 90 bytes captured (720 bits) on interface 0
Ethernet II, Src: DavicomS_91:de:41 (00:60:6e:91:de:41), Dst: IPv6mcast_00:00:00:16 (33:33:00:00:00:16)
Internet Protocol Version 6, Src: :: (::), Dst: ff02::16 (ff02::16)
Internet Control Message Protocol v6
No. Time Source Destination Protocol Length Info
87 26.515688000 :: ff02::1:ff91:de41 ICMPv6 78 Neighbor Solicitation for fe80::260:6eff:fe91:de41
Frame 87: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: DavicomS_91:de:41 (00:60:6e:91:de:41), Dst: IPv6mcast_ff:91:de:41 (33:33:ff:91:de:41)
Internet Protocol Version 6, Src: :: (::), Dst: ff02::1:ff91:de41 (ff02::1:ff91:de41)
Internet Control Message Protocol v6
No. Time Source Destination Protocol Length Info
88 26.596056000 0.0.0.0 255.255.255.255 DHCP 371 DHCP Discover - Transaction ID 0xb444e919
Frame 88: 371 bytes on wire (2968 bits), 371 bytes captured (2968 bits) on interface 0
Ethernet II, Src: DavicomS_91:de:41 (00:60:6e:91:de:41), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255 (255.255.255.255)
User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
Bootstrap Protocol
Message type: Boot Request (1)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0xb444e919
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: DavicomS_91:de:41 (00:60:6e:91:de:41)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (53) DHCP Message Type
Option: (57) Maximum DHCP Message Size
Option: (60) Vendor class identifier
Option: (12) Host Name
Option: (55) Parameter Request List
Option: (255) End
No. Time Source Destination Protocol Length Info
94 27.515730000 fe80::260:6eff:fe91:de41 ff02::2 ICMPv6 70 Router Solicitation from 00:60:6e:91:de:41
Frame 94: 70 bytes on wire (560 bits), 70 bytes captured (560 bits) on interface 0
Ethernet II, Src: DavicomS_91:de:41 (00:60:6e:91:de:41), Dst: IPv6mcast_00:00:00:02 (33:33:00:00:00:02)
Internet Protocol Version 6, Src: fe80::260:6eff:fe91:de41 (fe80::260:6eff:fe91:de41), Dst: ff02::2 (ff02::2)
Internet Control Message Protocol v6
No. Time Source Destination Protocol Length Info
119 30.427837000 0.0.0.0 255.255.255.255 DHCP 371 DHCP Discover - Transaction ID 0xb444e919
Frame 119: 371 bytes on wire (2968 bits), 371 bytes captured (2968 bits) on interface 0
Ethernet II, Src: DavicomS_91:de:41 (00:60:6e:91:de:41), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255 (255.255.255.255)
User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
Bootstrap Protocol
Message type: Boot Request (1)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0xb444e919
Seconds elapsed: 4
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: DavicomS_91:de:41 (00:60:6e:91:de:41)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (53) DHCP Message Type
Option: (57) Maximum DHCP Message Size
Option: (60) Vendor class identifier
Option: (12) Host Name
Option: (55) Parameter Request List
Option: (255) End
No. Time Source Destination Protocol Length Info
122 30.985580000 fe80::260:6eff:fe91:de41 ff02::16 ICMPv6 90 Multicast Listener Report Message v2
Frame 122: 90 bytes on wire (720 bits), 90 bytes captured (720 bits) on interface 0
Ethernet II, Src: DavicomS_91:de:41 (00:60:6e:91:de:41), Dst: IPv6mcast_00:00:00:16 (33:33:00:00:00:16)
Internet Protocol Version 6, Src: fe80::260:6eff:fe91:de41 (fe80::260:6eff:fe91:de41), Dst: ff02::16 (ff02::16)
Internet Control Message Protocol v6
No. Time Source Destination Protocol Length Info
127 31.525478000 fe80::260:6eff:fe91:de41 ff02::2 ICMPv6 70 Router Solicitation from 00:60:6e:91:de:41
Frame 127: 70 bytes on wire (560 bits), 70 bytes captured (560 bits) on interface 0
Ethernet II, Src: DavicomS_91:de:41 (00:60:6e:91:de:41), Dst: IPv6mcast_00:00:00:02 (33:33:00:00:00:02)
Internet Protocol Version 6, Src: fe80::260:6eff:fe91:de41 (fe80::260:6eff:fe91:de41), Dst: ff02::2 (ff02::2)
Internet Control Message Protocol v6
No. Time Source Destination Protocol Length Info
138 35.535297000 fe80::260:6eff:fe91:de41 ff02::2 ICMPv6 70 Router Solicitation from 00:60:6e:91:de:41
Frame 138: 70 bytes on wire (560 bits), 70 bytes captured (560 bits) on interface 0
Ethernet II, Src: DavicomS_91:de:41 (00:60:6e:91:de:41), Dst: IPv6mcast_00:00:00:02 (33:33:00:00:00:02)
Internet Protocol Version 6, Src: fe80::260:6eff:fe91:de41 (fe80::260:6eff:fe91:de41), Dst: ff02::2 (ff02::2)
Internet Control Message Protocol v6
No. Time Source Destination Protocol Length Info
142 39.405342000 0.0.0.0 255.255.255.255 DHCP 371 DHCP Discover - Transaction ID 0xb444e919
Frame 142: 371 bytes on wire (2968 bits), 371 bytes captured (2968 bits) on interface 0
Ethernet II, Src: DavicomS_91:de:41 (00:60:6e:91:de:41), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255 (255.255.255.255)
User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
Bootstrap Protocol
Message type: Boot Request (1)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0xb444e919
Seconds elapsed: 13
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: DavicomS_91:de:41 (00:60:6e:91:de:41)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (53) DHCP Message Type
Option: (57) Maximum DHCP Message Size
Option: (60) Vendor class identifier
Option: (12) Host Name
Option: (55) Parameter Request List
Option: (255) End
No. Time Source Destination Protocol Length Info
392 55.264802000 0.0.0.0 255.255.255.255 DHCP 371 DHCP Discover - Transaction ID 0xb444e919
Frame 392: 371 bytes on wire (2968 bits), 371 bytes captured (2968 bits) on interface 0
Ethernet II, Src: DavicomS_91:de:41 (00:60:6e:91:de:41), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255 (255.255.255.255)
User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
Bootstrap Protocol
Message type: Boot Request (1)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0xb444e919
Seconds elapsed: 29
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: DavicomS_91:de:41 (00:60:6e:91:de:41)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (53) DHCP Message Type
Option: (57) Maximum DHCP Message Size
Option: (60) Vendor class identifier
Option: (12) Host Name
Option: (55) Parameter Request List
Option: (255) End
Entendo que a descoberta do DHCP não é respondida. Isso está correto? Você tem alguma idéia do porquê?
EDIT: Tentei verificar novamente os pacotes usando o wireshark, e posso ver a opção Option: (53) DHCP Message Type. Ao expandir isso, vejo a descoberta de DHCP. Isso parece DHCP para mim. Também verifiquei um pacote DHCP do Mac OS X usando o wireshark, e ainda vejo "Tipo de mensagem: solicitação de inicialização (1)" nos pacotes. A única diferença é que nenhuma descoberta de DHCP é enviada, apenas uma solicitação DHCP para o endereço. Além disso, o mesmo adaptador não está funcionando no Windows 7.
Então, esse é realmente o protocolo bootp? Você pode confirmar isso? Ou é DHCP? E por que as mensagens do DHCP Discover são enviadas, mas nenhuma oferta DHCP é enviada de volta?