logo

Practical Computing Advice and Tutorials

Tue: 23 Jul 2019


Site Content

Programming
&
Development


Technical Knowhow


Command Line Interface


Security

DHCP

In these pages, I've written about the concept of IP and MAC Addresses and in my Ethernet page I introduced the concept of a Network Model, in which we can see the different Network Layers and how information is encapsulated by the different protocols that work within the layers, as well as how the information flows between the network layers.

We also know that any network interface of any given computer will have its own MAC Address and you can probably guess that by implication, each interface will also have to have its own IP Address.

When a computer that has Ethernet technology connects to the Ethernet Network, it will automatically identify itself to that Network via an Application Layer Protocol called DHCP: Dynamic Host Configuration Protocol. Technically, DHCP is a Network Management Protocol.

The Data that the DHCP passes down from L5 to L4 contains Client Identifier information, of which the most important information so far, is the Client Hardware Address; A.K.A the MAC Address.

At L4, because DHCP uses the UDP (I'll cover both the UDP and the TCP in a later post) as its transport protocol, a UDP Header is added to the data to form the Segment. This Header will have both a SRC Port (68) and a DEST Port (67). The port numbers are by convention so that the process can get going.

The Segment is then passed down to L3, where the Internet Protocol will encapsulate the Segment by adding a IP Header. But, we don't have any IP Address information yet, so the SRC IP will be 0.0.0.0 and the DEST IP will be 255.255.255.255 (a 'Broadcast' IP Address) which means all networks and all hosts.

L2 will then encapsulate that 'Packet' by adding a Header in which the DEST MAC will be FFFF.FFFF.FFFF (a 'Broadcast' MAC Address) and the SRC MAC will be the one passed down from L5.

This Ethernet Data Frame is then put out on the wire and the system simply waits, or 'listens' for any response.

What the client computer is essentially doing here is trying to discover if a DHCP server is on the network and, if so, requesting the lease of an IPv4 Address.


DORA

The process of obtaining an IP Address has four steps:

Once that 4-step process (sometimes you'll see it referred to as 'DORA') has been completed, the Client can then join the network as a regular client, sending and receiving traffic that is specific to the client.