When a DHCP client boots up, it first looks for a DHCP server in order to obtain an IP configuration. If the client is unable to successfully negotiate a DHCP lease, it uses APIPA to automatically configure itself with an IP address from a range that has been reserved especially for Microsoft. The IP address range is 169.254.0.1 through 169.254.255.254. The client also configures itself with a default class B subnet mask of 255.255.0.0. A client uses the self-configured IP address until a DHCP server becomes available. The APIPA service also checks every five minutes for the presence of a DHCP server. If it detects a DHCP server on the network, APIPA stops, and the DHCP server replaces the APIPA networking addresses with dynamically assigned addresses. After the network adapter has been assigned an IP address, the computer can use TCP/IP to communicate with other IP-based nodes using the same subnet network address (169.254.x.x). Computers assigned an APIPA address are not configured with a default gateway. Therefore, no communication outside of the local subnet is possible. Automatic private IP addressing is enabled by default. To view the current IP configuration of a Windows computer, use the following commands: If the IP Address is in the range of 169.254.x.x, then your computer is currently configured with an APIPA address.
How does the computer ensure that two nodes don’t share the same APIPA address?
The APIPA address is not randomly chosen. The algorithm is used to come up with the IP address factors in the network adapter’s MAC address. Since the MAC address should be unique on each Ethernet adapter, the APIPA address should be unique as well.
APIPA seems to be very limited. When is it applicable to use this service?
Generally, even on a small network such as the one described above, other options should be considered since there is almost no control of the IP configuration of your clients using APIPA, unless that is the objective.