Re: ack delay in rx packets

Subodh Iyengar <subodh@fb.com> Wed, 25 April 2018 16:20 UTC

Return-Path: <prvs=7653103cd5=subodh@fb.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 9413D1200C5 for <quic@ietfa.amsl.com>; Wed, 25 Apr 2018 09:20:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.731
X-Spam-Level:
X-Spam-Status: No, score=-0.731 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, HTTPS_HTTP_MISMATCH=1.989, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, T_DKIMWL_WL_MED=-0.01] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=fb.com header.b=XR/jA4UB; dkim=pass (1024-bit key) header.d=fb.onmicrosoft.com header.b=J4hVCGn5
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 tIQhwmgGyHvJ for <quic@ietfa.amsl.com>; Wed, 25 Apr 2018 09:20:13 -0700 (PDT)
Received: from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com [67.231.145.42]) (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 BA42D128954 for <quic@ietf.org>; Wed, 25 Apr 2018 09:20:13 -0700 (PDT)
Received: from pps.filterd (m0109333.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3PGJhUl010854; Wed, 25 Apr 2018 09:20:10 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=facebook; bh=uLwZSfpxUFJ5iOb9O46YcAasVj+OknecARGLs1lYZQ0=; b=XR/jA4UB0fZ/dlhe4Z87i/jqUqh5qsltCBtbANX2M/Zyh6p9PhaKNucdk71zN5hg5XV+ 4dlQ8ns4pUTQR4EROzaf+L14LH4lzVl54Addl0rEAX199OoD+a0kLtVY7fVyjlhIlYaL l7tP4HwcbIQ/QJhm+xTd0dqvotUHiXKamjY=
Received: from mail.thefacebook.com ([199.201.64.23]) by mx0a-00082601.pphosted.com with ESMTP id 2hjtsu0ej4-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 25 Apr 2018 09:20:10 -0700
Received: from NAM02-SN1-obe.outbound.protection.outlook.com (192.168.54.28) by o365-in.thefacebook.com (192.168.16.20) with Microsoft SMTP Server (TLS) id 14.3.361.1; Wed, 25 Apr 2018 09:20:08 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.onmicrosoft.com; s=selector1-fb-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=uLwZSfpxUFJ5iOb9O46YcAasVj+OknecARGLs1lYZQ0=; b=J4hVCGn5penuETkETMtdikaQSlG7+s9YOF2eyO6B/9jW9Y0zlCzlvXNP/2C5gHp1OwWNtMK31kQecQTbg53xLhZamq42j6RVwAdSjJ5OdBUSqTSm6R4GAWgoYzViRTln5BUtCBJSYFOGH90XtVFkqZcascwajbj2zWk3uMx3P9w=
Received: from MWHPR15MB1821.namprd15.prod.outlook.com (10.174.255.137) by MWHPR15MB1309.namprd15.prod.outlook.com (10.175.3.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.696.13; Wed, 25 Apr 2018 16:20:07 +0000
Received: from MWHPR15MB1821.namprd15.prod.outlook.com ([fe80::4569:2fbb:3aab:6126]) by MWHPR15MB1821.namprd15.prod.outlook.com ([fe80::4569:2fbb:3aab:6126%17]) with mapi id 15.20.0696.020; Wed, 25 Apr 2018 16:20:07 +0000
From: Subodh Iyengar <subodh@fb.com>
To: Ian Swett <ianswett=40google.com@dmarc.ietf.org>, Jana Iyengar <jri.ietf@gmail.com>, Ian Swett <ianswett@google.com>
CC: IETF QUIC WG <quic@ietf.org>
Subject: Re: ack delay in rx packets
Thread-Topic: ack delay in rx packets
Thread-Index: AQHT3KYtFrc5wMFDcECav0DMEKPj+aQRoboAgAAEmYCAAABT34AAAESi
Date: Wed, 25 Apr 2018 16:20:06 +0000
Message-ID: <MWHPR15MB1821A5550632E66D8133F54CB68F0@MWHPR15MB1821.namprd15.prod.outlook.com>
References: <MWHPR15MB1821770E698C99AAD160864EB68F0@MWHPR15MB1821.namprd15.prod.outlook.com> <CACpbDcd-N+KLECz9z1JQJwE_JXqq_4rNzP9i9Aq9itfRhGaPgA@mail.gmail.com>, <CAKcm_gNU-yFCk0QzCrLivb96Wy07VnFpH59Vdut2kR_Ff9fjTg@mail.gmail.com>, <MWHPR15MB18211154D0F967B0A31FC0EDB68F0@MWHPR15MB1821.namprd15.prod.outlook.com>
In-Reply-To: <MWHPR15MB18211154D0F967B0A31FC0EDB68F0@MWHPR15MB1821.namprd15.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-Mentions: ianswett@google.com
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [2620:10d:c090:180::1:b93]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; MWHPR15MB1309; 7:hKopMJU0yJiO0yCuIWc3JausPE+k85Nr7uc3WjKwpWMnOgJLdQb8kxRQysDRkLru6TtgP6CaF7NJAfECHT48sE+fjgjuwYLoqJ8pmm/oIcVyqvgBO7WZn56adyDstCaZg809TAR41RHZTIZZMxT5ouhhQgJ1/6No/pKeWng0Q8ijEAFVHkC69OGP3GJmes440D+PTjd/MZQmnzzD9ls7iTA/eABLT3GKalrc/XVf6EZPX01oXHfhbZ6CyH0hZIcC; 20:rU9evlzcCK0VMRObq1MNuBY090wH6H8LdlpmDI25BANu5IkozQK0Ex+GKtePwVU9A/18X69La3jD24GvS1FlOik61eEaLpEhgdc8Unm/GpqhAXKyJywH/H4YAYIRrX+/b+d1VIPF7uRlHYWfDqTaOvc8t3AMC2cK56nX6L1r4A0=
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:MWHPR15MB1309;
x-ms-traffictypediagnostic: MWHPR15MB1309:
x-microsoft-antispam-prvs: <MWHPR15MB1309494F31B50FD3589F7C3AB68F0@MWHPR15MB1309.namprd15.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(10436049006162)(85827821059158)(67672495146484)(211936372134217);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231232)(11241501184)(944501410)(52105095)(6041310)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(6072148)(201708071742011); SRVR:MWHPR15MB1309; BCL:0; PCL:0; RULEID:; SRVR:MWHPR15MB1309;
x-forefront-prvs: 06530126A4
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(376002)(346002)(39380400002)(366004)(39860400002)(396003)(189003)(199004)(6436002)(6506007)(606006)(2940100002)(6606003)(81166006)(105586002)(6116002)(25786009)(19627405001)(33656002)(106356001)(2906002)(81156014)(186003)(8676002)(8936002)(93886005)(7736002)(3660700001)(74316002)(478600001)(2900100001)(316002)(97736004)(6306002)(54896002)(55016002)(68736007)(236005)(39060400002)(53936002)(102836004)(9686003)(966005)(53546011)(14454004)(86362001)(476003)(11346002)(446003)(5250100002)(6246003)(3280700002)(229853002)(46003)(486006)(110136005)(76176011)(99286004)(7696005)(5660300001)(4326008); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR15MB1309; H:MWHPR15MB1821.namprd15.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: fb.com does not designate permitted sender hosts)
x-microsoft-antispam-message-info: qZQ3l11+95aqRv8+DoHf2jBuE5GyYVfmAfizLCwgER/nQs1wF69r0+4MEu5rIBsi8bSvsxvtG2H5eiv4HXDsUGVBVCqZdlrZmYtlk/a3wmZfY8UVNpIXjpozEcyIpXfgRdbgAYpnq9PL6dszKItJN0I7XwgF+fdUhtxyzcGC3OaMfN/v0OcIx96nGLHSyIRQ
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_MWHPR15MB1821A5550632E66D8133F54CB68F0MWHPR15MB1821namp_"
MIME-Version: 1.0
X-MS-Office365-Filtering-Correlation-Id: e278b8c2-9900-4166-5465-08d5aac868ce
X-MS-Exchange-CrossTenant-Network-Message-Id: e278b8c2-9900-4166-5465-08d5aac868ce
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2018 16:20:06.9451 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR15MB1309
X-OriginatorOrg: fb.com
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-04-25_05:, , signatures=0
X-Proofpoint-Spam-Reason: safe
X-FB-Internal: Safe
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/pYygzpqGAknpFBtBuPST8xfXYOk>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
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: Wed, 25 Apr 2018 16:20:16 -0000

@Ian Swett<mailto:ianswett@google.com> sending ACKs in response to packets or delay seems fine, and an implementation might choose to do that. If we have more opportunities to send an ACK and avoid an RTO on the peer, wouldn't that be better? Is the objective of sending packets only during timer or recv data to simplify the ack delay calculation logic?


Subodh

________________________________
From: Subodh Iyengar
Sent: Wednesday, April 25, 2018 9:11:15 AM
To: Ian Swett; Jana Iyengar
Cc: IETF QUIC WG
Subject: Re: ack delay in rx packets


My concern is this situation: a "receiver" had not seen the original ACK (the packet was lost), then the sender rtos and sends a large ack delay to compensate for the rto, the max filter for max ack delay would inflate the delay for future packet.


if latest_rtt - min_rtt  > ack_delay:

   max_ack_delay = max(max_ack_delay, ack_delay)


latest_rtt in this case would be rto_timer + rtt because the sender sends an ack after an rto.


The rtt cal So max ack delay would become the rto timer. Is this a correct characterization?


Subodh


________________________________
From: QUIC <quic-bounces@ietf.org> on behalf of Ian Swett <ianswett=40google.com@dmarc.ietf.org>
Sent: Wednesday, April 25, 2018 9:09:39 AM
To: Jana Iyengar
Cc: Subodh Iyengar; IETF QUIC WG
Subject: Re: ack delay in rx packets

Jana's right about ignoring the ack for RTT calculation if it doesn't acknowledge a new packet, see section 3.1: https://tools.ietf.org/html/draft-ietf-quic-recovery-11#section-3.1<https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Dquic-2Drecovery-2D11-23section-2D3.1&d=DwMFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=h3Ju9EBS7mHtwg-wAyN7fQ&m=vQP8b9xGAVAynYcZHdgaeS3tK7f1xcKRczLJy-IILfA&s=z__D443_wlVvybsHUk1ua_Ve_0v1RqsNH09OhpeVA7g&e=>

If it did acknowledge a new packet because the previous ACK was lost, then you end up with either a useless RTT, a useless max ack delay, or both.  Because of issues like this, I prefer sending acks in response to packets, or within an alarm of packet receipt, rather than at other times.

On Wed, Apr 25, 2018 at 11:53 AM Jana Iyengar <jri.ietf@gmail.com<mailto:jri.ietf@gmail.com>> wrote:
If the sender has seen a previous ack for the same largest received, then it should basically ignore this new ack. If not, the ack delay will be accurate... What concern do you see with having a large ack delay?

On Wed, Apr 25, 2018, 8:08 AM Subodh Iyengar <subodh@fb.com<mailto:subodh@fb.com>> wrote:

We ran into very common cases where we might have all our data to send already outstanding, so when a TLP and RTO alarm fires, we have no new data to send, so we resend data that was in previous packets.


In the time that the RTO fires, we might not have received any new packets, however want to send ACKs in this new packet as well. Since no new packets were received, this ACK will have the same largest acked as the previous packet.


One question came up as to what the ack delay of an ACK in such a rx packet should be. We could technically set it to the time since receipt of the packet, however with the new max_ack_delay computations, adding this might screw up our estimate of the normal ack delay, so I don't really want to do that. Is there a better option here, or does max_ack_delay not cover this case?


Subodh