Why are DHCP ACK and REQ messages broadcast in Link Layer?
Clash Royale CLAN TAG#URR8PPP
up vote
2
down vote
favorite
When I look at the protocol, I see that DHCP Request and Acknowledgement are both broadcast in the link layer. However at that point, both sides actually know each other's MAC addresses. Why do they not unicast the messages?
dhcp protocol-theory
add a comment |Â
up vote
2
down vote
favorite
When I look at the protocol, I see that DHCP Request and Acknowledgement are both broadcast in the link layer. However at that point, both sides actually know each other's MAC addresses. Why do they not unicast the messages?
dhcp protocol-theory
add a comment |Â
up vote
2
down vote
favorite
up vote
2
down vote
favorite
When I look at the protocol, I see that DHCP Request and Acknowledgement are both broadcast in the link layer. However at that point, both sides actually know each other's MAC addresses. Why do they not unicast the messages?
dhcp protocol-theory
When I look at the protocol, I see that DHCP Request and Acknowledgement are both broadcast in the link layer. However at that point, both sides actually know each other's MAC addresses. Why do they not unicast the messages?
dhcp protocol-theory
edited Aug 18 at 15:13
jonathanjo
5,170222
5,170222
asked Aug 18 at 14:33
Ninja Bug
1575
1575
add a comment |Â
add a comment |Â
1 Answer
1
active
oldest
votes
up vote
5
down vote
accepted
From RFC 2131 "Dynamic Host Configuration Protocol"
Remembering that there can be multiple DHCP servers, the DHCPREQUEST is broadcast because:
Those servers not selected by the DHCPREQUEST message use the message as notification that the client has declined that server's offer. [p16]
Those other servers potentially reserved an address in their pool for this client, and it can be marked as unused if the server knows that the client doesn't want it.
The DHCPACK is broadcast if the client asks for it (because it's in a partially configured state, or just for its convenience):
To work around some clients that cannot accept IP unicast datagrams before the TCP/IP software is configured [there is] the BROADCAST (B) flag. [p11]
If the broadcast bit is not set and [various conditions] then the server unicasts DHCPOFFER and DHCPACK [...] If [other conditions] then the server broadcasts DHCPOFFER and DHCPACK messages [p23]
DHCP Request IP destination address is broadcast as well. Both MAC and IP addresses are broadcasted in the Request, then, is there something in the payload that tells certain DHCP server that it has been chosen and others that they have not been chosen?
â Ninja Bug
Aug 18 at 15:13
1
In the DHCPREQUEST, a non-chosen server sees a requested IP address that it didn't offer, for the given client identifier.
â jonathanjo
Aug 18 at 15:21
add a comment |Â
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
5
down vote
accepted
From RFC 2131 "Dynamic Host Configuration Protocol"
Remembering that there can be multiple DHCP servers, the DHCPREQUEST is broadcast because:
Those servers not selected by the DHCPREQUEST message use the message as notification that the client has declined that server's offer. [p16]
Those other servers potentially reserved an address in their pool for this client, and it can be marked as unused if the server knows that the client doesn't want it.
The DHCPACK is broadcast if the client asks for it (because it's in a partially configured state, or just for its convenience):
To work around some clients that cannot accept IP unicast datagrams before the TCP/IP software is configured [there is] the BROADCAST (B) flag. [p11]
If the broadcast bit is not set and [various conditions] then the server unicasts DHCPOFFER and DHCPACK [...] If [other conditions] then the server broadcasts DHCPOFFER and DHCPACK messages [p23]
DHCP Request IP destination address is broadcast as well. Both MAC and IP addresses are broadcasted in the Request, then, is there something in the payload that tells certain DHCP server that it has been chosen and others that they have not been chosen?
â Ninja Bug
Aug 18 at 15:13
1
In the DHCPREQUEST, a non-chosen server sees a requested IP address that it didn't offer, for the given client identifier.
â jonathanjo
Aug 18 at 15:21
add a comment |Â
up vote
5
down vote
accepted
From RFC 2131 "Dynamic Host Configuration Protocol"
Remembering that there can be multiple DHCP servers, the DHCPREQUEST is broadcast because:
Those servers not selected by the DHCPREQUEST message use the message as notification that the client has declined that server's offer. [p16]
Those other servers potentially reserved an address in their pool for this client, and it can be marked as unused if the server knows that the client doesn't want it.
The DHCPACK is broadcast if the client asks for it (because it's in a partially configured state, or just for its convenience):
To work around some clients that cannot accept IP unicast datagrams before the TCP/IP software is configured [there is] the BROADCAST (B) flag. [p11]
If the broadcast bit is not set and [various conditions] then the server unicasts DHCPOFFER and DHCPACK [...] If [other conditions] then the server broadcasts DHCPOFFER and DHCPACK messages [p23]
DHCP Request IP destination address is broadcast as well. Both MAC and IP addresses are broadcasted in the Request, then, is there something in the payload that tells certain DHCP server that it has been chosen and others that they have not been chosen?
â Ninja Bug
Aug 18 at 15:13
1
In the DHCPREQUEST, a non-chosen server sees a requested IP address that it didn't offer, for the given client identifier.
â jonathanjo
Aug 18 at 15:21
add a comment |Â
up vote
5
down vote
accepted
up vote
5
down vote
accepted
From RFC 2131 "Dynamic Host Configuration Protocol"
Remembering that there can be multiple DHCP servers, the DHCPREQUEST is broadcast because:
Those servers not selected by the DHCPREQUEST message use the message as notification that the client has declined that server's offer. [p16]
Those other servers potentially reserved an address in their pool for this client, and it can be marked as unused if the server knows that the client doesn't want it.
The DHCPACK is broadcast if the client asks for it (because it's in a partially configured state, or just for its convenience):
To work around some clients that cannot accept IP unicast datagrams before the TCP/IP software is configured [there is] the BROADCAST (B) flag. [p11]
If the broadcast bit is not set and [various conditions] then the server unicasts DHCPOFFER and DHCPACK [...] If [other conditions] then the server broadcasts DHCPOFFER and DHCPACK messages [p23]
From RFC 2131 "Dynamic Host Configuration Protocol"
Remembering that there can be multiple DHCP servers, the DHCPREQUEST is broadcast because:
Those servers not selected by the DHCPREQUEST message use the message as notification that the client has declined that server's offer. [p16]
Those other servers potentially reserved an address in their pool for this client, and it can be marked as unused if the server knows that the client doesn't want it.
The DHCPACK is broadcast if the client asks for it (because it's in a partially configured state, or just for its convenience):
To work around some clients that cannot accept IP unicast datagrams before the TCP/IP software is configured [there is] the BROADCAST (B) flag. [p11]
If the broadcast bit is not set and [various conditions] then the server unicasts DHCPOFFER and DHCPACK [...] If [other conditions] then the server broadcasts DHCPOFFER and DHCPACK messages [p23]
edited Aug 19 at 10:06
answered Aug 18 at 14:50
jonathanjo
5,170222
5,170222
DHCP Request IP destination address is broadcast as well. Both MAC and IP addresses are broadcasted in the Request, then, is there something in the payload that tells certain DHCP server that it has been chosen and others that they have not been chosen?
â Ninja Bug
Aug 18 at 15:13
1
In the DHCPREQUEST, a non-chosen server sees a requested IP address that it didn't offer, for the given client identifier.
â jonathanjo
Aug 18 at 15:21
add a comment |Â
DHCP Request IP destination address is broadcast as well. Both MAC and IP addresses are broadcasted in the Request, then, is there something in the payload that tells certain DHCP server that it has been chosen and others that they have not been chosen?
â Ninja Bug
Aug 18 at 15:13
1
In the DHCPREQUEST, a non-chosen server sees a requested IP address that it didn't offer, for the given client identifier.
â jonathanjo
Aug 18 at 15:21
DHCP Request IP destination address is broadcast as well. Both MAC and IP addresses are broadcasted in the Request, then, is there something in the payload that tells certain DHCP server that it has been chosen and others that they have not been chosen?
â Ninja Bug
Aug 18 at 15:13
DHCP Request IP destination address is broadcast as well. Both MAC and IP addresses are broadcasted in the Request, then, is there something in the payload that tells certain DHCP server that it has been chosen and others that they have not been chosen?
â Ninja Bug
Aug 18 at 15:13
1
1
In the DHCPREQUEST, a non-chosen server sees a requested IP address that it didn't offer, for the given client identifier.
â jonathanjo
Aug 18 at 15:21
In the DHCPREQUEST, a non-chosen server sees a requested IP address that it didn't offer, for the given client identifier.
â jonathanjo
Aug 18 at 15:21
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fnetworkengineering.stackexchange.com%2fquestions%2f52645%2fwhy-are-dhcp-ack-and-req-messages-broadcast-in-link-layer%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password