Dynamic Host Configuration Protocol or DHCP

 

Configuring Your Internet Connection Part 1: The Dynamic Host Control Protocol

Every time you connect a computer or router to the Internet, you will be expected to provide important details describing your immediate pathway out to the rest of the world. Four items of information will almost always be required:

1 of 4: Your IP address

2 of 4: A - "Netmask" - indicating the size of your local IP subnet

3 of 4: IP Address of your subnet's Default Gateway

4 of 4: IP Address of an available Domain Name Server

In this movie we will examine these four items in sufficient detail to allow you to understand and use popular, - automated - configuration services for a typical personal computer or a router. We'll also help you to visualize the components that are being configured.

We will use Microsoft's popular - "Windows XP" operating system as the basis for most of the illustrated dialogs and menus. Although routers or computers using other operating systems will not look exactly like Windows XP, most of them use the same vocabulary and request this same information in substantially the same way.

Part 1 of 4: Your - IP Address

Every path to the Internet leads through a router. In fact, Internet pathways generally pass through many, many routers, and the worldwide Internet can be visualized as a branching, maze-like galaxy of routers, each defining the intersection points between millions of smaller networks. Among the millions of routers constituting the worldwide Internet, we are going to assume that you've purchased - one - of them that is of special significance to you, because it is installed inside your home or small office, and it will use "NAT" (Network Address Translation) technology (as described in other movies here on AskMisterWizard.com) to help you manage multiple IP addresses.

If you aren't familiar with NAT technology, then you should watch the two movies entitled - "Simple Routers for Small Networks Part 1: Client Firewalls" - and - "Simple NAT Routers Part 2: Multiple PCs", before proceeding here, because - this - movie builds on - those - concepts.

If yours is a typical small network using a low-cost Cable or DSL Internet connection, the - "external" - ethernet interface of your router will be assigned a single IP address by your Internet Service Provider. (That - "public" - IP address will probably change from time to time because most ISPs like to assign and re-assign public addresses dynamically, as they are needed).

The - "internal" - interface of your router will use NAT technology to help you manage a group of local IP addresses. When you connect a computer, print server, or file server to your local area network, its ethernet interface will need an IP address from that group. Most small NAT routers can manage a group of 256 local IP addresses.

Technically, an IP address is a unique 32-bit, binary number that identifies a piece of Internet equipment. Computers use binary numbers because binary hardware is a lot simpler (and less expensive) than hardware built to understand decimal or other number systems. If you were to examine an Internet Address as it arrives from an Ethernet cable, it would look something like this:

11000000101010000000000000000010

Although that binary system is efficient for computer hardware, it's unwieldy for us humans! If we convert that number into the familiar decimal form that we use for normal human mathematics, it looks like this:

3232235522

But Internet addresses are not just ordinary numbers; the format has a functional, unique structure. They are assigned by an - "Internet Architecture Board" - in patterns that can be analyzed to give hints as to the location of the associated equipment within the grand scheme of the worldwide Internet. Within that - Grand Scheme, it turns out that the most important characteristics of an individual address can be deduced by examining eight-bit blocks. Unfortunately, if we convert an Internet Address into a decimal number, the 8-bit boundaries become hopelessly obscured. This led the Internet gurus of yesteryear to abandon decimal address representations. Instead, they prefer to visualize the 32 bits as four segments of eight bits each like this:

11000000 10101000 00000000 00000010

By common agreement, Internet folk have decided to represent each of those four, eight-bit binary segments as an individual number which can be converted to decimal, ranging between 0 and 255 (base 10). The usual and customary arrangement separates each of those segments with a period (pronounced - "dot" - among the Internet Cogniscenti). This results in IP addresses that look like this:

192.168.0.2

All of your Internet-compatible computers and equipment must somehow become aware of an Internet address by which it can communicate with everybody else using the IP protocol

The methods by which your computers and equipment learn their IP addresses fall into two broad categories as follows:

1 of 2: They can be automatically configured with a "dynamic" IP address,

or

2 of 2: They can be manually configured with a "static" IP address.

Most people start out using the first of these options, resulting in - "dynamic" IP addresses. Later, as they become more experienced and as they activate increasingly sophisticated services, it is commonplace to configure some of their equipment with static IP addresses.

Let's examine Dynamic IP address configuration first. (Later on, we'll view other movies to tackle the manual configuration methods that are necessary for static IP addresses).

DHCP: The "Dynamic Host Control Protocol"

Long ago, as well-established Local-Area Networks based on - Ethernet - began to evolve into globe-spanning networks using Internet Protocols, some very smart people determined that it would be a - Good Thing - to have an Ethernet-compatible server that might help a population of computers to migrate to the Internet, automatically obtaining IP addresses and every other necessary detail. As a result of this foresight, they agreed on a protocol by which ethernet-based computers that needed an IP address could use ethernet to ask for and receive one from a nearby - "server" - authority that understood both Ethernet and Internet protocols. They named this - "DHCP" - the - "Dynamic Host Control Protocol", and it has become very popular. Basically, any computer (or other piece of network equipment with an ethernet interface) that needs an IP address can use ethernet to - "broadcast" - a request for help like this:

"Hey! Everybody listen up: I need an IP address. If there's anybody here that understands the DHCP protocol and knows about available IP addresses that are compatible with this local area network, please respond back to me on my ethernet address so I can use IP along with the rest of you."

If a - "DHCP server" - has been installed on that ethernet broadcast domain, it will respond with a message like this:

"I am the DHCP server for this network. According to my records, you should use IP address 192.168.0.2 until further notice. The netmask for this network is 255.255.255.0, the default gateway address is 192.168.0.1, and Domain Name Services are always available from a computer at 65.130.221.8."

This information will permit any ethernet-equipped computer to configure itself for the Internet Protocol and to communicate with all of the other computers on the Internet.

Most modern, low-cost NAT routers include a built-in DHCP server that can handle DHCP requests for all of your computers and other network equipment.

As illustrated in this example, the DHCP protocol provides more than just an IP address. It's now time for us to proceed with brief discussions of that other information.

Part 2 of 4: Your network's - "Netmask" or - "Subnet Mask"

As you connect through your Internet Service Provider, your Local Area Network will behave as a - "subnetwork" - or - "subnet" - of the worldwide - "Internet". The design of the Internet permits subnets of various sizes, and the size of your own subnet determines the theoretical maximum number of computers or hardware servers that can communicate directly with one another without passing through your router. Most home or small office subnets accommodate as many as 256 distinct IP addresses. When any of your local computers sends information anywhere else, it will need to make a quick decision as to whether it can send it directly using your local ethernet hardware, or whether it needs to ask your router to send it to some other, remote subnet.

The size of your subnet is determined by your - "subnet mask". This concept was designed by engineers that were comfortable with the binary numbering system. As a result of this binary orientation, you will eventually notice that certain subnet mask values get used a lot. In particular, you will see these numbers used for most subnet masks:

255.255.255.255

255.255.255.252

255.255.255.0

If you speak binary, you'll recognize the special significance of those numbers and the reason why they can easily be interpreted to divide a 32-bit number into two different sections. If you don't speak binary, don't worry about it! You can satisfy almost every configuration question by just memorizing these three items of information:

1 of 3: Netmask 255.255.255.255 specifies just one single IP address for use by just one single computer or piece of network equipment. This netmask is used for certain special cases in which it's important to isolate one computer from all others.

2 of 3: Netmask 255.255.255.252 specifies a small subnet for a very basic router and just ONE computer. This is the way most Internet Service Providers will try to configure the external interface of your router for access from their - "Cable modem" - or - "DSL modem".

3 of 3: Netmask 255.255.255.0 specifies a subnet with 256 IP addresses. This is the way your local router will generally configure it's own local interface to establish the basis for IP on your LAN.

The DHCP protocol will work with your router's preprogrammed, - "default" - behavior to automatically configure all of the Netmask values that will ever be needed in your Local Area Network. If you are using the DHCP protocol everywhere, you should never need to specify a netmask.

Once this information is available to the computers on your network, they will use it in combination with their own IP address to determine whether any other IP address can be reached through local ethernet hardware, or whether it can only be reached through your router.

Part 3 of 4: Your network's - "Default Gateway"

Most home or small office networks have just one pathway out to the worldwide Internet, through a single Internet Service Provider. In that case, whenever any of your local computers wants to transmit a packet of IP information outside of your local subnet, it will need help from your router. Accordingly, your router serves as the - "Default Gateway" - to the Internet for your local network, and all of your local computers will need to know its local IP address. The DHCP protocol will work with your router's preprogrammed - "default" - behavior to automatically inform all of your other equipment of its local IP address. (Furthermore, - your router - will use your Internet Service Provider for - its - Default Gateway, and will learn the associated IP address through the DHCP protocol, from a DHCP server hosted by your ISP). If you are using the DHCP protocol everywhere, you should never need to specify a Default Gateway value.

Part 4 of 4: Your network's - "Domain Name Server"

IP addresses are always 32-bit numbers. As we illustrated in section 1 of this movie, those 32-bit numbers can be represented in a variety of ways, and we suggested that the popular - "dotted decimal" - notation was the most widespread. The example that we used looked like this:

192.168.0.2

Your computer can very easily convert that format into the binary format that works best with its hardware.

There is another popular way to represent an IP address. You've probably seen IP addresses that look like this:

www.yahoo.com

www.google.com

webmail.smithcompany.com

printer1.smithmachines.org

When an IP address is represented in that format, it is called a - "Domain Name" address. Obviously those IP address representations can be more meaningful and more memorable to humans. Unfortunately, your computer cannot convert that format into the binary format that your hardware needs unless it gets help from some kind of - "higher intelligence" that's aware of the domain names chosen by humans. Internet designers long ago implemented an automated, easy mechanism for translating back and forth between the two formats. The mechanism relies on computers running special processes called - "Domain Name Servers" - (DNS) - that have a highly evolved intelligence optimized for converting IP addresses back and forth between Domain Name and Dotted Decimal representations. (Often these services are supplemented with the names of your ISP's devices, and are relayed through the routers made available by your Internet Service Provider). Whenever you want to use an Internet address like "www.google.com", your computer automatically contacts a Domain Name Server and asks for help translating it to a dotted decimal address, which it remembers for awhile, and uses for subsequent message transmission.

Accordingly, all of the computers and other network equipment on your LAN will want to know the numeric IP address(es) of one or more Domain Name Servers that can answer requests for address translation services. Your Internet Service Provider should host one or more DNS servers for your use, and the DHCP protocol will work with your router's preprogrammed, - "default" - behavior to make this information available. If you are using the DHCP protocol everywhere, you should never need to specify a DNS Server address value.

Configuration Example using Windows XP

Let's use Microsoft's well-known - "Windows XP" - operating system as an example to show how to configure an Internet connection. From the - "Control Panel" - facility, select "Network and Internet Connections". From there, click on "Network Connections". That will result in a frame like this, showing a list of all of your network interfaces:

Click on the icon representing the network interface that you want to configure with an IP address. Usually it will have a name like - "Local Area Connection". (If your computer has only one network interface, then the list will show only that single entry. Double-click on it.)

A new frame, named - "Local Area Connection Status" - will appear as follows:


From the prominent - "General" - tab, select the button labelled - "Properties".

A new frame, named - "Local Area Connection Properties" - will appear as follows:

That frame will be dominated by a list under a title that says "This connection uses the following items". From within that list, doubleclick on - "Internet Protocol (TCP/IP)".

A new frame, named - "Internet Protocol (TCP/IP) Properties will appear as follows:

From the prominent - "General" - tab, select - "Obtain an IP address automatically" - and - "Obtain DNS Server address automatically".

Click "OK" and close all of the open frames. Your PC is configured for Internet Access!

Conclusions

Modern NAT routers include a - "Dynamic Host Control Protocol" - (DHCP) server that makes it very easy to configure all of the other computers in your local area network for Internet access. It is easy to configure your Personal Computers and other network equipment to use this protocol to ask your router for all of the details they will need to become Internet compatible. Your router will use this same protocol in turn, to ask your Internet Service Provider for the information it needs.