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

Xiangsong Cui <> Wed, 21 April 2010 01:36 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 1E8C53A6823 for <>; Tue, 20 Apr 2010 18:36:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.595
X-Spam-Status: No, score=-0.595 tagged_above=-999 required=5 tests=[AWL=-0.101, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1, STOX_REPLY_TYPE=0.001]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id iOGPdFiL2W5A for <>; Tue, 20 Apr 2010 18:36:11 -0700 (PDT)
Received: from (unknown []) by (Postfix) with ESMTP id DB8823A67FF for <>; Tue, 20 Apr 2010 18:36:10 -0700 (PDT)
Received: from (szxga01-in []) by (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <> for; Wed, 21 Apr 2010 09:35:49 +0800 (CST)
Received: from c00111037 ([]) by (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTPA id <> for; Wed, 21 Apr 2010 09:35:48 +0800 (CST)
Date: Wed, 21 Apr 2010 09:35:48 +0800
From: Xiangsong Cui <>
To: Lars Eggert <>
Message-id: <004301cae0f2$f863fbd0$>
MIME-version: 1.0
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.3350
X-Mailer: Microsoft Outlook Express 6.00.2900.3598
Content-type: text/plain; format="flowed"; charset="gb2312"; reply-type="original"
Content-transfer-encoding: 7bit
X-Priority: 3
X-MSMail-priority: Normal
References: <00d601cae06c$5a4324c0$> <>
Subject: Re: [tcpm] Discussion -- Pause/Resume mechanism on TCP ?
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 21 Apr 2010 01:36:13 -0000

Hi Lars,

Thank you very much for your reminder!

I didn't know this paper until now, and I have downloaded the paper and will read it carefully.

Regards, Xiangsong

----- Original Message ----- 
From: "Lars Eggert" <>
To: "Xiangsong Cui" <>
Cc: <>
Sent: Tuesday, April 20, 2010 6:09 PM
Subject: Re: [tcpm] Discussion -- Pause/Resume mechanism on TCP ?


are you aware of the following research paper?

  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        = {},
  bibsource = {DBLP,}


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