draft-ietf-dhc-l2ra-03.txt   draft-ietf-dhc-l2ra-04.txt 
DHC Working Group B. Joshi DHC Working Group B. Joshi
Internet-Draft P. Kurapati Internet-Draft P. Kurapati
Expires: July 17, 2009 Infosys Technologies Ltd. Expires: October 23, 2009 Infosys Technologies Ltd.
January 13, 2009 April 21, 2009
Layer 2 Relay Agent Information Layer 2 Relay Agent Information
draft-ietf-dhc-l2ra-03.txt draft-ietf-dhc-l2ra-04.txt
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 32 skipping to change at page 1, line 32
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on July 17, 2009. This Internet-Draft will expire on October 23, 2009.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 3, line 22 skipping to change at page 3, line 22
4.1.1. Client-server interaction . . . . . . . . . . . . . . 7 4.1.1. Client-server interaction . . . . . . . . . . . . . . 7
4.1.2. Issues due to introduction of Layer 2 Relay Agent . . 9 4.1.2. Issues due to introduction of Layer 2 Relay Agent . . 9
4.2. Multiple DHCP server and Client on same subnet . . . . . . 9 4.2. Multiple DHCP server and Client on same subnet . . . . . . 9
4.2.1. Client-server interaction . . . . . . . . . . . . . . 10 4.2.1. Client-server interaction . . . . . . . . . . . . . . 10
4.2.2. Issues due to introduction of Layer 2 Relay Agent . . 10 4.2.2. Issues due to introduction of Layer 2 Relay Agent . . 10
4.3. DHCP server on another subnet with one Layer 3 Relay 4.3. DHCP server on another subnet with one Layer 3 Relay
Agent . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Agent . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3.1. Client-server interaction . . . . . . . . . . . . . . 11 4.3.1. Client-server interaction . . . . . . . . . . . . . . 11
4.3.2. Issues due to introduction of Layer 2 Relay Agent . . 13 4.3.2. Issues due to introduction of Layer 2 Relay Agent . . 13
5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14 5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14
6. Security Consideration . . . . . . . . . . . . . . . . . . . . 15 6. Security Considerations . . . . . . . . . . . . . . . . . . . 15
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.1. Normative Reference . . . . . . . . . . . . . . . . . . . 17 8.1. Normative Reference . . . . . . . . . . . . . . . . . . . 17
8.2. Informative Reference . . . . . . . . . . . . . . . . . . 17 8.2. Informative Reference . . . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18
1. Introduction 1. Introduction
DHCP Relay Agents eliminate the necessity of having a DHCP server on DHCP Relay Agents eliminate the necessity of having a DHCP server on
each physical network. Relay Agents populate the 'giaddr' field and each physical network. Relay Agents populate the 'giaddr' field and
skipping to change at page 5, line 28 skipping to change at page 5, line 28
o "Layer 3 Relay Agent" o "Layer 3 Relay Agent"
A Layer 3 Relay Agent is a third-party agent that transfers Bootstrap A Layer 3 Relay Agent is a third-party agent that transfers Bootstrap
Protocol (BOOTP) and DHCP messages between clients and servers Protocol (BOOTP) and DHCP messages between clients and servers
residing on different subnets, per [RFC951] and [RFC1542]. residing on different subnets, per [RFC951] and [RFC1542].
o "BRAS" o "BRAS"
BRAS or Broadband Remote Access Server is a network element which BRAS or Broadband Remote Access Server is a network element which
acts as an aggregation device terminating end user sessions. BRAS is acts as an aggregation device terminating end user sessions. BRAS is
usually the first IP edge device in Layer 2 Access Network usually the first IP edge device in a Layer 2 Access Network
architecture. architecture.
o "DHCP server" o "DHCP server"
A DHCP server is an Internet host that returns configuration A DHCP server is an Internet host that returns configuration
parameters to DHCP clients. parameters to DHCP clients.
o "Unnumbered Interfaces" o "Unnumbered Interfaces"
An interface with no IP address associated with it. IP packets An interface with no IP address associated with it. IP packets
skipping to change at page 7, line 15 skipping to change at page 7, line 15
4. Layer 2 Relay Agent in various network scenarios 4. Layer 2 Relay Agent in various network scenarios
This section describes the various network scenarios where a Layer 2 This section describes the various network scenarios where a Layer 2
Relay Agent fits in. It also describes how it handles different DHCP Relay Agent fits in. It also describes how it handles different DHCP
messages. messages.
4.1. DHCP server and client on same subnet 4.1. DHCP server and client on same subnet
In certain network configurations, a DHCP server may reside on the In certain network configurations, a DHCP server may reside on the
same subnet as the DHCP clients. A Layer 2 aggregation device same subnet as the DHCP clients. A Layer 2 aggregation device
resides between the DHCP clients and DHCP server. Following points resides between the DHCP clients and DHCP server. The following
describe how this Layer 2 device handles various DHCP messages if it points describe how this Layer 2 device handles various DHCP messages
acts as a Layer 2 Relay Agent. Figure 1 shows a typical network if it acts as a Layer 2 Relay Agent. Figure 1 shows a typical
setup. network setup.
+--------+ +--------+
| End | +--------+ | | End | +--------+ |
| Host#1 +-----------| | | +-----------+ | Host#1 +-----------| | | +-----------+
+--------+ | Layer +-----| | | +--------+ | Layer +-----| | |
| 2 | +-----| DHCP | | 2 | +-----| DHCP |
+--------+ | device | | | Server#1 | +--------+ | device | | | Server#1 |
| End +-----------| #1 | | +-----------+ | End +-----------| #1 | | +-----------+
| Host#2 | +--------+ | | Host#2 | +--------+ |
+--------+ | +--------+ |
skipping to change at page 7, line 45 skipping to change at page 7, line 45
+--------+ | device | | +--------+ | device | |
| End +-----------| #2 | | End +-----------| #2 |
| Host#n | +--------+ | Host#n | +--------+
+--------+ +--------+
Figure 1 Figure 1
4.1.1. Client-server interaction 4.1.1. Client-server interaction
The following summary of protocol message exchanges between clients The following summary of protocol message exchanges between clients
and DHCP servers describes how they are handled in Layer 2 Relay and DHCP servers describes how they are handled in a Layer 2 Relay
Agent. Agent.
1. The client (End Host #1) broadcasts a DHCPDISCOVER message on its 1. The client (End Host #1) broadcasts a DHCPDISCOVER message on its
local physical subnet. Layer 2 Relay Agent #1 intercepts this local physical subnet. Layer 2 Relay Agent #1 intercepts this
message, appends the Relay Agent Information option and message, appends the Relay Agent Information option and
broadcasts it to all the ports except the one on which it was broadcasts it to all the ports except the one on which it was
received. The Relay Agent Information option could be created as received. The Relay Agent Information option could be created as
suggested in RFC 3046 [RFC3046]. The Layer 2 Relay Agent does suggested in RFC 3046 [RFC3046]. The Layer 2 Relay Agent does
not set the 'giaddr' field. not set the 'giaddr' field.
skipping to change at page 8, line 46 skipping to change at page 8, line 46
5. The client receives this DHCPOFFER message and it broadcasts a 5. The client receives this DHCPOFFER message and it broadcasts a
DHCPREQUEST message. Layer 2 Relay Agent #1 handles this message DHCPREQUEST message. Layer 2 Relay Agent #1 handles this message
similar to how it handles a DHCPDISCOVER message. similar to how it handles a DHCPDISCOVER message.
6. The server receives the DHCPREQUEST message from the client and 6. The server receives the DHCPREQUEST message from the client and
responds with a DHCPACK/DHCPNACK message. A DHCP server may responds with a DHCPACK/DHCPNACK message. A DHCP server may
unicast the DHCPACK message. The Layer 2 Relay Agent processes unicast the DHCPACK message. The Layer 2 Relay Agent processes
the DHCPACK message similar to a DHCPOFFER message. the DHCPACK message similar to a DHCPOFFER message.
7. The Layer 2 Relay Agent process a DHCPNAK messages similar to a 7. The Layer 2 Relay Agent processes a DHCPNAK messages similar to a
DHCPACK message. DHCPACK message.
8. The Layer 2 Relay Agent process a DHCPDECLINE message similar to 8. The Layer 2 Relay Agent processes a DHCPDECLINE message similar
a DHCPDISCOVER message. to a DHCPDISCOVER message.
9. The DHCP client can unicast some of the DHCP messages. The Layer 9. The DHCP client can unicast some of the DHCP messages. The Layer
2 Relay Agent may or may not intercept these messages based on 2 Relay Agent may or may not intercept these messages based on
internal configuration. If Layer 2 Relay Agents intercept these internal configuration. If Layer 2 Relay Agents intercept these
messages, they append a Relay Agent Information option and messages, they append a Relay Agent Information option and
forward the message towards the DHCP server. They also intercept forward the message towards the DHCP server. They also intercept
the reply messages and remove the Relay Agent Information option the reply messages and remove the Relay Agent Information option
before forwarding them. before forwarding them.
4.1.2. Issues due to introduction of Layer 2 Relay Agent 4.1.2. Issues due to introduction of Layer 2 Relay Agent
skipping to change at page 9, line 27 skipping to change at page 9, line 27
field set in the message. Some existing DHCP server field set in the message. Some existing DHCP server
implementations do not echo back the Relay Agent Information implementations do not echo back the Relay Agent Information
option if giaddr is not set. This may lead to issues at Layer 2 option if giaddr is not set. This may lead to issues at Layer 2
Relay Agents as they will not be able to identify the outgoing Relay Agents as they will not be able to identify the outgoing
port correctly and would broadcast it to all ports. Some Layer 2 port correctly and would broadcast it to all ports. Some Layer 2
Relay Agents discard the reply messages if they do not find a Relay Agents discard the reply messages if they do not find a
Relay Agent Information option in a DHCP reply. Relay Agent Information option in a DHCP reply.
2. There is a case when the DHCP client receives a unicast reply 2. There is a case when the DHCP client receives a unicast reply
message like DHCPACK with a Relay Agent Information option. This message like DHCPACK with a Relay Agent Information option. This
may happen when the DHCP server unicast the DHCPACK message and may happen when the DHCP server unicasts the DHCPACK message and
the Layer 2 Relay Agent is configured not to intercept unicast the Layer 2 Relay Agent is configured not to intercept unicast
messages. In such a case, the DHCP client can ignore the Relay messages. In such a case, the DHCP client can ignore the Relay
Agent Information option. Agent Information option.
3. A DHCP server should be able to handle a unicast DHCP message 3. A DHCP server should be able to handle a unicast DHCP message
containing a Relay Agent Information option. Some existing DHCP containing a Relay Agent Information option. Some existing DHCP
server implementations do not echo back the Relay Agent server implementations do not echo back the Relay Agent
Information option in responses to unicast messages. Information option in responses to unicast messages.
4.2. Multiple DHCP server and Client on same subnet 4.2. Multiple DHCP server and Client on same subnet
skipping to change at page 10, line 31 skipping to change at page 10, line 31
| End +-----------| #2 | | End +-----------| #2 |
| Host#n | +--------+ | Host#n | +--------+
+--------+ +--------+
Figure 2 Figure 2
4.2.1. Client-server interaction 4.2.1. Client-server interaction
The message exchanges are the same as explained in 4.1.1. However, The message exchanges are the same as explained in 4.1.1. However,
due to the introduction of multiple DHCP servers the below additional due to the introduction of multiple DHCP servers the below additional
message exchange may happen message exchange may happen.
1. When Host #1 sends DHCPDISCOVER, it will be received by both the 1. When Host #1 sends DHCPDISCOVER, it will be received by both DHCP
DHCP Servers connected to Layer 2 Relay Agent #1 and both the Servers connected to Layer 2 Relay Agent #1 and both servers will
servers will respond with a DHCPOFFER. So instead of one respond with a DHCPOFFER. So instead of one DHCPOFFER message,
DHCPOFFER message, the Layer 2 Relay Agent would receive two the Layer 2 Relay Agent would receive two messages. The
messages. The processing of DHCP messages in the Layer 2 Relay processing of DHCP messages in the Layer 2 Relay Agents remains
Agents remains the same. the same.
4.2.2. Issues due to introduction of Layer 2 Relay Agent 4.2.2. Issues due to introduction of Layer 2 Relay Agent
1. Layer 2 relay agents which maintain persistent state, such as 1. Layer 2 relay agents which maintain persistent state, such as
updating filters or client registration, must be prepared to updating filters or client registration, must be prepared to
handle potentially conflicting responses from different DHCP handle potentially conflicting responses from different DHCP
Servers. Some Layer 2 relay agents may use "the most recent DHCP Servers. Some Layer 2 relay agents may use "the most recent DHCP
packet" to update this persistent state but this may not packet" to update this persistent state but this may not
necessarily reflect the actual state of the client. The above is necessarily reflect the actual state of the client. The above is
possible when two DHCP servers acknowledge the request of a DHCP possible when two DHCP servers acknowledge the request of a DHCP
client with the same address but has different lease times. In client with the same address but different lease times. In this
this case, if the relay agent selects the server reply with the case, if the relay agent selects the server reply with the
shorter lease time, it would expire its state possibly before the shorter lease time, it would expire its state possibly before the
client even has a chance to renew it. Therefore, Layer 2 relay client even has a chance to renew it. Therefore, Layer 2 relay
agents SHOULD select the longest lease time of two conflicting agents SHOULD select the longest lease time of two conflicting
but similar replies, by discarding replies that shorten the lease but similar replies, by discarding replies that shorten the lease
time. time.
2. Other issues are the same as described in section 4.1.2. 2. Other issues are the same as described in section 4.1.2.
4.3. DHCP server on another subnet with one Layer 3 Relay Agent 4.3. DHCP server on another subnet with one Layer 3 Relay Agent
In certain network scenarios, there could be a Layer 3 Relay Agent In certain network scenarios, there could be a Layer 3 Relay Agent
which relays the DHCP messages from one subnet to the DHCP server on which relays the DHCP messages from one subnet to a DHCP server on
another subnet and vice versa. In typical deployments, the Access another subnet and vice versa. In typical deployments, the Access
Concentrator acts as Layer 2 Relay Agent and IP edge device (BRAS or Concentrator acts as Layer 2 Relay Agent and the IP edge device (BRAS
IP Services Switch) acts as Layer 3 Relay Agent. or IP Services Switch) acts as Layer 3 Relay Agent.
+--------+ +--------+
| End | +--------+ | | | End | +--------+ | |
| Host#1 +--------| | | +-----------+ | | Host#1 +--------| | | +-----------+ |
+--------+ | Layer +-----| | | | +--------+ | Layer +-----| | | |
| 2 | +--| Layer 3 |----| | 2 | +--| Layer 3 |----|
+--------+ | device | | | Relay | | +--------+ | device | | | Relay | |
| End +--------| #1 | | | Agent #1 | | | End +--------| #1 | | | Agent #1 | |
| Host#2 | +--------+ | +-----------+ | +---------+ | Host#2 | +--------+ | +-----------+ | +---------+
+--------+ | | | | +--------+ | | | |
skipping to change at page 12, line 6 skipping to change at page 12, line 6
4.3.1. Client-server interaction 4.3.1. Client-server interaction
As far as DHCP message processing is concerned, the presence of Layer As far as DHCP message processing is concerned, the presence of Layer
3 Relay Agents is transparent to Layer 2 Relay Agents. So all the 3 Relay Agents is transparent to Layer 2 Relay Agents. So all the
messages are handled in the same way as defined in section 4.1.1 for messages are handled in the same way as defined in section 4.1.1 for
the Layer 2 Relay Agent. the Layer 2 Relay Agent.
The Layer 3 Relay Agents are configured to trust/untrust an entity The Layer 3 Relay Agents are configured to trust/untrust an entity
based on specific criteria (For example : VLAN/interface on which the based on specific criteria (For example : VLAN/interface on which the
message was received). If the DHCP message coming from the client message was received). If the DHCP message coming from the client
has a relay agent option present, Layer 3 Relay Agent checks if it is has a relay agent option present, the Layer 3 Relay Agent checks if
coming in on a trusted interface. If it is coming from a trusted it is coming in on a trusted interface. If it is coming from a
interface, it will set the 'giaddr' field to one of the local trusted interface, it will set the 'giaddr' field to one of the local
interface addresses and unicasts it to the configured servers. If interface addresses and unicasts it to the configured server(s). If
the message is coming from an untrusted interface, the Layer 3 Relay the message is coming from an untrusted interface, the Layer 3 Relay
Agent discards the message. Agent discards the message.
Typical message processing in this scenario is given below. Typical message processing in this scenario is given below.
1. When the client sends a DHCPDISCOVER message, the Layer 2 Relay 1. When the client sends a DHCPDISCOVER message, the Layer 2 Relay
Agent forwards it as described in section 4.1.1. The Layer 3 Agent forwards it as described in section 4.1.1. The Layer 3
Relay Agent receives this message and finds that it contains Relay Agent receives this message and finds that it contains a
Relay Agent Information option. It verifies whether the message Relay Agent Information option. It verifies whether the message
is from a trusted entity or not. If it is from a trusted entity is from a trusted entity or not. If it is from a trusted entity,
the Layer 2 Relay Agent populates the 'giaddr' field as it deems the Layer 2 Relay Agent populates the 'giaddr' field as it deems
appropriate and relays the message to the DHCP server. appropriate and relays the message to the DHCP server.
2. The DHCP Server processes the message in the same way as 2. The DHCP Server processes the message in the same way as
described in section 4.1 and will unicast the DHCPOFFER to the described in section 4.1 and unicasts the DHCPOFFER to the Layer
Layer 3 Relay Agent on the address specified in the 'giaddr' 3 Relay Agent on the address specified in the 'giaddr' field.
field.
3. The Layer 3 Relay Agent processes the DHCPOFFER and identifies 3. The Layer 3 Relay Agent processes the DHCPOFFER and identifies
the outgoing interface. It resets the 'giaddr' field and the outgoing interface. It resets the 'giaddr' field and
broadcasts the message on the identified outgoing interface. broadcasts the message on the identified outgoing interface.
4. The client receives the DHCPOFFER and generates a DHCPREQUEST 4. The client receives the DHCPOFFER and generates a DHCPREQUEST
message. The Layer 2 Relay Agent processes it as described in message. The Layer 2 Relay Agent processes it as described in
section 4.1.1. The Layer 3 Relay Agent receives the DHCPREQUEST section 4.1.1. The Layer 3 Relay Agent receives the DHCPREQUEST
message and processes it similar to the DHCPDISCOVER message message and processes it similar to the DHCPDISCOVER message
described in step #1. described in step #1.
5. The DHCP Server process the DHCPREQUEST and unicasts the DHCP ACK 5. The DHCP Server processes the DHCPREQUEST and unicasts the DHCP
message to the layer 3 Relay Agent if the 'broadcast' flag is ACK message to the layer 3 Relay Agent if the 'broadcast' flag is
set, or directly to the client if the 'broadcast' flag is not set, or directly to the client if the 'broadcast' flag is not
set. If the Layer 3 Relay Agent receives this message, it will set. If the Layer 3 Relay Agent receives this message, it
process it similar to the DHCPOFFER as described in step #3. processes it similar to the DHCPOFFER as described in step #3.
6. In the case of unicast messages (For example: DHCPREQUEST in case 6. In the case of unicast messages (For example: DHCPREQUEST in case
of DHCPRENEW), a Layer 3 Relay Agent may or may not intercept the of DHCPRENEW), a Layer 3 Relay Agent may or may not intercept the
message. If it intercepts a unicast DHCP request message, it message. If it intercepts a unicast DHCP request message, it
populates the 'giaddr' field and relays the message to the DHCP populates the 'giaddr' field and relays the message to the DHCP
server. When the DHCP server sends a reply for this request server. When the DHCP server sends a reply for this request
message, it resets the 'giaddr' field, identifies the outgoing message, it resets the 'giaddr' field, identifies the outgoing
interface, and forwards the reply on the identified interface. interface, and forwards the reply on the identified interface.
4.3.2. Issues due to introduction of Layer 2 Relay Agent 4.3.2. Issues due to introduction of Layer 2 Relay Agent
Though the processing of DHCP messages remains the same in Layer 2 Though the processing of DHCP messages remains the same in Layer 2
Relay Agents, we see some more issues when a Layer 3 Relay Agent is Relay Agents, we see some more issues when a Layer 3 Relay Agent is
present to relay the DHCP messages to the DHCP server. present to relay the DHCP messages to the DHCP server.
1. When a Layer 2 Relay Agent is configured to intercept unicast 1. When a Layer 2 Relay Agent is configured to intercept unicast
messages as well, it appends a Relay Agent Information option messages as well, it appends a Relay Agent Information option
before forwarding the request message. A Layer 3 Relay Agent may before forwarding the request message. A Layer 3 Relay Agent may
not intercept these unicast messages. Due to this, a DHCP server not intercept these unicast messages. Due to this, a DHCP server
may not echo back the Relay Agent Information option because the may not echo back the Relay Agent Information option because the
giaddr is not populated. 'giaddr' field is not populated.
2. Existing Layer 3 Relay Agents populate the 'giaddr' with the IP 2. Existing Layer 3 Relay Agents populate the 'giaddr' field with
address of the interface on which the request was received. This the IP address of the interface on which the request was
helps the Layer 3 Relay Agent to identify the outgoing interface received. This helps the Layer 3 Relay Agent to identify the
for the DHCP replies. In some cases, a Layer 3 Relay Agent may outgoing interface for the DHCP replies. In some cases, a Layer
use unnumbered interfaces. In this case, it has to use a system 3 Relay Agent may use unnumbered interfaces. In this case, it
wide IP address to populate the 'giaddr' field. Due to this, it has to use a system wide IP address to populate the 'giaddr'
becomes difficult to identify the correct outgoing interface for field. Due to this, it becomes difficult to identify the correct
the messages received from the DHCP server. In these cases, some outgoing interface for the messages received from the DHCP
existing Layer 3 Relay Agent implementations maintain an internal server. In these cases, some existing Layer 3 Relay Agent
state for each DHCP message and use this state to identify the implementations maintain an internal state for each DHCP message
outgoing interface. and use this state to identify the outgoing interface.
3. A DHCP server uses certain parameters to differentiate the RENEW 3. A DHCP server uses certain parameters to differentiate the RENEW
and REBIND state of a client. A DHCP client unicasts a RENEW and REBIND state of a client. A DHCP client unicasts a RENEW
request to the DHCP server, so the DHCP server sees a DHCPREQUEST request to the DHCP server, so the DHCP server sees a DHCPREQUEST
without 'giaddr' and Relay Agent Information option as a RENEW without 'giaddr' and Relay Agent Information option as a RENEW
request. On the other hand, a REBIND request is broadcast and so request. On the other hand, a REBIND request is broadcast and so
the DHCP server expect it to contain 'giaddr' and a Relay Agent the DHCP server expects it to contain 'giaddr' field and a Relay
Information option. If the Layer 2 Relay Agent is configured to Agent Information option. If the Layer 2 Relay Agent is
intercept unicast messages, it will append a Relay Agent configured to intercept unicast messages, it will append a Relay
Information option to the unicast DHCP messages. Because of Agent Information option to the unicast DHCP message. Because of
this, it could be difficult for the DHCP server to differentiate this, it could be difficult for the DHCP server to differentiate
between a RENEWING and REBINDING state. between a RENEWING and REBINDING state.
5. Acknowledgments 5. Acknowledgments
This document is the result of a discussion on DHC WG mailing list. This document is the result of a discussion on DHC WG mailing list.
Thanks to David W. Hankins and Michael Wacker for providing inputs on Thanks to David W. Hankins and Michael Wacker for providing inputs on
some of the existing implementations. Thanks to Ted Lemon, Mukund some of the existing implementations. Thanks to Ted Lemon, Mukund
Kamath, Alfred Hoenes and Stefaan De Cnodder for reviewing the draft Kamath, Alfred Hoenes and Stefaan De Cnodder for reviewing the draft
and providing valuable suggestions. and providing valuable suggestions.
6. Security Consideration 6. Security Considerations
o A Layer 2 Relay Agent should always be configured to identify a o A Layer 2 Relay Agent should always be configured to identify a
trustable entity so that it appends a Relay Agent Information trustable entity so that it appends a Relay Agent Information
option to a DHCP messages coming from a trustable entity and option to a DHCP message coming from a trustable entity and
forward it. If a DHCP message is received from a non-trustable forwards it. If a DHCP message is received from a non-trustable
entity, the Layer 2 Relay Agent should discard it and may report entity, the Layer 2 Relay Agent should discard it and may report
to the administrator. to the administrator.
o The introduction of Layer 2 Relay Agent does not introduce any new o The introduction of Layer 2 Relay Agents does not introduce any
security issues. Security issues pertaining to Relay Agents in new security issues. Security issues pertaining to Relay Agents
general apply to the Layer 2 Relay Agents as well. in general apply to Layer 2 Relay Agents as well.
7. IANA Considerations 7. IANA Considerations
This document does not introduce any new namespaces for the IANA to This document does not introduce any new namespaces for the IANA to
manage and does not request any new code point assignments. manage and does not request any new code point assignments.
8. References 8. References
8.1. Normative Reference 8.1. Normative Reference
 End of changes. 27 change blocks. 
62 lines changed or deleted 61 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/