Re: [dhcwg] draft-ietf-dhc-l2ra-00 comments

"David W. Hankins" <David_Hankins@isc.org> Wed, 16 April 2008 17:13 UTC

Return-Path: <dhcwg-bounces@ietf.org>
X-Original-To: dhcwg-archive@megatron.ietf.org
Delivered-To: ietfarch-dhcwg-archive@core3.amsl.com
Received: from core3.amsl.com (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 22BF23A6F94; Wed, 16 Apr 2008 10:13:12 -0700 (PDT)
X-Original-To: dhcwg@core3.amsl.com
Delivered-To: dhcwg@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6C4743A6FB3 for <dhcwg@core3.amsl.com>; Wed, 16 Apr 2008 10:13:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LHy64CwUeZdh for <dhcwg@core3.amsl.com>; Wed, 16 Apr 2008 10:13:09 -0700 (PDT)
Received: from hankinsfamily.info (the.hankinsfamily.info [204.152.186.148]) by core3.amsl.com (Postfix) with ESMTP id 0F0D73A6FB5 for <dhcwg@ietf.org>; Wed, 16 Apr 2008 10:13:09 -0700 (PDT)
Received: from navarre.mercenary.net (c-24-6-89-32.hsd1.ca.comcast.net [24.6.89.32]) (authenticated bits=0) by hankinsfamily.info (8.13.8/8.13.8) with ESMTP id m3GHDimu012573 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <dhcwg@ietf.org>; Wed, 16 Apr 2008 10:13:44 -0700
Received: by navarre.mercenary.net (Postfix, from userid 1000) id 36A0019104; Wed, 16 Apr 2008 10:13:49 -0700 (PDT)
Date: Wed, 16 Apr 2008 10:13:48 -0700
From: "David W. Hankins" <David_Hankins@isc.org>
To: dhcwg@ietf.org
Message-ID: <20080416171348.GA7293@isc.org>
References: <20080415180335.GA3346@isc.org> <1208342729.17614.58.camel@magadha>
Mime-Version: 1.0
In-Reply-To: <1208342729.17614.58.camel@magadha>
User-Agent: Mutt/1.5.9i
Subject: Re: [dhcwg] draft-ietf-dhc-l2ra-00 comments
X-BeenThere: dhcwg@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <dhcwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=unsubscribe>
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>
Content-Type: multipart/mixed; boundary="===============2006827899=="
Sender: dhcwg-bounces@ietf.org
Errors-To: dhcwg-bounces@ietf.org

On Wed, Apr 16, 2008 at 04:15:29PM +0530, Bharat Joshi wrote:
> > 4.2.2. Issues due to introduction of Layer 2 Relay Agent
> > 
> > o Suggest adding (in addition to similar 4.1.2 issues):
> > 
> >    Layer 2 relay agents which maintain persistent state, such as
> >    updating filters or client registration, must be prepared to handle
> >    potentially conflicting responses from different DHCP Servers.
> >    Some Layer 2 relay agents instead use "the most recent DHCP
> >    packet", and this is not necessarily a reflection of which state a
> >    client has actually adopted.  Even where a client requests a single
> >    address, and two servers ack the single address, they MAY differ
> >    for example in lease times.  If the relay agent selects the server
> >    reply which has a shorter lease time, it would expire its state
> >    possibly before the client even has a chance to renew it.
> >    Therefore, Layer 2 relay agents SHOULD select the longest lease
> >    time of two conflicting but similar replies, by discarding replies
> >    that shorten the lease time.
> > 
> > Or possibly this should be an expanded discussion of 4.2.1's point?
> 
> 
> Ok. This point seems to require some discussion.
> 
> We feel that when client receives multiple OFFER messages, it will
> choose only one of the server and will send REQUEST message identifying
> that server. Now Layer 2 Relay Agent should typically extract/glean
> Lease Information to install filters etc when it sees an Ack from the
> Server.
> 
> So my question is that we won't have a case where two servers are acking
> for the same request. I am not sure if I am missing something here.

Actually there are multiple scenarios, as DHCPREQUEST is used not just
in the transition from selecting->bound, but also in renewal and
rebinding.  You noted this in a later email. :)

More importantly, where a server-id is present, it does not imply only
one server will reply, as there may be a failover configuration
present (and some DHCP servers ignore the server-id sent by clients
anyway for various reasons).  So it is simplest just to say that any
DHCPREQUEST MAY net multiple DHCPACKs (and NAKs!).

Especially in a failover configuration, two servers may be prepared to
answer requests for a given IPv4 address being requested, and some
will do so regardless of server-identifier (or at least will be wiling
to answer for each other, or may use the same "anycast"
server-identifier, or ... any number of things).

The consequence is precisely two DHCPACKs, under failover, presuming
that the lease being requested is in the ACTIVE state already, or has
been reserved for the client.

-- 
David W. Hankins	"If you don't do it right the first time,
Software Engineer		you'll just have to do it again."
Internet Systems Consortium, Inc.	-- Jack T. Hankins
_______________________________________________
dhcwg mailing list
dhcwg@ietf.org
https://www.ietf.org/mailman/listinfo/dhcwg