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
- Re: [nwcrg] nwcrg Digest, Vol 43, Issue 11 Marie-Jose Montpetit