Re: [LOOPS] Measuring forward latency

"Zhouxingwang (Joe)" <zhouxingwang@huawei.com> Fri, 28 June 2019 13:02 UTC

Return-Path: <zhouxingwang@huawei.com>
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 9450C120146 for <loops@ietfa.amsl.com>; Fri, 28 Jun 2019 06:02:29 -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_PASS=-0.001, URIBL_BLOCKED=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 ww2Wr-JDeqmz for <loops@ietfa.amsl.com>; Fri, 28 Jun 2019 06:02:26 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (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 7E04D12004A for <loops@ietf.org>; Fri, 28 Jun 2019 06:02:26 -0700 (PDT)
Received: from LHREML711-CAH.china.huawei.com (unknown [172.18.7.108]) by Forcepoint Email with ESMTP id 211A12A6ED35078ADB3E for <loops@ietf.org>; Fri, 28 Jun 2019 14:02:24 +0100 (IST)
Received: from dggeme756-chm.china.huawei.com (10.3.19.102) by LHREML711-CAH.china.huawei.com (10.201.108.34) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 28 Jun 2019 14:02:23 +0100
Received: from dggeme758-chm.china.huawei.com (10.3.19.104) by dggeme756-chm.china.huawei.com (10.3.19.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1591.10; Fri, 28 Jun 2019 21:02:21 +0800
Received: from dggeme758-chm.china.huawei.com ([10.6.80.69]) by dggeme758-chm.china.huawei.com ([10.6.80.69]) with mapi id 15.01.1591.008; Fri, 28 Jun 2019 21:02:21 +0800
From: "Zhouxingwang (Joe)" <zhouxingwang@huawei.com>
To: Liyizhou <liyizhou@huawei.com>, Carsten Bormann <cabo@tzi.org>, "loops@ietf.org" <loops@ietf.org>
Thread-Topic: [LOOPS] Measuring forward latency
Thread-Index: AQHVJV33B5QH8c2280y2us4ehkzqwqaiNVGAgA7bGXA=
Date: Fri, 28 Jun 2019 13:02:21 +0000
Message-ID: <832ebb890727455d9a16dd0d3d5742cb@huawei.com>
References: <F64CD006-3F60-4D63-B97D-0251A7B7F0B0@tzi.org> <D408889639FC5E4FADB4E00A3E01FA8FC20FD48F@nkgeml513-mbx.china.huawei.com>
In-Reply-To: <D408889639FC5E4FADB4E00A3E01FA8FC20FD48F@nkgeml513-mbx.china.huawei.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.134.27.230]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/loops/yi3huqMzMv4IxMM6tDdruSn79qE>
Subject: Re: [LOOPS] Measuring forward latency
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: Fri, 28 Jun 2019 13:02:30 -0000

Hi, 

Who will consume the measurement information? 

For ECN-capable case: it is both OK for ingress or egress node to do the CE or not CE marking in retransmission or FEC mode.
For non ECN- capable case, it is congested and if:
1) the egress node perceives, egress node can stop retransmitting the retransmission packets for retransmission-mode, or stop recovering the packets for FEC-mode;
2) the ingress node perceives, ingress can stop performing the retransmission for retransmission-mode, or stop adding redundant packets for FEC-mode;

It seems option 2) is better because it saves bandwidth compare with option 1).

Thanks
Joe

-----Original Message-----
From: LOOPS [mailto:loops-bounces@ietf.org] On Behalf Of Liyizhou
Sent: Wednesday, June 19, 2019 5:41 PM
To: Carsten Bormann <cabo@tzi.org>; loops@ietf.org
Subject: Re: [LOOPS] Measuring forward latency

Hi Carsten,

There are different metrics to measure for LOOPS enabled segment, i.e. between ingress and egress.
- local RTT or one-way latency
- loss rate over certain time period
- throughput (by calculation)

The fundamental purpose to measure different metrics and monitor their change is to help determine what kind of loss signal (CE or not CE marking, recover or not recover the loss, etc) should be relayed to end host sender when a packet loss is discovered.  
So measurement should be frequent enough. 

TCP's delayed ACK mechanism looks also a good fit here if we set the delayed ACK number to be some larger value.

Another thing that is worth noting is which node will be consuming the measurement information. 
In local retransmission mode, ingress is the one consuming it as it determines whether to CE marking or stop retransmitting. In FEC mode, egress is more likely consuming the information as it recovers the packet and determine the loss signal independently.

Rgds,
Yizhou



-----Original Message-----
From: LOOPS [mailto:loops-bounces@ietf.org] On Behalf Of Carsten Bormann
Sent: Tuesday, June 18, 2019 6:42 AM
To: loops@ietf.org
Subject: [LOOPS] Measuring forward latency

The proposal in

https://tools.ietf.org/html/draft-welzl-loops-gen-info

measures forward latency by having the egress node send back some acknowledgements that carry a timestamp of arrival (expressed in egress node local clock time).  No timing information is conveyed in the forward direction.

This assumes that the local clock of the egress node is useful for relaying timing information to the ingress node.  In many cases in today’s networks, nodes are synchronized using NTP (or maybe even PTP), so the clocks should not be diverging wildly.  Also, the assumption is that today’s nodes can keep their clock drift in check well enough that the latency measurements are not useless.

However, there is some systematic error being introduced if the nodes are not perfectly in sync.  This error should be an essentially constant addend (positive or negative) to the measured latency (maybe even leading to mostly negative “latency” measurements, which may seem illogical but may not invalidate the congestion detection math).

If the latency measurement is mostly used to detect upticks in latency that might be indicative of congestion, all this should not be a big problem.

Alternative approaches might:

— need to send more information (essentially running a per-tunnel time synchronization protocol, which is wasteful) — complicate the processing.

Note that the ingress node has under control how many ACKs with a time stamp it receives, by controlling the rate of setting the “ACK desired” flag; an ingress node that does not care about latency might never set that flag (and rely on cumulative “bitmap” style acknowledgements, called “block 2” in section 4.3).

So are we happy with the latency measurement approach described in the proposal?

Note that an ingress node can independently estimate RTT by noting when packets have been sent (in ingress node clock time) and noting the arrival time of an acknowledgement for that packet (if the PSN is different per transmission there is no ambiguity).  The overhead for storing the transmission point in time nearly vanishes behind the storage of the packet itself (which is needed at least in retransmission mode).  This independent RTT measurement is necessary because the path for the reverse information may be rather different from the forward path and also because delayed acknowledgement schemes add to the RTT.

Does the proposed design look right?

Grüße, Carsten

--
LOOPS mailing list
LOOPS@ietf.org
https://www.ietf.org/mailman/listinfo/loops
-- 
LOOPS mailing list
LOOPS@ietf.org
https://www.ietf.org/mailman/listinfo/loops