Re: [dhcwg] unresolved comments in dhcpv6-25
Ralph Droms <rdroms@cisco.com> Wed, 05 June 2002 04:05 UTC
Received: from optimus.ietf.org (ietf.org [132.151.1.19] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id AAA24743 for <dhcwg-archive@odin.ietf.org>; Wed, 5 Jun 2002 00:05:49 -0400 (EDT)
Received: (from daemon@localhost) by optimus.ietf.org (8.9.1a/8.9.1) id AAA15027 for dhcwg-archive@odin.ietf.org; Wed, 5 Jun 2002 00:06:16 -0400 (EDT)
Received: from optimus.ietf.org (localhost [127.0.0.1]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id AAA14745; Wed, 5 Jun 2002 00:03:12 -0400 (EDT)
Received: from ietf.org (odin [132.151.1.176]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id AAA14713 for <dhcwg@ns.ietf.org>; Wed, 5 Jun 2002 00:03:10 -0400 (EDT)
Received: from funnel.cisco.com (funnel.cisco.com [161.44.168.79]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id AAA24684 for <dhcwg@ietf.org>; Wed, 5 Jun 2002 00:02:36 -0400 (EDT)
Received: from rdroms-w2k.cisco.com (rtp-vpn1-236.cisco.com [10.82.224.236]) by funnel.cisco.com (8.8.5-Cisco.1/8.6.5) with ESMTP id AAA12470; Wed, 5 Jun 2002 00:02:25 -0400 (EDT)
Message-Id: <4.3.2.7.2.20020604235847.038ade40@funnel.cisco.com>
X-Sender: rdroms@funnel.cisco.com
X-Mailer: QUALCOMM Windows Eudora Version 4.3.2
Date: Wed, 05 Jun 2002 00:02:18 -0400
To: JINMEI Tatuya / 神明達哉 <jinmei@isl.rdc.toshiba.co.jp>
From: Ralph Droms <rdroms@cisco.com>
Subject: Re: [dhcwg] unresolved comments in dhcpv6-25
Cc: dhcwg@ietf.org
In-Reply-To: <y7vit55ehp5.wl@ocean.jinmei.org>
References: <y7vadrqq348.wl@ocean.jinmei.org> <y7vadr4sf81.wl@ocean.jinmei.org> <y7vk7q5mg3c.wl@ocean.jinmei.org> <y7vadr0myz6.wl@ocean.jinmei.org>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Sender: dhcwg-admin@ietf.org
Errors-To: dhcwg-admin@ietf.org
X-Mailman-Version: 1.0
Precedence: bulk
List-Id: <dhcwg.ietf.org>
X-BeenThere: dhcwg@ietf.org
Thanks for your careful review and helpful comments. We've reviewed your comments and included our responses in line below. www.dhcp.org/draft-26.txt reflects the changes described in this response. - Ralph ===== Message 1: ---------- Other questions to this section: - what should the receiving server do if the Information-request contains a client Identifier option? I think the server MUST copy the option to the reply, but the draft does not mention this case. - what should the receiving server do if the Information-request contains an IA option? Section 18.1.5 says that: The client MUST NOT include any IA options. But none of this section and Section 15.12 mention this case. We've fixed these specific problems. BTW: there seem to me several cases for this type of incompleteness. For example, Section 22.6 says "The IA Address option must be encapsulated in the Options field of an Identity Association option." But I'm not sure what a node should do when it receives an IA address option not encapsulated in an IA option. I've not gone through the entire draft, so I may miss something, and if so, I'd apologize in advance. If my guess is correct, however, then I'd suggest to check the consistency of the requirements over the entire draft. The "UnSpecFail" status code is available to indicate a problem with the DHCP option where the action for that problem is not specifically described in the doc. Message 2: ---------- 1. Section 4.1. defines binding A binding (or, client binding) is a group of server data records containing the information the server has about the addresses in an IA and any other configuration information assigned to the client. A binding is indexed by the tuple <DUID, IA-type, IAID> (where IA-type is the type of address in the IA; for example, temporary) Is it always appropriate to contain "IA-TYPE" and "IAID" in the index of a binding? What if a configuration information (that needs a binding) is not associated with an IA? An IPv6 prefix delegated by DHCPv6 can be an example of such binding. Changed definition of binding to: binding A binding (or, client binding) is a group of server data records containing the information the server has about the addresses in an IA or configuration information assigned to the client. A binding containing information about an IA is indexed by the tuple <DUID, IA-type, IAID> (where IA-type is the type of address in the IA; for example, temporary). A binding containing configuration information for a client is indexed by <DUID>. 2. Section 15.13. says Clients MUST discard any received Relay-forward messages. What if a relay agent receives a relay-forward message? We have added new text that addresses "chaining" of relay agents; that is, the ability of one relay agent to send a relay-forward message to another relay agent. 4. Section 17.1. says A client uses the Solicit message to discover DHCP servers configured to serve addresses on the link to which the client is attached. The wording is too specific. Since the client may just need other information than addresses, the text should be like "DHCP servers configured to server addresses or other configuration parameters...". Right; fixed... 5. Section 17.1.1. says The client MAY include options with data values as hints to the server about parameter values the client would like to have returned. I'm not sure how the data values are specified. An option request option can only specify required option "types"... The same comments applies to Sections 18.1.1 and 18.1.5. The client includes the requested option (rather than indicating the option in the Option Request option), containing the desired option value. 6. Section 17.1.3 says The client MUST ignore any Advertise message that includes a Status Code option containing the value AddrUnavail, with the exception that the client MAY display the associated status message to the user. and Section 17.2.2 has a corresponding text: If the server will not assign any addresses to IAs in a subsequent Request from the client, the server MUST send an Advertise message to the client that includes only a status code option with the status code set to AddrUnavail and a status message for the user. With the specification, it seems to me that a client cannot configure itself without getting addresses (except via information-request and reply exchanges). For example, suppose that a client wants to be delegated an IPv6 prefix from a provider, and sends a solicit without any IA option. The server is configured to delegate prefixes only (i.e. not addresses), so it sends an Advertise message with an AddrUnavail code. Since the client MUST ignore the advertise message, it cannot proceed any more. So, the specification should be clearer on the procedure when a client does not need addresses. Text in 17.2.2 clarified to specify that server returns AddrUnavail only if the client included IA options in the Solicit message. 7. What if a reply message for a solicit with a rapid commit option does *not* contain a rapid commit option? Section 17.2.3 says that the server includes a Rapid Commit option in the Reply message, but Section 17.1.4 says nothing about the case if the rapid commit option is not included. Added a sentence requiring a client to discard any Reply messages that do not include a Rapid Commit option. 8. It is not very clear when a server includes a Server Unicast option. Section 18.1.1 (and some succeeding sections) says Use of multicast or anycast on a link and relay agents enables the inclusion of relay agent options in all messages sent by the client. The server should enable the use of unicast only when relay agent options will not be used. But, this only talks about some restrictions of including the option. Even with the text of section 22.13, I'm still not sure when a server should or can send a Server Unicast option. It would be better to describe the allowed (or necessary) cases explicitly. Added the sentence: "Use of unicast may avoid delays due to forwarding of messages by relay agents as well as avoid overhead and duplicate responses by servers due to delivery of client messages to multiple servers." to each of the DISCUSSION paragraphs explaining the use of the Unicast option. 9. (I've once pointed it out, but I'll do it again) Section 17.2.2 says If the Solicit message was received directly by the server,...The Advertise message MUST be unicast through the interface on which the Solicit message was received. Technically, the requirement is too strong, since links are larger than interfaces according to the IPv6 scoped address architecture. So, more accurately, it should say "The Advertise message MUST be unicast through the link on which the Solicit message was received." (Also see the last paragraph of Section 16.) We used the more specific requirement to avoid the problem of a client sending a DHCP message on an incorrect interface because the client had incorrect configuration information about two interfaces being on the same link. 10. Section 18.2.1 says When the server receives a Request message via unicast from a client to which the server has not sent a unicast option, the server discards the Request message and responds with a Reply message containing a status code option with value UseMulticast and no other options. I'm not sure how the client should act when it receives the reply message. Should it resend the request to multicast? Should it restart the entire procedure from the solicit? At least Section 18.1.6 should mention this case. The same comment applies to Sections 18.2.3, 18.2.6, and 18.2.7. Fixed with the following text: When the client receives a Reply message with a Status Code UseMulticast option, the client records the receipt of the message and sends subsequent messages through that interface using multicast. The client resends the original message using multicast. 11. Section 18.2.6 says "The server ignores invalid addresses." What does "invalid" exactly mean? In particular, I'm not sure if the source address of the receipt message is "invalid" or not (note that section 18.1.7 prohibits the client to use addresses being released as the source address). The text should clearly define the term "invalid". The same comment applies to Section 18.2.7. The phrase "invalid addresses" has been clarified. 12. Section 19.1.1 says "The server sets the transaction-id field to 0". But I could not found description about the case where the client receives a reconfigure message with a non-0 transaction-id. Should it discard the message, or should it ignore the non-0 value, or others? Added sentence specifying that the client ignores the transaction-id field in received Reconfigure messages. 13. Why doesn't the timeout and retransmission rule in Section 19.1.2 follow the general rules described in Section 14? Is there something special for reconfigure messages? The randomization is not required as Reconfigure messages won't be synchronized by some external event. Message 3: ---------- (1) If the client sent a solicit message with a rapid commit option but the server responds to the solicitation with an advertise message, what should the client do? Should it ignore the advertise, should it accept the advertise and send a request, or others? Section 17.1.4 says ...If the client does not receive a Reply message, the client restarts the server solicitation process by sending a Solicit message that does not include a Rapid Commit option. So, the client should probably ignore the advertise (and keep waiting for a reply.) But I'm not 100% sure about this. Section 17.1.4 is clarified to allow a client to use an Advertise message in this case if it receives no Reply with a Rapid Commit option. (2) Section 17.1.2 says: If the client is waiting for an Advertise message, the mechanism in section 14 is modified as follows for use in the transmission of Solicit messages. The message exchange is not terminated by the receipt of an Advertise before IRT has elapsed. Rather, the client collects Advertise messages until IRT has elapsed. Should this rule apply if the client is retransmitting solicit messages? For example, suppose that there is no advertise in response to the first solicit, and so the client retransmit the solicit. If the client then receives a first advertise, should it still wait until IRT elapses? A couple of paragraphs farther down in 17.1.2 is this text: If the client does not receive any Advertise messages before the first RT has elapsed, it begins the retransmission mechanism described in section 14. The client terminates the retransmission process as soon as it receives any Advertise message, and the client acts on the received Advertise message without waiting for any additional Advertise messages. This text is intended to address the question you raise. (3) The paragraph above then says: Also, the first RT MUST be selected to be strictly greater than IRT by choosing RAND to be strictly greater than 0. However, according to Section 13, the first RT should be RT = 2*IRT + RAND*IRT where RAND is a random number chosen with a uniform distribution between -0.1 and +0.1. Thus, RT >= 2*IRT - 0.1*IRT = 1.9 * IRT >= IRT (the rightmost '=' is satisfied only when IRT is 0) So the RT should always be greater than IRT regardless of the value of RAND, and "by choosing RAND to be strictly greater than 0" seems to be redundant. Is my understanding correct? The initial choice of RT included a typo; it should (and now does) read: RT = IRT + RAND*IRT Message 4: ---------- Section 18.2.1 of dhcpv6-24 says: When the server receives a Request message via unicast from a client to which the server has not sent a unicast option, the server discards the Request message and responds with a Reply message containing a status code option with value UseMulticast and no other options. On the other hand, section 15.10 says - the message does not include a Server Identifier option (snip) - the message does not include a Client Identifier option and the original message from the client contained a Client Identifier option Those two requirements seem to be inconsistent, or at least be confusing. Should the reply message contain the Server Identifier option (and the Client Identifier option if the original message contained it) in the Reply even if the server is responding with a status code option with UseMulticast? Or should the client loosen the validation in 15.10 if the reply contains a status code option? Or others? Clarified to allow additional options; paragraph now reads: When the server receives a Request message via unicast from a client to which the server has not sent a unicast option, the server discards the Request message and responds with a Reply message containing a Status Code option with value UseMulticast, a Server Identifier option containing the server's DUID, the Client Identifier option from the client message and no other options. _______________________________________________ dhcwg mailing list dhcwg@ietf.org https://www1.ietf.org/mailman/listinfo/dhcwg
- [dhcwg] some comments and questions on dhcpv6-24 JINMEI Tatuya / 神明達哉
- RE: [dhcwg] some comments and questions on dhcpv6… Bernie Volz (EUD)
- Re: [dhcwg] some comments and questions on dhcpv6… Ralph Droms
- [dhcwg] Re: comments and qeustions on dhcpv6-24 JINMEI Tatuya / 神明達哉
- [dhcwg] comments and qeustions on dhcpv6-24 JINMEI Tatuya / 神明達哉
- Re: [dhcwg] some comments and questions on dhcpv6… JINMEI Tatuya / 神明達哉
- Re: [dhcwg] some comments and questions on dhcpv6… Ralph Droms
- [dhcwg] additional comments on dhcpv6-24 JINMEI Tatuya / 神明達哉
- [dhcwg] unresolved comments in dhcpv6-25 JINMEI Tatuya / 神明達哉
- Re: [dhcwg] unresolved comments in dhcpv6-25 Ralph Droms
- Re: [dhcwg] unresolved comments in dhcpv6-25 Ralph Droms
- Re: [dhcwg] unresolved comments in dhcpv6-25 Raymond Jayaraj
- Re: [dhcwg] unresolved comments in dhcpv6-25 JINMEI Tatuya / 神明達哉
- Re: [dhcwg] unresolved comments in dhcpv6-25 JINMEI Tatuya / 神明達哉
- Re: [dhcwg] unresolved comments in dhcpv6-25 Ralph Droms
- Re: [dhcwg] unresolved comments in dhcpv6-25 SHIRASAKI Yasuhiro