MLD Messages

There are three types of MLD messages:

  1. Multicast Listener Query (ICMPv6 Type 130)
  2. Multicast Listener Report (ICMPv6 Type 131)
  3. Multicast Listener Done (ICMPv6 Type 132)

    All three MLD messages share the same message structure.

Multicast Listener Query

An IPv6 multicast-capable router uses the Multicast Listener Query message to query a link for multicast group membership. It is equivalent to the IGMPv2 Host Membership Query message. There are two types of Multicast Listener Query messages:

  1. General query

    The general query is used to periodically query all hosts on a subnet for the presence of multicast group members of any multicast address. The only multicast address that is not reported is the link-local scope all-nodes multicast address (FF02::1).

  2. Multicast-address-specific query

    The multicast-address-specific query is used to query all hosts on a subnet that are members of a specific multicast group.

The two message types are distinguished by the Destination Address field in the IPv6 header and the Multicast Address field within the Multicast Listener Query message.

In the IPv6 header of a Multicast Listener Query message:

  • The Hop Limit field is set to 1.
  • The Source Address field is set to the link-local address of the interface on which the query is being sent.
  • The Destination Address field is the specific multicast address being queried. For the general query, the Destination Address field is set to the link-local scope all-nodes multicast address (FF02::1). For the multicast-address-specific query, the Destination Address field is set to the specific multicast address being queried.

Figure 7-2 shows the structure of the Multicast Listener Query message.

Figure 7-2. The structure of the Multicast Listener Query message

The fields in the Multicast Listener Query message are:

  • Type

    The value of this field is 130.

  • Code

    The value of this field is 0.

  • Checksum

    The value of this field is the ICMPv6 checksum.

  • Maximum Response Delay

    The Maximum Response Delay field indicates the maximum amount of time in milliseconds within which a multicast group member must report its membership by using an MLD Multicast Listener Report message. The size of this field is 16 bits.

    When a host that is a group member of a given multicast address receives a Multicast Listener Query, the host uses the value of the Maximum Response Delay field to calculate a random response time less than or equal to the current value of the field. Each host on the subnet that could report its membership sets a different random response time. The host on the subnet whose random response time expires first sends the Multicast Listener Report message. When the other hosts that could report group membership for the multicast address receive the Multicast Listener Report message, they abandon the attempt to send their own Multicast Listener Report message. This process results typically in only one host member reporting group membership for a given multicast address on each subnet.

  • Reserved

    This is a 16-bit field reserved for future use and set to 0.

  • Multicast Address

    For the general query, the Multicast Address field is set to the unspecified address (::). For the multicast-address-specific query, the Multicast Address field is set to the specific multicast address that is being queried. The size of this field is 128 bits.

Multicast Listener Report

The Multicast Listener Report message is used by a listening node to either immediately report its interest in receiving multicast traffic at a specific multicast address or respond to a Multicast Listener Query message (either a general or multicast-address-specific query). It is equivalent to the IGMPv2 Host Membership Report message.

In the IPv6 header of a Multicast Listener Report message:

  • The Hop Limit field is set to 1.
  • The Source Address field is set to the link-local address of the interface on which the report is being sent. If the Multicast Listener Report message is for a solicited-node multicast address corresponding to a unicast address for which duplicate address detection is not yet complete, the source address is set to the unspecified address (::).
  • The Destination Address field is the specific multicast address being reported.

Figure 7-3 shows the structure of the Multicast Listener Report message.

Figure 7-3. The structure of the Multicast Listener Report message

The fields in the Multicast Listener Report message are:

  • Type

    The value of this field is 131.

  • Code

    The value of this field is 0.

  • Checksum

    The value of this field is the ICMPv6 checksum.

  • Maximum Response Delay

    This field is not used in the Multicast Listener Report message and is set to 0.

  • Reserved

    This is a 16-bit field reserved for future use and set to 0.

  • Multicast Address

    The Multicast Address field is set to the specific multicast address that is being reported.

Network Monitor Capture

Here is an example of a Multicast Listener Report message as displayed by Network Monitor (capture 07_01 in the \NetworkMonitorCaptures folder on the companion CD-ROM):

 + Frame: Base frame properties + ETHERNET:  EType = IPv6      + ETHERNET: Destination address : 3333FFB17480     + ETHERNET: Source address : 00902766C140       ETHERNET: Frame Length : 86 (0x0056)       ETHERNET: Ethernet Type : 0x86DD       ETHERNET: Ethernet Data: Number of data bytes remaining = 72 (0x0048)   IP6: Hop Opts; Proto = ICMP6; Len = 24       IP6: Version = 6 (0x6)       IP6: Traffic Class = 0 (0x0)       IP6: Flow Label = 0 (0x0)       IP6: Payload Length = 32 (0x20)       IP6: Next Header = 0 (Hop-by-Hop Options Header)       IP6: Hop Limit = 1 (0x1)       IP6: Source Address = fe80::290:27ff:fe66:c140       IP6: Destination Address = ff02::1:ffb1:7480       IP6: Hop-by-Hop Options Header           IP6: Next Header = 58 (ICMP6)           IP6: Length = 0 (0x0)           IP6: Router Alert Option               IP6: Type = 5                   IP6: 00...... = Skip option if not recognized                   IP6: ..0..... = Option data does not change enroute               IP6: Length = 2 (0x2)               IP6: Router Alert Value = 0 (0x0)           IP6: Padding (2 bytes)               IP6: Type = 1 (PadN)                   IP6: 00...... = Skip option if not recognized                   IP6: ..0..... = Option data does not change enroute               IP6: Length = 0 (0x0)       IP6: Payload: Number of data bytes remaining = 24 (0x0018)   ICMP6: Multicast Listener Report       ICMP6: Type = 131 (Multicast Listener Report)       ICMP6: Code = 0 (0x0)       ICMP6: Checksum = 0xAD88       ICMP6: Maximum Response Delay = 0 (0x0)       ICMP6: Unused       ICMP6: Multicast Address = ff02::1:ffb1:7480 

Notice the mapping of the destination IPv6 multicast address (FF02:: 1:FFB1:7480) and the destination MAC multicast address (3333FFB17480) (corresponding bits underlined), and the use of the Hop-by-Hop Options header and the IPv6 Router Alert option (Option Type 5).

Multicast Listener Done

The Multicast Listener Done message is equivalent to the IGMPv2 Leave Group message and is used to inform the local routers that there might not be any more group members of a specific multicast address on the subnet. A local router verifies that there are no more group members on the subnet.

The Multicast Listener Done message is sent when the group member that responded to the last Multicast Listener Query message for the multicast address on the subnet leaves the multicast group. Notice that the group member sending the Multicast Listener Done message might not truly be the last group member on the subnet. This is why membership for the group is verified by a local router. This simple method of reporting what might be the last group member prevents a host from having to track the presence of other multicast group members on their subnet for each multicast group for which the host is a member.

Because IPv6 multicast routers do not track how many group members are on a subnet for a given multicast group, every subnet must be treated as if there were multiple group members present. The host that sends the Multicast Listener Done message might not be the last group member. Therefore, upon receiving a Multicast Listener Done message, the multicast querying router on the subnet immediately sends multicast-address-specific queries for the multicast address being reported in the Multicast Listener Done message. If there are additional group members, one of them will send a Multicast Listener Report message.

In the IPv6 header of a Multicast Listener Done message:

  • The Hop Limit field is set to 1.
  • The Source Address field is set to the link-local address of the interface on which the report is being sent.
  • The Destination Address field is set to the link-local scope all-routers multicast address (FF02::2).

Figure 7-4 shows the structure of the Multicast Listener Done message.

Figure 7-4. The structure of the Multicast Listener Done message

The fields in the Multicast Listener Done message are:

  • Type

    The value of this field is 132.

  • Code

    The value of this field is 0.

  • Checksum

    The value of this field is the ICMPv6 checksum.

  • Maximum Response Delay

    This field is not used in the Multicast Listener Done message and is set to 0.

  • Reserved

    This is a 16-bit field reserved for future use and set to 0.

  • Multicast Address

    The Multicast Address field is set to the specific multicast address for which there may be no more listeners on the subnet.



Understanding IPv6
Understanding Ipv6
ISBN: 0735612455
EAN: 2147483647
Year: 2005
Pages: 124
Authors: Joseph Davies

Similar book on Amazon

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net