Re: [dhcwg] Spencer Dawkins' No Objection on draft-ietf-dhc-dhcpv4-active-leasequery-06: (with COMMENT)

Kim Kinnear <kkinnear@cisco.com> Fri, 02 October 2015 15:30 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 687481A8711; Fri, 2 Oct 2015 08:30:15 -0700 (PDT)
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 BKaEhWF1tKHC; Fri, 2 Oct 2015 08:30:14 -0700 (PDT)
Received: from alln-iport-5.cisco.com (alln-iport-5.cisco.com [173.37.142.92]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DECC51A7015; Fri, 2 Oct 2015 08:30:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=2879; q=dns/txt; s=iport; t=1443799814; x=1445009414; h=mime-version:subject:from:in-reply-to:date:cc: content-transfer-encoding:message-id:references:to; bh=SDZZ14SRBbWnZ2DJAushD9NpEpoT7AVtFcfAt93Bk+A=; b=XqGnATmQ3Q+xMKX5G+u0iPoCFoZ8VVNvlkW03DMwvnSwTe9jxgcrk6lp VmnSR67JqQ21hrUpMIgq0NcGITP+/2qDL3EWGVPlz6LgqZ0JLDhzLuhJK sVUhbbIwusq58Viz7YoMVqj5f/UD6GedZhYQ+KGuE+Pecf+EU3MOuiaGA Y=;
X-IronPort-AV: E=Sophos;i="5.17,623,1437436800"; d="scan'208";a="193780764"
Received: from alln-core-6.cisco.com ([173.36.13.139]) by alln-iport-5.cisco.com with ESMTP; 02 Oct 2015 15:30:13 +0000
Received: from bxb-kkinnear-8813.cisco.com (bxb-kkinnear-8813.cisco.com [10.98.10.244]) (authenticated bits=0) by alln-core-6.cisco.com (8.14.5/8.14.5) with ESMTP id t92FUAjV023143 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Fri, 2 Oct 2015 15:30:12 GMT
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Kim Kinnear <kkinnear@cisco.com>
In-Reply-To: <CAKKJt-fNpgM3-J-k2khjJ_2Y8CnkK5mFUugfn=711dB2n1DhXQ@mail.gmail.com>
Date: Fri, 02 Oct 2015 11:30:08 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <F329364A-169B-4FBD-B234-1C6106412894@cisco.com>
References: <20150930194313.3703.1816.idtracker@ietfa.amsl.com> <3586AEAE-0A11-4730-85EE-806653FCC802@cisco.com> <CAKKJt-fNpgM3-J-k2khjJ_2Y8CnkK5mFUugfn=711dB2n1DhXQ@mail.gmail.com>
To: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
X-Authenticated-User: kkinnear
Archived-At: <http://mailarchive.ietf.org/arch/msg/dhcwg/qBHwDMloQ4mPE9MHyXC2xlM0wfw>
Cc: dhcwg@ietf.org, The IESG <iesg@ietf.org>, Kim Kinnear <kkinnear@cisco.com>
Subject: Re: [dhcwg] Spencer Dawkins' No Objection on draft-ietf-dhc-dhcpv4-active-leasequery-06: (with COMMENT)
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: Fri, 02 Oct 2015 15:30:15 -0000

Spencer,

Thanks for explaining your concern.  I'll respond below...

On Oct 2, 2015, at 8:57 AM, Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com> wrote:

> Your response helped quite a bit.
> 
> I guess I'm not understanding why having the server bail when the client can't read responses fast enough makes sense. I would kind of expect that the first thing the client would do when the connection closes is to open a new connection and try again (because the client still needs the information). Would you expect the client to give up for a while before retrying?

	No, I would expect that the client would reconnect with
	catch-up.

	You have asked an interesting question, and caused me to
	reflect on why we put this into the draft.

	If a requestor (client) can't keep up with the server it will
	cause the server to remember increasing amounts of information
	on its behalf.    The section we are discussing deals with the
	situation where the requestor is running so slowly (or is hung
	in some way) where the server is unable to queue anything to
	the TCP connection for two minutes.  When this happens, the
	server drops the connection.

	This is a way of saying "Enough, already!" by the server.  It
	isn't designed to give the requestor a break, particularly.
	It is more designed to illustrate to those who may be
	monitoring either of these two entities (server or requestor)
	that something serious has gone wrong.

	Otherwise a hung requestor could sit around for days and
	nobody might notice.  Of course a well written server would
	notice at some point that it has too much stuff backed up and
	will terminate the connection or raise a signal or something.
	That isn't part of the protocol, but would be part of a
	reasonable implementation.

	The part that is part of the protocol is this bit where 
	*something* has to flow during a two minute period or we
	assume that things are broken.

	......

	For what it is worth, we expect that there is only one client
	for this information per server.  More would work, but generally
	we don't see why you would want more.

	Thanks for digging into this!

	Regards -- Kim

> 
> On the other hand,
> 
> - you may be solving a problem that you've encountered in practice, which would be fine, and 
> 
> - the meta-answer may be that you think this is happening because the client is more overloaded than the server, so giving the client less to do while it's overloaded is the right answer, and 
> 
> - the meta-meta-answer may be that you're not expecting lots of clients to be asking the server for this information in the first place, so if you're using TCP, not much can go wrong, transport-wise.
> 
> But I was surprised :-)
> 
> Thanks again for helping me with this.
> 
> Spencer