Re: [tcpm] Discussion -- Pause/Resume mechanism on TCP ?

Lars Eggert <lars.eggert@nokia.com> Tue, 20 April 2010 10:20 UTC

Return-Path: <lars.eggert@nokia.com>
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AAF8928C1F0 for <tcpm@core3.amsl.com>; Tue, 20 Apr 2010 03:20:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.509
X-Spam-Level:
X-Spam-Status: No, score=-6.509 tagged_above=-999 required=5 tests=[AWL=0.090, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id p0qQDzj-1CoQ for <tcpm@core3.amsl.com>; Tue, 20 Apr 2010 03:20:33 -0700 (PDT)
Received: from mgw-mx06.nokia.com (smtp.nokia.com [192.100.122.233]) by core3.amsl.com (Postfix) with ESMTP id 5FC9D28C1F3 for <tcpm@ietf.org>; Tue, 20 Apr 2010 03:10:28 -0700 (PDT)
Received: from esebh106.NOE.Nokia.com (esebh106.ntc.nokia.com [172.21.138.213]) by mgw-mx06.nokia.com (Switch-3.3.3/Switch-3.3.3) with ESMTP id o3KA9ptU021764; Tue, 20 Apr 2010 13:10:11 +0300
Received: from vaebh104.NOE.Nokia.com ([10.160.244.30]) by esebh106.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.3959); Tue, 20 Apr 2010 13:09:37 +0300
Received: from mgw-sa02.ext.nokia.com ([147.243.1.48]) by vaebh104.NOE.Nokia.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959); Tue, 20 Apr 2010 13:09:27 +0300
Received: from mail.fit.nokia.com (esdhcp030222.research.nokia.com [172.21.30.222]) by mgw-sa02.ext.nokia.com (Switch-3.3.3/Switch-3.3.3) with ESMTP id o3KA9PxP012756 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 20 Apr 2010 13:09:25 +0300
X-Virus-Status: Clean
X-Virus-Scanned: clamav-milter 0.96 at fit.nokia.com
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: multipart/signed; boundary=Apple-Mail-23--754301307; protocol="application/pkcs7-signature"; micalg=sha1
From: Lars Eggert <lars.eggert@nokia.com>
In-Reply-To: <00d601cae06c$5a4324c0$96106f0a@china.huawei.com>
Date: Tue, 20 Apr 2010 13:09:18 +0300
Message-Id: <05F0AC17-703E-4F25-8730-A88ACA4D8E6B@nokia.com>
References: <00d601cae06c$5a4324c0$96106f0a@china.huawei.com>
To: Xiangsong Cui <Xiangsong.Cui@huawei.com>
X-Mailer: Apple Mail (2.1078)
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.3 (mail.fit.nokia.com [0.0.0.0]); Tue, 20 Apr 2010 13:09:18 +0300 (EEST)
X-OriginalArrivalTime: 20 Apr 2010 10:09:27.0114 (UTC) FILETIME=[8F278AA0:01CAE071]
X-Nokia-AV: Clean
Cc: "tcpm@ietf.org" <tcpm@ietf.org>
Subject: Re: [tcpm] Discussion -- Pause/Resume mechanism on TCP ?
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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, 20 Apr 2010 10:20:36 -0000

Hi,

are you aware of the following research paper?

@inproceedings{DBLP
:conf/infocom/GoffMPG00,
  author    = {Tom Goff and
               James Moronski and
               Dhananjay S. Phatak and
               Vipul Gupta},
  title     = {Freeze-TCP: A True End-to-End TCP Enhancement Mechanism
               for Mobile Environments},
  booktitle = {INFOCOM},
  year      = {2000},
  pages     = {1537-1545},
  ee        = {http://www.ieee-infocom.org/2000/papers/501.pdf},
  bibsource = {DBLP, http://dblp.uni-trier.de}

Lars

On 2010-4-20, at 12:32, Xiangsong Cui wrote:

> Hi folks,
> 
> I'm thinking such a question, can we, or should we add a pause/resume mechanism on TCP?
> 
> Current TCP senders understand all packet losses as indications of congestion, but this is not always true, especially in the 
> scenarios where wireless link is part of the network. Compared with wire link, wireless link is less stable, with higher bit error 
> rate and more disconnection. And additionally, packet error and link disconnection can not be indicated by current TCP protocol and 
> extensions, do I miss anything?
> 
> 
> So I think maybe pause/resume mechanism is helpful to this situation. The outline of pause/resume mechanism is as follows:
> 
> * Pause/Resume indication may be transmitted by the receiver or the middle-box. Like ECN on TCP, middle-box may also send 
> Pause/Resume indication. The use cases may be (a) wireless host moves to a tunnel or a shadow where the radio coverage is lost, and 
> later returns to the radio coverage; (b) the router in the TCP path detects the next hop is invalid (by BFD or other mechanism), and 
> later detects the re-connection to the next hop; (c) the wireless host (i.e. the receiver) doesn't want to accept too many traffic. 
> A scenario for this use case is a user watches TCP video by wireless device, the user/device doesn't want buffer too many video 
> stream because maybe the user only watch a little begin part of the video, but the unwanted video would waste wireless bandwidth and 
> user's money. So the device does receiving-buffering-pausing-resuming, following the user's schedule.
> 
> * Pause/Resume indication is directional, that means the receiver of Pause should stop transmit traffic packets but the sender of 
> Pause may transmit traffic packets, unless the peer host also transmits a Pause indication.
> 
> * When the TCP sender receives the Pause indication, it should keep the cwind value, stop transmitting traffic packets, and if the 
> retransmission timer is running, the sender should also stop the timer. The TCP sender should accept received incoming TCP packet 
> (both traffic packet and control packet) as normal, that means the sender can adjust the receive window, mark the transmitted 
> packets as acknowledged, and so on.
> Another consideration is the Pause timer, the TCP sender should start the pause timer when it receives the Pause indication.
> 
> * After the TCP receiver transmits the Pause indication, it may accept the received traffic packets or discard the packets, but the 
> receiver should accept TCP control packets.
> 
> * When the TCP sender receives the Resume indication, it should begin to transmit traffic packets (if there are) as normal, if there 
> are transmitted packet(s) in the queue, it should also restart the retransmission timer...
> If the Pause timer is running, the TCP sender should kill the timer as soon as it receives the Resume indication.
> 
> * If the TCP sender doesn't receive the Resume indication before the Pause timer expires, it should close the TCP connection.
> 
> 
> The intention of Pause/Resume is to avoid the violent change on the TCP congestion window, does this idea make sense?
> If it builds interest, I am going to write a draft, anybody who like to co-work on this topic?
> 
> Thanks and best regards
> 
> Xiangsong 
> 
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm