2 Replies Latest reply: Aug 10, 2017 12:40 AM by Juan RSS

    Multicast Listener Discovery Version 2

    Juan



      The second version of MLD allows a host to join or leave to a specific source sending information to a multicast group. With MLDv2 the receivers can signal to the FHR their interest in joining or leaving (S,G).

       

      This version is backward compatible with the previous version and allows as well to join groups without source knowledge (*,G).

       

      MLDv2 introduces source filtering, with two modes of operation:

       

      • INCLUDE mode: in this mode, the Multicast Listener (ML) message includes a set of sources the receiver wants to listen to.
      • EXCLUDE mode: in this mode, the ML message includes a set of sources the receiver doesn’t want to listen to. It’s just the opposite meaning to the previous message.

       

      The number of MLDv2 messages is reduced to two types. The reduction in the number of messages hides functional complexity from the operational point of view.

       

      The ML Query message category introduces a new Multicast-Address-Source-Specific Query message (MASS Query) and the ML Report grows to incorporate different subtypes of reports:

       

      • ML Query: sent to perform General Queries, MAS Queries and MASS Queries.
      • ML Report: sent to answer to General Queries, change the Filter Mode or change the Source List.

       

       

      ICMP

      Type

      ML message

      Functionality

      IP destination

      Multicast addr. field

      Source

      130

      General Query

      General Query

      FF02::2

      ::/0

      -

      130

      MAS Query

      Specific Query

      G

      G

      -

      130

      MASS Query

      Specific Query

      G

      G

      S

      143

      Report

      Join/Leave Group

      FF02::16

      G

      S (optional)

       

       

      When using this version, receivers no longer perform report suppression as in the MLDv1 case. Receivers will always send ML Reports when a MLD Query message is received.

       

      IP DA in all ML Report messages is now FF02::16, an address reserved for all MLDv2-capable devices. This fact improves the efficiency of the shared network segment devices processing and as a consequence, the scalability of the solution.

       

       

       

      Source filtering

       

      The most important functionality added to MLD in v2 is source filtering. This version has two modes of operation and receivers can signal that they’re interested (INCLUDE mode) or they’re NOT interested (EXCLUDE mode) in receiving group information from a set of sources.

       

      When using the INCLUDE (IN) mode, the receiver signals its interest in a set of sources ({S},G). In this mode, the source list can’t be empty and it has an implicit “deny any” at the end. This mode of operation is useful in SSM.

       

      In EXCLUDE (EX) mode, the receiver signals that is not interested in receiving a set of sources. In this case the source list may be empty and it has an implicit “permit any” at the end. It’s very useful mode for excluding an empty {Ø} set sources and receiving (*,G), making it the way to go for ASM.

       

      Receivers can change at any time from IN to EX mode (particularly useful for joining/leaving (*,G) in ASM mode) and they can dynamically ALLOW (join) or BLOCK (leave) new sources (receiving or blocking additional sources in very useful in SSM mode).

       

      When a receiver is interested in joining (*,G) or (S,G), it sends a ML Report message to the FHR signaling that fact.



      mcast-mldv2-join.png


       

      When a receiver is interested in leaving (*,G) or (S,G), it sends a ML Report message to the FHR signaling that fact.


       

      mcast-mldv2-leave.png


       

      A state change report due to a source list change is followed by a MASS Query that allows the FHR to know if there is still some receivers interested in receiving (S,G).



      mcast-mldv2-leave-s-g.png


       

      In the case of a change report due to a filter mode change, the leave is followed by a MAS Query (not pictured).

       

      General queries are used the same way as in version 1: to know about which receivers want to listen to known groups (*,G) or groups and sources (S,G).

       

       

      mcast-mldv2-general-query.png

       

       

       

      MLD Snooping

       

      Instead of flooding multicast data over all ports, switches can use MLD snooping to limit the flooding of multicast traffic by dynamically configuring L2 interfaces so that multicast data is selectively forwarded to ports that want to receive the data.

       

      This list is constructed by snooping IP multicast control packets. In MLDv2, all join/leave functionality messages (ML Report) are sent to FF02::16, making the snooping ‘easier’ for the switching device.

       

       

       

      I hope you find it useful.