PG1X WIKI

My Knowledge Base

User Tools

Site Tools


tech:network:cisco:multicast:l2:mld:introduction:introduction

MLD Introduction

What is MLD?

  1. MLD: Multicast Listener Discovery.
  2. IPv4 multicast use dedicated IGMP for management multicast groups.
  3. IPv6 multicast use ICMPv6 for management multicast groups.
  4. In accurate, IPv6 multicast use ICMPv6 MLD(Multicas Listener Discovery) Messages.
  5. Between IPv6 LHR(Last Hop Router) and Receiver, exchange ICMPv6 MLD Messages for multicast group management.
  6. ICMPv6 Message Types(MLD):
    1. Type 130: Multicast Listener Query
    2. Type 131: Multicast Listener Report
    3. Type 132: Multicast Listener Done
    4. Type 143: Version 2 Multicast Listener Report
  7. MLDv1 ICMPv6 Message Types: corresponds to IGMPv2
    1. Type 130: Multicast Listener Query
    2. Type 131: Multicast Listener Report
    3. Type 132: Multicast Listener Done
  8. MLDv2 ICMPv6 Message Types: corresponds to IGMPv3
    1. Type 130: Multicast Listener Query
    2. Type 143: Version 2 Multicast Listener Report
  9. MLDv1 and IGMPv2 messages
    1. Type 130 Multicast Listener Query : Menbership Query
    2. Type 131 Multicast Listener Report : IGMPv2 Membership Report
    3. Type 132 Multicast Listener Done : IGMPv2 Leave Group
  10. MLDv2 and IGMPv3 messages
    1. Type 130 Multicast Listener Query
    2. Type 143 Version 2 Multicast Listener Report : IGMPv3 Membership Report

MLDv1

  1. MLDv1 behavior almost same as IGMPv2 behavior.
  2. When Receiver that execute multicast application will join a multicast group, Receiver send the ICMPv6 Type 131 (Multicast Listener Report) to routers to join the multicast group.
  3. When the router receive Multicast Listener Report, the router add the membership list, and update the multicast routing table, the multicast group distribution tree.
  • e.g.
    • Multicast group address: FF05::3333
    • Router: 2001:1:1::254/64
    • Receiver: 2001:1:1:1::1/64

MLDv1 Maintain multicast group

  1. To confirm Receiver exists int the segment, MLDv1 router send ICMPv6 Type 130 Multicast Listener Query to FF02::1 regularly.
  2. When the Receiver receive Multicast Listener Report, the Receiver send ICMPv6 Type 131 Multicast Listener Report to respond the Receiver exist the segment.
  3. The Multicast Listener Query is send without group, so this query type is “General Query”.

Multicast Listener Query Types

  1. General Query: destination is all multicast group
  2. Group-Specific Query: destination is specific multicast group

MDLv1 Leave a multicast group

  1. In MLDv1, Receiver send ICMPv6 Type 132 Multicast Listener Done Message to link-local all routers (FF02::2).
  2. When the routers receive Multicast Listener Done Message, the routers send ICMPv6 Type 130 Mutlicast Listener Query(Group-Specific Query). If Multicast Listner Query response cannnot observed, the multicast router delete the multicast group entry.
  3. If other nodes joined FF05::3333, other node respond to routers using ICMPv6 Type 131 Multicast Listener Report, multicast routers forward continuously the multicast traffic for FF05::3333.

MLDv2

  1. Messages
    1. ICMPv6 Type 130 Multicast Listener Query
    2. ICMPv6 Type 143 Version 2 Multicast Listener Report
  2. ICMPv6 Type 143 Version 2 Multicast Listener Report
    1. Destination: FF02::16 (All MLDv2-capable routers)
    2. Multicast Address Record Type
      1. Current State Report: Respond to Multicast Listener Query
        1. MODE_IS_INCLUDE: Filter mode is INCLUDE mode
  3. MODE_IS_EXCLUDE: Filter mode is EXCLUDE mode
    1. State Change Report: Join, or Leave multicast groups
      1. CHANGE_TO_INCLUDE_MODE: Change filter mode to INCLUDE
  4. CHANGE_TO_EXCLUDE_MODE Change filter mode to EXCLUDE
  5. ALLOW_NEW_SOURCES: Add multicast source address to receive
  6. BLOCK_OLD_SOURCES: Remove multicast source address to receive

MLDv2 Join multicast group

  1. Receiver send ICMPv6 Type 143 Version 2 Multicast Listener Report(State Change Report)
  2. Destination: FF02::16 (All MLDv2-capable routers)
  3. Same as IGMPv3, MLDv2 Version 2 Multicast Listener Report can specify Sender source address.
  4. Case, Specify Sender address:
    1. State Change Report
      1. Type = ALLOW_NEW_SOURCES
      2. Group = FF05::3333
      3. Source address = { S }
  5. Case, without Sender address:
    1. State Change Report
      1. Type = CHANGE_TO_EXCLUDE
      2. Group = FF05::3333
      3. Source address = { }

????

MLDv2 maintain multicast groups

  1. MDLv1 router send ICMPv6 Type 130 Multicast Listener Query by regular interval, and confirm whether Receiver exist or not.
    1. Multicast Listener Query destination: FF02::1 (All Nodes Address)
  2. If Receiver receive Multicast Listener Query, respond Version 2 Multicast Listener Report(Current State Report).
    1. Current State Report: Multicast Address Record
      1. With Sender source address: MODE_IS_INCLUDE
      2. Without Sender source address: MODE_IS_EXCLUDE

????

MLDv2 Leave Multicast Group

  1. In MLDv1, Receiver send ICMPv6 Type 132 Multicast Listener Done Message.
  2. In MLDv2, Receiver send ICMPv6 Type 143 Version 2 Multicast Listener Report(State Change Report) to FF02::16 (All MLDv2-capable routers).
  3. If router receive State Change Report indicate leave group, the router send ICMPv6 Type 130 Multicast Listener Query to confirm whether Receiver exist in the segment.
  4. If no ICMPv6 Type 143 Version 2 Multicast Listener Report, the router remove the mutlicast group entry.
  5. State Change Report: Multicast Address Record
    1. With Sender address: Type BLOCK_OLD_SOURCES
    2. Without Sender address: Type CHANGE_TO_INCLUDE_MODE

????

References

tech/network/cisco/multicast/l2/mld/introduction/introduction.txt · Last modified: 2021/07/21 08:09 by wnoguchi