Using
Dynamic Host Configuration Protocol
Chapter Excerpt from Windows NT TCP/IP Network Administration
By Craig Hunt & Robert Bruce Thompson
DHCP has become a practical necessity for
large IP networks for two reasons. First, each host in a TCP/IP network must
have a unique IP address. This simple fact has caused a tremendous amount of
aggravation and extra work for network administrators, and has resulted in
more than a few crashed networks. In the early days of TCP/IP networking,
there was no automated alternative; you had to assign an IP address manually
to each host. Even today, many networks continue to use manual assignment and
tracking of IP addresses.
Assigning IP addresses manually is
practical only for small networks. As the size and complexity of the network
increases, using manual IP address assignment becomes increasingly unworkable.
Each time a workstation, server, network printer, router or other host is
added or relocated, someone must determine a valid IP address, ensure that
that IP address is not already in use by another host, record the assignment
of that address, and then finally configure the host manually for that IP
address. This process requires expert staff time and is always prone to error.
Accidentally duplicating an IP address will at best cause a communication
failure on both affected hosts. At worst - if the duplicated IP address
belongs to a server, router or other critical network component - the
duplicate IP address may cause the entire network to crash. Microsoft TCP
always checks to see if its address is a duplicate by issuing an ARP before
using the address.
The second motivation for using DHCP is
that the perceived shortage of IP network addresses has made it necessary to
use IP host addresses more efficiently. Only a few years ago, getting a Class
C Network Address (256 IP addresses) was a matter of simply asking InterNIC to
assign one to you. Requests for as many as 16 contiguous C blocks were
routinely honored by InterNIC without much formality. If you said you needed
it, they gave it to you. Even getting a Class B Network Address (256 C blocks,
or 65,536 IP addresses) required minimal paperwork and justification.
Nowadays, it's a struggle to get InterNIC
to assign even a single Class C Network Address. Getting multiple C blocks
assigned requires spending hours or days completing detailed justifications,
network plans, and so forth. Getting a B block assigned is almost impossible
unless you are applying on behalf of a Fortune 500 corporation, and even then
it's not a foregone conclusion.
The large granularity of Network Addresses
- a C block is the smallest unit that can be assigned - means that many IP
addresses are wasted. Consider a small branch office with a router, a server
and 7 workstations. If that branch office is assigned a Class C Network
Address, only 9 of the available 256 IP addresses are in use. The remaining IP
addresses cannot be used except at that branch office, and so are wasted. In
the past, this didn't much matter, because Network Addresses were free and
were easily available from a seemingly inexhaustible supply. Some large
companies with many small remote sites wasted 90% or more of the many IP
addresses assigned to them.
Network addresses are assigned by InterNIC
on a first-come, first-served basis, which means that there is absolutely no
correlation between Network Address and geographic location. For example,
InterNIC assigned to Triad Technology Group, Inc. (Thompson's company, located
in Winston-Salem, NC) the Class C Network Address 204.238.30.0. The Network
Address immediately preceding that one, 204.238.29.0, is assigned to Warner
Brothers Imaging Technologies in Sherman Oaks, CA. The Network Address
immediately following that one, 204.238.31.0, is assigned to the Bead Gallery
in Juneau, AK.
A side effect of this policy has been the
explosive growth of routing tables. Each individually assigned Network Address
requires a routing table entry in every router on the backbone. A contiguous
block of, say, 16 Class C Network Addresses assigned to the same network
requires only a single routing table entry. Those same 16 C blocks, if
assigned individually to different companies (and different networks), require
16 individual routing table entries. As of early 1997, the routing tables on
the Internet backbone have grown to more than 30 MB
InterNIC strongly encourages you to use IP
addresses assigned to you by your Internet Service Provider (ISP) rather than
applying directly to InterNIC for your own block of addresses. They do so both
to avoid wastage of IP addresses and to slow the growth of routing tables.
However, there is a downside to using
addresses provided by your ISP, and you won't hear either InterNIC or your ISP
talking much about it. Addresses provided by your ISP belong to the ISP rather
than to you. This means they aren't portable. If you decide to change ISP's,
you have no option but to recast your IP address assignments network-wide to
use the addresses provided by your new ISP. In effect, using addresses
provided by an ISP locks you into that ISP.
At first, InterNIC simply recommended that
you use ISP-provided IP addresses, but that didn't accomplish much. Most
administrators were concerned about address portability, and so simply
continued to apply to InterNIC when they needed additional Network Address
blocks. Seeing this, and still determined to slow the growth of routing
tables, InterNIC next began warning applicants for Network Address blocks that
there was no guarantee that individually assigned blocks would be routable in
the future.
Apparently, this hasn't worked either,
because InterNIC now proposes to charge for directly assigned IP addresses.
Under this proposal, any organization to which InterNIC directly assigns a
Network Address must pay a $1,000 annual fee, with additional charges assessed
based on the number of IP addresses assigned. If this proposal is implemented,
you will see the wholesale abandonment of Class C Network Addresses. Almost
everyone will use Network Addresses provided by his ISP.
So, what relationship exists between the
source of your IP addresses and using DHCP? Simply this. Implementing DHCP on
your current network will allow you to recast your IP addressing much more
easily when (not if) you find yourself switching to addresses provided by your
ISP. If you are using DHCP when the time to recast arrives, you will need to
change only the DHCP server configuration and the few static addresses
assigned to servers and routers, including the DHCP server. If you are not
running DHCP, you will need to change the IP configurations individually for
each machine on your network.
[ Next: How DHCP
Works]
[ Previous: TOC
]
The Authors
Craig Hunt is an expert on TCP/IP and the author of the best seller
TCP/IP Network Administration. Robert Bruce Thompson is an exper on
Windows NT and the author of several books on NT including the recently
released Windows NT Server 4.0 for the NetWare Administrator.
To purchase, click here...