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

"Bernie Volz (volz)" <volz@cisco.com> Mon, 30 November 2015 22:16 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 763001B2D07 for <dhcwg@ietfa.amsl.com>; Mon, 30 Nov 2015 14:16:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Level:
X-Spam-Status: No, score=-14.51 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 g9PJTk6Ue8g9 for <dhcwg@ietfa.amsl.com>; Mon, 30 Nov 2015 14:16:49 -0800 (PST)
Received: from rcdn-iport-1.cisco.com (rcdn-iport-1.cisco.com [173.37.86.72]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 75C421B2C23 for <dhcwg@ietf.org>; Mon, 30 Nov 2015 14:16:49 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=27971; q=dns/txt; s=iport; t=1448921809; x=1450131409; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=AKJHtX/cxGN3cruR6BHnegjKkMWHYpfdb2XtXoVRAL0=; b=bbN7eIgKd2GgsIC7Bii2LX4TXl/ZXeXLipHNFcccZFTQmfv7eOq4YSuA BY70aMAwhdptjl/LqGwry812TpkN8wovY0S1zDrVernGPzTMe10MrDLiq fNixtMoGypm0iAWwWbeYMELY2ppZQZJun6wyUzyIWyTVajmTna7oE2Stj g=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0D/AQCbyVxW/4QNJK1egm5NU28GvioBDYFmIYVuAoE6OBQBAQEBAQEBfwuENAEBAQICLUQYAgEIEQQBASEBBgcyFAkIAQEEEwiIJg27eAEBAQEBAQEBAQEBAQEBAQEBAQEBARQEikyBBoRCPwcJhCgFjSKFTYNoAYgbhRWBYpItiFgBHwEBQoQEcgGEJiQfgQcBAQE
X-IronPort-AV: E=Sophos; i="5.20,366,1444694400"; d="scan'208,217"; a="55084420"
Received: from alln-core-10.cisco.com ([173.36.13.132]) by rcdn-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 30 Nov 2015 22:16:47 +0000
Received: from XCH-ALN-005.cisco.com (xch-aln-005.cisco.com [173.36.7.15]) by alln-core-10.cisco.com (8.14.5/8.14.5) with ESMTP id tAUMGlhD005816 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL) for <dhcwg@ietf.org>; Mon, 30 Nov 2015 22:16:47 GMT
Received: from xch-aln-003.cisco.com (173.36.7.13) by XCH-ALN-005.cisco.com (173.36.7.15) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Mon, 30 Nov 2015 16:16:46 -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 16:16:46 -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: AdErfq2gGB7Fb3AjRjOotiZ72EDNggAOtlSw
Date: Mon, 30 Nov 2015 22:16:46 +0000
Message-ID: <3ca4f188c75240fdb671b76c4ca4b351@XCH-ALN-003.cisco.com>
References: <66cb478301394af2a9981ed20fd9942d@XCH-ALN-003.cisco.com>
In-Reply-To: <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_3ca4f188c75240fdb671b76c4ca4b351XCHALN003ciscocom_"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/dhcwg/Mqa7anjopQrKAD6Rb9zaPAyvRiQ>
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 22:16:54 -0000

Hi:

The privacy draft comments about temporary addresses caused me to remember one other item with respect to failover.

Presently the draft-ietf-dhc-dhcpv6-failover-protocol-00 document excludes failover for temporary addresses. The main reason for excluding these is that as temporary addresses are generally not renewed, failover rules would restrict them to MCLT lifetimes (which could be OK). If a problem, it may require adjusting MCLT (which for v6 failover may not be as significant an issue - at least for address assignment as plenty of address space available).

But, I think that including them is required ...

1.       Leasequery (which can go to either or both servers) would give odd results as only one server would have a record of these leases. How would the partner know to respond appropriately?

2.       Comparing partners' (pool) status is easier - otherwise, someone may wonder why are addresses missing from the other partner.

3.       Failover - if a client communicates with its partner, it may get a different set of temporary addresses (which in most cases may not be an issue).

4.       Recovery - if one server's DB is lost, its temporary leases would be lost (perhaps not a great loss).

I think #1 is the key reason - especially for some deployments like Cable DOCSIS where CMTS's often do Leasequery to recover state and verify information. #2 and #3 are secondary. #4 is probably minor / non-issue.


-          Bernie

From: dhcwg [mailto:dhcwg-bounces@ietf.org] On Behalf Of Bernie Volz (volz)
Sent: Monday, November 30, 2015 9:53 AM
To: dhcwg@ietf.org
Subject: [dhcwg] Review of draft-ietf-dhc-dhcpv6-failover-protocol-00

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