Re: [dhcwg] Review of draft-ietf-dhc-dhcpv6-failover-protocol-00

Kim Kinnear <kkinnear@cisco.com> Mon, 30 November 2015 15:34 UTC

Return-Path: <kkinnear@cisco.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 0CB041B29B7 for <dhcwg@ietfa.amsl.com>; Mon, 30 Nov 2015 07:34:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level:
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] 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 sxNTstM02aow for <dhcwg@ietfa.amsl.com>; Mon, 30 Nov 2015 07:34:49 -0800 (PST)
Received: from aer-iport-1.cisco.com (aer-iport-1.cisco.com [173.38.203.51]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2FE471B2E72 for <dhcwg@ietf.org>; Mon, 30 Nov 2015 07:34:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=6057; q=dns/txt; s=iport; t=1448897688; x=1450107288; h=mime-version:subject:from:in-reply-to:date:cc: content-transfer-encoding:message-id:references:to; bh=I2bSxBySrBGSERJWiGf4carMCavdyxQxu1SyAbcKfaw=; b=a023OUWE35FDYXt7NZWlBpTm9QXn2UkcDeLl6lBzED8QH5g2v24Zz4yL CqbG4Dvhj4IVSnOEoeg9vqN9JFme4zJYeI6BqQMgulS63Vq5qStxBw2lf 8qSQLHKLKRbIO1MbG8AUBWjtXMom/Ip8xz42G8YxqS6YXiCIqIHsUtlmC Y=;
X-IronPort-AV: E=Sophos;i="5.20,364,1444694400"; d="scan'208";a="632304348"
Received: from aer-iport-nat.cisco.com (HELO aer-core-1.cisco.com) ([173.38.203.22]) by aer-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Nov 2015 15:34:46 +0000
Received: from dhcp-10-131-65-141.cisco.com (dhcp-10-131-65-141.cisco.com [10.131.65.141]) (authenticated bits=0) by aer-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id tAUFYj3f016044 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 30 Nov 2015 15:34:46 GMT
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 9.1 \(3096.5\))
From: Kim Kinnear <kkinnear@cisco.com>
In-Reply-To: <66cb478301394af2a9981ed20fd9942d@XCH-ALN-003.cisco.com>
Date: Mon, 30 Nov 2015 10:34:44 -0500
Content-Transfer-Encoding: quoted-printable
Message-Id: <B25C3B4C-69B5-4818-A145-CDAC106E940C@cisco.com>
References: <66cb478301394af2a9981ed20fd9942d@XCH-ALN-003.cisco.com>
To: "Bernie Volz (volz)" <volz@cisco.com>
X-Mailer: Apple Mail (2.3096.5)
X-Authenticated-User: kkinnear
Archived-At: <http://mailarchive.ietf.org/arch/msg/dhcwg/dDB1lU4-ekDLzmit17YBFcytjYk>
Cc: "dhcwg@ietf.org" <dhcwg@ietf.org>, Kim Kinnear <kkinnear@cisco.com>
Subject: Re: [dhcwg] Review of draft-ietf-dhc-dhcpv6-failover-protocol-00
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: <https://mailarchive.ietf.org/arch/browse/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, 30 Nov 2015 15:34:51 -0000

Folks,

Yes, please wait until I've folded Bernie's comments and corrections
into the document before you review it.  That will be the -01.txt version.
I expect to do this in December.

I'll respond to the rest of the points inline, below...

> On Nov 30, 2015, at 9:52 AM, Bernie Volz (volz) <volz@cisco.com> wrote:
> 
> Hi:
>  
> I have reviewed draft-ietf-dhc-dhcpv6-failover-protocol-00. I have lots of minor nits which I will provide these to Kim directly (marked up on a paper copy) instead of here.
>  
> For the others that volunteered to review at IETF-94 meeting (Ted, Marcin, Jinmei, and Shawn), if you haven’t started, it may make sense to wait until Kim updates the document.

	Yes, as I said above, wait for the -01 draft, which I expect
	to do in December.
>  
> So here’s the list of (mostly) non-nits:
>  
> -          There is no port for failover mentioned. I presume the IANA assigned Failover Port (647) will be used?

	Oops.  Yes, managed to leave that out completely.  Good catch.
>  
> And, as these are not DHCPv6 messages then, perhaps the DHCPv6 message registry is not appropriate?
>  
> This does raise an interesting question though with the (long ago abandoned) DHCPv4 failover draft. As there are existing implementations of that protocol, we should likely ask IANA to set up a new DHCP Failover Message registry and reserve the message numbers from draft-ietf-dhc-failover (messages 1-12).

 	Seems like we will need a failover message registry.  Maybe we could just start
	the message-id's with say 20, and not have to invoke exactly why?
> 
>  
> -          Perhaps “DHCP” should be used throughout this document instead of “DHCPv6” (DHCPv6 can be used at the start). It is pretty clear that this is all about DHCPv6? (RFC 3315 used DHCP in most places.) I’d also suggest replacing “DHCPv6 client” with just “client”?

	Sure.

> -          DDNS (Dynamic DNS) should probably just be “DNS Update” or similar? The Dynamic part has pretty much been dropped these days?

	Ok,

> -          Resource could be replaced with lease? We are moving in that direction with the RFC3315 bis document.

	Ok.
> -          4.2.1.1 (Independent Allocation Algorithm) – the “low order” bit is 127 not 15.
> -          BNDUPD/BNDACK are defined to allow bulking; I think this should be simplified to not allow bulking (one message per client or lease).

	Oops.  Thanks for catching that.

> -          BNDUPD/BNDACK are defined to only support OPTION_CLIENT_DATA as container; this must be modified to support an IA_* option directly as there are cases where there may not be a client associated with a lease (consider pool rebalancing). So, a BNDUPD can contain an OPTION_CLIENT_DATA or an IA_* option.

	Wow, good catch.  I missed that completely.

> -          7.1 (Time Skew) – Should we require NTP to synchronize the clocks on failover partners?

	An interesting idea.  I'll send separate email on this.

> -          7.2 (Informational Model) – I think there needs to be an additional state (i.e., something like DELETED) to indicate when a lease is removed.

	Ok.  I may need help fitting this in, but let me try
	something and I'll get back to you if I can't figure
	out a good answer.

> -          7.2 – The “FREE*” state is a bit odd, not sure if there’s a better name for this? First time I saw it I was looking for the footnote.

	Good point.  We'll find a better name.

> -          The term “lease times” may need to be defined as this controls the valid lifetime that can be given to the client. Perhaps this should be added to the terminology or replace “lease times” with “valid lifetime”?

	Sure, worth doing.
>  
> And, I’ll suggest the following answers to Kim’s “questions” on slide 8 of https://www.ietf.org/proceedings/94/slides/slides-94-dhc-0.pdf:
>  
> • Probably OPTION_F_DNS_REMOVAL_INFO should use IANA (top level) encapsulated options, instead of defining its own suboption space
>  
> Yes – top level.

	Ok.
>  
> • What is missing?
>  
> Document seems pretty complete.

	That's nice.
>  
> • Does DDNS belong (i.e., is 6 pgs too much)?
>  
> Yes, it does belong and OK if 6 pages. I think what’s there is pretty much needed.

	Thanks.
>  
> • Does the protocol hang together?
> – Time definitions and use in BNDUPD/BNDACK
> – Endpoint states and state transitions
>  
> Yes, seems pretty complete (much of this came from the DHCPv4 document and has been tried and tested in various implementations).

	Good.  I've been pretty close to it and it can be hard to
	know what is missing.
>  
>  
> I will add that people should look at the Independent Allocation (section 4.2.1) for addresses (IA_NA/IA_TA) and Proportional Allocation (section 4.2.2) for Prefix Delegation (IA_PD) to confirm that they are fine with these models. The idea here is that Proportional is more like what was done for DHCPv4 failover (requiring pool balancing/rebalancing). Whereas Independent uses an algorithm approach (a single bit) and doesn’t require pool (re)balancing – but effectively requires double the address space in the worst case situation (but with generally 64 bits of address space available on each prefix, this should not be a significant issue).

	Good point!

	Thanks much for the detailed review -- Kim

>  
> -          Bernie
>  
> _______________________________________________
> dhcwg mailing list
> dhcwg@ietf.org
> https://www.ietf.org/mailman/listinfo/dhcwg