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

"Bernie Volz (volz)" <volz@cisco.com> Mon, 30 November 2015 14:52 UTC

Return-Path: <volz@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 CC02C1B2CDE for <dhcwg@ietfa.amsl.com>; Mon, 30 Nov 2015 06:52:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -12.611
X-Spam-Level:
X-Spam-Status: No, score=-12.611 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, 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 wkU8sb10rV2N for <dhcwg@ietfa.amsl.com>; Mon, 30 Nov 2015 06:52:32 -0800 (PST)
Received: from rcdn-iport-5.cisco.com (rcdn-iport-5.cisco.com [173.37.86.76]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 333081B2C5D for <dhcwg@ietf.org>; Mon, 30 Nov 2015 06:52:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=18216; q=dns/txt; s=iport; t=1448895152; x=1450104752; h=from:to:subject:date:message-id:mime-version; bh=4NukbAmbkopA4UvlMglVgXBGVhhOY6a4mRPhVERZX08=; b=VYc/oyQCTONIf/X5coTjbqVT1C4u9g5aKidAJtb3pgPnGdxX5mjOOdu5 A4DENjKmI2OZyMVuK64Rgr6kWY7KhxIPaCkAUVm7CgTrouuXSDRmu8mEQ 6w6e46LONiUeC/V889c/t7twHSZsSBRv1AwCjyXJr/64tzqSDrsySqHeK g=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0D/AQC3YVxW/4wNJK1egm5NU28GvigBDYFmIYVugTM4FAEBAQEBAQF/C4Q5Ai1EGgGBACYBBBuIJg2ZfKAhAQEBAQEFAQEBAQEBARgEi1KFCIQxBY0ihU2DaAGBAocZhRWBYpItiFgBHwEBQoQEcgGEaYEHAQEB
X-IronPort-AV: E=Sophos; i="5.20,364,1444694400"; d="scan'208,217"; a="51242433"
Received: from alln-core-7.cisco.com ([173.36.13.140]) by rcdn-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 30 Nov 2015 14:52:30 +0000
Received: from XCH-ALN-003.cisco.com (xch-aln-003.cisco.com [173.36.7.13]) by alln-core-7.cisco.com (8.14.5/8.14.5) with ESMTP id tAUEqUSp025761 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL) for <dhcwg@ietf.org>; Mon, 30 Nov 2015 14:52:30 GMT
Received: from xch-aln-003.cisco.com (173.36.7.13) by XCH-ALN-003.cisco.com (173.36.7.13) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Mon, 30 Nov 2015 08:52:30 -0600
Received: from xch-aln-003.cisco.com ([173.36.7.13]) by XCH-ALN-003.cisco.com ([173.36.7.13]) with mapi id 15.00.1104.000; Mon, 30 Nov 2015 08:52:30 -0600
From: "Bernie Volz (volz)" <volz@cisco.com>
To: "dhcwg@ietf.org" <dhcwg@ietf.org>
Thread-Topic: Review of draft-ietf-dhc-dhcpv6-failover-protocol-00
Thread-Index: AdErfq2gGB7Fb3AjRjOotiZ72EDNgg==
Date: Mon, 30 Nov 2015 14:52:30 +0000
Message-ID: <66cb478301394af2a9981ed20fd9942d@XCH-ALN-003.cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.98.1.197]
Content-Type: multipart/alternative; boundary="_000_66cb478301394af2a9981ed20fd9942dXCHALN003ciscocom_"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dhcwg/YMeNMSBjpRTHjJXQY2jnGrfaYqQ>
Subject: [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 14:52:36 -0000

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.

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?



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



-          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"?

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

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

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

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

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

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

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

-          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"?

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.

* What is missing?

Document seems pretty complete.

* 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.

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


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


-          Bernie