The multicast technology that appeared in the IPv4 era effectively solves the problems of single-point transmission and multi-point reception, realizes efficient data transmission from point to multi-point in the network, and can save a lot of network bandwidth and reduce network load. In the IPv6 network, the application of multicast technology has been further enriched and strengthened. MLD can be understood as the IPv6 version of IGMP. The protocol behavior of the two is exactly the same, and the difference is only in the packet format.
MLD is the abbreviation of Multicast Listener Discovery Protocol (Multicast Listener Discovery Protocol), which is used by IPv6 routers to discover multicast listeners on their directly connected network segments. Multicast listeners are those host nodes that wish to receive multicast data. Through the MLD protocol, the router can know whether there are listeners of IPv6 multicast groups on its directly connected network segment, and make corresponding records in the database. At the same time, the router also maintains timer information related to these IPv6 multicast addresses. The MLD router uses the IPv6 unicast link-local address as the source address to send MLD packets. MLD uses the ICMPv6 (Internet Control Message Protocol for IPv6, Internet Control Message Protocol for IPv6) message type. All MLD packets are restricted to the local link with a hop count of 1.
So far, there are two versions of MLD:
MLDv1 version (defined by RFC 2710), corresponding to IGMPv2.
MLDv2 version (defined by RFC 3810), corresponding to IGMPv3.
The working mechanism of MLDv1 is the same as that of IGMPv2, and the management of IPv6 multicast group members is completed based on the query and response mechanism. On the basis of MLDv1, MLDv2 adds the main function that member hosts can specify to receive or not receive packets from certain multicast sources. The processing of protocol packets between the two versions of MLD is forward compatible during the evolution process, that is, a multicast router running MLDv2 can identify MLDv1 protocol packets.
All MLD versions support the ASM (Any-Source Multicast) model. MLDv2 can be directly applied to the SSM (Source-Specific Multicast) model, while MLDv1 requires the support of the MLD SSM Mapping technology to be applied to the SSM model.
MLDv1 includes four types of packets:
General Query message: A query message sent by the querier to all hosts and routers on the shared network to learn which multicast groups have members.
Multicast Address Specific Query: The query message sent by the querier to the specified multicast group in the shared network segment is used to query whether the multicast group has members.
Multicast Listener Report: A report message sent by the host to the querier to apply for joining a multicast group or to answer the query message.
Multicast Listener Done: A message sent to the querier when a host leaves a multicast group to announce that it has left a multicast group.
Compared with MLDv1, the changes of MLDv2 packets are as follows:
MLDv2 packets include two categories: query packets and member report packets. MLDv2 does not define a special member leave message, which is conveyed by a specific type of report message.
The query packets include not only general group query packets and specific group query packets, but also new source-specific query packets (Multicast Address and Source Specific Query). The message is sent by the querier to a specific multicast group member in the shared network segment to query whether the group member is willing to receive data sent by a specific source. The specific source group query achieves this by carrying one or more multicast source addresses in the packet. You can check for more.
Membership report packets contain not only the multicast group the host wants to join, but also the multicast sources from which the host wants to receive data.
MLD SSM Mapping:
SSM (Source-Specific Multicast) is called Source-Specific Multicast, which requires routers to know the multicast source specified when a member host joins a multicast group. If MLDv2 runs on the member host, you can directly specify the multicast source address in the MLDv2 report packet. However, in some cases, member hosts can only run MLDv1. To enable them to use the SSM service, the multicast router needs to provide the MLD SSM Mapping function.
The mechanism of MLD SSM Mapping is to convert the (*, G) information in the MLDv1 report packet into the corresponding (G, INCLUDE, (S1, S2…)) by statically configuring the SSM address mapping rules on the multicast router information to provide SSM multicast services. MLD SSM Mapping does not process MLDv2 report packets. Spotodumps.