Re: [conex] Accounting of ConEx signals

Bob Briscoe <bob.briscoe@bt.com> Mon, 10 October 2011 16:46 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 7CAB521F8B30 for <conex@ietfa.amsl.com>; Mon, 10 Oct 2011 09:46:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.149
X-Spam-Level:
X-Spam-Status: No, score=-2.149 tagged_above=-999 required=5 tests=[AWL=1.150, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-1]
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 0OeYMZbOOFH0 for <conex@ietfa.amsl.com>; Mon, 10 Oct 2011 09:46:37 -0700 (PDT)
Received: from smtp4.smtp.bt.com (smtp4.smtp.bt.com [217.32.164.151]) by ietfa.amsl.com (Postfix) with ESMTP id A0D9121F8A95 for <conex@ietf.org>; Mon, 10 Oct 2011 09:46:36 -0700 (PDT)
Received: from i2kc08-ukbr.domain1.systemhost.net ([193.113.197.71]) by smtp4.smtp.bt.com with Microsoft SMTPSVC(6.0.3790.4675); Mon, 10 Oct 2011 17:46:33 +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); Mon, 10 Oct 2011 17:46:32 +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 1318265192434; Mon, 10 Oct 2011 17:46:32 +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 p9AGkTqw004156; Mon, 10 Oct 2011 17:46:29 +0100
Message-Id: <201110101646.p9AGkTqw004156@bagheera.jungle.bt.co.uk>
X-Mailer: QUALCOMM Windows Eudora Version 7.1.0.9
Date: Mon, 10 Oct 2011 17:46:06 +0100
To: Mirja Kühlewind <mirja.kuehlewind@ikr.uni-stuttgart.de>
From: Bob Briscoe <bob.briscoe@bt.com>
In-Reply-To: <201110070115.27485.mkuehle@ikr.uni-stuttgart.de>
References: <201110070115.27485.mkuehle@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: 10 Oct 2011 16:46:32.0957 (UTC) FILETIME=[2AB42AD0:01CC876C]
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: Mon, 10 Oct 2011 16:46:37 -0000

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