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.