Re: [conex] Accounting of ConEx signals

Bob Briscoe <bob.briscoe@bt.com> Tue, 11 October 2011 12:35 UTC

Return-Path: <bob.briscoe@bt.com>
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 504EE21F8C6E for <conex@ietfa.amsl.com>; Tue, 11 Oct 2011 05:35:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.516
X-Spam-Level:
X-Spam-Status: No, score=-2.516 tagged_above=-999 required=5 tests=[AWL=-0.117, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, SARE_BAYES_5x7=0.6, SARE_BAYES_6x7=0.6]
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 UCK0jvr5XB77 for <conex@ietfa.amsl.com>; Tue, 11 Oct 2011 05:35:13 -0700 (PDT)
Received: from smtp2.smtp.bt.com (smtp2.smtp.bt.com [217.32.164.150]) by ietfa.amsl.com (Postfix) with ESMTP id 0D3D321F8C14 for <conex@ietf.org>; Tue, 11 Oct 2011 05:35:12 -0700 (PDT)
Received: from i2kc08-ukbr.domain1.systemhost.net ([193.113.197.71]) by smtp2.smtp.bt.com with Microsoft SMTPSVC(6.0.3790.4675); Tue, 11 Oct 2011 13:35:10 +0100
Received: from cbibipnt08.iuser.iroot.adidom.com ([147.149.100.81]) by i2kc08-ukbr.domain1.systemhost.net with Microsoft SMTPSVC(6.0.3790.4675); Tue, 11 Oct 2011 13:35:10 +0100
Received: From bagheera.jungle.bt.co.uk ([132.146.168.158]) by cbibipnt08.iuser.iroot.adidom.com (WebShield SMTP v4.5 MR1a P0803.399); id 1318336509554; Tue, 11 Oct 2011 13:35:09 +0100
Received: from MUT.jungle.bt.co.uk ([10.215.130.253]) by bagheera.jungle.bt.co.uk (8.13.5/8.12.8) with ESMTP id p9BCZ5eO008809; Tue, 11 Oct 2011 13:35:05 +0100
Message-Id: <201110111235.p9BCZ5eO008809@bagheera.jungle.bt.co.uk>
X-Mailer: QUALCOMM Windows Eudora Version 7.1.0.9
Date: Tue, 11 Oct 2011 13:35:04 +0100
To: Mirja Kuehlewind <mirja.kuehlewind@ikr.uni-stuttgart.de>
From: Bob Briscoe <bob.briscoe@bt.com>
In-Reply-To: <201110111342.43331.mirja.kuehlewind@ikr.uni-stuttgart.de>
References: <201110070115.27485.mkuehle@ikr.uni-stuttgart.de> <201110101646.p9AGkTqw004156@bagheera.jungle.bt.co.uk> <201110111342.43331.mirja.kuehlewind@ikr.uni-stuttgart.de>
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"; format="flowed"
Content-Transfer-Encoding: quoted-printable
X-Scanned-By: MIMEDefang 2.56 on 132.146.168.158
X-OriginalArrivalTime: 11 Oct 2011 12:35:10.0438 (UTC) FILETIME=[373C2860:01CC8812]
Cc: conex@ietf.org
Subject: Re: [conex] Accounting of ConEx signals
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: Tue, 11 Oct 2011 12:35:14 -0000

Mirja,

If pure acks were ECN-capable, it would be just 
as likely that they would get an ECN mark as any 
data packet. However, RFC3168 says pure ACKS must 
be sent as Not-ECT. We should keep to this in 
ConEx unless something better has been done that 
I'm not aware of - ConEx isn't chartered to work on loss/marking of pure acks.

There is RFC5690, which is informational (rather than experimental):
"Adding Acknowledgement Congestion Control to TCP"

The relevant section in the re-ECN spec about 
pure acks, and byte vs packet ConEx signalling is 
here, which covers nearly everything in the present thread:
<http://tools.ietf.org/html/draft-briscoe-tsvwg-re-ecn-tcp-09#section-6.1.5>


This leaves the outstanding question of which 
ConEx doc should write about this stuff.
* abstract-mech ought to cover things like which packet headers to include.
* conex-tcp-modifications obviously ought to talk about TCP-specifics
* that leaves where to put design principles 
applicable to all transports. 2 options:
   a) abstract-mech?
   b) a section in conex-tcp-modifications 'guidelines for other transports'?

I prefer a) but we don't really want extremely detailed stuff in abstract-mech.


Bob

At 12:42 11/10/2011, Mirja Kuehlewind wrote:
>Hi Bob,
>
>thanks for this separate answer on the second 
>question but actually your first
>answer help me already. When I was reading your mail, I've just though, that
>we can at the endsystem just count the TCP payload. Under the assumption that
>the endsystem is mostly sending equally sized packets, there will be
>automatically as many header with ConEx marks as there have been causing the
>original congestion. If the sender is doing some wired things, like sending
>smaller retransmit packets, the sender knows about it and can take exactly
>this knowledge into account.
>
>I talked to Richard about this and he was bring 
>up the case, when there is ACK
>congestion (control packets without payload get marked). Not sure what to do
>with this case. If an ACK get lost, we actually don't really know. We could
>assume that the receiver should ack as least every second packet but we never
>know what the receiver did. I believe usually control packets without payload
>are as well ECN-capable. So with ECN we  would have a congestion signal. But
>is this a common case that pure ACKs get ECN markings?
>
>Mirja
>
>
>On Monday 10 October 2011 18:46:06 Bob Briscoe wrote:
> > Mirja,
> >
> > The thread largely overlooked your second question, which is also a good
> > one.
> >
> > We haven't got any text anywhere that talks about this.
> >
> > IMO the size should include the network layer header, but not link layer.
> >
> > Reason: ConEx is targeted at the IP layer because
> > it is the interoperability layer across networks.
> > When the bytes of a packet cause congestion
> > (setting aside the discussion about packet
> > processing congestion), the IP header is always
> > there, so it is part of the size that always needs to be counted.
> >
> > So, when we add ConEx to TCP, byte-for-byte
> > balance should strictly take account of IP
> > headers. But as you rightly point out, TCP often
> > doesn't know how many IP headers are involved (or
> > how many TCP headers were involved the last time
> > round the loop). So again, we can only say that
> > the practical approach when coding TCP is to make
> > assumptions about IP and TCP headers (e.g. assume
> > there will always be about the same amount of IP
> > and TCP header size added to the same amount of TCP payload).
> >
> > This should be good enough at this experimental
> > stage. If it raises problems, we will have to deal with them.
> >
> >
> > Bob
> >
> > PS. Strictly, congestion at the link layer
> > includes the size of link layer headers, and
> > congestion in a tunnel includes tunnel headers,
> > etc, etc. But for simplicity, from the
> > transport's viewpoint, I think it's reasonable to
> > use the size of the packet including the one IP
> > header that the transport can assume. This is a
> > bit like the transport layer checksum calculation
> > that includes an IP pseudo-header. But in this
> > case, the transport just adds a pseudo-size for the IP and TCP headers.
> >
> > At 00:15 07/10/2011, Mirja Kühlewind wrote:
> > >2. Which bytes of a packet do we take? The IP length incl header, the IP
> > >payload incl. TCP header or the actual payload?
> > >In TCP if a packet get lost (with SACK) we only know how many payload got
> > >lost. We do not know the number of packets/headers that were used to
> > > transmit this data. If we would loose one big packet and then retransmit
> > > a large number of small packets instead (which are all ConEx marked) that
> > > might give quite a different ConEx signal. On the other hand, what causes
> > > the congestion is the whole packet incl header(s). What is the right
> > > thing to do?
> >
> > ________________________________________________________________
> > Bob Briscoe,                                BT Innovate & Design
>
>
>
>--
>-------------------------------------------------------------------
>Dipl.-Ing. Mirja Kühlewind
>Institute of Communication Networks and Computer Engineering (IKR)
>University of Stuttgart, Germany
>Pfaffenwaldring 47, D-70569 Stuttgart
>
>tel: +49(0)711/685-67973
>email: mirja.kuehlewind@ikr.uni-stuttgart.de
>web: www.ikr.uni-stuttgart.de
>-------------------------------------------------------------------

________________________________________________________________
Bob Briscoe,                                BT Innovate & Design