Re: [conex] byte vs packet counting

John Leslie <john@jlc.net> Sun, 20 November 2011 21:40 UTC

Return-Path: <john@jlc.net>
X-Original-To: conex@ietfa.amsl.com
Delivered-To: conex@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 647AA21F85B1 for <conex@ietfa.amsl.com>; Sun, 20 Nov 2011 13:40:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.54
X-Spam-Level:
X-Spam-Status: No, score=-106.54 tagged_above=-999 required=5 tests=[AWL=0.059, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DiDiEjxE1oax for <conex@ietfa.amsl.com>; Sun, 20 Nov 2011 13:40:13 -0800 (PST)
Received: from mailhost.jlc.net (mailhost.jlc.net [199.201.159.4]) by ietfa.amsl.com (Postfix) with ESMTP id 6D01021F8564 for <conex@ietf.org>; Sun, 20 Nov 2011 13:40:13 -0800 (PST)
Received: by mailhost.jlc.net (Postfix, from userid 104) id 8CA9833C20; Sun, 20 Nov 2011 16:40:12 -0500 (EST)
Date: Sun, 20 Nov 2011 16:40:12 -0500
From: John Leslie <john@jlc.net>
To: Bob Briscoe <bob.briscoe@bt.com>
Message-ID: <20111120214012.GE22465@verdi>
References: <201111171402.pAHE26tB006646@bagheera.jungle.bt.co.uk> <CAH56bmBhg6VpDMKye+GO_=gN-MAjskTMaAznhYSJm3N4R6Zjtg@mail.gmail.com> <CAH56bmD2fh3sm4mozh17K2C+K0Pxyw7vRvykCo9Xt-jeEP36ZQ@mail.gmail.com> <201111201956.pAKJuJSQ007421@bagheera.jungle.bt.co.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <201111201956.pAKJuJSQ007421@bagheera.jungle.bt.co.uk>
User-Agent: Mutt/1.4.1i
Cc: ConEx IETF list <conex@ietf.org>
Subject: Re: [conex] byte vs packet counting
X-BeenThere: conex@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Congestion Exposure working group discussion list <conex.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/conex>, <mailto:conex-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/conex>
List-Post: <mailto:conex@ietf.org>
List-Help: <mailto:conex-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/conex>, <mailto:conex-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 20 Nov 2011 21:40:14 -0000

Bob Briscoe <bob.briscoe@bt.com> wrote:
> 
> Matt,

   (I do understand that Bob is addressing Matt...)
 
> [Adding the ConEx list back in]

   I do not agree that this is a discussion which should gate on the
opinions of Bob and Matt.

   I do understand that both of these folks think they understand the
mathematical issues involved better than the rest of us. They may well
be right.

   But this is an IETF Working Group, not an academic paper review
board. I'm not interested in arguing mathematics -- I believe we need
to discuss how to get a protocol which enough operators will implement.
And I'm interested in arguments of what will harm our chances of
widespread implementation.

> I think we're both now agreeing that the /goal/ should be 
> byte-balance for ConEx auditing. Correct?

   Hopefully it's no surpprise to anyone that _I_ don't agree.

> I am also in full agreement that this goal isn't always easy to meet 
> if retrofitting ConEx onto an existing transport like TCP. It works 
> if the packet sizes are regular, but if they are lumpy, the sender is 
> likely to understate or overstate.

   I can agree with that. (It seems to me that that's a potential
barrier to implementation.)

> And I agree that these aren't necessarily just corner-cases (well, I
> guess there is a large set of cases with regular packet sizes, but
> the corner is also quite large).

   Again, I agree.

> You ask what I think we should do about this. My view, we should:
> a) state what the goal should be for all transports (byte-balance)
> b) give advice on how to implement a TCP sender to do as well as it can
> c) run experiments and see whether the outcome is good enough, or if 
> further protocol mechanism is needed.

a) I see no benefit in _merely_ stating a goal: if indeed the goal is
   worthwhile (of which I remain unconvinced), we need to justify the
   additional effort which may be required to meet it.

b) I see danger (not benefit) from asking implementors to do much in
   the way of modifications to TCP. I believe our goal is unattainable
   unless we can demonstrate benefit for flows where no TCP modifications
   are needed. (Our charter clearly allows for modification to the
   _receiver_ TCP implementations; but we should promote that, if at
   all, as an _additional_ benefit of ConEx with receiver modifications.)

c) I have _no_ problem with running experiments with sender modifications
   to see if there _is_ a benefit from byte-balance. My problem is with
   jawboning about the abstruse benefits of byte-balance in our _initial_
   documents.

> Concerning (b) advice on the best that TCP implementations can do:
> - the TCP receiver (if optionally supporting ConEx) should suppress 
>   ACK delay whenever it detects congestion and instead give immediate
>   feedback
> - TCP sender can use ack sequence numbers to improve its guess of the 
>   required size of an re-echo-loss or re-echo-ECN
> - If the receiver is not ConEx-aware, a sender that knows it is 
>   sending lumpy packet sizes can introduce additional credit to cover 
>   any mistakes.

- I support anything to encourage a faster feedback loop for reacting
  to congestion signals. I only suggest that asking for any particular
  changes to TCP _at_this_point_ may be counterproductive.

- I believe that what a modified TCP sender might do in reaction to
  congestion should follow from widespread experimental experience.

- I have a problem with asking a sender to _guess_ at what ConEx signal
  is needed in response to a congestion event.

> If a ConEx sender does unintentionally understate bytes of 
> congestion, the auditor will discard some packets, then the sender 
> will redress the balance with some more re-echo-loss and it should 
> all heal itself, albeit having suffered some losses in the process.

   IMHO, we're not ready to prescribe any particular _policing_ actions.
"Auditor" to me means a point of collection of information, not a point
of enforcement.

   Enforcement, to me, is premature in our primary documents now being
LastCalled. No doubt Bob feels confident he can prescribe enforcement
actions which are mathematically correct. Perhaps he can.

   But to me, describing _any_ policing at this time is dangerous.
Folks _will_ implement policing according to their _own_ interpretation
of the information available -- not necessarily the way we describe. :^(

> Do you think this is sufficient (at least to run experiments to test 
> whether it is)?

   I think we would do well to run experiments an that basis.

   (I do not think we should publish initial documents claiming the
"rightness" of what such experiments seek to confirm.)

--
John Leslie <john@jlc.net>