Subject: Re: [pim] AD Review of draft-ietf-pim-multiple-upstreams-reqs-06

From: LUIS MIGUEL CONTRERAS MURILLO <[email-masked]>
Date: Mon, 22 Oct 2018 20:34:29 +0000

Hi Alvaro,

Thanks for your mail and apologies for the long time taken for going through them.

Please, find our answers in-line (coded as //Authors <answer>//)

Best regards

Luis

De: pim <[email-masked]> En nombre de Alvaro Retana
Enviado el: miércoles, 31 de enero de 2018 19:46
Para: [email-masked]
CC: [email-masked]; [email-masked]
Asunto: [pim] AD Review of draft-ietf-pim-multiple-upstreams-reqs-06

Dear authors:

I just finished reading this document.

In general, I am not a big fan of requirement documents on their own -- if the problem is important enough then ideally there will be solution work done as well.  I seem to remember some talk about potential solutions (as far back as IETF 92), but didn't find a clearly related draft (or one that references this document) in pim, mboned or even magma.  I want to encourage the WG to take on work that addresses the scenarios described in this document.

// Authors:
We already worked in the past on a document proposing some solutions to this topic (see e.g., https://tools.ietf.org/html/draft-asaeda-pim-multiif-igmpmldproxy-01). However, we decided to take a more structured approach reviewing first the requirements coming from some use cases relevant for operators (note the involvement here from Deutsche Telekom and Telefonica authors), for defining solutions which could be compliant with the aforementioned requirements.
//

The document presents some applicable scenarios, which at times are constraint by assuming that "both providers offer distinct multicast groups" or that "only one of the upstream interfaces is active in receiving the multicast content" -- leaving the decision to be straight forward: use the upstream that provides the required group/source/service.  I then found the resulting requirements relatively weak and general.

// Authors:
Nowadays there is no way to use multiple upstream interfaces for IGMP/MLD proxy. That is the case described in RFC4605 which assumes a single upstream interface for IGMP/MLD proxy, as MAGMA WG decided to escape from complex scenarios such as multihoming, which are currently very common. That’s why the PIM WG agreed on this work (both requirement and solution), while clarifying the requirement first.
While some of the described cases are not sophisticated service situations, the reality is that existing technology does not allow to solve them in a simplistic manner. That is precisely one of the values of this work. Network operators don’t have the necessary tools for addressing even those simple cases. We can think on more advanced cases, e.g. as the ones that could come from the advent of 5G and the support of slicing. But the need today is for those cases contained in the current document.
//

For one, it seems as if the bulk of the requirements can be summarized as:

 - the proxy should deliver control messages from/to the user to/from the corresponding upstream

 - the proxy should be able to select an upstream based on the requested service (group/source combination, when applicable) or other criteria (e.g. load balancing)

// Authors:
The value of these functional requirements is that they reflect the need of coordinating actions from a single element (the IGMP/MLD proxy) optimizing the delivery of the content within the network at any time. That’s the real value. Not having the support of multiple upstream interfaces on the proxy, such coordination should be done from an external element or even not happen at all, then not advancing with respect the state of the art.
//

Those two requirements seem both generic and pretty obvious to me...and don't offer too many details; for example: Should the user be able to set the other criteria?  Is some criteria specific to the proxy itself and it's operator (load balancing, for example)?  The description (related to load balancing) talks about "split the demand, alleviating the bandwidth requirements", but the requirements mention "balance...as a function of the group", or "consider the source", both of which have no direct relationship to helping with the bw requirements.

// Authors:
The criteria will correspond to the policies defined by the provider operating the network. It is an internal decision for improving and optimizing service (content) delivery. Such policies can be influenced by the user requesting the service, for instance through the subscription to some channels being offered by a third party (which has reached an agreement with the provider for delivering that content in its network).
//

When the document does get into slightly more interesting scenarios, the resulting requirements are not as specific as I would have expected to later successfully build a solution that addresses them:

 - "should be able of rapidly switching from the active to the standby upstream interface in case of network failure, transparently to the end user"  How fast is that?  Is there something more specific that could be used to quantify?  Does it depend on the application?  Are there expectations on the network failure detection?

// Authors:
Thinking on video content delivery, some reference can be provided for e.g. avoiding video interruption or buffering. In addition to that, parameters coming from either ITU-T Rec. Y.1540 (e.g., packet loss ratio) or RFC 4445 (e.g., delay factor) can be referenced. All in all, reference to SLAs in media distribution (as the European Broadcasting Union document TECH 3361, “Service Level Agreement for media transport services”) can be referenced as framework for this kind of service requirements. We have included this references in -07 version.
//

 - "decide...according to the situation of the user with respect to the service migration"...or..."according to the situation of the group and source included in the request with respect to the service migration."  Besides knowing which upstream provides the service, is there something else related to the "situation"?

// Authors:
This refer to operational requirements. In this particular case, the situations refers to the status of the user with respect the platform migration, purely operational situation, transitioning from one platform to another in a smooth manner.
//

At times the document reads like a marketing brochure...  For example: "For the multicast service, the use of an IGMP/MLD proxy with multiple upstream interfaces in those switches can provide service flexibility in a lightweight and simpler manner if compared with PIM-routing based alternatives."  flexible, lightweight, simple...  Nice!  But the requirements don't directly seem to address those qualifications or offer a way for an eventual solution to measure flexibility, simplicity, lightweightness (?).

// Authors:
The requirements, per-se, do not preclude to follow one or another technology or solution. They are basically technology-agnostic. In the actual carrier networks the fact is that end-to-end PIM activation is very limited while the usage of IGMP/MLD for membership subscription is total. So focusing on IGMP/MLD as a generic solution very much deployed, working in the direction of supporting multiple upstream interfaces provides, in the author’s opinion, a more flexible and lightweight solution than other potential alternatives that could face more complexities (like multi-domain routing in the case of PIM, or the need of some external elements if the coordination is outside the proxy).
Following these comments, we have modified a bit the text but yet capturing the simplicity behind this approach.
//

Another example: "it is now possible to implement channel-based or subscriber-based upstream selection".  Based on the requirements, I take that to mean that we can select an upstream based on what the subscriber wants (source/group).  However, I could also interpret "subscriber-based" as related to the subscriber him/herself -- is the intent that the proxy could take into account personally identifiable information (who I am or where I am, for example) when deciding not just which upstream to use but whether to even provide the service?   Maybe I'm reading too much into that, but clarifying that there are no requirements related to exchanging or using information that would explicitly identify the subscriber him/herself would help.

// Authors:
This is a very interesting point. In principle the subscriber differentiation could be based on IP addressing for that subscriber, so no personal details on that, even though it could be traceable somehow. However this is the same situation happening today in operational networks with IPTV services, where some channels are made available to some users with the necessary rights for subscribing them.
//

I have other comments below.

Let me be clear.  We're at this point of the process because the WG thinks there's value in publishing this document — I’m not pushing back.  The objective of my comments are aimed at making this document the best it can be -- again, so we can build solutions based on the requirements.  I think that in its current state, this document doesn’t provide valuable direction for those eventual solutions.

// Authors:
We have complemented the document in its version -07 with more details for addressing your comments.
//

I would like to see a revision to the document, or at least a response to my comments before starting the IETF Last Call.

Thanks!

Alvaro.

// Authors:
Thanks for all the comments received. We hope the new version satisfies your request.
//

C1. The examples and scenarios are described based on 2 upstreams.  I'm assuming that the requirements don't really change if it was more than 2, right?  It would be nice if that statement was made at some point: "all this is applicable to 2 or more upstreams".

// Authors:
Right. We fix it in the new -07 version by adding some clarification statement in the last paragraph of section 4 (just before sub-section 4.1).
//

C2. 4.1.1.1.: "Since the use case assumes that each provider offers distinct multicast groups, the IGMP/MLD proxy should be able to identify inconsistencies in the SSM requests when a source S does not deliver a certain group G."  What does it mean to "identify inconsistencies"?  What are "inconsistencies"?

// Authors:
Probably it is not well described. The idea is to discard any request of a channel G associated to a certain source S if such source does not actually deliver such channel. We have reformulated the sentence to make it more clear.
//

C3. PIM and PIM solutions are mentioned several times, but there's no reference.  Please add some.

// Authors:
We fix it in the new -07 version by adding reference to PIM deployments (RFC 7063) and PIM-SM (RFC 7761) RFCs.
//

C4. Same comment for "existing IGMP/MLD proxy functionality".

// Authors:
We fix it in the new version by adding reference to IGMP/MLD RFC.
//

C5. In 4.1.2.1, what's the difference between the first and last requirement?

  o  The IGMP/MLD proxy should be able to deliver multicast control
     messages sent by the end user to the corresponding active upstream
     interface.
  ...
  o  The IGMP/MLD proxy should be able to deliver IGMP/MLD messages
     sent by the end user (for both ASM and SSM modes) to the
     corresponding active upstream interface.

// Authors:
Thanks for pointing this out. The second one is more specific, so our proposal is to remove the first one.
//

C6. The case in 4.1.3 (Load balancing for multicast traffic in the metro segment) seems to contradict the assumptions in the previous sections: "both providers offer distinct multicast groups", "only one of the upstream interfaces is active in receiving the multicast content".  I realize that the scenarios are different, or that the requirements describe different areas of (not necessarily concurrent) functionality -- it would be nice to be specific about that.

// Authors:
These two situations refer to different operational scenarios. In previous sections to 4.1.3 in the document, the scenario presents a IGMP/MLD proxy connected to two different content providers with (at least) one upstream interface active for each of them, then reflecting the need of selecting one or the other. In the latter, even for a single content provider, it could be feasible to have more than one upstream interface active on the same proxy. We provide a better description in the -07 version for avoiding confusion.
//

C7. Security Considerations: "Apart from that, if proper mechanisms (i.e., implementation practices) are in place for channel-based or subscriber-based upstream interface selection, Denial of Service attacks can be prevented."  Proper mechanisms like what?  Please provide references.

// Authors:
We have removed this statement in version -07.
//

________________________________

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted. el destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.

The information contained in this transmission is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it.

Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, pode conter informação privilegiada ou confidencial e é para uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário indicado, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique imediatamente por esta mesma via e proceda a sua destruição