When a user takes his machine with Windows 7 OS (laptop) from one network to another network, then DHCP client first tries to get the network hint (SSID) of the new network. If it does not get any network hint, then regular processing is carried on assuming that the network does not support network hint. Else if the client gets the network hint, then it tries to match the network hint against the entries cached by the DHCP client.
When the DHCP client matches the received network hint against the cached entries for that interface, if it founds a match and if the lease corresponding to that entry is valid, then the client uses the matched entry configuration as the DHCP configuration for that interface. If there is no match, then the client proceeds in a regular manner assuming that the network has been visited for the first time.
Separate cache is maintained for each interface. Whenever a user moves from one network to other network, if there was an associated network hint for the previous network, then the client preserves that entry in cache for that interface.
Cache cleanup is done regularly in order to delete the entries for which lease has expired. If the cache is full then also cache cleanup is done in order to delete entries for which the lease has expired or based on other heuristics.
Thus, using the cached DHCP configuration helps in reducing the time taken by the client to get network connectivity.
For Interface A, suppose a user is currently in Network1. Now the user moves from Network1 to Network2. So the lease configuration for Network1 will be cached. Now when the user moves from Network2 to Network1, the lease configuration for Network2 will be cached and Network1’s SSID will be matched in the cached entries. In case the match is found, the cached DHCP configuration for Network1 will be used as the current DHCP configuration.
This just struck me as geeky-cool (a term I use far too often, but that’s because I thrive on geeky-cool
Though the DHCP Network Hint feature initially struck as me as neat, it's been causing me some trouble in a personal WLAN setting running a Netgear WGR614v6 AP that uses the address reservation feature to dynamically allocate specific IPs to programmed MAC addresses.
With DHCP network hint enabled my Windows 7 machines would frequently end up with IP addresses actually reserved for other MAC addresses, and once they had obtained such an invalid IP address, it was quite difficult to convince them to actually request a new lease from the server (not to mention that with lots of non-matching assigned IP/MAC pairs the server would actually have problems assigning the correct IP as it would often be in use by another rogue Windows 7 system).
Disabling DHCP network hint resolved the problem (which thus of course never occured with Vista/XP systems).
Please explain the complete scenario. Why is the router assigning reserved IP address to DHCP client with some other MAC address?