No relevant resource is found in the selected language.

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Read our privacy policy>Search

Reminder

To have a better experience, please upgrade your IE browser.

upgrade

CX11x, CX31x, CX710 (Earlier Than V6.03), and CX91x Series Switch Modules V100R001C10 Configuration Guide 13

The documents describe the configuration of various services supported by the CX11x&CX31x&CX91x series switch modules The description covers configuration examples and function configurations.
Rate and give feedback:
Huawei uses machine translation combined with human proofreading to translate this document to different languages in order to help you better understand the content of this document. Note: Even the most advanced machine translation cannot match the quality of professional translators. Huawei shall not bear any responsibility for translation accuracy and it is recommended that you refer to the English document (a link for which has been provided).
Principles

Principles

This section describes working mechanisms of MLD.

MLD Versions

MLD has two versions:
  • MLDv1 defined in RFC 2710: corresponds to IGMPv2.
  • MLDv2 defined in RFC 3810: corresponds to IGMPv3.

MLDv1 defines the IPv6 multicast member query and report mechanism. The process is the same mechanism as IGMPv2. MLDv2 works similarly to MLDv1. The most significant difference between the two versions lies in that MLDv2 allows hosts to specify the multicast sources they do or do not want to receive messages from. The MLD versions are backward compatible. Therefore, a multicast router running MLDv2 can identify MLDv1 protocol messages.

Both MLD versions support the Any-Source Multicast (ASM) model. MLDv2 can be directly used in the Source-Specific Multicast (SSM) model; however, MLDv1 can be applied to the SSM model only when MLD SSM mapping is configured. For details about the ASM and SSM models, see Multicast Service Models.

MLDv1 Working Principles

The working mechanism of MLDv1 is the same as that of IGMPv2. MLDv1 defines the querier election, general query and report, member join, and leave mechanisms.

The MLD querier periodically sends a General Query message to all hosts and multicast routers on the local network segment and maintains memberships based on Multicast Listener Report messages from the hosts. When receiving a Multicast Listener Done message, the querier sends a Multicast Address Specific Query message to check whether the group has other members. If the MLD querier does not receive any Report message for the group within a specified period, it no longer maintains memberships of the group. The MLD querier determines whether to forward multicast data packets to the network segment based on memberships.

MLDv1 Messages

MLDv1 defines the following messages:
  • General Query message: A querier sends General Query messages to all hosts and routers on the local network segment to discover which host groups have members on the network segment.
  • Multicast Address Specific Query message: A querier sends Multicast Address Specific Query messages to members in a specified multicast group on the shared network segment to check whether the group has members.
  • Multicast Listener Report message: Hosts send Multicast Listener Report messages to a querier to request to join a multicast group or respond to General Query messages.
  • Multicast Listener Done message: A host sends a Multicast Listener Done message to notify the querier on the local network segment that it has left a group.

Figure 8-30 illustrates the MLDv1 message format, and Table 8-23 explains the fields in an MLDv1 message.

Figure 8-30 MLDv1 message format
Table 8-23 Fields in an MLDv1 message
Field Description
Type Message type. Options are:
  • 130: Query message. MLDv1 Query messages include General Query messages and Multicast Address Specific Query messages.
  • 131: Multicast Listener Report message
  • 132: Multicast Listener Done message
Code This field is set to 0 by the sender and is ignored by the receiver.
Checksum Standard Internet Control Message Protocol version 6 (ICMPv6) checksum. It covers the entire MLD message plus a pseudo header of IPv6 header fields. When computing the checksum, a device initially sets the checksum field to 0. The receiver verifies the checksum before processing the packet.
Maximum Response Delay Maximum response time. After receiving a General Query message, hosts must respond with a Multicast Listener Report message within the maximum response time. This field is valid only in MLD Query messages.
Reserved Reserved field. This field is set to 0 by the sender and is ignored by the receiver.
Multicast Address Address of a multicast group.
  • In a General Query message, this field is set to 0.
  • In a Multicast Address Specific Query message, this field is set to the IPv6 address of the queried group.
  • In a Multicast Listener Report or Done message, this field is set to the IPv6 address of the group that the host wants to join or leave.

How MLDv1 Works

As shown in Figure 8-31, RouterA and RouterB connect to an IPv6 network segment with three receivers: HostA, HostB, and HostC. HostA and HostB want to receive data sent to group G1, and HostC wants to receive data sent to group G2.
Figure 8-31 IPv6 multicast network

The following describes the querier election, general query and report, join, and leave mechanisms on the above IPv6 multicast network.

Querier election mechanism

When there are multiple IPv6 multicast routers on a network segment, all the multicast routers can receive Membership Report messages from hosts. Therefore, only one multicast router needs to send Query messages to the network segment. The router selected to send Query messages is regarded as the MLD querier.

Figure 8-32 MLDv1 querier election process

As shown in Figure 8-32, a querier is elected as follows:

  1. All MLD routers (RouterA and RouterB in this example) consider themselves queriers and send General Query messages to all hosts and multicast routers on the local network segment.

    When the routers receive a General Query message, they compare the source IPv6 address of the message with their own interface IPv6 address. The router with the smallest IPv6 address becomes the querier, and the other routers are considered non-queriers. In this example, RouterA has a smaller interface address than RouterB. Therefore, RouterA becomes a querier, and RouterB becomes a non-querier.

  2. The MLD querier (RouterA) sends General Query messages to all hosts and other multicast routers on the local network segment. The non-querier (RouterB) no longer sends General Query messages.

    RouterB starts the other querier present timer. If RouterB receives a Query message from the querier before the timer expires, it resets the timer; otherwise, it triggers a querier election.

General query and report mechanism

By sending General Query messages and receiving Report messages, an MLD querier knows which groups have members on the local network segment.

Figure 8-33 MLDv1 general query and report process

As shown in Figure 8-33, the general query and report process is as follows:

  1. The MLD querier sends a General Query message with destination address FF02::1 (indicating all hosts and routers on the network segment). All group members start a timer when they receive the General Query message.

    The MLD querier sends General Query messages at intervals. The interval is configurable, and the default interval is 125 seconds. HostA and HostB are members of G1 and they start a timer for G1 (Timer-G1). The timer length is a random value between 0 and the maximum response time (10 seconds by default).

  2. The host whose timer expires first sends a Multicast Listener Report message for the group.

    In this example, Timer-G1 on HostA expires first, and HostA sends a Report message with the destination address G1. When HostB receives the Report message sent by HostA, it stops Timer-G1 and does not send any Report message for G1. This mechanism reduces the number of MLD messages transmitted on the network segment.

  3. After the MLD querier receives the Multicast Listener Report message from HostA, it knows that group G1 has members on the local network segment. The MLD querier then uses the IPv6 multicast routing protocol to create a (*, G1) entry, in which * stands for any multicast source. Once the MLD querier receives data sent to G1, it forwards the data to this network segment.

Join mechanism

A host on the shared network segment who wants to join a multicast group sends a Multicast Listener Report message to an MLD querier without waiting for a General Query message.

Figure 8-34 MLDv1 join process

As shown in Figure 8-34, IPv6 host HostC joins group G2 through the following process:

  1. HostC sends a Multicast Listener Report message for G2 without waiting for a General Query message.
  2. After receiving the Multicast Listener Report message, the MLD querier knows that a member of G2 has connected to the local network segment, and creates a (*, G2) entry. Once the MLD querier receives data sent to G2, it forwards the data to this network segment.

Leave mechanism

The leave mechanism allows an MLD querier to know the groups that have no members on a local network segment and quickly update memberships. This mechanism reduces redundant multicast traffic on the network.

Figure 8-35 MLDv1 leave process

As shown in Figure 8-35, IPv6 host HostA leaves group G1 through the following process:

  1. HostA sends a Multicast Listener Done message for G1 to all multicast routers on the local network segment. The destination address of the Multicast Listener Done message is FF02::2.
  2. When the MLD querier receives the Multicast Listener Done message, it sends Multicast Address Specific Query messages for G1 to check whether G1 has other members on the network segment. The query interval and count are configurable. By default, the MLD querier sends Multicast Address Specific Query messages twice, at an interval of 1 second. In addition, the MLD querier starts the group membership timer. The timer length is the product of the group-specific query interval and count.
  3. G1 has another member, HostB, on the network segment. When receiving a Multicast Address Specific Query message, HostB immediately sends a Multicast Listener Report message for G1. The MLD querier continues maintaining the membership of G1 after receiving the Multicast Listener Report message.

    If G1 has no member on the network segment, the MLD querier will not receive any Multicast Listener Report message for G1. When the group membership timer times out, the querier deletes the (*, G1) entry. Thereafter, if the MLD querier receives multicast data sent to G1, it does not forwards the data downstream.

Changes in MLDv2

MLDv1 messages carry only group information and do not carry multicast source information. Therefore, MLDv1 hosts can only select the groups they want to join and cannot select the multicast sources from which they want to receive multicast data. MLDv2 allows hosts to select both multicast groups and multicast sources. Unlike MLDv1 Membership Report messages that carry only one group, MLDv2 Membership Report messages can carry multiple groups, which greatly reduces the number of messages transmitted between receiver hosts and the querier.

MLDv2 Messages

Compared with MLDv1, MLDv2 has the following changes:

  • MLDv2 defines two message types: Query messages and Report messages. Unlike MLDv1, MLDv2 does not define a Multicast Listener Done message. Group members send Report messages of a specified type to notify multicast routers that they have left a multicast group.
  • In addition to General Query and Multicast Address Specific Query messages, MLDv2 defines a new Query message type: Multicast Address and Source Specific Query. A querier sends a Multicast Address and Source Specific Query message to members in a specific group on the shared network segment, to check whether the group members want data from specific sources. A Multicast Address and Source Specific Query message carries one or more multicast source addresses.
  • A Multicast Listener Report message contains the group that a host wants to join and the multicast sources from which the host wants to receive data. MLDv2 supports source filtering and defines filtering modes INCLUDE and EXCLUDE. Group-source mappings are represented by (G, INCLUDE, (S1, S2...)) or (G, EXCLUDE, (S1, S2...)). The (G, INCLUDE, (S1, S2...)) entry indicates that a host wants to receive data sent from the listed multicast sources to group G. The (G, EXCLUDE, (S1, S2...)) entry indicates that a host wants to receive data sent from all multicast sources except listed ones to group G. When group-source mappings change, hosts add these changes to the Multicast Address Record fields in MLDv2 Multicast Listener Report messages and send MLDv2 Multicast Listener Report messages to the MLD querier on the local network segment.

Figure 8-36 illustrates the MLDv2 Query message format, and Table 8-24 explains the fields in an MLDv2 message.

Figure 8-36 MLDv2 Query message format
Table 8-24 Fields in an MLDv2 Query message
Field Description
Type Message type. In MLDv2 Query messages, this field is set to 130. MLDv2 Query messages include General Query, Multicast Address Specific Query, and Multicast Address and Source Specific Query messages.
Code This field is set to 0 by the sender and is ignored by the receiver.
Checksum Standard ICMPv6 checksum. It covers the entire MLD message plus a pseudo header of IPv6 header fields. When computing the checksum, a device initially sets the checksum field to 0. The receiver verifies the checksum before processing the packet.
Maximum Response Code Maximum response time. After receiving a General Query message, hosts must respond with a Multicast Listener Report message within the maximum response time. This field is valid only in MLD Query messages.
Reserved Reserved field. This field is set to 0 by the sender and is ignored by the receiver.
Multicast Address Address of a multicast group. In a General Query message, this field is set to 0. In a Multicast Address Specific Query or Multicast Address and Source Specific Query message, this field is set to the IPv6 address of the queried group.
Resv Reserved field. This field is set to 0 by the sender and is ignored by the receiver.
S Suppressed router-side processing. When this flag is set to 1, routers receiving the Query message suppress timer updates. Such a Query message does not suppress the querier election or normal host-side processing on the routers.
QRV Querier's robustness variable. A non-0 value indicates the robustness variable of the querier. This field is set to 0 if the robustness variable of the querier exceeds 7. When a router receives a Query message and finds that the QRV field is not 0, the router sets its robustness variable to the value of the QRV field. If the QRV field is 0, the router ignores this field.
QQIC Query interval code of an MLD querier, in seconds. When a non-querier router receives a Query message and finds that the QQIC field is not 0, the non-querier router sets its query interval to the value of the QQIC field. If the QQIC field is 0, the non-querier router ignores this field.
Number of Sources Number of multicast sources in the message. In a General Query or Multicast Address Specific Query message, this field is set to 0. In a Multicast Address and Source Specific Query message, this field is not 0. This number is limited by the maximum transmission unit (MTU) of the network over which the Query message is transmitted.
Source Address Address of a multicast source. The value is limited by the value of the Number of Sources field.

Figure 8-37 illustrates the MLDv2 Multicast Listener Report message format, and Table 8-25 explains the fields in an MLDv2 Multicast Listener Report message.

Figure 8-37 MLDv2 Multicast Listener Report message format
Table 8-25 Fields in an MLDv2 Multicast Listener Report message
Field Description
Type Message type. In MLDv2 Multicast Listener Report messages, this field is set to 143.
Reserved Reserved field. This field is set to 0 by the sender and is ignored by the receiver.
Checksum Standard ICMPv6 checksum. It covers the entire MLD message plus a pseudo header of IPv6 header fields. When computing the checksum, a device initially sets the checksum field to 0. The receiver verifies the checksum before processing the packet.
Nr of Mcast Address Records Number of multicast group records in the message.
Multicast Address Record Multicast address record. Figure 8-38 illustrates the format of a multicast address record, and Table 8-26 explains the fields in a multicast address record.
Figure 8-38 Multicast address record format
Table 8-26 Fields in a multicast address record
Field Description
Record Type
Group record type. Options are:
  • Current-State Record: sent by a host in response to a Query message to report the current state. This record type is one of the following two values:
    • MODE_IS_INCLUDE: indicates that the host wants to receive multicast data sent from the listed source addresses to the specified multicast group address. The Multicast Listener Report message is invalid if the source list is empty.
    • MODE_IS_EXCLUDE: indicates that the host does not want to receive multicast data sent from the listed source addresses to the specified multicast group address.
  • Filter-Mode-Change Record: sent by a host when the filter mode changes. This record type is one of the following two values:
    • CHANGE_TO_INCLUDE_MODE: indicates that the filter mode has changed from EXCLUDE to INCLUDE. The host wants to receive multicast data sent from the new sources in the Source Address fields to the specified multicast group address. If the source list is empty, the host will leave the group.
    • CHANGE_TO_EXCLUDE_MODE: indicates that the filter mode has changed from INCLUDE to EXCLUDE. The host rejects multicast data sent from the new sources in the Source Address fields to the specified multicast group address.
  • Source-List-Change Record: sent by a host when the source list changes. This record type is one of the following two values:
    • ALLOW_NEW_SOURCES: indicates that the Source Address fields in this group record contain additional sources from which the host wants to receive multicast data, sent to the specified multicast group address. If the filter mode is INCLUDE, the sources in the Source Address fields are added to the source list. If the filter mode is EXCLUDE, the sources in the Source Address fields are deleted from the source list.
    • BLOCK_OLD_SOURCES: indicates that the Source Address fields in this group record contain the sources from which the host no longer wants to receive multicast data. If the filter mode is INCLUDE, the sources in the Source Address fields are deleted from the source list. If the filter mode is EXCLUDE, the sources in the Source Address fields are added to the source list.
Aux Data Len Length of the Auxiliary Data field. MLDv2 Multicast Listener Report messages do not contain auxiliary data, so the Aux Data Len field is set to 0.
Number of Sources Number of source addresses in this group record.
Multicast Address Address of a multicast group.
Sources Address Address of a multicast source.
Auxiliary Data Additional information in this group record. MLDv2 Multicast Listener Report messages do not contain auxiliary data. For more information about this field, see RFC 3810.

How MLDv2 Works

Compared with MLDv1, MLDv2 allows hosts to select specific multicast sources.

Joining a specific source and group

MLDv2 Multicast Listener Report messages have a destination address FF02::16, which indicates all MLD-capable multicast routers on the same network segment. A Multicast Listener Report message contains Group Record fields, allowing hosts to specify the multicast sources which they do or do not want to receive data from when joining a multicast group. As shown in Figure 8-39, two multicast sources S1 and S2 send data to multicast group G. The host only wants to receive data sent from S1 to G.

Figure 8-39 MLDv2 source-and-group-specific multicast data flow

If MLDv1 is running between the host and its upstream router, the host cannot select multicast sources when it joins group G. The host receives data from both S1 and S2, regardless of whether it requires the data. If MLDv2 is running between the host and its upstream router, the host can choose to receive only data from S1 using either of the following methods:

  • Method 1: Send an MLDv2 Multicast Listener Report (G, INCLUDE, (S1)), requesting to receive only the data sent from S1 to G.
  • Method 2: Send an MLDv2 Multicast Listener Report (G, EXCLUDE, (S2)), notifying the upstream router that it does not want to receive data from S2. Then only data sent from S1 is forwarded to the host.

Multicast Address and Source Specific Query

When an MLD querier receives a Multicast Listener Report message with Filter-Mode-Change Records or Source-List-Change Records (such as CHANGE_TO_INCLUDE_MODE and CHANGE_TO_EXCLUDE_MODE), it sends a Multicast Address and Source Specific Query message. If members want to receive data from any source in the source list, they send Multicast Listener Report messages. The MLD querier updates the source list of the corresponding group according to the received Multicast Listener Report messages.

MLD SSM Mapping

Source-Specific Multicast (SSM) requires multicast routers to know multicast sources that hosts specify when they join a multicast group. A host running MLDv2 can specify multicast source addresses in MLDv2 Report messages. Some hosts can run only MLDv1. To enable such hosts to obtain the SSM service, multicast routers need to provide the MLD SSM mapping function.

MLD SSM mapping is implemented based on static SSM mapping entries. A multicast router converts (*, G) information in MLDv1 Multicast Listener Report messages to (G, INCLUDE, (S1, S2...)) information according to static SSM mapping entries to provide the SSM service for MLDv1 hosts.

On the IPv6 SSM network shown in Figure 8-40, HostA runs MLDv1, while HostB runs MLDv2. If the MLD version of HostA cannot be upgraded to MLDv2, configure MLD SSM mapping on the router.

Figure 8-40 MLD SSM mapping

With SSM mapping entries configured, Router checks the multicast group address G in each received MLDv1 Report message, and processes the message based on the check result:
  • If G is out of the IPv6 SSM group address range, Router provides the ASM service.
  • If G is within the IPv6 SSM group address range:
    • When Router has no MLD SSM mapping entry matching G, it does not provide the SSM service and drops the Report message.
    • If Router has an MLD SSM mapping entry matching G, it converts (*, G) information in the Report message into (G, INCLUDE, (S1, S2...)) information and provides the SSM service for the hosts.

MLD SSM Mapping does not apply to MLDv2 Multicast Listener Report messages. To enable hosts running any MLD version on a network segment to obtain the SSM service, MLDv2 must run on interfaces of multicast routers on the network segment.

Translation
Download
Updated: 2019-12-13

Document ID: EDOC1000041694

Views: 60642

Downloads: 3623

Average rating:
This Document Applies to these Products
Related Version
Related Documents
Share
Previous Next