There are many different ways to configure a device with an IPv4 address. In this video, you’ll learn about DHCP, manual addressing, DHCP reservations, and APIPA.
<< Previous Video: Seven Second Subnetting Next: Assigning IPv6 Addresses >>
In the early days of IP version 4, we would have to go from workstation to workstation to workstation to manually configure all of the IP configuration details, such as the IP address, the subnet mask, the default gateway, DNS servers that were required, NTP information, and anything else related to the overall configuration of IP. Obviously, this manual configuration process did not scale very well.
So in October of 1993, we created BOOTP. This is the bootstrap protocol. But BOOTP didn’t allow us to configure everything we needed for an IP configuration. There were still a number of manual configurations that were required. BOOTP also didn’t know when a lease was up and an IP address was available again. So there was no mechanism in place for BOOTP to realize that there were additional IP addresses that could be leased to other devices.
And that’s why we came up with DHCP, the Dynamic Host Configuration Protocol, in 1997. And this standard has been updated through the years. DHCP allows us to configure most IP configuration settings and networks across almost any device that you would connect to the network. Before our workstation was turned on, our DHCP servers were configured with a list of available IP addresses that could be assigned to other devices on this network. We call this a pool of IP addresses, and it’s very common to configure multiple pools of IP addresses for these DHCP servers.
This pool of available IP addresses will shrink and grow again based on how many people are on the network and how many may have left the network. And if you visit a network a second time, your IP address may change depending on what IP addresses are available in that pool. However there are a number of devices on your network that you might want to always have exactly the same IP address, and you don’t want them to change based on what might be available in a DHCP pool.
For example, you might have servers, printers, or other infrastructure devices that you would like to administratively assign an IP address, and you never want that IP address to change. One way to accomplish this is to manually configure an IP address on every single server, printer, infrastructure device. This would require disabling DHCP, and then manually typing in the IP address, subnet mask, DNS information, and anything else that might be required for the IP configurations on that device.
This obviously means that you’ll need to log in to every server, every printer, and every infrastructure device so that you can manually configure these. And if anything changes with your IP address configurations, you’ll have to revisit all of those devices and manually make all of the changes necessary to keep those devices available on the network. To avoid all of that administration, you might want to leave DHCP enabled on those infrastructure devices, then on your DHCP server you would create an IP reservation that would associate the Mac address of that server with an IP address that you would administer.
This means that all of the infrastructures have IP addresses that you’ve assigned, and if you ever need to make any changes, you simply make those changes in the DHCP server instead of having to visit every single one of those devices to make the change manually. An interesting thing happens if you’ve configured a workstation for DHCP and no DHCP server is available. Although you might think the workstation would not be able to communicate on the network without an IP address, there is a type of IP address that allows the workstation to at least communicate to local devices.
We call this a link-local address. And although this device would not be able to communicate through a router, it would still be able to communicate to all other devices on its local IP subnet. In IP version 4, we call this link-local address an APIPA address that stands for Automatic Private IP Addressing. And there’s an address range that has been reserved for APIPA. It’s 169.254.0.1 through 169.254.255.254.
The APIPA standard also reserves the first and last 256 address block in this address range. So the functional IP addresses that you would see on a device would be 169.254.1.0 through 169.254.254.255. This means that this workstation, which normally would get an IP address from DHCP cannot communicate to that server. It will simply pick one of these addresses inside of this range.
This device then sends an ARP request to the network to make sure no one else on the sub that happens to be using this particular IP address, and then assigns this address if nobody responds. The way that you would tell the device has been assigned one of these APIPA addresses is to look at the IP address configuration for that operating system. And if the IP version 4 address starts with 169.254, you know this device is using an APIPA address.