DHC                                                             M. Stapp
Internet-Draft                                       Cisco Systems, Inc.
Intended status: Standards Track                            July 7, 2009
Expires: January 8, 2010


              The DHCPv4 Relay Agent Identifier Suboption
                draft-ietf-dhc-relay-id-suboption-07.txt

Status of this Memo

   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 January 8, 2010.

Copyright Notice

   Copyright (c) 2009 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.

Abstract

   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



Stapp                    Expires January 8, 2010                [Page 1]


Internet-Draft        The Relay Agent Id Suboption             July 2009


   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.


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3
   3.  Example Use-Cases . . . . . . . . . . . . . . . . . . . . . . . 3
     3.1.  Industrial Ethernet . . . . . . . . . . . . . . . . . . . . 3
     3.2.  Bulk Leasequery . . . . . . . . . . . . . . . . . . . . . . 4
   4.  Suboption Format  . . . . . . . . . . . . . . . . . . . . . . . 4
   5.  Relay Identifier Types  . . . . . . . . . . . . . . . . . . . . 5
   6.  Generating a Relay Identifier . . . . . . . . . . . . . . . . . 5
   7.  Identifier Stability  . . . . . . . . . . . . . . . . . . . . . 5
   8.  Security Considerations . . . . . . . . . . . . . . . . . . . . 6
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . . . 6
     10.1. Normative References  . . . . . . . . . . . . . . . . . . . 6
     10.2. Informative References  . . . . . . . . . . . . . . . . . . 7
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 7





























Stapp                    Expires January 8, 2010                [Page 2]


Internet-Draft        The Relay Agent Id Suboption             July 2009


1.  Introduction

   The Dynamic Host Configuration Protocol for IPv4 (DHCPv4) [RFC2131]
   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].  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] for this purpose.


2.  Terminology

   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].

   DHCPv4 terminology is defined in [RFC2131], and the DHCPv4 Relay
   Agent Information Option in [RFC3046].  DUID terminology is in
   [RFC3315].


3.  Example Use-Cases

3.1.  Industrial Ethernet

   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



Stapp                    Expires January 8, 2010                [Page 3]


Internet-Draft        The Relay Agent Id Suboption             July 2009


   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.

3.2.  Bulk Leasequery

   There has been quite a bit of recent interest in extending the DHCP
   Leasequery protocol [RFC4388] to accommodate some additional
   situations.  There is a recent draft ([draft-kinnear]) 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.


4.  Suboption Format

   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.







Stapp                    Expires January 8, 2010                [Page 4]


Internet-Draft        The Relay Agent Id Suboption             July 2009


5.  Relay Identifier Types

   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].  Administrators may want to assign human-friendly
   ASCII identifiers: RELAY_IDENTIFIER_ASCII is used when the identifier
   field contains an ASCII string.


6.  Generating a Relay Identifier

   As described in Section 1, 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].  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.


7.  Identifier Stability

   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] 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



Stapp                    Expires January 8, 2010                [Page 5]


Internet-Draft        The Relay Agent Id Suboption             July 2009


   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.


8.  Security Considerations

   Security issues with the Relay Agent Information option and its use
   by servers in address assignment are discussed in [RFC3046] and
   [RFC4030].  Relay agents who send the Relay Agent Identifier
   suboption SHOULD use the Relay Agent Authentication suboption
   [RFC4030] to provide integrity protection.


9.  IANA Considerations

   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].


10.  References

10.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2131]  Droms, R., "Dynamic Host Configuration Protocol",
              RFC 2131, March 1997.




Stapp                    Expires January 8, 2010                [Page 6]


Internet-Draft        The Relay Agent Id Suboption             July 2009


   [RFC3046]  Patrick, M., "DHCP Relay Agent Information Option",
              RFC 3046, January 2001.

   [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.

   [RFC4030]  Stapp, M. and T. Lemon, "The Authentication Suboption for
              the Dynamic Host Configuration Protocol (DHCP) Relay Agent
              Option", RFC 4030, March 2005.

   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 5226,
              May 2008.

10.2.  Informative References

   [RFC4388]  Woundy, R. and K. Kinnear, "Dynamic Host Configuration
              Protocol (DHCP) Leasequery", RFC 4388, February 2006.

   [RFC5107]  Johnson, R., Kumarasamy, J., Kinnear, K., and M. Stapp,
              "DHCP Server Identifier Override Suboption", RFC 5107,
              February 2008.

   [draft-kinnear]
              Kinnear, K., Volz, B., Russell, N., and M. Stapp, "Bulk
              DHCPv4 Lease Query
              (draft-kinnear-dhc-dhcpv4-bulk-leasequery-*)", July 2008.


Author's Address

   Mark Stapp
   Cisco Systems, Inc.
   1414 Massachusetts Ave.
   Boxborough, MA  01719
   USA

   Phone: +1 978 936 0000
   Email: mjs@cisco.com











Stapp                    Expires January 8, 2010                [Page 7]