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
3.129.26.22