[LOOPS] Timestamps and delay measurements

Carsten Bormann <cabo@tzi.org> Wed, 16 October 2019 19:28 UTC

Return-Path: <cabo@tzi.org>
X-Original-To: loops@ietfa.amsl.com
Delivered-To: loops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3BB141200FA for <loops@ietfa.amsl.com>; Wed, 16 Oct 2019 12:28:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=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 dU0UstqiKH3G for <loops@ietfa.amsl.com>; Wed, 16 Oct 2019 12:28:39 -0700 (PDT)
Received: from gabriel-vm-2.zfn.uni-bremen.de (gabriel-vm-2.zfn.uni-bremen.de [134.102.50.17]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 123FC120020 for <loops@ietf.org>; Wed, 16 Oct 2019 12:28:39 -0700 (PDT)
Received: from [192.168.217.110] (p548DCE50.dip0.t-ipconnect.de [84.141.206.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gabriel-vm-2.zfn.uni-bremen.de (Postfix) with ESMTPSA id 46tj5K4lt8zyPH; Wed, 16 Oct 2019 21:28:37 +0200 (CEST)
From: Carsten Bormann <cabo@tzi.org>
Content-Type: text/plain; charset="utf-8"
X-Mao-Original-Outgoing-Id: 592946913.71355-438100d5a9f208dd60658282cb7ed36a
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Date: Wed, 16 Oct 2019 21:28:37 +0200
Message-Id: <85A3D130-43C8-4D89-B45B-75632331C5DF@tzi.org>
To: loops@ietf.org
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/loops/zw9alHK3uCRONrOcCCPVA9Bei_I>
Subject: [LOOPS] Timestamps and delay measurements
X-BeenThere: loops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Local Optimizations on Path Segments <loops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/loops>, <mailto:loops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/loops/>
List-Post: <mailto:loops@ietf.org>
List-Help: <mailto:loops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/loops>, <mailto:loops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 16 Oct 2019 19:28:41 -0000

In the process of preparing the next version of the gen-info draft, there are a few items where it probably would be good to get wider input.

One of these is the use of timestamps.

Gen-info says that “block 1” reverse information (requested using the “ACK desirable” flag) has a wall clock time of reception of the forward packet that was triggering it.  This is a good way to measure one way latency if we believe the clocks on ingress and egress are synchronized; the quality of that synchronization limits the quality of the measurements.  The mechanism is still reasonable as a way to measure one way latency variance if we believe the clocks are maybe not synchronized, but do advance along the same time scale.

Question 1:
In your applications, would you expect to have reasonably synchronized clocks between ingress and egress?  Reasonable clocks at all?  Do you have data points, e.g., for random VMs in the cloud?

The prototype protocol described in appendix A uses a different form of timestamps: timestamps on a local timescale of the ingress (not further specified by the protocol) can be inserted by the ingress and are echoed back in ACKs.  (No information about time at egress is used.)  This can be used to cheaply obtain samples of round-trip time, including delays in sending back the ACK.  The timestamp is not strictly necessary if there is another correlation mechanism, as the timestamp can be stored at the ingress and retrieved if an ACK comes back.  This has two drawbacks:  (1) The timestamp needs to be stored with the cached packet, which may or may not be easy in a specific implementation, and (2) the correlation afforded by a packet sequence number has ACK ambiguity if the PSN is re-used in a retransmission (see the other message).

Question 2:
In your implementations, is it onerous to store a transmission timestamp with a cached (for retransmission) packet on the ingress?

The assumption of gen-info is that it is good to have samples of one-way delay in order to assess congestion, and that some measurement of round-trip delay is needed as an overall timing of retransmission and for ejecting cached packets.  Anything else you would expect LOOPS to measure in the way of timing?

Grüße, Carsten