Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
51
Добавлен:
11.04.2015
Размер:
22.9 Mб
Скачать

182 Understanding IPv6, Second Edition

Summary of MLD

Table 7-1 lists IGMPv2 messages and their corresponding MLD equivalents.

Table 7-1 IGMPv2 Messages and Their MLD Equivalents

IGMPv2 Message

MLD Equivalent

Host Membership Query (Type 17)

Multicast Listener Query

 

 

Host Membership Report (Type 22)

Multicast Listener Report

 

 

Leave Group (Type 23)

Multicast Listener Done

 

 

MLDv2 Packet Structure

Like MLD, MLDv2 uses ICMPv6 messages and has the same structure as MLD message packets, consisting of an IPv6 header, a Hop-by-Hop Options extension header with the Router Alert option, and the MLDv2 message.

MLDv2 Messages

There are two types of MLDv2 messages:

1.A modified version of the Multicast Listener Query message (ICMPv6 Type 130)

2.A version 2 Multicast Listener Report message (ICMPv6 Type 143)

To maintain compatibility with hosts that support only MLD, MLDv2 nodes also support the MLD Multicast Listener Report (ICMPv6 type 131) and MLD Multicast Listener Done (ICMPv6 Type 132) messages.

The Modified Multicast Listener Query

An MLDv2-capable IPv6 multicast router uses a modified Multicast Listener Query message to query a link for multicast group membership. There are three types of Multicast Listener Query messages for MLDv2:

1.General query

2.Multicast-address-specific query

3.Multicast-address-and-source-specific query

The multicast-address-and-source-specific query is used to query all hosts on a subnet that are members of a specific multicast group and are listening for traffic from a specified list of multicast sources.

Chapter 7 Multicast Listener Discovery and MLD Version 2

183

The message types are distinguished by the Destination Address field in the IPv6 header, the Multicast Address field within the Multicast Listener Query message, and the presence of a list of multicast sources.

In the IPv6 header of the modified Multicast Listener Query message, you will find the following settings:

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 and multicast-address- and-source-specific queries, the Destination Address field is set to the specific multicast address being queried.

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

Type

Code

Checksum

Maximum Response Code

Reserved

Multicast Address

Reserved

S Flag

QRV

QQIC

Number of Sources

Source Address 1

= 130

= 0

= 0

= 0

• • •

Source Address n

Figure 7-5 The structure of the modified Multicast Listener Query message

The following list describes the fields in the modified Multicast Listener Query message:

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.

184Understanding IPv6, Second Edition

Maximum Response Code The Maximum Response Code field indicates the maximum amount of time in milliseconds within which a multicast group member must report its membership by using an MLDv2 Multicast Listener Report message. The size of this field is 16 bits. If the value of this field is less than 32768, the value of the field is the number of milliseconds. If the value of this field is greater than 32767, the value of the field is a floating-point value for the number of milliseconds. For more details, see section 5.1.3 in RFC 3810.

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.

S flag This is a 1-bit field that, when set to 1, indicates that receiving routers are to suppress normal processing when receiving a query message.

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

QRV This is a 3-bit field that indicates the Querier’s Robustness Variable (QRV) of the sending router. The robustness variable is a measure of how many MLDv2 messages can be lost without recovery. MLDv2 can recover from (QRV – 1) lost MLDv2 messages.

QQIC This is an 8-bit field that indicates the Querier’s Query Interval Code (QQIC), which is the number of seconds between query messages of the sending router.

Number of Sources This is a 16-bit field that indicates the number of source addresses included in the message. For general and multicast-address-specific queries, the Number of Sources field is set to 0.

Source Address 1 to n These are 128-bit fields that store the unicast IPv6 addresses of multicast sources for multicast traffic sent to the address in the Multicast Address field. The multicast-address-specific-query contains one or more Source Address fields.

MLDv2 Multicast Listener Report

The MLDv2 Multicast Listener Report message is sent by an MLDv2-capable listening node to either immediately report its interest in receiving multicast traffic at a specific multicast address or respond to a modified Multicast Listener Query message of any type. It is equivalent to the MLD Multicast Listener Report message. The MLDv2 Multicast Listener Report message is never sent for the link-local scope, all nodes multicast address and for all multicast addresses with a scope of 0 (reserved) and 1 (interface-local).

In the IPv6 header of an MLDv2 Multicast Listener Report message, you will find these settings:

The Hop Limit field is set to 1.

Chapter 7 Multicast Listener Discovery and MLD Version 2

185

The Source Address field is set to the link-local address of the interface on which the report is being sent. If the MLDv2 Multicast Listener Report message is for a solicitednode 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 set to FF02::16, reserved by the Internet Assigned Numbers Authority as the All MLDv2-capable Routers address.

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

Type

Reserved

Checksum

Reserved

Number of Multicast Address Records

Multicast Address Record 1

Multicast Address Record n

= 143

= 0

= 0

• • •

• • •

• • •

Figure 7-6 The structure of the MLDv2 Multicast Listener Report message

The following list describes the fields in the MLDv2 Multicast Listener Report message:

Type The value of this field is 143.

Reserved This is an 8-bit field that is set to 0.

Checksum The value of this field is the ICMPv6 checksum.

Reserved This is a 16-bit field that is set to 0.

Number of Multicast Address Records This is a 16-bit field that indicates the number of multicast address records in the message.

Multicast Address Record 1 to n Each variable-sized Multicast Address Record field contains a multicast address on which the sending host is listening and an optional include or exclude list of multicast sources.

With the MLD Multicast Listener Report message, a listening node can register interest in a single multicast address. With the MLDv2 Multicast Listener Report message, a listening host can register interest in multiple multicast addresses and specify an include or exclude list for each address. Each multicast address record in the MLDv2 Multicast Listener Report message contains a separate multicast address on which the reporting host is listening and an optional include or exclude source list.

Figure 7-7 shows the structure of a multicast address record for the MLDv2 Multicast Listener Report message.

186 Understanding IPv6, Second Edition

Record Type

Auxiliary Data Length

Number of Sources

Multicast Address

Source Address 1

• • •

Source Address n

Auxiliary Data

• • •

Figure 7-7 The structure of the multicast address record

The following list describes the fields in the multicast address record:

Record Type This is an 8-bit field that indicates the type of record. See Table 7-2 for a list of the defined record types.

Auxiliary Data Length This is an 8-bit field that indicates the number of bytes of auxiliary data in the record. Because RFC 3810 does not define any auxiliary data, the value of this field is 0.

Number of Sources This is a 16-bit field that indicates the number of source addresses in the record.

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

Source Address 1 to n If the Number of Sources field is not zero, these fields store the unicast IPv6 address of a multicast source for multicast traffic sent to the address in the Multicast Address field.

Auxiliary Data Additional data for the record. RFC 3810 does not define the use of this field, and therefore it is not present for MLDv2 Multicast Listener Report messages. This field is reserved for future versions of MLD.

Table 7-2 lists the multicast address record types.

Table 7-2 Multicast Address Record Types

Record Type

Description

1

The list of sources for the multicast address is an include list.

 

 

2

The list of sources for the multicast address is an exclude list.

 

 

3

The list of sources for the multicast address has changed to an include list.

4The list of sources for the multicast address has changed to an exclude list.

Chapter 7 Multicast Listener Discovery and MLD Version 2

187

Table 7-2 Multicast Address Record Types

Record Type

Description

 

 

5The source list contains additional sources from which the host will accept multicast traffic. If the existing list is an include list, the additional sources are added to the list. If the existing list is an exclude list, the additional sources are removed from the list.

6The source list contains additional sources to block for multicast traffic. If the existing list is an include list, the additional sources are removed from thelist.Iftheexistinglistisanexcludelist,theadditional sourcesareadded to the list.

An MLDv2-capable host can send the following types of address records:

Current State Record A record with a Record Type of 1 or 2, providing either an include or exclude list.

Filter Mode Change Record A record with a Record Type of 3 or 4, allowing the host to change an include list to an exclude list or vice versa.

Source List Change Record A record with a Record Type of 5 or 6, allowing the host to modify the current include or exclude list.

Network Monitor Capture

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

Frame:

-Ethernet: Etype = IPv6

+DestinationAddress: 333300 000016

+SourceAddress: 00123F 17E0CF EthernetType: IPv6, 34525(0x86dd)

-Ipv6: Next Protocol = ICMPv6, Payload Length = 36

+Versions: IPv6, Internet Protocol, DSCP 0 PayloadLength: 36 (0x24)

NextProtocol: HOPOPT, IPv6 Hop-by-Hop Option, 0(0) HopLimit: 1 (0x1)

SourceAddress: FE80:0:0:0:B500:734B:FE5B:3945 DestinationAddress: FF02:0:0:0:0:0:0:16

-HopbyHopHeader: NextHeader: ICMPv6 ExtHdrLen: 0(8 bytes)

-OptionRouterAlert:

+OptionType: Router Alert OptDataLen: 2 bytes

Value: Datagram contains a Multicast Listener Discovery message, 0 (0x0)

-OptionPadN:

+OptionType: PadN OptDataLen: 0 bytes OptionData: 0 bytes

Соседние файлы в папке Lecture 2_10