Re: [nwcrg] New Version Notification for draft-irtf-nwcrg-coding-and-congestion-01.txt

Vincent Roca <vincent.roca@inria.fr> Tue, 18 February 2020 16:07 UTC

Return-Path: <vincent.roca@inria.fr>
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 0B647120817 for <nwcrg@ietfa.amsl.com>; Tue, 18 Feb 2020 08:07:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, 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 2_ee_39Ksqoc for <nwcrg@ietfa.amsl.com>; Tue, 18 Feb 2020 08:07:46 -0800 (PST)
Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) (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 EB4F8120815 for <nwcrg@irtf.org>; Tue, 18 Feb 2020 08:07:45 -0800 (PST)
X-IronPort-AV: E=Sophos;i="5.70,456,1574118000"; d="scan'208";a="436579417"
Received: from unknown (HELO [172.20.10.2]) ([176.161.234.40]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Feb 2020 17:07:43 +0100
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
From: Vincent Roca <vincent.roca@inria.fr>
In-Reply-To: <388213080.406105.1581197063264@mail.yahoo.com>
Date: Tue, 18 Feb 2020 17:07:42 +0100
Cc: Vincent Roca <vincent.roca@inria.fr>
Content-Transfer-Encoding: quoted-printable
Message-Id: <1466ED1E-ADE6-4493-99FD-16FF57B6E11F@inria.fr>
References: <158105949299.16113.616856321541547326.idtracker@ietfa.amsl.com> <F3B0A07CFD358240926B78A680E166FF1ED5B8C9@TW-MBX-P03.cnesnet.ad.cnes.fr> <1170541236.13290.1581121465312@mail.yahoo.com> <24924DA3-6DDD-448E-96D1-09F1D7C3C570@ifi.uio.no> <388213080.406105.1581197063264@mail.yahoo.com>
To: Kuhn Nicolas <nicolas.kuhn@cnes.fr>, Michael Welzl <michawe@ifi.uio.no>, François Michel <francois.michel@uclouvain.be>, Emmanuel Lochin <emmanuel.lochin@isae-supaero.fr>, Nwcrg <nwcrg@irtf.org>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/nwcrg/Mj3HEj_9afF1o7ffeAhTLqb4OUY>
Subject: Re: [nwcrg] New Version Notification for draft-irtf-nwcrg-coding-and-congestion-01.txt
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: Tue, 18 Feb 2020 16:07:49 -0000

Dear authors, all,

A few comments on your document, version 01.
Sorry, it’s a bit long…

Cheers,    Vincent

—————— 

Abstract:
--------

- I do not understand:
   This document can help the
   comparison of FEC schemes by identifying at which level they are
   operating with respect to the transport congestion control.
What does "the comparison of FEC schemes" refer to? Between one another?
I guess this is not the intent (and this is explained later on).

- Global comment, title including: using "coding" without any further
information, is ambiguous. I'd prefer FEC coding or erasure correction coding,
at least in the abstract/introduction.


Introduction:
------

- Minor comment: It is said (2nd sentence):
   ... for the server to detect tail losses...
Make it clear that in this document, the server sends data.

- Ambiguous:
   One objective is to help the research community
   consider congestion control aspects when proposing and comparing
   coding solutions.
I'd rather say:
  Another objective is to encourage the research community to also consider congestion
  control aspects when proposing and comparing FEC coding solutions in communication
  systems.
Rationals: this is **another** objective; comparing FEC Schemes without considering
congestion control makes sense if **the goal is to compare those schemes only**.


Section 2:
----------

- A detail: arrows are missing in fig. 1.
Or perhaps it is indicated by the use of { and }, but in that case
it's not very clear. Using plural is also preferable.

- A detail: there is no "coded data" but "coded packets".

- It is said:
   "signaling from the receiver about losses and/or repaired blocks"
The use of "blocks" here is erroneous, we talk about packets.

- I'd also suggest that you change the mention "information about repaired ratio"
in fig. 2 by what you say here, in the text.
What exact information is given back to the FEC entity really depends on
the use-case, but I like the way it's written in the text: it's some information
about what is lost and what is recovered thanks to FEC coding.

- It is said:
   However, there can be meaningful other interactions
   (indicated by the horizontal double arrow) between the two entities,
There is no horizontal double arrow!
And I cannot really decide whether entities refer to client/server or CC/FEC.

typo:
- potiential => potential


Section 3:
----------

- Section 3.1 is pretty concise. What type of "transmission"? In intro you
say that tunnels are out of scope, which should be clarified and justified here.
Do you restrict yourself to transport protocols (where CC is usually found)?
Do you want to extend to application protocols as well (with the difficulty of
defining what is an application protocol, since we see more and more protocols
on top of UDP).
Do you consider multipaths?
Do you keep multicast as out of scope as there is a dedicated CC that is pretty
different?

- A new idea is introduced here, that of "fairness with non-coding solutions".
It should prominently mentioned in abstract and introduction as well.

- I'm surprised to see "Section 3.3.  Objective of the document" at this
moment in the document. Please put it before.
The first two sentences about mixing the CC and FEC channels should also be
moved at the end of section 2, it does not belong to the objectives.


Section 4:
----------

- I appreciate to see these three sections, but I think they should be grouped
as subsections of a single one entitled:
        "Recommendations depending on the CC versus FEC layering"
or something like that. And adding a small introduction text would be fine too.

- There's really an ambiguity about what is coded data: does it include
source data packets or not? And why data rather than packets?
Have a look at our terminology RFC and stick with it.

- I do not agree about the following wording:
   The drawback of this approach is that it is useless if the transport
   guarantees data delivery by retransmitting packets.
This is only a drawback if one is stupid enough to do FEC protection on top of
a reliable transport protocol. I'd rather say:
   Of course, this approach requires that that the transport protocol does not
   include a reliability (e.g., based on lost packet retransmition).
This approach is perfectly fine with UDP which is pretty usual.

- This is suggested in the figure ("sending rate or window"), but not detailed
in text. There is preferably a feedback between CC and FEC entities.


Section 4, 5, 6 globally:
-------------------------

- I see a major scoping problem in these sections.
What does this document really aim at? It is said earlier:
   This document discusses how FEC and CC relate.
Here we see architectural discussions on advantages/drawbacks instead.
There is also the additional idea of how it relates to transport reliability
mechanism which is (in theory) out of scope.

- I'd like to see more info about what concretely can be done (examples).
The case of QUIC and what was already proposed here to let FEC and CC work
together is pretty interesting.

- I also think the application (as data source) is potentially involved
in the big picture: an application generating a real-time data flow
is not the same as an application generating background traffic.
In the first case we could end up with situations where it's just impossible
to carry traffic by adding a certain redundancy, given the network conditions.
It means that without adapting the data flow there is probably no solution.
In the second case (which includes François's experiments with tail losses)
it's feasible.


Section 9:
----------

- Never say what follows:
   There is no security considerations required for this document.
There are security considerations in most documents, because it does change something
(which is fortunate) and therefore it can introduce threats.
Here CC and FEC coding rate could be leveraged to create DoS. Although it's not
specific to this document, saying the opposite is not appropriate.