[Contents] [Prev] [Next] [Index] [Report an Error]


MLD

Hosts use Multicast Listener Discovery (MLD) protocol in IPv6 to report their multicast group memberships to neighboring routers. Similarly, multicast routers, such as the E-series router, use MLD to discover which of their hosts belong to multicast groups.

The IPv6 address scheme uses hexadecimal FF at the start of an address for IPv6 multicast. MLD is a protocol that uses these addresses. The following addresses have specific functions:

This implementation of MLD complies with MLD versions 1 and 2. MLDv2 allows for source-specific join and leave messages and is backward compatible with MLDv1. Configuring MLDv1 with the SSM mapping feature provides support for source-specific joins.

MLD Operation

MLDv1 mode interfaces exchange the following types of messages between routers and hosts:

MLDv2 mode interfaces exchange the following types of messages with MLDv2 hosts:

Multicast Listener Queries

A multicast router can be a querier or a nonquerier. There is only one querier on a network at any time. Multicast routers monitor queries from other multicast routers to determine the status of the querier. If the querier hears a query from a router with a lower IPv6 address, it relinquishes its role to that router.

MLDv1 and MLDv2 mode interfaces send two types of multicast listener queries to hosts on the network:

MLDv2 mode interfaces send the following type of queries to MLDv2 hosts:

The purpose of a membership group query is to discover the multicast groups to which a host belongs.

MLDv1 and MLDv2 multicast listener queries have a Max Response Time field. This response time is the maximum that a host can take to reply to a query.

Multicast Listener Reports

When a host receives a multicast listener query, it identifies the groups associated with the query and determines to which groups it belongs. The host then sets a timer, with a value less than the Max Response Time field in the query, for each group to which it belongs.

When the timer expires, the host sends a multicast listener report to the group address. When a multicast router receives a report, it adds the group to the membership list for the network and sets a timer to the multicast address listening interval. If this timer expires before the router receives another multicast listener report, the router determines that the group has no members left on the network.

If the router does not receive any reports for a specific multicast group within the maximum response time, it assumes that the group has no members on the network. The router does not forward subsequent multicasts for that group to the network.

MLDv2 supports an extended report format that allows you to report multiple groups and source lists in a single report. These reports are addressed to the all-MLDv2 router's multicast address (FF02::16).

Multicast Listener Done Messages

When an MLDv1 host leaves a group, it sends a multicast listener done message to multicast routers on the network. A host generally addresses multicast listener done messages to the all-routers address, FF02::2.

When an MLDv2 host leaves a group, it sends a multicast listener report. This report includes an empty source list for that group.

Configuring Static and Dynamic MLD Interfaces

The router supports static and dynamic MLD interfaces. Unlike static interfaces, dynamic interfaces are not restored when you reboot the router. For some protocols, dynamic layers can build on static layers in an interface; however, in a dynamic MLD interface, all the layers are dynamic. See Figure 30 for examples of static and dynamic MLD interfaces.


Figure 30: Static and Dynamic MLD Interfaces

Static MLD interfaces are configured with software such as the CLI or an SNMP application; dynamic MLD interfaces are configured with a profile. A profile comprises a set of attributes for an interface; a profile for dynamic MLD interfaces contains attributes for configuring all the layers in the interface.

You define a profile by using the same CLI commands that you use to configure a static MLD interface; however, the mode in which you use the commands differs. Use the commands in Interface Configuration mode to configure a static MLD interface and in Profile Configuration mode to define a profile.

When you have defined a profile, you can apply it to an interface or a group of interfaces. Profiles provide an efficient method of creating and managing large numbers of dynamic interfaces. For detailed information about creating and assigning profiles, see JUNOSe Link Layer Configuration Guide, Chapter 13, Configuring Dynamic Interfaces. When you create a profile for dynamic MLD interfaces, specify attributes for configuring all layers in the interface.

You use the MLD commands shown in Table 21 to configure a static MLD interface. You also use these commands to define the attributes for the MLD layer when you create a profile for dynamic MLD interfaces.

Table 21: Static MLD Commands

ipv6 mld

ipv6 mld query-interval

ipv6 mld access-group

ipv6 mld query-max-response-time

ipv6 mld access-source-group

ipv6 mld robustness

ipv6 mld group limit

ipv6 mld static-include

ipv6 mld immediate-leave

ipv6 mld static-exclude

ipv6 mld last-member-query-interval

ipv6 mld static-group

ipv6 mld querier-timeout

ipv6 mld version


The following sections describe the tasks associated with these commands.

Enabling MLD on an Interface

You must start MLD on each interface that you want to use the protocol. You can configure MLD and PIM on the same interface. If you configure only MLD on an interface, the router considers that MLD owns that interface. If you configure MLD and PIM on an interface, the router considers that PIM owns the interface.

In an MLDv1 or MLDv2 network, the querier is the router with the lowest IPv6 address.

To start MLD, complete the following steps:

  1. Enable MLD on the interface (MLDv2 is the default version).
  2. (MLDv1) Specify the MLD version for the interface.

ipv6 mld

ipv6 mld version

Configuring MLD Settings for an Interface

When you start MLD on an interface, it operates with the default settings. You can, however, modify:

ipv6 mld immediate-leave

ipv6 mld last-member-query-interval

ipv6 mld querier-timeout

ipv6 mld query-interval

ipv6 mld query-max-response-time

ipv6 mld robustness

Assigning a Multicast Group to an Interface

You can assign an interface to send and receive all traffic for a particular multicast group. This feature allows you to control the MLD traffic and to test the behavior of multicast protocols in the network.

ipv6 mld static-group

Specifying Multicast Groups

You can use a standard IPv6 access list to specify the multicast groups that a host can join.

ipv6 mld access-group

ipv6 mld access-source-group

Configuring SSM Mapping

SSM mapping allows the router to determine one or more source addresses for group G. The mapping effectively translates an MLDv1 multicast listener report to an MLDv2 report, allowing the router to continue as if it had initially received an MLDv2 report. Once the router is joined to these groups, it sends out PIM join messages and continues to allow joining from these groups, as long as it continues to receive MLDv1 membership reports and no change occurs to the SSM mapping for the group.

When you statically configure SSM mapping, the router can discover source addresses from a statically configured table.

The following applies when you configure SSM mapping:

ipv6 mld ssm-map enable

ipv6 mld ssm-map static

Limiting the Number of Accepted MLD Groups

By default, there is no limit on the number of MLD groups that an MLD interface can accept. However, you can manage multicast traffic on the router by restricting the number of MLD groups accepted by:

If you set limits for both a port and interfaces on that port, the router uses the lower of the two limits when determining how many MLD groups an interface can accept. For example, if you set a limit of 10 groups for the port and 15 groups for each interface, the router allows only 10 groups to be accepted among the interfaces.

However, if you set a limit for a port and that limit is lower than the number of groups currently accepted by the interfaces on that port, the router does not dissociate the groups from the interfaces. The router enforces the new limit on the port when the number of groups associated with the interfaces falls to that limit. For example, if the interfaces on the port have accepted a total of 15 groups, and you set a limit of 10 groups on the port, the router does not disconnect any of the groups and does not allow the interfaces to accept any more groups. Over time, some groups leave the interfaces and, eventually, a maximum of ten groups remains connected.

ipv6 mld group limit

multicast group port limit

Including and Excluding Traffic

MLDv2 extends MLDv1 functionality with the ability to include or exclude specific multicast traffic sources. That is, with MLDv2, hosts signal (S,G) pairs that they want to include or exclude.

For hosts that cannot signal group membership dynamically, you can use the ipv6 mld static-include or ipv6 mld static-exclude command to statically include or exclude multicast traffic, respectively.

MLDv2 is the industry-designated standard protocol for hosts to signal channel subscriptions in SSM. For additional information about SSM, see PIM SSM later in this chapter.

ipv6 mld static-exclude

ipv6 mld static-include

Disabling and Removing MLD

You can disable and reenable MLD on the VR. You can also remove MLD from the VR and recreate it on the VR.

mld disable

router mld
    ipv6 router mld

Monitoring MLD

You can establish a reference point for MLD statistics by setting the statistics counters to zero.

To display MLD parameters, use the show commands described in this section.

baseline ipv6 mld

show ipv6 mld

show ipv6 mld groups

host1:boston#show ipv6 mld groups

    Grp Address        Interface       State       Reporter     ExpTim oldHTo
------------------- --------------- ----------- --------------- ------ ------
ff0e::1             ATM5/0.200      Version2    ---             never  ---
ff0e::2             ATM5/0.200      Version1    fe80::f7:0:241a 91     91
                                                :0

Counts: 1 version-2, 1 version-1, 0 check state, 0 disabled
       (2 total)
        0 excluded

show ipv6 mld interface

show ipv6 mld interface brief

host1:boston#show ipv6 mld interface brief

   Interface     Intf Address   Ver    State        Querier     QTime  QPTime
--------------- --------------- --- ----------- --------------- ------ ------
ATM5/0.1        fe80::f7:0:231a 1   Querier     fe80::f7:0:231a 1      0
                :0                              :0
ATM5/0.200      fe80::f7:0:231a 2   Querier     fe80::f7:0:231a 20     0
                :0                              :0

Counts: 0 down, 0 init state, 2 querier, 0 non-querier, 2 Total

show ipv6 mld ssm-mapping

show multicast group limit


[Contents] [Prev] [Next] [Index] [Report an Error]