Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-stateful-issues-06.txt

Cong Liu <gnocuil@gmail.com> Mon, 14 July 2014 09:13 UTC

Return-Path: <gnocuil@gmail.com>
X-Original-To: dhcwg@ietfa.amsl.com
Delivered-To: dhcwg@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 98F141A0070 for <dhcwg@ietfa.amsl.com>; Mon, 14 Jul 2014 02:13:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4ZhNEknH7h4b for <dhcwg@ietfa.amsl.com>; Mon, 14 Jul 2014 02:13:53 -0700 (PDT)
Received: from mail-ob0-x235.google.com (mail-ob0-x235.google.com [IPv6:2607:f8b0:4003:c01::235]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BCC8A1A0091 for <dhcwg@ietf.org>; Mon, 14 Jul 2014 02:13:53 -0700 (PDT)
Received: by mail-ob0-f181.google.com with SMTP id va2so1887285obc.26 for <dhcwg@ietf.org>; Mon, 14 Jul 2014 02:13:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=DpahMyMxMyrwFEA2e20M7PX8HVm6QHmr+Q4igjaL+wo=; b=U6Y18yuDT29ppo5AWp8wBa4e1+w/d8hfkeud1Vjn9o3M/Zp+81xCns08WtOC6fHeUs JH6x+Cu69EqsnXm3NzHSbpw/BdnAz4pq1BOKKLqGGkCRPi6Y8M08iathY3xBuGTxNygl 6e6dVHY9CqTNn7Dxgnt4GQry1pU4d1Yd+gA1vUVBFBPNz+lBBdbOkDGBmph4UCGqO4db WbXU7hRvOQQWdzTlQTdMsZyRe5QQIBOmW7rmLJDaByMtAtzdSTYNxQ9uuq9saR7qcIyI Efs3F9rQLSESmN0kAjim2cP2wmVEaHuT62d0IafSkUsu7SipC8rQfzx/fdrlWttYypmF +Cuw==
X-Received: by 10.182.97.97 with SMTP id dz1mr16562167obb.13.1405329233104; Mon, 14 Jul 2014 02:13:53 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.202.85.210 with HTTP; Mon, 14 Jul 2014 02:13:33 -0700 (PDT)
In-Reply-To: <489D13FBFA9B3E41812EA89F188F018E1B5E03D1@xmb-rcd-x04.cisco.com>
References: <20140630163351.4191.69719.idtracker@ietfa.amsl.com> <489D13FBFA9B3E41812EA89F188F018E1B5E03D1@xmb-rcd-x04.cisco.com>
From: Cong Liu <gnocuil@gmail.com>
Date: Mon, 14 Jul 2014 17:13:33 +0800
Message-ID: <CAF+sHxFiMa_wo_=JrJuRQfnOKJwKbcfxio4CDqJ=UmEjCM-A4A@mail.gmail.com>
To: "Bernie Volz (volz)" <volz@cisco.com>
Content-Type: multipart/alternative; boundary="047d7b2e4386bb54e804fe23b5f9"
Archived-At: http://mailarchive.ietf.org/arch/msg/dhcwg/Cknj1BxvbD2KXk6BTvAIckeCR5A
Cc: "dhcwg@ietf.org" <dhcwg@ietf.org>
Subject: Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-stateful-issues-06.txt
X-BeenThere: dhcwg@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <dhcwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dhcwg/>
List-Post: <mailto:dhcwg@ietf.org>
List-Help: <mailto:dhcwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Jul 2014 09:13:57 -0000

Hi,

I have a question on section 4:
   "Proposed solution: the client should keep *a single session* with the
   server and include the missing options on subsequent messages
   (Request, Renew, and Rebind) to the server.

My understanding is that it implicitly objects to "create separate DHCP
sessions for each IA option type" in the previous paragraph.

If there are two servers: server_A only replies IA_NA and server_P only
replies IA_PD. The client sends Solicit message requesting both IA_NA and
IA_PD, and receives Advertise messages from both servers. Will the client
only keep a single session with just one of the servers, or two sessions
with both servers? For the former case, the client will unlikely get both
IA_NA and IA_PD although it continue requesting both IA_NA and IA_PD
in subsequent
messages.

If it is the latter case, what would be in the client's IA_NA in subsequent
Request, Renew, and Rebind messages to the server_P? Does the IA_NA to
server_P contains the IA_NA address from server_A's Advertise (that's what
the client gets), or no address (that's what server_P has replied) ?

Best Regards,
Cong



2014-07-01 0:55 GMT+08:00 Bernie Volz (volz) <volz@cisco.com>:

> Hi:
>
> A new version of this document has been posted. Sorry for the long delay
> but there were some significant changes to make and thanks to Marcin for
> joining the authors to make some of those changes.
>
> The major differences are:
> 1. Sections 4.1 and 4.2 (Advertise Message and Placement of Status Code)
> were swapped. The reason for this is because we decided to use the Reply
> formatting for the status codes in Advertise too. It turns out that there
> are server implementations that did already use this formatting and there
> have been no reported issues. So, client implementations must be handling
> this acceptable. This is a better long term solution since it doesn't
> special case the IA_NA/IA_TA handling in Advertise.
> 2. The 4.4 Renew and 4.5 Rebind sections have had major changes and rework
> (that to Marcin).
> 3. The 4.6 Confirm section was changed to remove use of Confirm for IA_PD
> (Rebind is mandated). For IA_NA and/or IA_TA only, Confirm can be used. If
> IA_PD exists, Rebind should be used (not Confirm).
> 4. Replaced 4.7.  Release Message with a 4.7  Decline Should Not
> Necessarily Trigger a Release (an issue reported by Tim Winters).
> 5. There are other minor edits (such as referencing RFC 7084 instead of
> RFC 6204).
>
> There is one outstanding issue that we'd like to get feedback on from
> folks (as well as of course the other changes made). We can discuss on the
> mailing list but will also discuss at the Toronto IETF DHC WG Session.
>
> This is the issue of which status codes Renew and Rebind should use when a
> server is unable to provide "leases" for a binding. Presently the text says
> to use NoBinding and part of that reason was that this is consistent with
> what is currently written in RFC 3315. But it may be better to use
> NoAddrsAvail/NoPrefixAvail instead of NoBinding. Marcin and I debated this
> some and here is some data regarding this issue:
>
> 1. A Request never returns NoBinding. It uses NoAddrsAvail/NoPrefixAvail.
> So, if we wanted to make Renew (and Rebind) more closely aligned ...
> 2. Existing servers (that follow 3315) will return NoBinding. Thus,
> returning this would provide a client no information as to whether the
> server was new or not - and whether to initiate a Solicit/... cycle. On the
> flip side, existing clients handle NoBinding so that could avoid issues
> with unexpected status results?
> 3. We have 4 possible responses for an IA for a Renew/Rebind when no
> 'resources'  are assigned:
> 3.a. Return NoBinding.
> 3.b. Return NoAddrsAvail/NoPrefixAvail.
> 3.c. Return an 'empty' IA (no IAADDR or IAPREFIX options).
> 3.d. Don't return the IA. (I'm not a fan of this one as it might imply to
> the client that the server doesn't know that IA.) 4. Is there any value in
> returning additional information to a client for a Rebind? For a Rebind,
> there are two possibilities as to why the server didn't assign
> addresses/prefixes:
> 4.a. The server has no resources available at the present time.
> 4.b. The server is not able to assign resources because it is not
> configured to support "rapid commit".
> So, should we consider whether these should be handled differently? For
> 4.a., if the client retries (i.e., Renew, Solicit) it may get a resource
> but may not - depends on why it isn't available and whether something has
> happened to make a resource available. For 4.b, if the client retries
> (i.e., Renew, Solicit) it would likely get the resource.
> 5. There is one other condition to consider - my original assumption for
> Renew was that the server could 'refuse' to service the client if the
> server had no record of the client (i.e., no bindings). In this case,
> returning NoBinding for all of the IA_* would be appropriate - to force the
> client to Solicit/...
>
> (If we do 'drop' NoBinding from Renew/Rebind, then this status code would
> only be used for Release/Decline Replies.)
>
> My feeling is that for Renew/Rebind:
> - We should return NoAddrsAvail/NoPrefixAvail when the server cannot
> provide the requested resources but would if it 'could'.
> - We should reserve NoBinding to trigger the client to go back to
> Solicit/... or Request. Therefore, this should only be used in conditions
> where the server wants (needs) the client to do that.
>
> If would be nice if the status codes (or empty or missing IA) had
> consistent meanings for 'all' messages and thus triggered consistent client
> actions.
>
> Putting NoAddrsAvail into the IA carried in the Reply to Renew/Rebind
> shouldn't cause problems in the clients that really follow the current
> RFC3315 as in the section 18.1.8 it clearly specifies what to do with IAs
> that contain NoAddrsAvail in the Reply message  and it doesn't
> differentiate between the types of messages in response to which the Reply
> has been received. The following paragraph:
>
> "When the client receives a Reply message in response to a Renew or
>    Rebind message, the client examines each IA independently.  For each
>    IA in the original Renew or Rebind message, the client:
>
>    -  sends a Request message if the IA contained a Status Code option
>       with the NoBinding status (and does not send any additional
>       Renew/Rebind messages)
>
>    -  sends a Renew/Rebind if the IA is not in the Reply message
>
>    -  otherwise accepts the information in the IA "
> may be a source of trouble for clients which implementers ignored the
> preceding paragraph and simply made an assumption that NoAddrsAvail is not
> returned for Renew/Rebind. On the other hand the client shouldn't fall over
> just because it gets the unexpected status code.
>
> So in principle it seems to be fine to use NoAddrsAvail/NoPrefixAvail in
> the Reply messages sent as a response to Renew/Rebind.
>
>
> Anyway, give the current draft a read and if there are concerns or
> questions (or you have a view on the issue), please send mail to the list
> ASAP.
>
> - Bernie
>
> -----Original Message-----
> From: dhcwg [mailto:dhcwg-bounces@ietf.org] On Behalf Of
> internet-drafts@ietf.org
> Sent: Monday, June 30, 2014 12:34 PM
> To: i-d-announce@ietf.org
> Cc: dhcwg@ietf.org
> Subject: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-stateful-issues-06.txt
>
>
> A New Internet-Draft is available from the on-line Internet-Drafts
> directories.
>  This draft is a work item of the Dynamic Host Configuration Working Group
> of the IETF.
>
>         Title           : Issues with multiple stateful DHCPv6 options
>         Authors         : Ole Troan
>                           Bernie Volz
>                           Marcin Siodelski
>         Filename        : draft-ietf-dhc-dhcpv6-stateful-issues-06.txt
>         Pages           : 20
>         Date            : 2014-06-30
>
> Abstract:
>    Dynamic Host Configuration Protocol for IPv6 (DHCPv6) was not written
>    with the expectation that additional stateful DHCPv6 options would be
>    developed.  IPv6 Prefix Options for Dynamic Host Configuration
>    Protocol (DHCP) version 6 shoe-horned the new options for Prefix
>    Delegation into DHCPv6.  Implementation experience of the CPE model
>    described in RFC 7084 has shown multiple issues with the DHCPv6
>    protocol in supporting multiple stateful options.  This document
>    updates RFC 3315 and RFC 3633.
>
>
> The IETF datatracker status page for this draft is:
> https://datatracker.ietf.org/doc/draft-ietf-dhc-dhcpv6-stateful-issues/
>
> There's also a htmlized version available at:
> http://tools.ietf.org/html/draft-ietf-dhc-dhcpv6-stateful-issues-06
>
> A diff from the previous version is available at:
> http://www.ietf.org/rfcdiff?url2=draft-ietf-dhc-dhcpv6-stateful-issues-06
>
>
> Please note that it may take a couple of minutes from the time of
> submission until the htmlized version and diff are available at
> tools.ietf.org.
>
> Internet-Drafts are also available by anonymous FTP at:
> ftp://ftp.ietf.org/internet-drafts/
>
> _______________________________________________
> dhcwg mailing list
> dhcwg@ietf.org
> https://www.ietf.org/mailman/listinfo/dhcwg
>
> _______________________________________________
> dhcwg mailing list
> dhcwg@ietf.org
> https://www.ietf.org/mailman/listinfo/dhcwg
>