TOC |
|
This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as “work in progress.”
The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.
This Internet-Draft will expire on June 21, 2009.
Copyright (c) 2008 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document.
This memo defines a new Relay Agent Identifier suboption for the Dynamic Host Configuration Protocol's (DHCP) Relay Agent Information option. The suboption carries a value that uniquely identifies the relay agent device. The value may be administratively-configured or may be generated by the relay agent. The suboption allows a DHCP relay agent to include the identifier in the DHCP messages it sends.
1.
Introduction
2.
Terminology
3.
Example Use-Cases
3.1.
Industrial Ethernet
3.2.
Bulk Leasequery
4.
Suboption Format
5.
Relay Identifier Types
6.
Generating a Relay Identifier
7.
Identifier Stability
8.
Security Considerations
9.
IANA Considerations
10.
References
10.1.
Normative References
10.2.
Informative References
§
Author's Address
TOC |
The Dynamic Host Configuration Protocol for IPv4 (DHCPv4) [RFC2131] (Droms, R., “Dynamic Host Configuration Protocol,” March 1997.) provides IP addresses and configuration information for IPv4 clients. It includes a relay agent capability, in which network elements receive broadcast messages from clients and forward them to DHCP servers as unicast messages. In many network environments, relay agents add information to the DHCP messages before forwarding them, using the Relay Agent Information option [RFC3046] (Patrick, M., “DHCP Relay Agent Information Option,” January 2001.). Servers that recognize the relay information option echo it back in their replies.
This specification introduces a Relay Agent Identifier suboption for the Relay Information option. The Relay-Id suboption carries a sequence of octets that is intended to identify the relay agent uniquely within the administrative domain. The identifier may be administratively configured: in some networks it may be adequate to assign ASCII strings such as "switch1" and "switch2". Alternatively, the identifier may be generated by the relay agent itself, and we specify use of DUIDs [RFC3315] (Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, “Dynamic Host Configuration Protocol for IPv6 (DHCPv6),” July 2003.) for this purpose.
TOC |
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).
DHCPv4 terminology is defined in [RFC2131] (Droms, R., “Dynamic Host Configuration Protocol,” March 1997.), and the DHCPv4 Relay Agent Information Option in [RFC3046] (Patrick, M., “DHCP Relay Agent Information Option,” January 2001.). DUID terminology is in [RFC3315] (Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, “Dynamic Host Configuration Protocol for IPv6 (DHCPv6),” July 2003.).
TOC |
TOC |
DHCP typically identifies clients based on information in their DHCP messages - such as the Client-Identifier option, or the value of the chaddr field. In some networks, however, the location of a client - its point of attachment to the network - is a more useful identifier. In factory-floor networks (commonly called 'Industrial' networks), for example, the role a device plays is often fixed and based on its location. Using manual address configuration is possible (and is common) but it would be beneficial if DHCP configuration could be applied to these networks.
One way to provide connection-based identifiers for industrial networks is to have the network elements acting as DHCP relay agents supply information that a DHCP server could use as a client identifier. A straightforward way to form identifier information is to combine something that is unique within the scope of the network element, such as a port/slot value, with something that uniquely identifies that network element, such as a Relay Agent Identifier.
TOC |
There has been quite a bit of recent interest in extending the DHCP Leasequery protocol [RFC4388] (Woundy, R. and K. Kinnear, “Dynamic Host Configuration Protocol (DHCP) Leasequery,” February 2006.) to accommodate some additional situations. There is a recent draft ([draft‑kinnear] (Kinnear, K., Volz, B., Russell, N., and M. Stapp, “Bulk DHCPv4 Lease Query (draft-kinnear-dhc-dhcpv4-bulk-leasequery-*),” July 2008.)) proposing a variety of enhancements to the existing Leasequery protocol. The draft describes a use-case where a relay agent queries DHCP servers using the Relay Identifier to retrieve all the leases allocated through the relay device.
TOC |
Format of the Relay Agent Identifier suboption:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |SUBOPT_RELAY_ID| length | type | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . . . identifier (variable) . . . +---------------------------------------------------------------+ Where: SUBOPT_RELAY_ID [TBA] length the number of octets in the suboption (excluding the suboption ID and length fields); the minimum length is two. type a single octet describing the type of identifier that is present. identifier the identifying data.
TOC |
For clarity, the suboption specified here includes a type octet that describes the data used in the identifier field. The type value zero is reserved and MUST NOT be used. Two type values are defined here: RELAY_IDENTIFIER_DUID and RELAY_IDENTIFIER_ASCII. RELAY_IDENTIFIER_DUID is used when the identifier field contains a DUID [RFC3315] (Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, “Dynamic Host Configuration Protocol for IPv6 (DHCPv6),” July 2003.). Administrators may want to assign human-friendly ASCII identifiers: RELAY_IDENTIFIER_ASCII is used when the identifier field contains an ASCII string.
TOC |
As described in Section 1 (Introduction), in some situations it may be useful for network devices to generate identifiers themselves. Relay agents who send the Relay Agent Identifier suboption using identifiers that are not administratively-configured MUST be generated following the procedures in the DUID section of [RFC3315] (Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, “Dynamic Host Configuration Protocol for IPv6 (DHCPv6),” July 2003.). Relay agents who use generated identifiers SHOULD make the generated value visible to their administrators via their user interface, through a log entry, or through some other mechanism.
TOC |
If the relay identifier is to be meaningful it has to be stable. A relay agent SHOULD use a single identifier type and value consistently. The identifier used by a relay device SHOULD be committed to stable storage, unless the relay device can regenerate the value upon reboot.
Implementors should note that the identifier needs to be present in all DHCP message types where its value is being used by the DHCP server. The relay agent may not be able to add the Relay Agent Information option to all messages - such as RENEW messages sent as IP unicasts. In some deployments that might mean that the server has to be willing to continue to associate the relay identifier it has last seen with a lease that is being RENEWed. Other deployments may prefer to use the Server Identifier Override suboption [RFC5107] (Johnson, R., Kumarasamy, J., Kinnear, K., and M. Stapp, “DHCP Server Identifier Override Suboption,” February 2008.) to permit the relay device to insert the Information option into all relayed messages.
Handling situations where a relay agent device is replaced is another aspect of "stability". One of the use-cases for the relay identifier is to permit a server to associate clients' lease bindings with the relay device connected to the clients. If the relay device is replaced, because it has failed or been upgraded, it may be desirable for the new device to continue to provide the same relay identifier as the old device. Implementors should be aware of this possibility, and consider making it possible for administrators to configure the identifier.
TOC |
Security issues with the Relay Agent Information option and its use by servers in address assignment are discussed in [RFC3046] (Patrick, M., “DHCP Relay Agent Information Option,” January 2001.) and [RFC4030] (Stapp, M. and T. Lemon, “The Authentication Suboption for the Dynamic Host Configuration Protocol (DHCP) Relay Agent Option,” March 2005.). Relay agents who send the Relay Agent Identifier suboption SHOULD use the Relay Agent Authentication suboption [RFC4030] (Stapp, M. and T. Lemon, “The Authentication Suboption for the Dynamic Host Configuration Protocol (DHCP) Relay Agent Option,” March 2005.) to provide integrity protection.
TOC |
We request that IANA assign a new suboption code from the registry of DHCP Agent Sub-Option Codes maintained in http://www.iana.org/assignments/bootp-dhcp-parameters.
Relay Agent Identifier Suboption [TBA]
We request that IANA establish a new registry of DHCP Relay Agent Identifier Sub-Option Types, to be maintained in http://www.iana.org/assignments/bootp-dhcp-parameters. The Identifier Type is a single octet. The initial values assigned in this document are:
Reserved 0
RELAY_IDENTIFIER_DUID 1
RELAY_IDENTIFIER_ASCII 2
Additional Identifier Type values will be allocated and assigned through IETF Review, as defined in [RFC5226] (Narten, T. and H. Alvestrand, “Guidelines for Writing an IANA Considerations Section in RFCs,” May 2008.).
TOC |
TOC |
[RFC2119] | Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML). |
[RFC2131] | Droms, R., “Dynamic Host Configuration Protocol,” RFC 2131, March 1997 (TXT, HTML, XML). |
[RFC3046] | Patrick, M., “DHCP Relay Agent Information Option,” RFC 3046, January 2001 (TXT). |
[RFC3315] | Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, “Dynamic Host Configuration Protocol for IPv6 (DHCPv6),” RFC 3315, July 2003 (TXT). |
[RFC4030] | Stapp, M. and T. Lemon, “The Authentication Suboption for the Dynamic Host Configuration Protocol (DHCP) Relay Agent Option,” RFC 4030, March 2005 (TXT). |
[RFC5226] | Narten, T. and H. Alvestrand, “Guidelines for Writing an IANA Considerations Section in RFCs,” BCP 26, RFC 5226, May 2008 (TXT). |
TOC |
[RFC4388] | Woundy, R. and K. Kinnear, “Dynamic Host Configuration Protocol (DHCP) Leasequery,” RFC 4388, February 2006 (TXT). |
[RFC5107] | Johnson, R., Kumarasamy, J., Kinnear, K., and M. Stapp, “DHCP Server Identifier Override Suboption,” RFC 5107, February 2008 (TXT). |
[draft-kinnear] | Kinnear, K., Volz, B., Russell, N., and M. Stapp, “Bulk DHCPv4 Lease Query (draft-kinnear-dhc-dhcpv4-bulk-leasequery-*),” July 2008. |
TOC |
Mark Stapp | |
Cisco Systems, Inc. | |
1414 Massachusetts Ave. | |
Boxborough, MA 01719 | |
USA | |
Phone: | +1 978 936 0000 |
Email: | mjs@cisco.com |