Re: [Fecframe] FEC Framework DISCUSSes (was RE: Ops/Management Cons. text for fecframe)
Vincent Roca <vincent.roca@inrialpes.fr> Wed, 18 May 2011 11:13 UTC
Return-Path: <vincent.roca@inrialpes.fr>
X-Original-To: fecframe@ietfa.amsl.com
Delivered-To: fecframe@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 265DDE070F for <fecframe@ietfa.amsl.com>; Wed, 18 May 2011 04:13:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.649
X-Spam-Level:
X-Spam-Status: No, score=-9.649 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_FR=0.35, J_CHICKENPOX_42=0.6, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8+-y1Se54Jy6 for <fecframe@ietfa.amsl.com>; Wed, 18 May 2011 04:13:37 -0700 (PDT)
Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by ietfa.amsl.com (Postfix) with ESMTP id 2D01FE06FE for <fecframe@ietf.org>; Wed, 18 May 2011 04:13:36 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.65,230,1304287200"; d="scan'208";a="99274791"
Received: from geve.inrialpes.fr ([194.199.24.116]) by mail4-relais-sop.national.inria.fr with ESMTP/TLS/AES128-SHA; 18 May 2011 13:13:34 +0200
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset="us-ascii"
From: Vincent Roca <vincent.roca@inrialpes.fr>
In-Reply-To: <04CAD96D4C5A3D48B1919248A8FE0D540F0A7516@xmb-sjc-215.amer.cisco.com>
Date: Wed, 18 May 2011 13:13:34 +0200
Content-Transfer-Encoding: 7bit
Message-Id: <51848545-92E4-4230-A91D-18FC76CACD21@inrialpes.fr>
References: <04CAD96D4C5A3D48B1919248A8FE0D540E6BFF29@xmb-sjc-215.amer.cisco.com> <6E6DD3D6F41C47A58CF034019CFBC63B@davidPC> <04CAD96D4C5A3D48B1919248A8FE0D540F0A7516@xmb-sjc-215.amer.cisco.com>
To: David Harrington <ietfdbh@comcast.net>
X-Mailer: Apple Mail (2.1084)
Cc: fecframe@ietf.org
Subject: Re: [Fecframe] FEC Framework DISCUSSes (was RE: Ops/Management Cons. text for fecframe)
X-BeenThere: fecframe@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Discussion of FEC Framework <fecframe.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/fecframe>, <mailto:fecframe-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/fecframe>
List-Post: <mailto:fecframe@ietf.org>
List-Help: <mailto:fecframe-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/fecframe>, <mailto:fecframe-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 18 May 2011 11:13:39 -0000
Hello David, > 1) > 2) I'm okay too. > 3) > [...] > > Implementers SHOULD make feedback available using an in-band or > out-of-band asynchronous reporting mechanism. A standardized > reporting mechanism, such as syslog or SNMP notifications, is > RECOMMENDED. I have several comments WRT the above paragraph. * syslog is standardized in RFC 5424, so we probably need to refer to this RFC, and similarly we need to refer to RFC 3411 for SNMP. Since implementing/using one of these protocols is RECOMMENDED, these references should go to the Normative References section (both are Standards Track documents, so there's no downward ref issue here). * Otherwise I'm a little confused by the juxtaposition of the two sentences. The first one says that an in-band solution, e.g. RTCP based, is RECOMMENDED (as one solution among others), while the second sentences RECOMMENDS the use of an out-of-band solution. If I put these two comments together, I would suggest something like: Implementers SHOULD make feedback available using either an in-band or out-of-band asynchronous reporting mechanism. When an out-of-band solution is preferred, a standardized reporting mechanism, such as syslog [RFC5424] or SNMP [RFC3411], is RECOMMENDED. * Is that sufficient to increase the probability that independent products interoperate? No, we need to go a bit further and define SNMP notification/syslog message formats. So the followup should be to start defining a MIB... Unless the implementer chooses an in-band, RTCP based, approach, which already includes useful information from the FECFRAME point of view. * We RECOMMEND two different out-of-band solutions, which creates interoperability risks. As I understand, mappings exist between the syslog/SNMP solution: RFC 5675 explains how to map SNMP notifications to syslog messages, while RFC 5676 discusses the opposite mapping. I don't know if these mappings are common or not, but this may also increase the probability that different products interoperate. So we can perhaps add a third sentence: When required, a mapping mechanism between the syslog and SNMP reporting mechanisms COULD be used, as described in [RFC5675] and [RFC5676]. > 4) I'm okay with your proposal plus Ali's update. > 5) I admit understanding this paragraph is somewhat difficult. The first RECOMMENDATION is within the first paragraph: ...it is RECOMMENDED that the paths between the hosts where the sending applications run and the middlebox that performs FEC encoding be as reliable as possible This is only a RECOMMENDATION and in practice, for whatever reason, there MIGHT be a packet loss/reordering/delayed delivery on this path (i.e. sending application -> FECFRAME middlebox). Therefore the FECFRAME instance MUST NOT break if ever this happens, so we need to look a little bit further and give RECOMMENDATIONS on how to design a FEC Scheme that tolerates it. Just in case... It turns out the issue only arises with FEC Schemes that do NOT use any Explicit Source FPI (since there is no renumbering of symbols that are actually part of a source block). There are a few solutions (some of them mentioned). Which one is preferred is use-case specific (depends on the flow nature). IMO this discussion SHOULD be included in the framework document and any FEC Scheme that is concerned by the problem SHOULD at least highlight the general requirement and point to this framework discussion. Initial discussion: http://www.ietf.org/mail-archive/web/fecframe/current/msg00841.html More recently, WRT RTP for Raptor(Q): http://www.ietf.org/mail-archive/web/fecframe/current/msg00884.html The same applies to our draft-galanos-fecframe-rtp-reedsolomon-03 document, of course. In order to help clarify the point, here's what I suggest: NEW: <added> At the sending side, the general reliability RECOMMENDATION for the path between the sending applications and the middlebox is important but it MAY NOT guaranty that a loss, reordering or important delivery delay cannot happen, for whatever reason. If such a rare event happens, this event SHOULD NOT compromize the operation of the FECFRAME instances, neither at the sending nor receiving side. This is particularly important </added> with FEC schemes that do not modify the ADU for backward compatibility purposes (i.e. do not use any Explicit Source FEC Payload ID) and rely for instance on the RTP sequence number field to identify FEC source packets within their source block. In this case, packet loss or packet reordering leads to a gap in the RTP sequence number space seen by the FECFRAME instance. Similarly, varying delay in delivering packets over this path can lead to significant timing issues. With FEC schemes that indicate in the Repair FEC Payload ID, for each source block, the base RTP sequence number and number of consecutive RTP packets that belong to this source block, a missing ADU or an ADU delivered out of order could cause the FECFRAME sender to switch to a new source block. However, some FEC schemes and/or receivers may not necessarily handle such varying source block sizes. In this case, another solution SHOULD be considered that is use-case specific and whose consequences need to be carefully considered (e.g., by duplicating the last ADU received before the loss, or by inserting a zero'ed ADU, depending on the ADU flow nature). > 6) I agree with Ali's comment. > 7) regarding ADU Bundles, the use of passive voice hurts this text: > OLD > "the repair flow(s) SHOULD only be received by > receivers that are authorized to receive all the associated ADU > flows." >NEW: > "receivers SHOULD drop the repair flow(s) unless they are > authorized to receive all the associated ADU flows." No, the new text changes the initial intent. The "SHOULD" is for the sender, not for the receiver. Since there's a misunderstanding, this means that the original text is bad, so you can blame us for that. So here is a new proposal: OLD: Therefore, when defining the bundle of ADU flows that are globally protected and when defining which receiver receives which flow, the repair flow(s) SHOULD only be received by receivers that are authorized to receive all the associated ADU flows. NEW: Therefore, when defining the bundle of ADU flows that are globally protected and when defining which receiver receives which flow, the sender SHOULD make sure that the ADU flow(s) and repair flow(s) of that bundle will only be received by receivers that are authorized to receive all the ADU flows of that bundle. Cheers, Vincent
- [Fecframe] FEC Framework DISCUSSes (was RE: Ops/M… Ali C. Begen (abegen)
- Re: [Fecframe] FEC Framework DISCUSSes (was RE: O… David Harrington
- Re: [Fecframe] FEC Framework DISCUSSes (was RE: O… Ali C. Begen (abegen)
- Re: [Fecframe] FEC Framework DISCUSSes (was RE: O… Vincent Roca
- Re: [Fecframe] FEC Framework DISCUSSes (was RE: O… Vincent Roca