DHCP is an extension of the BOOTP mechanism. In other words, DHCP uses BOOTP as its transport protocol. This behavior allows existing BOOTP clients to interoperate with DHCP servers without requiring any change to the clients' initialization software; the following table shows basic comparisons between these two protocols:
|
BOOTP/DHCP |
BOOTP |
DHCP (Dynamic Host Configuration Protocol) |
|---|---|---|
|
Meaning |
Bootstrap Protocol |
Dynamic Host Configuration Protocol extension of BOOTP |
|
Year |
1985 |
1993 |
|
UDP Server Port |
67 | |
|
UDP Client port |
68 | |
|
Services |
|
|
|
RFC |
RFC951 |
RFC 2131 |
|
Existence |
Superseded by the Dynamic Host Configuration Protocol (DHCP) |
ACTIVE; RFCs keep coming to add more features and support different technical requirements |
Use the bootp filter to display BOOTP/DHCP traffic and use UDP port 67 to capture the BOOT/DHCP traffic only.
DISCOVER, OFFER, REQUEST, ACK protocol exchanges happen between clients and servers during network address assignment, as shown in the following screenshot. As a mnemonic, refer to this as DORA.
The address assignment can also be done using the Rapid Commit option for DHCPv4. Modeled on DHCPv6, it uses two-message exchanges to quickly configure the DHCPv4 client.

To demonstrate four-message exchange open the DHCPv4.pcap file in the Wireshark, as shown in the following screenshot:

The preceding figure shows a message exchange happening between the DHCPv4 client and DHCPv4 server. This is summarized as follows:
DISCOVER (bootp.option.dhcp == 1):255.255.255.255), a DHCPDISCOVER message, on its local physical subnet and may include the option: (55 that is bootp.option.type) parameter request list; during this time the "yiaddr" field will be (bootp.ip.your == 0.0.0.0)OFFER (bootp.option.dhcp == 2):DHCPOFFER message that includes an available network address in the "yiaddr" (bootp.ip.your == 10.0.0.106) fieldDICOVER phaseDHCPREQUEST (bootp.option.dhcp == 3):255.255.255.255) a DHCPREQUEST message that must include the option 54 DHCP server identifier to indicate which server it has selected, and may include other options specifying the desired configuration valuesDHCPREQUEST message commits the binding for the client to the db storage and responds with an ACKACK (bootp.option.dhcp == 5):bootp.ip.your == 10.0.0.106)DECLINE message to the server and restart the configuration processThe commands to capture DHCPv4 traffic are as follows:
ipconfig /renew and press Enter.ipconfig /release and press Enter.
bash# ifdown eth0:0
bash$ ifup eth0:0