I'm going to an answer... (more room ;)
First a question. Are you experiencing a delay in getting a correct IP from the server? As i see it, it took more than a minute and a half to get a correct IP (192.168.1.33). If that's the case maybe we should look closer to the requests.
I think the protocol is correct the way it is now.
I filtered only traffic from/to LenovoMo to/from MS-NLB-PhysServer. (At least i think i did ;)
i used filter
((((eth) && !(bootp.hw.mac_addr == 00:bb:3a:89:67:be)) && !(bootp.hw.mac_addr == b4:98:42:d6:63:c1)) && !(bootp.hw.mac_addr == e0:69:95:74:b2:43)) && !(bootp.hw.mac_addr == 78:e4:00:9d:fd:6b)
This is what i got (right click and choose "open in new tab" for a bigger version):
- Looking at the first DHCP Request (line #1) your client requests 192.168.1.35.
- It gets a DHCP NAK (no correct IP) back from the server.
- The client goes in DHCP Discover mode and sends several packets for discovery (as it should).
- The server sends a DHCP Offer (also multiple times) and i think it's offering 192.168.1.33.
- At line 9 the clients tries again to get 192.168.1.35 with a DHCP Request
(twice, why? maybe it's stubborn ;) (it is allowed for the client to send multiple requests) - Again server responds with DHCP NAK.
- ...
- This goes on for minute.
- ...
- Finally at line #63 the client does a DHCP Request with IP 192.168.1.33
with the "Option: (54) DHCP Server Identifier" (as it should). (see below)
I'm not sure (yet) why it takes so long but all the DHCP Requests the client makes (until line #63) are requesting 192.168.1.35 and thus are requests for RENEWAL the same IP during INIT-REBOOT.
Question: is correct behavior of the DHCP-client? May standards have changed?
But... I think the answer to the question is...
YES, this is correct behavior of the client
and NO, the standards haven't changed ;)