Re: [nwcrg] [LOOPS] IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room

Colin Perkins <csp@csperkins.org> Thu, 19 December 2019 16:51 UTC

Return-Path: <csp@csperkins.org>
X-Original-To: nwcrg@ietfa.amsl.com
Delivered-To: nwcrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 223E91200F1; Thu, 19 Dec 2019 08:51:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level:
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, 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 g_fi6ADDiwbU; Thu, 19 Dec 2019 08:51:16 -0800 (PST)
Received: from balrog.mythic-beasts.com (balrog.mythic-beasts.com [IPv6:2a00:1098:0:82:1000:0:2:1]) (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 72F571200E3; Thu, 19 Dec 2019 08:51:16 -0800 (PST)
Received: from [195.143.129.232] (port=41631 helo=[172.27.83.74]) by balrog.mythic-beasts.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92.3) (envelope-from <csp@csperkins.org>) id 1ihz0v-0003pZ-Lp; Thu, 19 Dec 2019 16:51:06 +0000
From: Colin Perkins <csp@csperkins.org>
Message-Id: <E89B8107-F643-4DB8-B0DE-A1457B17DA1A@csperkins.org>
Content-Type: multipart/alternative; boundary="Apple-Mail=_54B15B49-49E5-479C-BD5A-0A09BDC4AA1B"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Thu, 19 Dec 2019 16:50:34 +0000
In-Reply-To: <98c3009ab0054054af3f71aba4d52d58@huawei.com>
Cc: Liyizhou <liyizhou@huawei.com>, Carsten Bormann <cabo@tzi.org>, "loops@ietf.org" <loops@ietf.org>, "nwcrg@irtf.org" <nwcrg@irtf.org>
To: "Zhouxingwang (Joe)" <zhouxingwang@huawei.com>
References: <AAF1E19E-37C1-4A9D-B92A-621054B06AF6@tzi.org> <c172b80c-04ee-9786-153f-9e1dda57fdd8@steinwurf.com> <3D026CEF-AF7D-4CDE-8A5B-8CE5DCF749D1@tzi.org> <163A8040-9B13-43AA-8917-F75D984B0EBF@tzi.org> <26708398-5DEB-478E-8CB8-D406A8B874FF@tzi.org> <7DC0B005-8BA2-4D80-8CDF-4E2AE7EA96F3@tzi.org> <4a45b97df9e54e0abb4f5c9a0e7ce4ff@huawei.com> <8451B22E-8D91-406E-852B-F21B79DEBEB6@csperkins.org> <98c3009ab0054054af3f71aba4d52d58@huawei.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-BlackCat-Spam-Score: 4
Archived-At: <https://mailarchive.ietf.org/arch/msg/nwcrg/HBL8JR0pnDCL9Cq7elCkSM9FYJg>
Subject: Re: [nwcrg] [LOOPS] IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room
X-BeenThere: nwcrg@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IRTF Network Coding Research Group discussion list <nwcrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/nwcrg>, <mailto:nwcrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nwcrg/>
List-Post: <mailto:nwcrg@irtf.org>
List-Help: <mailto:nwcrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/nwcrg>, <mailto:nwcrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Thu, 19 Dec 2019 16:51:19 -0000

Joe,

I think you misunderstood my email. 

I did not suggest statically configuring the timeout. The appropriate value clearly depends on the RTT. LOOPS can give guidance on how it relates to the RTT.

I also did not suggest setting N at both ingress and egress. How often to request retransmissions is a purely local decision at the egress. The ingress does not need to know, or care, how often the egress might send retransmission requests.

Colin



> On 19 Dec 2019, at 11:35, Zhouxingwang (Joe) <zhouxingwang@huawei.com> wrote:
> 
> Hi,
> 
> Statically configuring a timeout (the period that the ingress will keep the packets in its buffer) is a little bit dangerous, because the local RTT may vary and is not known in advance. If the timeout value is shorter than the real local RTT, it will be bad for LOOPS. So setting an N (how many times a lost packet to be retransmitted, once per RTT) in the system is more preferred. 
> To simplify the logic, I don’t think setting N at both ingress and egress side is a good idea, because it will make things complicated and N may be set inconsistently by mistake, so setting N and triggering/terminating the retransmission only at one side is better. 
> 
> Some thinking of this:
> 1) Set N and make decision at ingress only
>    Pros: ingress knows RTT, it will perform N times retransmission and once per RTT well, and expires the packets after N*RTT from the buffer
>    Cons: egress needs to know N and RTT, and still have a logic to stop asking for the lost packets 
> 
> 2) Set N and make decision at egress only
>    Pros: nearly no logic at ingress, egress keeps asking for lost packets by NACK, and after N*RTT (communicated by ingress) it will pretend it has got them and send ACK to ingress to let it clear the packets from retransmission buffer. Ingress just needs a big enough buffer to hold the packets waiting to be retransmitted, and once the buffer is full the new packet just replace the earliest one
>    Cons: forward RTT needs to be communicated from ingress to egress
> 
> Thanks
> Joe
> 
> -----Original Message-----
> From: LOOPS [mailto:loops-bounces@ietf.org <mailto:loops-bounces@ietf.org>] On Behalf Of Colin Perkins
> Sent: Tuesday, December 17, 2019 7:33 PM
> To: Liyizhou <liyizhou@huawei.com <mailto:liyizhou@huawei.com>>
> Cc: Carsten Bormann <cabo@tzi.org <mailto:cabo@tzi.org>>; loops@ietf.org <mailto:loops@ietf.org>; nwcrg@irtf.org <mailto:nwcrg@irtf.org>
> Subject: Re: [LOOPS] [nwcrg] IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room
> 
> Hi,
> 
> Is not the ingress logic the same for single or multiple retransmissions? The ingress node will maintain a queue of packets that have been sent and can be retransmitted. Packets expire from the queue if an ACK for their sequence number is received, or after a certain amount of time. Packets are retransmitted if a retransmission request arrives before they expire. You need the timeout to expire packets in case ACKs are lost, so whether the ingress supports single or multiple retransmissions is just a case of configuring the timeout.
> 
> If you somehow communicate that timeout to the egress node, then it can make a local decision on whether to make one or more retransmission requests for a lost packet. This would give the egress flexibility to pick an appropriate retransmission request strategy without needing to standardise what that strategy is. LOOPS would define the mechanism and give guidance on choice of the ingress expiration timeout. 
> 
> Colin
> 
> 
> 
>> On 17 Dec 2019, at 04:14, Liyizhou <liyizhou@huawei.com> wrote:
>> 
>> Hi Carsten and all,
>> 
>> Thanks for putting all these together. 
>> 
>> I would like to have a follow-up discussion regarding single retransmission vs. multiple retransmission.
>> 
>> There is a potential choice to design a single retransmission mode *only* mechanism. The reason we might want to do it is the design is easier comparing with a generic retransmission mechanism allowing both single or multiple retransmission by parameter configuration.
>> 
>> For example,  LOOPS egress can mark a lost packet directly as "received" after it feedbacks a few ACKs to indicate a lost packet. Ingress removes the packet from its cache after a single retransmission. Once the retransmitted packet reaches the egress, egress simply forwards it. Such a mechanism only works for single retransmission.  
>> In this way, egress has a simple logic to decide when to stop sending the indication about a "lost" packet.  And the ingress does not need a logic to control whether and when 2nd and later retransmissions should be performed.
>> 
>> In multiple retransmission, it has to be more carefully designed to sync up when the egress gives up asking for retransmission and  when the ingress can remove the packet from its cache since no more retransmission is required.  As LOOPS does not provide 100% reliability, normally egress side should be the one determines when to give up asking for retransmission. Then egress needs to know the local forward RTT if multiple retransmission is expected.
>> 
>> So single retransmission *only* can be worth considering. It is a design choice more than an implementation choice to me. 
>> If there is a simple and efficient way to unify both, I would be more than happy to learn.  
>> 
>> Thanks,
>> Yizhou
>> 
>> -----Original Message-----
>> From: nwcrg [mailto:nwcrg-bounces@irtf.org] On Behalf Of Carsten Bormann
>> Sent: Monday, December 16, 2019 4:22 AM
>> To: loops@ietf.org
>> Cc: nwcrg@irtf.org
>> Subject: Re: [nwcrg] [LOOPS] IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room
>> 
>> Thanks again everyone for the participation at the LOOPS side meeting and in our slot at the NWCRG meeting.
>> 
>> I have compiled more detailed notes, with links to/copies of the meeting materials, at
>> 
>> https://github.com/loops-wg/ietf106
>> 
>> Please do have a look at the notes, specifically [1] and [2], and send corrections and additions.  Also, there were a few items in the NWCRG discussion where there may be results that we already can point to; as Marie-Jose said, please send them to both mailing lists.
>> 
>> Grüße, Carsten
>> 
>> [1]: https://github.com/loops-wg/ietf106/blob/master/ietf106-loops-side-meeting.md
>> [2]: https://github.com/loops-wg/ietf106/blob/master/ietf106-nwcrg-loops.md
>> 
>> _______________________________________________
>> nwcrg mailing list
>> nwcrg@irtf.org
>> https://www.irtf.org/mailman/listinfo/nwcrg
>> -- 
>> LOOPS mailing list
>> LOOPS@ietf.org
>> https://www.ietf.org/mailman/listinfo/loops
> 
> 
> 
> -- 
> Colin Perkins
> https://csperkins.org/
> 
> 
> 
> 
> -- 
> LOOPS mailing list
> LOOPS@ietf.org <mailto:LOOPS@ietf.org>
> https://www.ietf.org/mailman/listinfo/loops <https://www.ietf.org/mailman/listinfo/loops>