Internet DRAFT - draft-liu-6man-dhcpv6-slaac-implementation-guide

draft-liu-6man-dhcpv6-slaac-implementation-guide



Network Working Group                                            B. Liu
Internet Draft                                      Huawei Technologies
Intended status: Informational                                R. Bonica
Expires: August 18, 2014                               Juniper Networks
                                                      February 14, 2014

              DHCPv6/SLAAC Interaction Implementation Guidance
          draft-liu-6man-dhcpv6-slaac-implementation-guide-00.txt


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) 2011 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.

Abstract

   ND and DHCPv6 protocols could have some interaction on address
   provisioning with the A, M, and O flags defined in ND protocol. But
   the relevant standard definitions of the flags contain ambiguity, so
   that current implementations in operating systems have varied on



Liu, et al.            Expires August 18 2014                [Page 1]

Internet-Draft   dhcpv6-slaac-implementation-guidance     February 2014


   interpreting the flags. The variation might impact real network
   operations, so this document aims to provide some guidance on what
   should be the proper implementation on the interaction behavior.



Table of Contents


   1. Introduction ................................................. 3
   2. Problems Summary ............................................. 3
   3. Implementation Guidance ...................................... 4
      3.1. For the dependency ...................................... 4
      3.2. Advisory VS Prescriptive ................................ 4
      3.3. Method VS Lifetime ...................................... 4
      3.4. Flags dependency ........................................ 5
   4. Security Considerations ...................................... 5
   5. IANA Considerations .......................................... 5
   6. References ................................................... 5
      6.1. Normative References .................................... 5
      6.2. Informative References .................................. 5
   7. Acknowledgments .............................................. 6
   Authors' Addresses .............................................. 7

























Liu, et al.            Expires August 18, 2014                [Page 2]

Internet-Draft   dhcpv6-slaac-implementation-guidance     February 2014




1. Introduction

   In draft [DHCPV6-SLAAC-PS], the DHCPv6/SLAAC [RFC3315]
   [RFC4862]interaction issue on host was reported. More specifically,
   the interaction is regarding with the A, M, and O flags which are
   defined in ND protocol. Test results have identified that current
   implementations in operating systems have varied on interpreting the
   flags. The variation might cause some operational issues as described
   in the document.

2. Problems Summary

   The main problem described in [DHCPV6-SLAAC-PS] is standard
   definition ambiguity which means, on interpreting the same messages,
   different hosts might behave differently. Thus it could be un-
   controlled or un-predictable for administrators on some operations.
   The ambiguity is summarized as the following aspects.

   #1 Dependency between DHCPv6 and RA

   In standards, behavior of DHCPv6 and Neighbor Discovery protocols is
   specified respectively. But it is not clear that whether there should
   be any dependency between them.

   More specifically, is RA (with M=1) required to trigger DHCPv6? If
   there are no RAs at all, should hosts initiate DHCPv6 by themselves?

   #2 Advisory VS Prescriptive

   Some platforms interpret the flags as advisory while others interpret
   them prescriptive. At initialing state, all the platforms we tested
   just treated the flags as prescriptive. But when flags are in
   transition, e.g. the host is already SLAAC-configured, then M flag
   transition from 0 to 1, or the host is already DHCPv6-configured,
   then A flag transitions from 0 to 1, the behavior of different
   platforms varied. Some still treated the flags as prescriptive while
   others just treated them as advisory and did nothing.

   #3 "Address Configuring Method" VS "Address Lifetime"

   When method changes, should the hosts immediately release the
   addresses or just wait them expired? It is not clearly specified in
   standards.

   #4 Dependencies between the flags


Liu, et al.            Expires August 18, 2014                [Page 3]

Internet-Draft   dhcpv6-slaac-implementation-guidance     February 2014


   The semantics of the flags seems not totally independent, but the
   standards didn't clearly clarify it. For example, when M=1 & O=1,
   should the host initial one stateful DHCPv6 session to get both
   address and info-configuration or initial two independent sessions of
   which one is dedicated for address provisioning and the other is for
   information provision? When A=0 & M=0 & O=1, should the host initiate
   a stand-alone stateless DHCPv6 session?

3. Implementation Guidance

3.1. For the dependency

   When considering ND and DHCPv6, in general they should not rely on
   each other from the perspective of two different protocols.

   But in current practice, as described in [OPERATIONAL-GUIDE], it is
   reasonable that DHCPv6 is initialed relying on RA messages (with the
   M flag set in the Prefix Information Option), since DHCPv6-only-
   without-RA is an invalid use case so far and RAs are always needed
   for the hosts to have offline communication.

   However, for the implementation, making DHCPv6 initialing totally
   depend on RA messages is more or less fragile since DHCPv6-only-
   without-RA might become a valid case in the future or some special
   scenarios. So it is recommended for implementers to take into account
   the cases that RAs are absent. The DHCPv6 protocol state machine
   should support DHCPv6 be initiated after a timeslot of RAs absent.

3.2. Advisory VS Prescriptive

   The fact that current implementations have varied on interpreting the
   flags is mostly caused by the ambiguity of the definition.

   It is recommended for the implementation to interpret the flags as
   prescriptive rather than advisory. Especially when the flags are in
   transitioning, it is recommended for the implementation to
   continually monitor the flags' state. If the flags changed, the
   program should behave as the changed flags indicate.

3.3. Method VS Lifetime

   When A/M/O is changed from 1 to 0, the program should deprecate the
   relevant configuration method as recommended in the above Section 3.2.
   But the program should remain the configured addresses or information
   until the lifetime expired. It is not recommended that the program
   immediately release the address or information when configuration
   method change is detected.


Liu, et al.            Expires August 18, 2014                [Page 4]

Internet-Draft   dhcpv6-slaac-implementation-guidance     February 2014


3.4. Flags dependency

   When M=1, regardless O=1 or O=0, the host should try to get all the
   configurations through one stateful DHCPv6 session. When M=1 and O=1,
   but the host didn't get any information configuration besides address
   configuration, the host should try to get information configuration
   through another stateless DHCPv6 procedure.

   When M=0 and O=1, regardless A=1 or A=0, the host should try to get
   information configuration through a stateless DHCPv6 procedure.

4. Security Considerations

   No more security considerations than the Neighbor Discovery protocol
   [RFC4861].

5. IANA Considerations

   None.

6. References

6.1. Normative References

   [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
             "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
             September 2007.

   [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
             Address Autoconfiguration", RFC 4862, September 2007.

6.2. Informative References

   [RFC3315] R. Droms, Bound, J., Volz, B., Lemon, T., Perkins, C., and
             M. Carney, "Dynamic Host Configuration Protocol for IPv6
             (DHCPv6)", RFC 3315, July 2003.

   [DHCPV6-SLAAC-PS]
             Liu, B., Bonica, R., Gong, X., and W. Wang, "DHCPv6/SLAAC
             Address Configuration Interaction Problem Statement", Work
             in Progress, November 2013

   [OPERATIONAL-GUIDE]
             Liu, B., Bonica, R., and T. Yang, "DHCPv6/SLAAC Address
             Configuration Interaction Operational Guidance", Work in
             Progress, February 2014



Liu, et al.            Expires August 18, 2014                [Page 5]

Internet-Draft   dhcpv6-slaac-implementation-guidance     February 2014


7. Acknowledgments

   Valuable comment was received from Brian E Carpenter and Sheng Jiang
   to initiate the draft.

   This document was prepared using 2-Word-v2.0.template.dot.










































Liu, et al.            Expires August 18, 2014                [Page 6]

Internet-Draft   dhcpv6-slaac-implementation-guidance     February 2014


Authors' Addresses

   Bing Liu
   Q14-4-A Building
   Huawei Technologies Co., Ltd
   Zhong-Guan-Cun Environment Protection Park, No.156 Beiqing Rd.
   Hai-Dian District, Beijing
   P.R. China

   Email: leo.liubing@huawei.com


   Ron Bonica
   Juniper Networks
   Sterling, Virginia  20164
   USA

   Email: rbonica@juniper.net