I'm sorry we didn't find time to hear your talk about Flexicast in the IETF meeting, so I thought I would send a few comments to encourage you!

I do like the idea of re-using the MP mechanisms to add a multicast context, that seems interesting.

I'd be happy to comment and contribute to this - if this is further developed, so please don't take the "picky" comments about the use of keywords in the wrong way, they were intended to help me think more...

/The frame also contains the
   first packet number that the receiver MAY receive with this key./
- Seems love an odd may is this a “can”?
- or needs to explicitly say what a receive does with lower numbered packets.

/After receiving an FC_ANNOUNCE frame
   advertising a flexicast flow, a receiver SHOULD decide to join it./
- seems an odd requirement, I’d have expected MAY here?

/The Flexicast QUIC source SHOULD NOT consider the receiver as an
   active member of the flexicast flow before it has received an
   FC_STATE with the LISTEN action from the receiver./
- Seems like not quite useful text, can you perhaps describe what the sender is required to do?

/   In parallel of sending the FC_STATE frame with the JOIN action, the
   receiver MUST notify the underlying routing network its willingness
   to receive packets from the flexicast flow. /
- This seems like you expect a join request towards the source, which I’d expect is an IGMP/MLD message, although I am not quite sure what you intended? (This seems to be better expressed in the next sentence.

/However, receivers SHOULD only leave a flexicast
   flow only if network conditions are not met to ensure a good quality
   of experience for the applications. /
- This seems odd, why is this necessary, and why do we need RFC 2119 language here? I expected receives ought to be allowed to leave (albeit with some expected performance reduction).

/Upon reception of this frame, the Flexicast QUIC
   source MUST NOT consider anymore the receiver as a member of the
   flexicast flow, /
- This might be better as a MUST remove from the set of receivers?

/The receiver SHOULD drop any path
   state for the flexicast flow regarding this flexicast flow. /
- Why SHOULD when it erases the path info, is this not MUST?

/ The
   source SHOULD decide to remove the receiver from the flexicast flow
   and continue receiving data through unicast, even temporarilly. /
- I am unsure why this is SHOULD, I’;d have expected MAY - with advice about when this is expected to be beneficial.

/Receivers MUST NOT send MP_ACK on the flexicast flow
   since this path is unidirectional./
- Well yes, but I’d say this was more “cannot” because the path is unidirectional.

/A Flexicast QUIC source must
   wait for the acknowledgment from all receivers listening to the
   flexicast flow before releasing state for the transmitted data./
- Aha this is where the multicast design needs to consider what two do. I wonder if it is wise to set a timeout to receive the ACKs. If a receiver fails to ACK in time, and continues to fail, that could be a threshold that causes the sender to expel the receiver from the group (as you suggest)?


Lastly, I think we've learned a lot of the years how to make multicast work effectively and so I do think some form of congestion control is important to require (and specify), so  this part of the I-D will be useful to develop.

Re-key might be needed if we wish to constrain the multicast delivery tree to authorised receivers - both because a shared group key can be re-shared with receivers outside the group, and because if someone leaves or is evicted, they ought to loose their access to the key. However, this all seems achievable because we have the unicast context from QUIC also to use to synchronise any key update.

It do think it's also important to find controls to protect the multicast infrastrcuture from abuse - and I expect we can do this, since we have a control channel, by specifying a way to evict poorly perfoming or malicious receivers from the group.

Happy to talk and look forward to the next revision!

Best wishes,

Gorry

Reply via email to