RFC2131 section 3.1 describe the DHCP working flow as follows:
Server Client Server
(not selected) (selected)
v v v
| | |
| Begins initialization |
| | |
| _____________/|\____________ |
|/DHCPDISCOVER | DHCPDISCOVER \|
| | |
Determines | Determines
configuration | configuration
| | |
|\ | ____________/|
| \________ | /DHCPOFFER |
| DHCPOFFER\ |/ |
| \ | |
| Collects replies |
| \| |
| Selects configuration |
| | |
| _____________/|\____________ |
|/ DHCPREQUEST | DHCPREQUEST\ |
| | |
| | Commits configuration
| | |
| | _____________/|
| |/ DHCPACK |
| | |
| Initialization complete |
| | |
. . .
. . .
| | |
| Graceful shutdown |
| | |
| |\ ____________ |
| | DHCPRELEASE \|
| | |
| | Discards lease
| | |
v v v
Figure 3: Timeline diagram of messages exchanged between DHCP
client and servers when allocating a new network address
My question is: As for client requsting an IP address, What's the benefit of two phase packet exchange? I think it's sufficient to only define DHCPREQUEST/DHCPACK .
I mean, I hope someone can cite a case where DHCPDISCOVER can bring benefit to the working of the protocol.
Reducing one packet exchange(specifically involving MAC broadcast) reduces the risk of packet lost, especially on some not-so-reliable medium, such as 802.11 wireless network.
droms@bucknell.eduturns out to no longer exist. http://i.stack.imgur.com/5utZ1.png . So am I entitled to ask here now? It is rediculous I have to contact the author before I can ask question here, if so, 90% of the question should be marked [closed]. I insist my question in this case is decent, clear and no-nonsense, don't abuse your power to close it just because you think you know what DHCP is but only have a scanty knowledge of it. – Jimm Chen May 18 '13 at 07:56