Re: [nwcrg] nwcrg Digest, Vol 43, Issue 11

Marie-Jose Montpetit <marie@mjmontpetit.com> Thu, 11 May 2017 18:20 UTC

Return-Path: <marie@mjmontpetit.com>
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 711EB129C08 for <nwcrg@ietfa.amsl.com>; Thu, 11 May 2017 11:20:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mjmontpetit-com.20150623.gappssmtp.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 cWIYvfBYhvIy for <nwcrg@ietfa.amsl.com>; Thu, 11 May 2017 11:20:46 -0700 (PDT)
Received: from mail-qt0-x235.google.com (mail-qt0-x235.google.com [IPv6:2607:f8b0:400d:c0d::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E6ED0129B1E for <nwcrg@irtf.org>; Thu, 11 May 2017 11:14:38 -0700 (PDT)
Received: by mail-qt0-x235.google.com with SMTP id t26so24126612qtg.0 for <nwcrg@irtf.org>; Thu, 11 May 2017 11:14:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mjmontpetit-com.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc:message-id:references :to; bh=sQZiRi+cY6xIpqD9Amk6DpESIzsrrLgS6GaSPcl1shc=; b=RhEsYAp2jsm/tnxHdrAZDxMpgUJ1am6yp3698tPjPVtFDEb6d2ThYspST1SkjG4+fZ 60Ik5fTtSKPyRX+/lfqiJE4kwzGhiUhB9FY++Zx4sm2+mBlxKfGXP8mVNkMLbWlQyjLj X4KqnTp/XV48LmRvZsajGwRcv94W9/1ydr6LfNPunFR/aSaz8qT6GW/1+8yc4D11Qk9R wqahaTwONq90x530aEZiLR5rNXtXXj+hejJ/4CzKd0ZOxhiKKMooEM9qDpc4iQxG7AD9 tC+xbPiMl+U8GUhOicq3aCVqNxz4V0vLBmz/Q2Mjipenv+S7VIcFpljs4qSeHsWrebXv 6whg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=sQZiRi+cY6xIpqD9Amk6DpESIzsrrLgS6GaSPcl1shc=; b=cuUDXEeg+lWjzQMj+TxwOw2FLnJfX39XQ+zB0AWwL0ZpXgNkvye5U66206f6PvAdU3 iWiYlSPNAeuNmjD4xSOeGrUMfhQ4dMN1fmcJbo3Aa9h+FY7OttJFA8aBsPlpGByz1VBx nKnPbCLcvt9nePFeJdGN39lLIPyiEU1NtPpEeXwyrHwg9GXVqWuOBD29+7dd3Sj86FNc qsZuM6DypoilIN48NGtI6V/1cnrZy27wqekyX0pMC+vyRUA3C5x1Z+hjHJQU2MS7F7bq VNHru3kwMNYV8WnqjdeUhGd6xyu24Z1UaNwbBA+uCqaBKGa0kdxyzcrjbcU3hCVAmIWi 57yA==
X-Gm-Message-State: AODbwcDkFKITassG5G9v8R8tyHRiddBofF8Y1u0kO6sL2Jrj2vnnrpnY 2zotKJWYFw3WZQDDOq0=
X-Received: by 10.200.39.93 with SMTP id h29mr170649qth.76.1494526477993; Thu, 11 May 2017 11:14:37 -0700 (PDT)
Received: from ?IPv6:2601:197:a80:5dcd:c19f:dfa5:120b:68f4? ([2601:197:a80:5dcd:c19f:dfa5:120b:68f4]) by smtp.gmail.com with ESMTPSA id h128sm607788qke.43.2017.05.11.11.14.36 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 11 May 2017 11:14:37 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_7E254052-8743-4284-8DA5-7F3FFF9DB864"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Marie-Jose Montpetit <marie@mjmontpetit.com>
In-Reply-To: <mailman.2277.1494525546.3775.nwcrg@irtf.org>
Date: Thu, 11 May 2017 14:14:35 -0400
Cc: nwcrg@irtf.org
Message-Id: <220436CE-9CE9-4734-8F0D-0532133D169D@mjmontpetit.com>
References: <mailman.2277.1494525546.3775.nwcrg@irtf.org>
To: Vincent Roca <vincent.roca@inria.fr>
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/nwcrg/w7kSpG3W1dUBdlzVW_PxLXicsz0>
Subject: Re: [nwcrg] nwcrg Digest, Vol 43, Issue 11
X-BeenThere: nwcrg@irtf.org
X-Mailman-Version: 2.1.22
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, 11 May 2017 18:20:51 -0000

Interesting topic. See my comments inline.


> On May 11, 2017, at 1:59 PM, nwcrg-request@irtf.org wrote:
> 
> Send nwcrg mailing list submissions to
> 	nwcrg@irtf.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	https://www.irtf.org/mailman/listinfo/nwcrg
> or, via email, send a message with subject or body 'help' to
> 	nwcrg-request@irtf.org
> 
> You can reach the person managing the list at
> 	nwcrg-owner@irtf.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of nwcrg digest..."
> Today's Topics:
> 
>   1. Closeup on a "Generic Robust Low Latency Tunnelling"
>      (Vincent Roca)
>   2. Re: Closeup on a "Generic Robust Low Latency Tunnelling"
>      (Emmanuel Lochin)
> 
> From: Vincent Roca <vincent.roca@inria.fr>
> Subject: [nwcrg] Closeup on a "Generic Robust Low Latency Tunnelling"
> Date: May 11, 2017 at 10:22:58 AM EDT
> To: nwcrg@irtf.org
> 
> 
> Hello everybody,
> 
> In the high level overview of potential work items that could be addressed in our RG, I mentioned:
> 
>> Use-cases where end-to-end coding or network coding can be beneficial:
>> 
>> 	[…]
>> 	- Robust, low latency tunnels: this could be the basis of a generic protocol
> 
> 
> Here are some more details. As usual, everything is open to discussions.
> And if you’re interested, it would be great to create a dedicated team and work
> jointly on some of the topics.
> 
> Since I’m familiar with FECFRAME, you’ll find a few references. But the goal here
> is really to have something more versatile.
And the current taxonomy document will help with definitions of terms like symbol and payload :-)
https://datatracker.ietf.org/doc/draft-irtf-nwcrg-network-coding-taxonomy/ <https://datatracker.ietf.org/doc/draft-irtf-nwcrg-network-coding-taxonomy/>
> 
> Cheers,
> 
>   Vincent
> 
> ------
> 
> Generic Robust Low Latency Tunnelling
> 
> 1- goals
> Provide a solution for robust, low latency transport of one or several flows over several types of
> communication links (physical or virtual/overlay). Can be regarded as a « robust virtual link » or
> « robust tunnel » depending on how it is used.
> 
> Various possibilities:
> - may be unicast or multicast, potentially targeting massive delivery
> - may include feedbacks or not
> - may include in-network recoding or not
Is this like a coded QIC? Then we should at least add compatibility with encryption and IPSEC. 
>  
> 
> 2- a few issues already solved
> 	(inspired from FECFRAME, RFC 6363. Do other efficient approaches exist?)
> 
> 	2.1- use of FEC
> 
> Sliding window linear coding schemes are good target FEC codes. Yet the solution must be FEC Scheme 
> agnostic in order to be compatible with different types of FEC schemes (sliding window codes or block codes).
> Move all FEC considerations in specific I-Ds.
Agree. There should be one I-D per available code when they are not already covered by FECFRAME.
> 
> 
> 	2.2- "application payloads" are of variable size
> 
> (P)MTU considerations are always key aspects with tunnels (additional headers can lead to IP fragmentation,
> usually considered harmful). If the « application payload » size is managed elsewhere, the symbol size is
> under our control. From this perspective, padding each « application payload » up to the (P)MTU (minus
> various protocol headers) and having symbols of that maximum size is sub-optimal because: 
> 	(1) all repair packets have that size even if « application payloads » are very short;
> 	(2) with high speed links that permit very large MTUs, it becomes prohibitive.
Would be interesting to see the losses associated with padding. Maybe short packets could be coded together (with a potential hit on performance).
> 
> FECFRAME / FEC Schemes provide a solution for that: use small fixed size symbols and create a
> mapping between « application payloads »  and symbols. To the « application payload » we add a 
> length field and we pad the whole until it is multiple of the symbol size. A small « application payload »
> might correspond to a single source symbol while a large one may correspond to multiple ones.
> 
> NB: a small symbol size is a good technique for asymptotically good block codes like LDPC or Raptor
> 	codes, but counter productive with sliding window codes (it increases the linear system size).
> NB: FEC Schemes also enable several repair symbols to be carried in a single repair packet, with a single
> 	repair header in that case. So this is not too much penalising from this point of view.
> NB: « application payloads » are called ADUs in RFC 6363.
> 
> 
> 	2.3- assignment of decoded "application payloads" to flows in multi-flow configurations
> 
> With multiple flows multiplexed in the same tunnel, the problem is to assign a decoded payload to the
> right flow (UDP port numbers/IP addresses used to map application payloads to flows are not necessarily
> recovered depending on how tunnelling is applied).
> 
> FECFRAME provides a simple generic solution: each « application payload » is prepended with a flow
> identifier (1 byte) before doing the mapping to source symbols. This (flow ID + length
> + application payload + padding) is FEC protected. After decoding at a destination, the flow ID is recovered
> and the application payload assigned to the flow it belongs to.
> 
> NB: the flow ID + length + application payload + padding (called ADUI in RFC 6363) is used for FEC
> 	encoding but never sent in the tunnel. Only the « application payload » plus a dedicated header/trailer
> 	is sent.
> 
> 
> 3- a few open questions (potentially to be extended)
> 
> 	NB: FECFRAME does not address the following items (out of scope).
> 
> 	3.1- congestion control and fairness requirements
> 
> This is a tough question and may be the most complex and controversial one.
> 
> Another requirement is not to mask congestion signals while recovering from packet losses. It requires a
> close integration between FEC decoder and congestion control/rate adaptation component… Not very difficult.
I am aware of work there. I will leave the authors to respond.

> 	3.2- flow scheduling when several flows share the same tunnel
> 
> Flows may have different requirements in terms of time and robustness.
> How to serve them within a single, shared tunnel?
> 
> 	3.3- exploiting several (high speed, low speed, or heterogeneous) paths
> 
> A multipath capable solution is a plus and the use of FEC coding will help a lot. There’s probably 
> interesting packet scheduling research to carry out. How should the traffic be scheduled on the various
> paths. How can it compare to MPTCP where FEC coding is absent?
> 
> An open question: in case of very high speed paths, can it compete with simpler solutions where only
> source packets are exchanged? Said differently, to which point is FEC coding compatible with
> very high speed transfers? With what compromise?
> 
> 	3.4- exploiting in-network recoding
> 
> To what extent is it needed? Are there additional requirements?
> 
> 	3.5- exploiting feedbacks
> 
> When is it required and for what purpose? What type of feedbacks? Can it be a key differentiator
> between proposals?
> It is at least a key differentiator with FECFRAME (no feedback at all in the core protocol).
> 
> 	Something else?
Where is storage addressed? And of course what I mentioned above for encryption.

This work/document(s) would be a very good output for the group.

mjm
> 
> 
> 
> 
> From: Emmanuel Lochin <emmanuel.lochin@isae.fr>
> Subject: Re: [nwcrg] Closeup on a "Generic Robust Low Latency Tunnelling"
> Date: May 11, 2017 at 1:53:48 PM EDT
> To: nwcrg@irtf.org
> 
> 
> Hi Vincent, all,
> This is indeed a good idea and following your draft, there are plenty of things to discuss for each item. I am interested in all points raised but first by 3.1, 3.2 and 3.3.
> Considering only 3.2 (otherwise this email could be too long too read ;) I am currently working on this with Tetrys/Tunnel. In particular, there are a bunch of results from the QoS epoch, used by ISP (e.g. the well-known core scheduling defined in RFC5865), allowing to schedule, and mark a given traffic to separate flows that have different QoS requirements. I reckon that scheduling and differentiating flows (e.g. differentiate video from VoIP from bulk     data) is mandatory to correctly protect them before tunneling. It would be a good thing to discuss and share our experience on this.
> So yes... I'm strongly interested.
> 
> Emmanuel
> 
> 
> 
> On 11/05/2017 16:22, Vincent Roca wrote:
>> Hello everybody,
>> 
>> In the high level overview of potential work items that could be addressed in our RG, I mentioned:
>> 
>>> Use-cases where end-to-end coding or network coding can be beneficial:
>>> 
>>> 	[…]
>>> 	- Robust, low latency tunnels: this could be the basis of a generic protocol
>> 
>> 
>> Here are some more details. As usual, everything is open to discussions.
>> And if you’re interested, it would be great to create a dedicated team and work
>> jointly on some of the topics.
>> 
>> Since I’m familiar with FECFRAME, you’ll find a few references. But the goal here
>> is really to have something more versatile.
>> 
>> Cheers,
>> 
>>   Vincent
>> 
>> ------
>> 
>> Generic Robust Low Latency Tunnelling
>> 
>> 1- goals
>> Provide a solution for robust, low latency transport of one or several flows over several types of
>> communication links (physical or virtual/overlay). Can be regarded as a « robust virtual link » or
>> « robust tunnel » depending on how it is used.
>> 
>> Various possibilities:
>> - may be unicast or multicast, potentially targeting massive delivery
>> - may include feedbacks or not
>> - may include in-network recoding or not
>>  
>> 
>> 2- a few issues already solved
>> 	(inspired from FECFRAME, RFC 6363. Do other efficient approaches exist?)
>> 
>> 	2.1- use of FEC
>> 
>> Sliding window linear coding schemes are good target FEC codes. Yet the solution must be FEC Scheme 
>> agnostic in order to be compatible with different types of FEC schemes (sliding window codes or block codes).
>> Move all FEC considerations in specific I-Ds.
>> 
>> 
>> 	2.2- "application payloads" are of variable size
>> 
>> (P)MTU considerations are always key aspects with tunnels (additional headers can lead to IP fragmentation,
>> usually considered harmful). If the « application payload » size is managed elsewhere, the symbol size is
>> under our control. From this perspective, padding each « application payload » up to the (P)MTU (minus
>> various protocol headers) and having symbols of that maximum size is sub-optimal because: 
>> 	(1) all repair packets have that size even if « application payloads » are very short;
>> 	(2) with high speed links that permit very large MTUs, it becomes prohibitive.
>> 
>> FECFRAME / FEC Schemes provide a solution for that: use small fixed size symbols and create a
>> mapping between « application payloads »  and symbols. To the « application payload » we add a 
>> length field and we pad the whole until it is multiple of the symbol size. A small « application payload »
>> might correspond to a single source symbol while a large one may correspond to multiple ones.
>> 
>> NB: a small symbol size is a good technique for asymptotically good block codes like LDPC or Raptor
>> 	codes, but counter productive with sliding window codes (it increases the linear system size).
>> NB: FEC Schemes also enable several repair symbols to be carried in a single repair packet, with a single
>> 	repair header in that case. So this is not too much penalising from this point of view.
>> NB: « application payloads » are called ADUs in RFC 6363.
>> 
>> 
>> 	2.3- assignment of decoded "application payloads" to flows in multi-flow configurations
>> 
>> With multiple flows multiplexed in the same tunnel, the problem is to assign a decoded payload to the
>> right flow (UDP port numbers/IP addresses used to map application payloads to flows are not necessarily
>> recovered depending on how tunnelling is applied).
>> 
>> FECFRAME provides a simple generic solution: each « application payload » is prepended with a flow
>> identifier (1 byte) before doing the mapping to source symbols. This (flow ID + length
>> + application payload + padding) is FEC protected. After decoding at a destination, the flow ID is recovered
>> and the application payload assigned to the flow it belongs to.
>> 
>> NB: the flow ID + length + application payload + padding (called ADUI in RFC 6363) is used for FEC
>> 	encoding but never sent in the tunnel. Only the « application payload » plus a dedicated header/trailer
>> 	is sent.
>> 
>> 
>> 3- a few open questions (potentially to be extended)
>> 
>> 	NB: FECFRAME does not address the following items (out of scope).
>> 
>> 	3.1- congestion control and fairness requirements
>> 
>> This is a tough question and may be the most complex and controversial one.
>> 
>> Another requirement is not to mask congestion signals while recovering from packet losses. It requires a
>> close integration between FEC decoder and congestion control/rate adaptation component… Not very difficult.
>> 
>> 	3.2- flow scheduling when several flows share the same tunnel
>> 
>> Flows may have different requirements in terms of time and robustness.
>> How to serve them within a single, shared tunnel?
>> 
>> 	3.3- exploiting several (high speed, low speed, or heterogeneous) paths
>> 
>> A multipath capable solution is a plus and the use of FEC coding will help a lot. There’s probably 
>> interesting packet scheduling research to carry out. How should the traffic be scheduled on the various
>> paths. How can it compare to MPTCP where FEC coding is absent?
>> 
>> An open question: in case of very high speed paths, can it compete with simpler solutions where only
>> source packets are exchanged? Said differently, to which point is FEC coding compatible with
>> very high speed transfers? With what compromise?
>> 
>> 	3.4- exploiting in-network recoding
>> 
>> To what extent is it needed? Are there additional requirements?
>> 
>> 	3.5- exploiting feedbacks
>> 
>> When is it required and for what purpose? What type of feedbacks? Can it be a key differentiator
>> between proposals?
>> It is at least a key differentiator with FECFRAME (no feedback at all in the core protocol).
>> 
>> 	Something else?
>> 
>> 
>> 
>> _______________________________________________
>> nwcrg mailing list
>> nwcrg@irtf.org <mailto:nwcrg@irtf.org>
>> https://www.irtf.org/mailman/listinfo/nwcrg <https://www.irtf.org/mailman/listinfo/nwcrg>
> 
> -- 
> Emmanuel LOCHIN
> Professeur ISAE
> 
> ISAE SUPAERO - Institut Supérieur de l'Aéronautique et de l'Espace
> 10 avenue Edouard Belin - BP 54032 - 31055 TOULOUSE CEDEX 4 FRANCE - http://www.isae-supaero.fr <http://www.isae-supaero.fr/>
> Tel +33 5 61 33 84 85 - Fax (+33) 5 61 33 83 30
> 
> 
> _______________________________________________
> nwcrg mailing list
> nwcrg@irtf.org
> https://www.irtf.org/mailman/listinfo/nwcrg