Re: [tcpm] New Version Notification for draft-you-tcpm-configuring-tcp-initial-window-00.txt

Runa Barik <runabk@ifi.uio.no> Tue, 21 October 2014 14:30 UTC

Return-Path: <runabk@ifi.uio.no>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DC6841A6F45 for <tcpm@ietfa.amsl.com>; Tue, 21 Oct 2014 07:30:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.078
X-Spam-Level: **
X-Spam-Status: No, score=2.078 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FRT_STOCK2=3.988, T_RP_MATCHES_RCVD=-0.01] autolearn=no
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 U6ywAecgf9qZ for <tcpm@ietfa.amsl.com>; Tue, 21 Oct 2014 07:30:32 -0700 (PDT)
Received: from mail-out5.uio.no (mail-out5.uio.no [IPv6:2001:700:100:10::17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 51D641A1B74 for <tcpm@ietf.org>; Tue, 21 Oct 2014 07:30:32 -0700 (PDT)
Received: from mail-mx4.uio.no ([129.240.10.45]) by mail-out5.uio.no with esmtp (Exim 4.80.1) (envelope-from <runabk@ifi.uio.no>) id 1XgaSE-00027Q-Hk; Tue, 21 Oct 2014 16:30:30 +0200
Received: from [193.157.237.186] by mail-mx4.uio.no with esmtpsa (TLSv1:AES128-SHA:128) user runabk@uio.no (Exim 4.80) (envelope-from <runabk@ifi.uio.no>) id 1XgaSD-00037C-Tu; Tue, 21 Oct 2014 16:30:30 +0200
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Runa Barik <runabk@ifi.uio.no>
In-Reply-To: <CAPh34mdOi3LHCHS0X-u1+9R5MWHcrZG-34npuggPXC4a76QmOQ@mail.gmail.com>
Date: Tue, 21 Oct 2014 16:30:28 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <3B79E8CF-CFF2-496A-8BA2-46B0D57223D1@ifi.uio.no>
References: <F6C28B32DA084644BB6C8D0BD65B669D11BC91@nkgeml509-mbs.china.huawei.com> <CAPh34mc5TdHCP4_E7LwQt=3v2jJv0byrXqUquDnX50ObF9z_uw@mail.gmail.com> <D0A6C310-694C-4F28-AE8F-9D87628FAEA4@ifi.uio.no>, <CAPh34mdOi3LHCHS0X-u1+9R5MWHcrZG-34npuggPXC4a76QmOQ@mail.gmail.com>
To: Hagen Paul Pfeifer <hagen@jauu.net>, Michael Welzl <michawe@ifi.uio.no>, Joe Touch <touch@isi.edu>
X-Mailer: Apple Mail (2.1878.6)
X-UiO-SPF-Received:
X-UiO-Ratelimit-Test: rcpts/h 8 msgs/h 3 sum rcpts/h 8 sum msgs/h 3 total rcpts 99 max rcpts/h 8 ratelimit 0
X-UiO-Spam-info: not spam, SpamAssassin (score=-5.0, required=5.0, autolearn=disabled, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: EB0EBADD897E5D4B2E21E492C5F9C4DDCEABBC99
X-UiO-SPAM-Test: remote_host: 193.157.237.186 spam_score: -49 maxlevel 80 minaction 1 bait 0 mail/h: 1 total 15 max/h 3 blacklist 0 greylist 1 ratelimit 0
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/rRzrVxPqC2ESMCaJEeciDR2JdBE
Cc: "tcpm@ietf.org" <tcpm@ietf.org>
Subject: Re: [tcpm] New Version Notification for draft-you-tcpm-configuring-tcp-initial-window-00.txt
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 21 Oct 2014 14:30:34 -0000

Hi all,

     Inline comments,
________________________________________
From: tcpm <tcpm-bounces@ietf.org> on behalf of Hagen Paul Pfeifer <hagen@jauu.net>
Sent: Tuesday, October 21, 2014 3:19 PM
To: Michael Welzl; Joe Touch
Cc: tcpm@ietf.org
Subject: Re: [tcpm] New Version Notification for draft-you-tcpm-configuring-tcp-initial-window-00.txt

On 20 October 2014 21:19, Michael Welzl <michawe@ifi.uio.no> wrote:
> Hi Hagen,

Hi Michael

> what if 10 is used as a default (like now) and an upper limit?

I am not a friend of any static stack global or user configured IW -
let me explain this.

Consider the IW as a function of time (2014: 10, 2015: 12, ...). Say
that the IW should increase "savely" over the years. But the IW has
nothing to do with time! It has something to do with available
bandwidth (and delay, but skip this for now). The problem is that the
bandwidth do not increase over time for *all links*. 

There was a proposal, http://tools.ietf.org/html/draft-allman-tcpm-bump-initcwnd-00;
in this, IW can be set over time. And the reason considers network safety, and performance improvement  due to an increase in network capacity. I believe IW value depends on available bandwidth; it also depends more on flow characteristics in the Internet what I observed in my work during master thesis. Large flows (flows with large in data-size) stay for a long time in the Internet; however, small flows want to leave the Internet as soon as possible. Why not to give them chance to finish early. Moreover, we observed small flows get more benefit compared to large flows, having  a larger IW. This makes IW dependent on flow characteristics. It may be, the available bandwidth is enough to accommodate for such change. Till now, I did not consider network-state in relation to setting IW, but we need to consider.  

The bandwidth is
not equal everywhere to every time for everyone. There are links out
there with path characteristics from 1990 and older - but the clients
use modern operating systems and we must make sure that TCP will
operate in this environment too.

I participate at the Freifunk Mesh in Munich [1]. A mesh network
providing internet connectivity for the masses. Often the link quality
is really bad with a lot of MAC layer retransmissions resulting in low
bandwidth. But people _use_ Freifunk with their Browsers -> modern TCP
on "classic wifi links".

Now assume a setsockopt() IW of 50 - this will lead to congested
queues, dropped packets and interflow fairness problems and probably
non-operative links because the application will re-send packets again
and gain. Question: what is the right IW for a given application? ->
it is not application specific - it is link specific!

But we have already a solution to this: the TCP Control Block (RFC
2140) (to mention the author of the RFC: Joe Touch! ;)!

The control block is already implemented in Linux network stack and
cache CW parameters (amongst other things). This is a far better
approach because it starts conservative in the initial probing phase
(3/4 segments as specific) and memorize window parameters on a path
basis (yes, another IW misbelieve: the available bandwidth (IW) is not
a global value, it change over path and time characteristics). This
automated approach is the best you can get for your money - there is
not need for static defines in your kernel. And yes, Joe's I-D might
be a good starting point to even tune the IW even more.

Last week I met Jerry Chu (the author of IW10) at the LPC14 and he
told me that some guys start pushing on IW10 - I was hoping that this
happens not so immediately! ;-)

Hagen


[1] https://en.wikipedia.org/wiki/Freifunk


All I say, a constant IW may not be a good option. If we can understand the network during the handshaking, we can get better performance.

Regards,
- Runa Barik
_______________________________________________
tcpm mailing list
tcpm@ietf.org
https://www.ietf.org/mailman/listinfo/tcpm