Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-stateful-issues-06.txt
神明達哉 <jinmei@wide.ad.jp> Wed, 09 July 2014 19:02 UTC
Return-Path: <jinmei.tatuya@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 5CF631B278D for <dhcwg@ietfa.amsl.com>; Wed, 9 Jul 2014 12:02:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.978
X-Spam-Level:
X-Spam-Status: No, score=-0.978 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, MIME_8BIT_HEADER=0.3, SPF_PASS=-0.001] autolearn=no
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 F5WqOdE9Bk8H for <dhcwg@ietfa.amsl.com>; Wed, 9 Jul 2014 12:02:01 -0700 (PDT)
Received: from mail-wg0-x232.google.com (mail-wg0-x232.google.com [IPv6:2a00:1450:400c:c00::232]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B65491A0426 for <dhcwg@ietf.org>; Wed, 9 Jul 2014 12:01:52 -0700 (PDT)
Received: by mail-wg0-f50.google.com with SMTP id n12so965465wgh.21 for <dhcwg@ietf.org>; Wed, 09 Jul 2014 12:01:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=7yHEGeXZVxVskr9YQgWXticgwA48018ujvgEVsRERbg=; b=UIpM2cQM4mOGUfqAeMi/UwDUURLKNnbmadGjNXwnUAWAJnlxHwWMdg+UYAojVQWLDB /VouBzabPdxt63pfXni5fz/9J/wM5jTVLcFMvWCpomvbfHgxTbDsYrfzvJOCrW+pveUo uWhkAgUoUrqCj+QaYEM3piWAxOmzTcmYJizcFOPM4TcEjPiJ650j5HuHBfnPU3v4499L ryHdLdXEwes9OUm/BO1ckuTI6DU8gxTiRrQun2/jLj+hmb7q7s6bCZazhgrdWJtOfqvU 5dQNr5MGmbkijWXvX7PL5zUv/AXz4Czl/janUnGecJCOM8++m/8AuvAnd0ybHWT361Dx OWtA==
MIME-Version: 1.0
X-Received: by 10.194.89.138 with SMTP id bo10mr50468962wjb.22.1404932511168; Wed, 09 Jul 2014 12:01:51 -0700 (PDT)
Sender: jinmei.tatuya@gmail.com
Received: by 10.194.63.211 with HTTP; Wed, 9 Jul 2014 12:01:51 -0700 (PDT)
In-Reply-To: <489D13FBFA9B3E41812EA89F188F018E1B5EE425@xmb-rcd-x04.cisco.com>
References: <20140630163351.4191.69719.idtracker@ietfa.amsl.com> <489D13FBFA9B3E41812EA89F188F018E1B5E03D1@xmb-rcd-x04.cisco.com> <CAJE_bqfZV+BCFR4u3W8O6X4oamZbeNQLSOJotyhbB2gBbXh03Q@mail.gmail.com> <489D13FBFA9B3E41812EA89F188F018E1B5E170B@xmb-rcd-x04.cisco.com> <CAJE_bqdqj1MauRQ5m1s7wkv-6hqusdFg+vZe8n9FvsVDEeeDdQ@mail.gmail.com> <489D13FBFA9B3E41812EA89F188F018E1B5EE425@xmb-rcd-x04.cisco.com>
Date: Wed, 09 Jul 2014 12:01:51 -0700
X-Google-Sender-Auth: tmUPRoYtYBkcjYKDm3y-Sjq3PXQ
Message-ID: <CAJE_bqe9gkRKUUG3KJT3yb9B+7qm0UBBWU+Mw4cN2ct_jSC5ZQ@mail.gmail.com>
From: 神明達哉 <jinmei@wide.ad.jp>
To: "Bernie Volz (volz)" <volz@cisco.com>
Content-Type: text/plain; charset="UTF-8"
Archived-At: http://mailarchive.ietf.org/arch/msg/dhcwg/k8y0ITtpSk-4V75DTkn9pIlTmHw
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: Wed, 09 Jul 2014 19:02:03 -0000
At Wed, 9 Jul 2014 17:07:40 +0000, "Bernie Volz (volz)" <volz@cisco.com> wrote: > Yes, #2 is our hope. >> The nuance is subtle here, so please let me be sure: which one is >> (more) correct? >> 2. this draft intends to be applicable to future possible IA_XXs, >> even if this is currently just a hope (since we don't know the >> future possibilities right now) and may turn out to be infeasible. Okay, on top of that, this is my comments on the draft body (finally): - Title: maybe we should change it from "issues", since it's not an issue statement (anymore) but actually proposes specific protocols. - General: as briefly discussed separately, I think this document should also describe how the client should handle a Reply to various types of messages based on the revised behavior, with specific revised text against Section 18.1.8 of RFC 3315. I now understand it's included in the plan but is not simply realized in this version, but I'm explicitly mentioning it here so it won't be forgotten. (it would be a good idea to have an "open issues" appendix section for such stuff) - General: as we discussed separately, some of the updates proposed in the draft break backward compatibility. It may or may not be justified (I myself am not really sure about it; I'll need to think about it more), but at least I think the draft should summarize incompatible changes with discussion of how it's justified. - General: the generalization attempt doesn't seem to be complete; in some cases the proposed revised text still only talks about addresses or prefixes, rather than general "resources". I'll point out some of such cases below, but they are not comprehensive. - Introduction: I'd suggest clarifying the intended coverage (the '#2' above) in the introduction section. - Introduction (or in some new section): as discussed separately, this draft imposes some assumption on the definition and usage of (especially future) IAs: + they should have T1/T2 values (with the only exception of IA_TA) + all IAs should share the same set of T1/T2. This also means that it's less likely that we can define a (future) IA that expects extremely shorter/longer T1/T2 (e.g. years or microseconds) in usual operations than other IAs + resources managed in an IA should have some kind of "lifetime". I'd suggest clarifying these assumptions more explicitly somewhere in the document. - Section 1: as long as we choose to include IA_TA in the consideration, this sentence looks awkward to me: IA_TA also has limited value when DHCPv6 is used for address assignment, as the privacy issues identified for IPv6 stateless address assignment ([RFC4941]) do not apply to DHCPv6 assignments. What is stated may (or may not) be true itself, but seems to be an orthogonal topic (it would be very relevant, on the other hand, if we are excluding IA_TA and try to justify it). - Section 3: as I read the draft I felt a bit confused about the difference between "resource" and "stateful options". In some cases I saw the former (latter) is used where the latter (former) may be a better choice. Maybe we can unify these? I'll point out some specific cases where I felt the confusion below. - Section 3: s/An example/Examples/ or s/are/is/ stateful options. An example of the resources are: IPv6 address or an - Section 3: I don't understand what this refers to: (see "identity association for temporary addresses"). - Section 4.1: this is not necessarily accurate, since NoBinding is used for all current IAs (and could also be used for future ones as its concept is quite generic): While a Status Code option is implicitly bound to a specific type of IA, - Section 4.1: s/addresses/some stateful option types/ so the description is generic? With the introduction of multiple IA option types, there might be a case where a server is not willing to offer addresses, but might be willing to offer other stateful option types. BTW, I wonder whether "resources" may be better than "stateful option (types)" in this context (see above). - Section 4.1: this sentence should probably be generalized: Clients MUST be prepared to handle each of the following Advertise messages formats when there are no addresses available (even when no IA_PD was in the Solicit): e.g. by avoiding to use "addresses" or "IA_PD". - Section 4.2: this text should probably be generalized (not hardcoding "address" etc) With (this includes the changes made by [RFC7083]): The client MUST ignore any Advertise message that contains no addresses (IAADDR options encapsulated in IA_NA or IA_TA options) [...] - Section 4.2: maybe this should be generalized: It is important to note that the receipt of an Advertise message without any addresses and delegated prefixes does not imply that the client should restart the Solicit retransmissions timers. - Section 4.3: regarding this behavior: Proposed solution: [...] To deal with the case where servers have not yet been updated to do that, clients MUST use the shortest (explicit or implicit) T1/T2 timer (larger than 0) in any IA options in the Reply. Longer T1/T2 timers are ignored. what should happen if we have two sets of T1/T2? - T1a = 10, T2a = 20 - T1b = 0, T2b = 5 If we pick up the shortests (> 0), T1 would be 10 and T2 would be 5, which is an invalid combination. - Section 4.4.1: this change seems to be too substantial. I'm not necessarily opposed to it, but I cannot be immediately sure if this doesn't have any unexpected bad effect. Besides, what if the server finds it can't create any such binding? Should it return NoBinding just like the old RFC 3315? Replace Section 18.2.3 of RFC 3315: [...] With: If the server cannot find a client entry for the IA the server creates the bindings for that client according to the server's policy and configuration information and returns the IAs and other information requested by the client. - Section 4.4.3: this paragraph is awkward in this context as it describes the server behavior in the context of describing the client behavior (Creation and Transmission of Renew): The server controls the time at which the client contacts the server to extend the lifetimes on client's bindings through the T1 and T2 [...] - Section 4.4.3: why SHOULD? can't (shouldn't) this be a MUST? The server SHOULD assign the same T1 and T2 value to each binding assigned to the client. In this case the - Section 4.4.3: this paragraph seems to say that a client may send a Renew/Rebind for IA_TA. Is that intent? If so, is it a good idea? If T1 or T2 is set to 0 by the server for all IA_NA and IA_PD options, or there are no T1 or T2 times (for an IA_TA), the client may send Renew or Rebind message, respectively, at the client's discretion. - Section 4.4.3: I don't understand why (and actually I'm not really sure what this sentence really tries to say): The client constructing a Renew message SHOULD NOT include resources in IA options that the client does not have. - Section 4.4.3: this paragraph assumes resource for any (future) IAs has *multiple* lifetimes. While it would probably be reasonable to assume resource for an IA generally has "a" lifetime, I'm not so sure if it always have multiple lifetimes (for IA_NA, they are valid and preferred lifetimes. They are very specific to the nature of IPv6 addresses). The same comment applies to some other parts of the draft, but basically I won't repeat it. If the server finds that any resource sent by the client is not appropriate, according to the server's configuration information, the server sends back the IA with the corresponding IA Address (for inappropriate address), IA Prefix option (for inappropriate prefix) or other option appropriate for the type of the resource, with lifetimes set to 0. The client which receives the option with lifetimes set to 0 MUST NOT use the corresponding resource. - Section 4.5.1: is it okay for the Rebind case? Rebind can be handled multiple servers, so multiple servers could end up with creating bindings. If the server cannot find a client entry for the IA and the IA is empty (i.e. contains no addresses), the server MAY assign the addresses to this IA and send a Reply message to the client with this IA containing allocated addresses with lifetimes and T1/T2 times. (BTW: "addresses" should probably be generalized) - Section 4.5.2: this should probably be generalized (and we might revisit the term "*valid* lifetimes", see the next bullet). Also, what if there are multiple IAs? Should this continue until all resource lifetimes of all IAs expire? Or should it stop when all resource lifetimes of some of the IAs expire (maybe the first time it happens)? MRD Remaining time until valid lifetimes of all addresses or prefixes in the IA have expired - Section 4.5.2: this even assumes resource for any (future) IA has a "valid" lifetime. Isn't it too specific for a generic specification? The message exchange is terminated when the valid lifetimes of all the resources assigned to the IA expire, at which time the client has several alternative actions to choose from; for example: - Section 4.5.2: related to the comment about the MRD above, what if the client has multiple IAs? - The client may choose to use a Solicit message to locate a new DHCP server and send a Request for the expired IA to the new server. If the client does this for one IA while (resources of) other IAs still not expired and keeps sending Rebinding for them, doesn't the client end up having multiple DHCPv6 sessions (which this draft tries to avoid)? - Section 4.5.4: maybe "of RFC 3315" should be appended, to be consistent with other part of the text: The server includes other options containing configuration information to be returned to the client as described in section 18.2. - Section 4.7: just wondering: does this describe some specific existing client implementation? Some clients will send a Release message for other bindings they may have received after they determine a conflict and have correctly sent a Decline message for the conflicting address(es). -- JINMEI, Tatuya
- [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-statefu… internet-drafts
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… Bernie Volz (volz)
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… 神明達哉
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… Bernie Volz (volz)
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… 神明達哉
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… Bernie Volz (volz)
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… 神明達哉
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… Bernie Volz (volz)
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… 神明達哉
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… Bernie Volz (volz)
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… Bernie Volz (volz)
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… 神明達哉
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… Bernie Volz (volz)
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… 神明達哉
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… Marcin Siodelski
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… Bernie Volz (volz)
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… 神明達哉
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… Cong Liu
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… Bernie Volz (volz)
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… 神明達哉
- Re: [dhcwg] I-D Action: draft-ietf-dhc-dhcpv6-sta… Cong Liu