RE: Speeding up tail loss detection (Re: Congestion control algorithm questions)

Praveen Balasubramanian <pravb@microsoft.com> Sat, 30 June 2018 06:26 UTC

Return-Path: <pravb@microsoft.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E5736130FEB for <quic@ietfa.amsl.com>; Fri, 29 Jun 2018 23:26:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.009
X-Spam-Level:
X-Spam-Status: No, score=-2.009 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.com
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 XD1nl4ZCBNj1 for <quic@ietfa.amsl.com>; Fri, 29 Jun 2018 23:26:04 -0700 (PDT)
Received: from NAM04-BN3-obe.outbound.protection.outlook.com (mail-eopbgr680107.outbound.protection.outlook.com [40.107.68.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EA0FF130FE8 for <quic@ietf.org>; Fri, 29 Jun 2018 23:26:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Qr1rlLN19NjIbRGSJ/Xd3vP4k1i+ayQsWHjFI+WWNUc=; b=Q8XaLfvX2g9OGwyWFcKgXFb5oT0NYVDddnWKvl6YlRtlKAAFIhFCYkPFLSg1Ij+P+ESwna43Ld0aQkLmUaZVPoyMnLnltzm6je1n6PMTfmJdnneOT5AM5IdxMTxlgKKU71bDcjp3dPx7TACrRbPI2Twfz/1TvB7oWaTjES1eUWY=
Received: from MW2PR2101MB1098.namprd21.prod.outlook.com (52.132.149.27) by MW2PR2101MB0891.namprd21.prod.outlook.com (52.132.152.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.930.5; Sat, 30 Jun 2018 06:26:01 +0000
Received: from MW2PR2101MB1098.namprd21.prod.outlook.com ([fe80::ca9:e464:9c1b:dd55]) by MW2PR2101MB1098.namprd21.prod.outlook.com ([fe80::ca9:e464:9c1b:dd55%5]) with mapi id 15.20.0930.016; Sat, 30 Jun 2018 06:26:01 +0000
From: Praveen Balasubramanian <pravb@microsoft.com>
To: "Lubashev, Igor" <ilubashe=40akamai.com@dmarc.ietf.org>, huitema <huitema@huitema.net>, "kazuhooku@gmail.com" <kazuhooku@gmail.com>
CC: "quic@ietf.org" <quic@ietf.org>
Subject: RE: Speeding up tail loss detection (Re: Congestion control algorithm questions)
Thread-Topic: Speeding up tail loss detection (Re: Congestion control algorithm questions)
Thread-Index: AQHUECByHqG/zftGOUq9fkJj1zXpE6R4KKgAgAAr8cA=
Date: Sat, 30 Jun 2018 06:26:00 +0000
Message-ID: <MW2PR2101MB109824376095324090AA42A7B64D0@MW2PR2101MB1098.namprd21.prod.outlook.com>
References: <CANatvzwoHL1_MtkHM53+PKhR8Rs52Y2y=mVt+f5kFwpDGTNn2Q@mail.gmail.com> <037175748de14b49a815a91a883ee0e1@ustx2ex-dag1mb5.msg.corp.akamai.com>
In-Reply-To: <037175748de14b49a815a91a883ee0e1@ustx2ex-dag1mb5.msg.corp.akamai.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [2001:4898:80e8:2:c07e:194e:8750:dc60]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; MW2PR2101MB0891; 7:qCbs4e+yRnENX5kU8d8FeG8dET7DAU9ONnRAQlw0Z1Q0P5nYIEfRoHit6/owNhiwMJo/7IIeU9siDnUdu8g1bGDogPTvy7wZMYLhlRNYdCN/tzQw61MG9jTA0GPS2WTSOJz2hzSqMcM45l4PTrUvufWpIKFhSBtkR1Zz8eK9Qo4ZHZa3L01YIXBKkF2vcFZ+QhmZbnpvqXVXx4KIE6wNRjKNdZpPh6yXD1Z3RcMXAHEXo5OzIS6+HFnuzSb5cNoF
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: 69041f04-e65a-4b1e-4ebd-08d5de525960
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7193020); SRVR:MW2PR2101MB0891;
x-ms-traffictypediagnostic: MW2PR2101MB0891:
x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr
x-microsoft-antispam-prvs: <MW2PR2101MB08914B767A5F5B5E7340461FB64D0@MW2PR2101MB0891.namprd21.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(28532068793085)(85827821059158)(21748063052155);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231270)(2018427008)(944501410)(52105095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:MW2PR2101MB0891; BCL:0; PCL:0; RULEID:; SRVR:MW2PR2101MB0891;
x-forefront-prvs: 0719EC6A9A
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(396003)(39860400002)(136003)(366004)(346002)(376002)(51444003)(13464003)(189003)(199004)(14444005)(4326008)(6436002)(6246003)(46003)(81156014)(81166006)(25786009)(110136005)(39060400002)(486006)(316002)(76176011)(53936002)(54896002)(6306002)(9686003)(11346002)(476003)(55016002)(236005)(256004)(99286004)(33656002)(68736007)(10090500001)(186003)(86612001)(8676002)(6116002)(790700001)(2906002)(14454004)(5660300001)(8936002)(10290500003)(86362001)(2900100001)(102836004)(2501003)(446003)(5250100002)(8990500004)(6346003)(229853002)(106356001)(97736004)(6506007)(105586002)(53546011)(22452003)(7736002)(74316002)(7696005)(478600001); DIR:OUT; SFP:1102; SCL:1; SRVR:MW2PR2101MB0891; H:MW2PR2101MB1098.namprd21.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=pravb@microsoft.com;
x-microsoft-antispam-message-info: 1AZjo0nQzg1KlJ5s3nlXKxXpCGx3+l24aTCu93AlnOeJ27enKZAPjrm8rlbA4cgQ15l9McjvC2Sqk4TPOnvKmhWuhXEeOL0JJ1hFofoPy+UTFZgDNavp/lMLhCgYaOMcFeCqGpgcvLjQornW5PiDkVFDuZ8JXPLapzDzFczIRrXhrg2c7yJofiCmQCvW3NG5KiMeHnoiu+l+FOzSbucZYyHrGSP2l1XT2uSq6Orj+Ksf7Tzv0KMHeCXgjFPPiBUeu3jsxVlonqhGSfwiba3nqhUhbaSY0K1GTO4G09NJBIYiIq9riAD0gE/VB17LSm10pEmsctkRCclYkRC0GsmiGolahL56mpszcUN0V4uC6b0=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_MW2PR2101MB109824376095324090AA42A7B64D0MW2PR2101MB1098_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 69041f04-e65a-4b1e-4ebd-08d5de525960
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jun 2018 06:26:00.9230 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR2101MB0891
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/Pc0pLsWup7GM1ozeXYPvywX5pn8>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 30 Jun 2018 06:26:08 -0000

All out of order packets elicit an immediate ACK, this applies to QUIC the same way it applies to TCP.

Section 3.4 of recovery spec:

   Out-of-order packets SHOULD be acknowledged more quickly, in order to
   accelerate loss recovery.  The receiver SHOULD send an immediate ACK
   when it receives a new packet which is not one greater than the
   largest received packet number.

From: QUIC [mailto:quic-bounces@ietf.org] On Behalf Of Lubashev, Igor
Sent: Friday, June 29, 2018 8:43 PM
To: huitema <huitema@huitema.net>; kazuhooku@gmail.com
Cc: quic@ietf.org
Subject: RE: Speeding up tail loss detection (Re: Congestion control algorithm questions)

It would make sense to define PING to require an ACK as soon as possible. The need for an immediate ACK is not just in tail loss probes. It is also PMTU probes. Come to think of this, PATH_CHALLENGE should require an expedited ACK as well.

- Igor

-----Original Message-----
From: Kazuho Oku [kazuhooku@gmail.com]
Received: Friday, 29 Jun 2018, 11:14PM
To: Christian Huitema [huitema@huitema.net]
CC: IETF QUIC WG [quic@ietf.org]
Subject: Speeding up tail loss detection (Re: Congestion control algorithm questions)
I know that the recovery draft defines TLP, but it does not provide a
way for a sender to request client to send an ACK immediately. I think
that there should be a way to request that, because it would help the
sender detect the loss at the earliest moment.

One way is to specify a TLP frame, which is identical to a PING frame
with only one difference: it suggests the peer to send ACK
immediately. A sender sending a TLP will include the frame in the
packet to evoke the peer to send ACK without waiting for the delay.

Searching the mailing list archive told me that Christian raised the
issue about a year ago (in the mail cited below), but it seems to me
that the issue has not been resolved yet.

2017-08-25 14:52 GMT+09:00 Christian Huitema <huitema@huitema.net<mailto:huitema@huitema.net>>:

> 3) Can the senders do something to speed up retransmission?
> In the absence of continuous traffic flow, the previous decision tree
> degenerates to timer based retransmission. To speed things up,
> implementations can generate extra traffic. For example, if no
> acknowledgement is received after a short timer, they can send a
> gratuitous packet that may trigger a further acknowledgement. That's the
> essence of the "tail loss probe" algorithm of TCP, but things are really
> simpler with monotonously increasing packet sequence numbers. There are
> various plausible ways to send a gratuitous packet -- a Ping, a Max Data
> Update, or repeating the oldest packet will all work.
>
> Of course, implementations should avoid sending too many gratuitous
> packets, because it can cause congestion. The typical implementation
> will wait one min-RTT before sending the first tail loss probe, then
> just wait for the regular timer based retransmission. But we may start
> being creative. For example, if packets are waiting and the
> implementation is sending a naked ACK for whatever reason, it does not
> cost much to add a Ping to that.
>
> This simple text encompasses SACK, RACK, and Tail-Loss Probe. And it is
> very easy to implement.
>
> --
> Christian Huitema
>
>



--
Kazuho Oku