Re: [tcpm] rfc2581bis-01 and RFC 2861

Salman Abdul Baset <salman@cs.columbia.edu> Mon, 24 July 2006 07:11 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1G4ub6-0008R6-1V; Mon, 24 Jul 2006 03:11:24 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1G4ub4-0008R0-GT for tcpm@ietf.org; Mon, 24 Jul 2006 03:11:22 -0400
Received: from stsc1260-eth-s1-s1p1-vip.va.neustar.com ([156.154.16.129] helo=chiedprmail1.ietf.org) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1G4t1p-0003zY-ER for tcpm@ietf.org; Mon, 24 Jul 2006 01:30:53 -0400
Received: from cs.columbia.edu ([128.59.16.20]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1G4sp8-0005vP-1P for tcpm@ietf.org; Mon, 24 Jul 2006 01:17:52 -0400
Received: from dynasty.cs.columbia.edu (dynasty.cs.columbia.edu [128.59.16.5]) by cs.columbia.edu (8.12.10/8.12.10) with ESMTP id k6O5Hgl5020777 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 24 Jul 2006 01:17:42 -0400 (EDT)
Received: from dynasty.cs.columbia.edu (localhost [127.0.0.1]) by dynasty.cs.columbia.edu (8.12.10/8.12.10) with ESMTP id k6O5HXE6006024; Mon, 24 Jul 2006 01:17:42 -0400 (EDT)
Received: from localhost (salman@localhost) by dynasty.cs.columbia.edu (8.12.10/8.12.10/Submit) with ESMTP id k6O5HIuZ006018; Mon, 24 Jul 2006 01:17:28 -0400 (EDT)
X-Authentication-Warning: dynasty.cs.columbia.edu: salman owned process doing -bs
Date: Mon, 24 Jul 2006 01:17:17 -0400
From: Salman Abdul Baset <salman@cs.columbia.edu>
To: Mark Allman <mallman@icir.org>
Subject: Re: [tcpm] rfc2581bis-01 and RFC 2861
In-Reply-To: <20060724020615.A7B6D441017@lawyers.icir.org>
Message-ID: <Pine.GSO.4.58.0607240029460.5608@dynasty.cs.columbia.edu>
References: <20060724020615.A7B6D441017@lawyers.icir.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
X-Spam-Score: -2.6 (--)
X-Scan-Signature: 244a2fd369eaf00ce6820a760a3de2e8
Cc: tcpm@ietf.org
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
Errors-To: tcpm-bounces@ietf.org

> > The latest TCP congestion control draft:
> > http://www.ietf.org/internet-drafts/draft-ietf-tcpm-rfc2581bis-01.txt
> >
> > does not allude to RFC 2861. This latest draft perhaps tries to
> > combine the RFC 2581 (TCP Congestion Control) and RFC 3465
> > (Appropriate Byte Couting) in one document.
>
> This is incorrect.  The goal of the above listed I-D is to fix problems
> with the current congestion control *specification* (not algorithmic
> problems).  And, further to roll in a couple of quite minor *standards
> track* extensions to TCP (namely a larger initial cwnd (RFC 3390) and
> limited transmit (RFC 3042).

True. I guess the question is when/if RFC 2861 will be incorporated as a
Standards track rfc. As you are probably aware, Linux 2.4 and onwards
implement 2861. Ofcourse, this is not the reason for making an experimental
RFC a standard but I was hoping to find some effort towards it. Perhaps,
there is one but I have not scanned all the archives. Also, such an effort
is not evident from the WG description and 'Goals and Milestones'.

> I do not follow the problem you are getting at here.  If you traffic is
> CBR and you have enough cwnd to send at that CBR then why would
> increasing it beyond what will provide the given rate impact the
> traffic?  I just can't see the point you're trying to make here, can you
> try again?

So I guess, there are two ways of increasing cwnd during CA. One is to
increase the window based on number of ACKs received (which is what Linux
is doing and eq (2) in RFC 2581) and the other is to increase it based on
number of bytes ACKed (2581: page 5, par 3). It appears that RFC 2581
recommends both. As you mentioned, the new draft recommends the later.

Now consider CBR over TCP. The window will increase quickly for the first
case assuming packets are smaller than MSS (100 byte packet and 1448 byte
MSS). It will increase slowly for the second case. For a MSS of 200 bytes
and packet size of 100 bytes, the cwnd increase rate is 1/2 of the first
case.

When there is a TDACK loss, cwnd will be reduced to half. The CBR over
TCP traffic is not impacted if after a loss cwnd is big enough to
maintain the rate.

Now consider RFC 2861. It says that cap the cwnd if application is
rate-limited. For a CBR rate of 100 packet/s (or every 10ms) and RTT of
100ms, the cwnd should not theoretically increase beyond 11 because the
number of packets inflight are 10. In practice, it increases to a higher
value (and stays there if there is no loss) because the packets are
buffered when cwnd < CBR rate.

A CBR over a TCP implementation that follows RFC 2861 is more likely to
suffer from cwnd limited delays than a TCP implementation that keeps
increasing cwnd.

Similarly, CBR over TCP also benefits from not doing byte counting during
slow start and CA.

Another interesting nuance is if cwnd is significantly higher than the
current traffic rate, shall it be slowly brought down? This phenomena is
different from the idle period reduction.

What do you think?

Regards,
Salman

_______________________________________________
tcpm mailing list
tcpm@ietf.org
https://www1.ietf.org/mailman/listinfo/tcpm