MLD Configuration
Overview
Multicast Listener Discovery (MLD) is a protocol used by IPv6 hosts to communicate their desire to receive multicast traffic to the neighboring multicast routers. It serves a role similar to that of Internet Group Management Protocol (IGMP) in IPv4 networks. MLD is essential for efficient multicast routing in IPv6 networks, ensuring that multicast data is only sent to network segments with interested receivers.
IP hosts use MLD to inform multicast routers about their membership in specific multicast groups, allowing routers to maintain a list of group memberships per interface. When a host joins a multicast group, it sends an MLD Report to the router, which updates its membership list. Routers then use this information to forward multicast data only to network segments with interested hosts, optimizing network resources by preventing unnecessary traffic.
By default, when PIMv6 is enabled on an interface, MLD version 2 is enabled. MLD can be enabled on an interface explicitly.
Feature Characteristics
MLD allows hosts to notify multicast routers about their interest in joining or leaving multicast groups, with routers maintaining membership lists for each interface. Hosts use MLD Report messages to join and Done messages to leave groups, enabling routers to update memberships. Routers then use this data to forward multicast traffic only to interested network segments, optimizing bandwidth. By default, MLDv2 is enabled with PIMv6, supporting source-specific multicast and maintaining compatibility with MLDv1. Administrators can manually configure MLD on interfaces as needed, ensuring effective multicast management and interoperability between versions.
Benefits
These benefits make MLD an essential protocol for efficient and effective multicast routing in IPv6 networks, enhancing performance, scalability, and resource utilization.
• Efficient Multicast Traffic Management
• Network Resource Optimization
• Improved Scalability
• Enhanced Performance and Reliability
• Compatibility and Interoperability
• Administrative Control and Flexibility.
MLD Versions
OcNOS supports MLDv1 and MLDv2. By default, OcNOS enables MLDv2 when PIMv6 is enabled on an interface.
MLDv2 includes the following key changes from MLDv1:
• Support for Source-Specific Multicast (SSM), which builds shortest path trees from each receiver to the source, through the following feature:
• Host messages that can specify both the group and the source.
• The multicast state that is maintained for groups and sources, not just for groups as in MLDv1.
• Hosts no longer perform report suppression, which means that hosts always send MLD membership reports when an MLD query message is received.
MLD Operation
MLD works on the premise of three major packets exchange between MLD enabled routers and hosts, interested in joining a particular group.
MLD Query Operation
Once MLD is enabled or PIMv6 is enabled (which enables MLDv2), on any interface it starts sending Query message, which is called general query to the all-hosts multicast group at ff02::1 periodically to discover whether any hosts want to receive multicast data.
OcNOS elects a router as the MLD querier on a subnet if it has the lowest IP address. As long as a router continues to receive query messages from a router with a lower IP address, it resets a timer that is based on its querier timeout value. If the querier timer of a router expires, it becomes the designated querier. If that router later receives a host query message from a router with a lower IP address, it drops its role as the designated querier and sets its querier timer again.
In the figure below Router-1 eth2 sends query every query-interval. Since Router1-eth2 IPv6 link local address is less than Router-2 eth2, Router-1 eth2 becomes querier on the LAN.
MLD Membership Report Operation
When a host receives a query from the local router it sends a Host Membership Report for all the multicast groups for which it wants to receive multicast traffic. This is called solicited membership report.
When a host joins a new group, the host immediately sends a Membership Report to inform a local router that it wants to receive multicast traffic for the group it has just joined without waiting to receive a Query. This is called unsolicited membership report.
In the figure below Host-1 and Host-2 sends membership reports to Router-1 eth2 for all the multicast groups for which they want to receive multicast traffic. Upon reception of membership report Router-1 maintains an MLD group table containing multicast group-address, interface name on which it receives the report.
MLD Leave Operation
When a multicast host leaves a group, a host that runs MLD sends an MLD leave message. To check if this host is the last host to leave the group, the router sends an MLD query (Called as Group-specific-query) message and starts a timer that you can configure called the last member query response interval. If no reports are received before the timer expires, the software removes the group state. The router continues to send multicast traffic for a group until its state is removed.
In the figure below Host-1 and Host-2 sends leave message to Router-1 eth2 for all the multicast groups for which they don't want to receive multicast traffic. In response to leave message Router-1 eth2 sends an group-specific-query message before removing the multicast group address from the MLD table.
Configuration
You can configure MLD on a network device to manage multicast group memberships effectively. This configuration enables efficient multicast traffic distribution, optimizes bandwidth usage, and ensures that multicast data is only sent to network segments with interested receivers.
Topology
This topology ensures that each router's interfaces are configured with the specified IP or IPv6 link-local addresses, and verifies the switch's configurations for connectivity. It involves setting up routing protocols or static routes on each router for communication, and assigning and configuring IPv6 addresses on router and host interfaces to ensure proper device communication via link-local addresses. Additionally, routers are configured to handle unicast or multicast traffic, with necessary multicast routing protocols set up for multicast traffic.
The network topology shown in the
Figure 1-13 includes three routers, a switch, two hosts, and a source.
MLD Topology
Configuration
MLD Configuration
Configure Multicast Listener Discovery (MLD) on a network device. Activate MLD version 1 on the interface, which is responsible for managing the multicast group memberships.
R1#configure terminal
R1(config)#ipv6 multicast-routing
R1(config)#interface eth2
R1(config-if)#ip address 2001::1/64
R1(config-if)#ipv6 mld version 1
R1(config-if)#commit
R1(config-if)#exit
Validation
Enter the commands listed in this section to confirm the previous configurations.
#show running-config
!
no service password-encryption
!
hostname rtr1
!
Ipv6 multicast-routing
!
!
interface eth2
ip address 2001::1/64
no shutdown
ipv6 mld version 1
Configuring MLD Parameters
The configuration that follows shows how MLD parameters can be configured.
1. Assign the IPv6 address 2001::1/64 to the eth2 interface, enabling IPv6 communication.
R1#configure terminal
R1(config)#interface eth2
R1(config-if)#ip address 2001::1/64
2. Enable MLD Immediate Leave that allows the interface to immediately remove a host from a multicast group when it sends a leave message, improving the efficiency of multicast group management..
R1(config-if)#ipv6 mld version 1
R1(config)#ipv6 multicast-routing
R1(config)#interface eth2
R1(config-if)#ipv6 mld access-group 1
R1(config-if)#ipv6 mld immediate-leave
3. Configure MLD group-list. This command associates a specific group-list (1) with the MLD configuration, controlling which multicast groups are permitted on the interface. Set the MLD querier timeout, interval, query maximum response time, robustness variable, startup query count, and startup query interval.
R1(config-if)#group-list 1
R1(config-if)# ipv6 mld last-member-query-count 7
R1(config-if)# ipv6 mld last-member-query-interval 25500
R1(config-if)#ipv6 mld limit 100
R1(config-if)#ipv6 mld querier-timeout 300
R1(config-if)#ipv6 mld query-interval 200
R1(config-if)#ipv6 mld query-max-response-time 150
R1(config-if)#ipv6 mld robustness-variable 4
R1(config-if)#ipv6 mld startup-query-count 4
R1(config-if)# ipv6 mld startup-query-interval 50
R1(config-if)#ipv6 mld static-group FF1E::1
R1(config-if)#commit
R1(config-if)#exit
Validation
Enter the commands listed in this section to confirm the previous configurations
#show running-config
!
no service password-encryption
!
hostname rtr1
!
!
Ipv6 multicast-routing
!
!
interface eth2
ipv6 address 2001::1/64
no shutdown
ipv6 mld access-group 1
ipv6 mld immediate-leave group-list 1
ipv6 mld last-member-query-count 7
ipv6 mld limit 100
ipv6 mld static-group ff1e::1
ipv6 mld last-member-query-interval 25500
ipv6 mld querier-timeout 300
ipv6 mld query-interval 200
ipv6 mld query-max-response-time 150
ipv6 mld startup-query-interval 50
ipv6 mld startup-query-count 4
ipv6 mld robustness-variable 4
ipv6 mld ra-option
ipv6 mld version 1
!!
Rtr1#show ipv6 mld interface eth2
Interface eth2 (Index 4)
MLD Enabled, Active, Querier, Configured for version 1
Internet address is fe80::eac5:7aff:fe78:a2d9
MLD interface limit is 100
MLD interface has 1 group-record states
MLD interface statistics:
v1-reports: 0, v1-leaves: 0
v2-reports: 0
MLD query interval is 200 seconds
MLD startup query interval is 50 seconds
MLD startup query count is 4
MLD querier timeout is 300 seconds
MLD max query response time is 150 seconds
Group Membership interval is 950 seconds
MLD Last member query count is 7
Last member query response interval is 1000 milliseconds
MLD Group Table after MLDv1 Membership Report is received
MLD group table is populated at router by virtue of either static join is configured on interface or dynamic report is being received on the interface.
The show ipv6 mld groups command displays the MLD group table. In this table, the following fields are defined.
Table 1-24: MLD group table after MLDv1 membership report
Group address | Displays the Multicast Group for which report is received. |
Interface | Interface name on which Membership report is received. |
Uptime | Duration since the report is received. |
Expiry | Time frame in which the multicast group is going to expire. |
Last Reporter | Host address from where the report is generated. |
#show ipv6 mld groups
MLD Connected Group Membership
Group Address Interface Uptime Expires State Last Reporter
ff04::1 xe18 00:00:10 00:15:40 Active fe80::1
ff1e::1 xe18 00:17:22 static Active ::
#show ipv6 mld groups detail
MLD Connected Group Membership Details
Flags: (M - SSM Mapping, R - Remote,
SG - Static Group, SS - Static Source)
Interface: xe18
Group: ff04::1
Flags: R
Uptime: 00:00:33
Group mode: Exclude (Expires: 00:15:17)
State: Active
Last reporter: fe80::1
Source list is empty
Flags: (M - SSM Mapping, R - Remote,
SG - Static Group, SS - Static Source)
Interface: xe18
Group: ff1e::1
Flags: SG
Uptime: 00:17:45
Group mode: Exclude (Static)
State: Active
Last reporter: ::
Source list is empty
Glossary
The following provides definitions for key terms or abbreviations and their meanings used throughout this document:
Key Terms/Acronym | Description |
---|
IGMP | Multicast Listener Discovery (MLD) is a protocol used in IPv6 networks that allows network devices (hosts) to inform multicast routers of their intention to receive multicast traffic. |
MLD | The Internet Group Management Protocol (IGMP) is a communication protocol used in IPv4 networks to manage multicast group memberships. |