Internet DRAFT - draft-jiang-dhc-stateless-reconfiguration

draft-jiang-dhc-stateless-reconfiguration







DHC WG                                                          S. Jiang
Internet-Draft                                                    B. Liu
Intended status: Standards Track            Huawei Technologies Co., Ltd
Expires: August 18, 2014                               February 14, 2014


  Stateless Reconfiguration in Dynamic Host Configuration Protocol for
                             IPv6 (DHCPv6)
              draft-jiang-dhc-stateless-reconfiguration-01

Abstract

   This document defines a mechanism to propagate reconfigure messages
   towards stateless configured DHCPv6 clients.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

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

   This Internet-Draft will expire on August 18, 2014.

Copyright Notice

   Copyright (c) 2014 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
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.





Jiang & Liu              Expires August 18, 2014                [Page 1]

Internet-Draft      DHCPv6 Stateless Reconfiguration       February 2014


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Requirements Language . . . . . . . . . . . . . . . . . . . .   4
   3.  Stateless Reconfiguration Use Cases . . . . . . . . . . . . .   4
   4.  New DHCPv6 Specifications . . . . . . . . . . . . . . . . . .   5
     4.1.  Multicast Address . . . . . . . . . . . . . . . . . . . .   5
     4.2.  Stateless Reconfigure Message . . . . . . . . . . . . . .   5
   5.  Stateless Reconfiguration Procedure . . . . . . . . . . . . .   5
     5.1.  Server Behavior . . . . . . . . . . . . . . . . . . . . .   6
     5.2.  Relay Agent Behavior  . . . . . . . . . . . . . . . . . .   7
     5.3.  Client Behavior . . . . . . . . . . . . . . . . . . . . .   8
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   9
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     9.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   [RFC3736] defines a stateless configuration procedure using DHCPv6.
   With it, the network configure information, such as the addresses of
   DNS recursive name servers, can be propagated to nodes, which have
   obtained their IPv6 addresses through some other mechanism.  The
   basic scenario is that a newly online client initiates an information
   request to DHCPv6 server, then the server responses with requested
   configuration information.  This mechanism is called the Stateless
   DHCPv6 services, because DHCPv6 servers do not maintain any dynamic
   state for individual clients, including the unicast addresses of
   clients.

   However, the specification of stateless DHCPv6 service lacks a
   mechanism to inform these configured clients if some configuration
   information is changed.  Transplanting Reconfigure message of
   [RFC3315] into stateless DHCPv6 services does not solve the issue,
   because in stateful DHCPv6, servers send Reconfigure messages to
   clients using their unicast addresses.

   The lifetime option for DHCPv6 [RFC4242] assigns a lifetime to
   configuration information obtained through DHCPv6.  At the expiration
   of the lifetime, the host contacts the DHCPv6 server to obtain
   updated configuration information.  This lifetime gives the network
   administrator another mechanism to configure hosts with new
   configuration by controlling the time at which the host refreshes the
   list.  However, such mechanism is not flexible enough: one aspect is
   the minimum of refresh time is 10 minutes, which is so long that it



Jiang & Liu              Expires August 18, 2014                [Page 2]

Internet-Draft      DHCPv6 Stateless Reconfiguration       February 2014


   might not be suitable for unplanned configuration changes; the other
   aspect is, in order to update the configuration quickly, the short
   time setting would cause un-necessary refresh all the time.

   This document defines a mechanism to propagate a newly defined
   Stateless-Reconfigure message towards stateless configured DHCPv6
   clients.  It requests a mechanism for the DHCPv6 server to be aware
   of all relay agent destinations.

   {Question to WG No.1} There are three potential mechanisms to create
   relay agent destinations on the DHCPv6 server:

   a) Static configuration

   Network administrators manually configure static unicast addresses of
   all relay agents on the DHCPv6 server.

   Pros: no need to update any protocol/function implementation in
   relays; allows fast deployment in current network.

   Cons: cost significant human management burden; error-prone,
   mistakenly configuring the relay addresses or leaving out some relays
   are expected.

   b) Define a new ALL_RELAY_AGENT multicast address

   The DHCPv6 server could send the stateless reconfiguration messages
   directly to the new multicast address.

   Pros: a solid coverage of all relays.

   Cons: network administrators need to maintain an all-relay-agent
   multicast group; all relays and DHCPv6 servers need to be updated to
   know the new multicast address.

   c) DHCPv6 server dynamic learning

   the DHCPv6 server dynamically records unicast addresses of all relay
   agents from client Information-request messages and maintains the
   relay addresses list.  A keepalive mechanism is needed between relay
   agents and servers to track the availability of the list entries.

   Pros: automatic processing without human intervene.

   Cons: requires more function update to the DHCPv6 server; the
   keepalive mechanism requires more function/protocol burden to the
   whole DHCP system.




Jiang & Liu              Expires August 18, 2014                [Page 3]

Internet-Draft      DHCPv6 Stateless Reconfiguration       February 2014


   [Editor Notes] the current form of this document is based on only the
   first mechanism of above three.  If the WG decided to change or
   include other mechanism, the document would be updated accordingly.

   The document newly defines a new link-scope well-known all-client
   multicast address and a new DHCPv6 message type for stateless
   reconfiguration.  Correspondent server behavior, agent behavior and
   client behavior are specificed in details.

   The design of new DHCPv6 elements and precedures obey the
   recommendations and guidance of [I-D.ietf-dhc-option-guidelines].

2.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   [RFC2119] when they appear in ALL CAPS.  When these words are not in
   ALL CAPS (such as "should" or "Should"), they have their usual
   English meanings, and are not to be interpreted as [RFC2119] key
   words.

3.  Stateless Reconfiguration Use Cases

   This section described scenarisos where stateless reconfiguration are
   expected.

   - Configuration error

   Configuration errors, eithor caused by human or program, are hard to
   be immune in networks.  Especially, human errors is identified as one
   of the top reasons of network failure.  In stateless DHCPv6, if the
   administrators/program accidentally mis-configure the parameters
   (e.g. DNS), then significant network failure would be expected.
   Current protocols just lack the ability to eliminate the
   configuration errors when such accident happens.  The hosts
   configured with wrong parameters can only wait until the wrong
   parameters lifetime expired then to refresh them.  This would not be
   acceptable especially when the lifetime was long.  The stateless
   reconfiguration mechanism could be highly expected in this scenario.

   - Emergent event

   The network needs to initially update the already configured
   parameters within a short period due to some emergent events; and
   waiting the clients to refresh the parameters according to the
   lifetime is just un-acceptable.  These scenarios would also require
   statless reconfiguration.



Jiang & Liu              Expires August 18, 2014                [Page 4]

Internet-Draft      DHCPv6 Stateless Reconfiguration       February 2014


4.  New DHCPv6 Specifications

   This section define new DHCPv6 elements requested by the stateless
   configuration mechanism, including multicast address constant, and
   message type.

4.1.  Multicast Address

   ALL_CLIENT_MULTICAST_ADDRESS  (FF02::xxxx, TBD1) A link-scoped
      multicast address used by a DHCPv6 server or relay agent to
      communicate with neighboring (i.e., on-link) clients.  All clients
      are members of this multicast group

4.2.  Stateless Reconfigure Message

   A new Stateless-Reconfigure message, which is mainly based on server
   to clients advertise model, is defined in order to distinguish from
   the existing Reconfigure message, which is mainly based on server/
   client one-to-one model.

   [Editor Notes] According to the results of Qeston 2 and Question 4
   (in Section 5 & 7 below), there might be two new messages needed.
   Current document uses the alternative of one new message.

   STATELESS-RECONFIGURE-TRIGGER  Message type value is TBD2.  It
      follows the message format specification, defined in Section 6 of
      [RFC3315].  A server sends a Stateless-Reconfigure message to a
      client to inform the client that the server has new or updated
      configuration parameters, and that the client is to initiate an
      Information-Request transaction with the server in order to
      receive the updated information.

5.  Stateless Reconfiguration Procedure

   {Question to WG No.2} There could be two kind of stateless DHCPv6
   reconfiguration modes as the following, which one is proper?  Or we
   should support both?

   - Trigger mode

   The server sends out a multicast Stateless-Reconfiguration message to
   ALL_CLIENT_MULTICAST_ADDRESS.  As response, every client is requested
   to initiate an Information-Request message back to the server.  The
   server can then inform the changed configuration information to
   clients.






Jiang & Liu              Expires August 18, 2014                [Page 5]

Internet-Draft      DHCPv6 Stateless Reconfiguration       February 2014


   This mode is similar with stateful DHCPv6 reconfiguration and also
   provide the potential possibility that the server response to
   information-request differently according to various user policies.

   - Push mode

   The server sends out a multicast Stateless-Reconfiguration message to
   ALL_CLIENT_MULTICAST_ADDRESS to directly advertise new configuration
   to the clients.  The clients then update the parameters accordingly.

   Trigger mode requires every client to initial individual request to
   servers.  This is reasonable for the stateful information that need
   to be maintaind and tracked in the servers, e.g. clients' IP
   addresses.  But for the stateless information shared among clients
   (such as DNS), it might not necessary.  Some resource constrained
   networks (e.g. a 802.15.4e/g based mesh network) might have efficency
   problem with the trigger mode.  These scenarios might significantly
   benifit from the push mode stateless reconfiguration mechanism.
   However, push mode seems breaking the triditional behavior model of
   DHCP.  Whether it is a good break needs further discussion.

   [Editor Notes] the current form of this document is based on
   triggering client information-request model, which complies the
   traditional behavior model of DHCPv6.  If the WG chooses to directly
   advertise new configuration, the document would be updated
   accordingly.

5.1.  Server Behavior

   When the network configuration information on a stateless DHCPv6
   server changes, the server creates and transmit a new Stateless-
   Reconfigure message towards all clients following the below steps:

   o  The server sets the "msg-type" field to STATELESS-RECONFIGURE.
      The server sets the transaction-id field to 0.  The server MUST
      include a Server Identifier option containing its DUID in the
      Reconfigure message.

   o  The server MAY include an Option Request option to inform the
      client of what information has been changed or new information
      that has been added.

   o  The server MUST NOT include a Reconfigure Message option (defined
      in section 22.19 of [RFC3315]), which is mandated in Reconfigure
      message to indicate the client to respond a Renew or an
      Information-Request message.  It is because there is only one
      possible response on the client follow a Stateless-Reconfigure
      message - an Information-request message.



Jiang & Liu              Expires August 18, 2014                [Page 6]

Internet-Draft      DHCPv6 Stateless Reconfiguration       February 2014


   o  The server MUST NOT include any other options in the Reconfigure
      except as specifically allowed in the definition of individual
      options.

   o  The server sends Stateless-Reconfigure message to its direct local
      link using ALL_CLIENT_MULTICAST_ADDRESS.

   o  Simultaneously, the server uses a Relay-Reply message (as
      described in Section 20.3 of [RFC3315]) to send the Stateless-
      Reconfigure message to all relay agents in its static relay-agent-
      destination record using the unicast address of these relay
      agents.  The peer-address of the Relay-Reply message MUST be
      filled by Relay-Reply message ALL_CLIENT_MULTICAST_ADDRESS.

   Notes: since there is no previous Relay-Forward message that went
   through multiple relay agents and the server has to send the Relay-
   Reply message through the return same path, the server should be able
   to send the Relay-Reply message to the relay agent that direct
   connects with clients.  Consequently, the Relay-Reply message SHOULD
   NOT contain another Relay-Reply message.

   The below is an example of a typical Relay-Reply message that
   contains a Stateless-Reconfigure message:

      msg-type: RELAY-REPLY
      hop-count: 0
      link-address: 0
      peer-address: ALL_CLIENT_MULTICAST_ADDRESS
      Relay Message option: <Stateless-Reconfigure message>

   Servers MUST discard any received Stateless-Reconfigure messages.

5.2.  Relay Agent Behavior

   The relay agent extracts the Stateless-Reconfigure message from the
   Relay Message option and relays it to all clients.  If the relay
   agent is attached to multiple links, it MUST broadcast the Stateless-
   Reconfigure message on every links.  This behavior is compliance with
   normal behavior of relaying a Relay-reply message, defined in
   Section 20.2 of [RFC3315].

   Relay agents MUST discard any received Stateless-Reconfigure
   messages.  By design, relay agents do not process any directly
   received Stateless-Reconfigure messages.

   The result is that the relay agent sends out a Stateless-Reconfigure
   message towards all client on the local link using
   ALL_CLIENT_MULTICAST_ADDRESS.



Jiang & Liu              Expires August 18, 2014                [Page 7]

Internet-Draft      DHCPv6 Stateless Reconfiguration       February 2014


5.3.  Client Behavior

   Clients MUST discard any Stateless-Reconfigure messages that meets
   any of the following conditions:

   o  the message was not multicast to the client using
      ALL_CLIENT_MULTICAST_ADDRESS.

   o  the message does not include a Server Identifier option.

   o  the message contains a Reconfigure Message Option, defined in
      Section 22.19 of [RFC3315].

   Upon receipt of a valid Stateless-Reconfigure message, after a random
   delay time, the client responds with an Information-request message.
   The random delay time is designed to avoid congested Information-
   request on the server.  While the transaction is in progress, the
   client silently discards any Stateless-Reconfigure messages it
   receives.

   {Question to WG No.3} Should we define a maximum time of random delay
   time?  If yes, should it come from server by a new option?

6.  Security Considerations

   Malicious server sends Stateless Reconfigure message to cause all
   clients response.  There is the risk of denial of service attacks
   against DHCP clients and server. {Current auth mechanism cannot work
   in this broadcast model, server public key model maybe work.}

   Since the clients response to Information-Request using the standard
   mechanism, defined in [RFC3315], the chance that receive wrong
   configuration information from malicious attackers does not raise.

7.  IANA Considerations

   Per this document, IANA has assigned one new well-known Multicast
   Address in the "IPv6 Multicast Address Space Registry" registry
   (currently located at http://www.iana.org/assignments/ipv6-multicast-
   addresses) for the following attribute:

      ALL_CLIENT_MULTICAST_ADDRESS: (FF02::xxxx, TBD1).

   Per this document, IANA has assigned one new DHCPv6 message type in
   the "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)" registry
   (currently located at http://www.iana.org/assignments/
   dhcpv6-parameters) for the following attribute:




Jiang & Liu              Expires August 18, 2014                [Page 8]

Internet-Draft      DHCPv6 Stateless Reconfiguration       February 2014


      STATELESS-RECONFIGURE Message Type, TBD2.

      {Question to WG No.4} As raised in Question 2, if we support both
      Trigger mode and Push mode, then there should be two kind of
      corresponding messages.  We could use two message types to
      distinguish them; or use a flag in one message type.  Which is
      better?

8.  Acknowledgements

   The authors would like to thanks the valuable comments made by Suresh
   Krishnan, Ted Lemon, Bernie Voltz and other members of DHC WG.

   This document was produced using the xml2rfc tool [RFC2629].

9.  References

9.1.  Normative References

   [I-D.ietf-dhc-option-guidelines]
              Hankins, D., Mrugalski, T., Siodelski, M., Jiang, S., and
              S. Krishnan, "Guidelines for Creating New DHCPv6 Options",
              draft-ietf-dhc-option-guidelines-17 (work in progress),
              January 2014.

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

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

   [RFC3736]  Droms, R., "Stateless Dynamic Host Configuration Protocol
              (DHCP) Service for IPv6", RFC 3736, April 2004.

9.2.  Informative References

   [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
              June 1999.

   [RFC4242]  Venaas, S., Chown, T., and B. Volz, "Information Refresh
              Time Option for Dynamic Host Configuration Protocol for
              IPv6 (DHCPv6)", RFC 4242, November 2005.








Jiang & Liu              Expires August 18, 2014                [Page 9]

Internet-Draft      DHCPv6 Stateless Reconfiguration       February 2014


Authors' Addresses

   Sheng Jiang
   Huawei Technologies Co., Ltd
   Q14, Huawei Campus, No.156 Beiqing Road
   Hai-Dian District, Beijing, 100095
   P.R. China

   Email: jiangsheng@huawei.com


   Bing Liu
   Huawei Technologies Co., Ltd
   Q14, Huawei Campus, No.156 Beiqing Road
   Hai-Dian District, Beijing, 100095
   P.R. China

   Email: leo.liubing@huawei.com

































Jiang & Liu              Expires August 18, 2014               [Page 10]