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 12

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 IGMP versions and how IGMP of different versions is implemented.

IGMP Versions

Currently, there are three versions of IGMP:
  • IGMPv1 defined in RFC 1112
  • IGMPv2 defined in RFC 2236
  • IGMPv3 defined in RFC 3376

IGMPv1 defines the group membership query and report processes. IGMPv2 extends IGMPv1 by adding the querier election and member leave mechanisms. IGMPv3 adds the function that allows hosts to specify the multicast sources they do or do not want to receive data from. The IGMP versions are backward compatible. Therefore, a multicast router running a later IGMP version can identify IGMP messages sent from hosts running an earlier IGMP version, although the IGMP messages in different versions use different formats.

All IGMP versions support the Any-Source Multicast (ASM) model. IGMPv3 can be directly applied to the Source-Specific Multicast (SSM) model; however, IGMPv1 and IGMPv2 can be applied to the SSM model only when IGMP SSM mapping is configured. For details about the ASM and SSM models, see Multicast Service Models.

Table 8-14 compares the three IGMP versions.

Table 8-14 Comparison of IGMP versions
Item IGMPv1 IGMPv2 IGMPv3
Querier election Through Protocol Independent Multicast (PIM) Through competition among multicast routers on a local network segment Through competition among multicast routers on a local network segment
General Query message Supported Supported Supported
Report message Supported Supported Supported
Group-Specific Query message Not supported Supported Supported
Leave message Not supported Supported No specific Leave message defined. Group members send a specified type of Report messages to notify multicast routers that they are leaving a group.
Group-and-Source-Specific Query message Not supported Not supported Supported
Multicast source specifying Not supported Not supported Supported
Protocol message versions supported IGMPv1 IGMPv1, IGMPv2 IGMPv1, IGMPv2, IGMPv3
ASM model Supported Supported Supported
SSM model IGMP SSM mapping required IGMP SSM mapping required Supported

IGMPv1 Working Principles

IGMPv1 Messages
IGMPv1 defines two messages types:
  • General Query: A querier sends General Query messages to all hosts and routers on the local network segment to discover which multicast groups have members on the network segment.
  • Report: Hosts send Report messages to multicast routers to request to join a multicast group or respond to General Query messages.

Figure 8-12 illustrates the IGMPv1 message format, and Table 8-15 explains the fields in an IGMPv1 message.

Figure 8-12 IGMPv1 message format
Table 8-15 Fields in an IGMPv1 message
Field Description
Version IGMP version. In IGMPv1 messages, this field is set to 1.
Type Message type. Options are:
  • 0x1: General Query message
  • 0x2: Report message
Unused In IGMPv1 message, this field is set to 0 by the sender and is ignored by the receiver.
Checksum 16-bit checksum of an IGMP message. It is the one's complement of the one's complement sum of the whole IGMP message (the entire IP payload). When computing the checksum, a device initially sets the checksum field to 0. The sender computes the checksum and inserts it into this field. The receiver verifies the checksum before processing the message.
Group Address Address of a multicast group. In a General Query message, this field is set to 0. In a Membership Report message, this field is set to the address of the group that the member requests to join.
How IGMPv1 Works

IGMPv1 uses a query-report mechanism to manage multicast groups. When there are multiple 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 IGMP querier. In IGMPv1 implementation, a unique Assert winner or designated router (DR) is selected by Protocol Independent Multicast (PIM) as the querier. The querier is the only device that sends Host Membership Query messages on the local network segment.

For details about Assert and DR election, see PIM-SM (ASM Model).

The following describes the working mechanism of IGMPv1 using the network shown in Figure 8-13 as an example. As shown in Figure 8-13, RouterA and RouterB connect to a network segment with three receivers: HostA, HostB, and HostC. RouterA is the IGMP querier on the network segment. HostA and HostB want to receive data sent to group G1, and HostC wants to receive data sent to group G2.

Figure 8-13 Multicast network

IGMPv1 involves three mechanisms: general query and report mechanism, join mechanism, and leave mechanism.

General query and report mechanism

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

Figure 8-14 IGMPv1 general query and report process

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

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

    The IGMP querier sends General Query messages at intervals. The interval is configurable, and the default interval is 60 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 Report message for the group.

    In this example, the 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 Report messages transmitted on the network segment, lowering loads on multicast routers.

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

Join mechanism

Figure 8-15 IGMPv1 join process

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

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

Leave mechanism

IGMPv1 does not define a Leave message. After a host leaves a group, it no longer responds to General Query messages. On the network shown in Figure 8-13:

  • In the event HostA leaves group G1.

    When HostA receives General Query messages from the IGMP querier, it does not send any Report message for G1. Group G1 has another member HostB on the network segment, which still sends Report messages for G1 in response to General Query messages sent from the IGMP querier. Therefore, the IGMP querier is unaware HostA has left the group.

  • In the event HostC leaves group G2.

    When HostC receives General Query messages from the IGMP querier, it does not send any Report message for G2. Because G2 has no member on this network segment, the IGMP querier no longer receives Report messages for G2. After a period (130 seconds by default), the IGMP querier deletes the (*, G2) entry.

Changes in IGMPv2

IGMPv2 works similarly to IGMPv1. The most significant difference between the two versions lies in the leave mechanism. When an IGMPv2 host leaves a group, it sends a Leave message to the IGMP querier. When the IGMP querier receives the Leave message, it sends a Group-Specific Query message to check whether the group has other members. If the IGMP querier does not receive any Report messages for the group within a specified period, it no longer maintains membership of the group. IGMPv2 enables an IGMP querier to know the groups that have no members on a local network segment and update group membership quickly. This leave mechanism reduces redundant multicast traffic on the network.

IGMPv2 Messages
Compared with IGMPv1, IGMPv2 has the following changes:
  • IGMPv2 defines two new messages in addition to General Query and Report messages:
    • Leave message: sent by a host to notify the querier on the local network segment that it has left a group.
    • Group-Specific Query message: sent by a querier to a specified group on the local network segment to check whether the group has members.
  • IGMPv2 adds a new field to General Query messages: Max Response Time. This field can be configured to control hosts' response speed to Query messages.

Figure 8-16 illustrates the IGMPv2 message format, and Table 8-16 explains the fields in an IGMPv2 message.

Figure 8-16 IGMPv2 message format
Table 8-16 Fields in an IGMPv2 message

Field

Description

Type

Message type. Options are:

  • 0x11: Query message. IGMPv2 Query messages include General Query messages and Group-Specific Query messages.
  • 0x12: IGMPv1 Report message
  • 0x16: IGMPv2 Report message
  • 0x17: Leave message

Max Response Time

After receiving a General Query message, hosts must respond with a Report message within the maximum response time. This field is valid only in IGMP Query messages.

Checksum

16-bit checksum of an IGMP message. It is the one's complement of the one's complement sum of the whole IGMP message (the entire IP payload). When computing the checksum, a device initially sets the checksum field to 0. The sender computes the checksum and inserts it into this field. The receiver verifies the checksum before processing the message.

Group Address

Address of a multicast group.

  • In a General Query message, this field is set to 0.
  • In a Group-Specific Query message, this field is set to the address of the queried group.
  • In a Report or Leave message, this field is set to the address of the group that the host wants to join or leave.
How IGMPv2 Works

IGMPv2 adds the querier election and leave mechanisms.

The following describes the working mechanism of IGMPv2 using the network shown in Figure 8-17 as an example. As shown in Figure 8-17, RouterA and RouterB connect to a 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-17 Multicast network

The following describes the querier election and leave processes on the above multicast network.

Querier election mechanism

IGMPv2 defines an independent querier election mechanism. When multiple multicast routers are present on a local network segment, the router with the smallest IP address is elected as the querier.

Figure 8-18 IGMPv2 Querier querier election process

As shown in Figure 8-18, an IGMPv2 querier is elected as follows:

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

    When the routers receive a General Query message, they compare the source IP address of the message with their own interface IP addresses. The router with the smallest IP 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 IGMP 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 receive a Query message from the querier before the timer expires, it resets the timer. Otherwise, it triggers a querier election.

Leave mechanism

Figure 8-19 IGMPv2 leave process

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

  1. HostA sends a Leave message for G1 to all multicast routers on the local network segment. The destination address of the Leave message is 224.0.0.2.
  2. When the querier receives the Leave message, it sends Group-Specific Query messages for G1 at intervals to check whether G2 has other members on the network segment. The query interval and count are configurable. By default, the querier sends Group-Specific Query messages twice, at an interval of 1 second. In addition, the 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 Group-Specific Query message, HostB immediately sends a Report message for G1. The querier continues maintaining the membership of G1 after receiving the Report message.

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

Changes in IGMPv3

IGMPv3 was developed to support the Source-Specific Multicast (SSM) model. IGMPv3 messages can contain multicast source information so that hosts can receive data sent from a specific source to a specific group.

IGMPv3 Messages

Compared with IGMPv2, IGMPv3 has the following changes:

  • IGMPv3 defines two message types: Query messages and Report messages. Unlike IGMPv2, it does not define a Leave message. Group members send Report messages of a specified type to notify multicast routers that they have left a group.
  • In addition to General Query and Group-Specific Query messages, IGMPv3 defines a new Query message type: Group-and-Source-Specific Query. A querier sends a Group-and-Source-Specific Query message to members of a specific group on a shared network segment, to check whether the group members want data from specific sources. A Group-and-Source-Specific Query message carries one or more multicast source addresses.
  • A Membership Report message contains the group that a host wants to join and the multicast sources from which the host wants to receive data. IGMPv3 supports source filtering and defines two filter modes: INCLUDE and EXCLUDE. Group-source mappings are represented as (G, INCLUDE, (S1, S2...)) or (G, EXCLUDE, (S1, S2...)). The (G, INCLUDE, (S1, S2...)) entry indicates that a host only 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 the listed ones to group G. When group-source mappings change, hosts add these changes to the Group Record fields in IGMPv3 Report messages and send IGMPv3 Report messages to the IGMP querier on the local network segment.
  • An IGMPv3 Report message can carry multiple groups, whereas an IGMPv1 or IGMPv2 Report message can carry only one group. IGMPv3 greatly reduces the number of messages transmitted on a network.

Figure 8-20 illustrates the IGMPv3 Query message format, and Table 8-17 explains the fields in an IGMPv3 Query message.

Figure 8-20 IGMPv3 Query message format
Table 8-17 Fields in an IGMPv3 Query message
Field Description
Type Message type. In IGMPv3 Query messages, this field is set to 0x11.
Max Response Code Maximum response time. After receiving a General Query message, hosts must respond with a Report message within the maximum response time.
Checksum 16-bit checksum of an IGMP message. It is the one's complement of the one's complement sum of the whole IGMP message (the entire IP payload). When computing the checksum, a device initially sets the checksum field to 0. The sender computes the checksum and inserts it into this field. The receiver verifies the checksum before processing the message.
Group Address Address of a multicast group. In a General Query message, this field is set to 0. In a Group-Specific Query or Group-and-Source-Specific Query message, this field is set to the address of the queried group.
Resv Reserved field. This field is set to 0 by the sender and is ignored by the receiver.
S Suppress 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 Querier's query interval code, expressed in seconds. When a non-querier receives a Query message and finds that the QQIC field is not 0, the non-querier sets its query interval to the value of the QQIC field. If the QQIC field is 0, the non-querier ignores this field.
Number of Sources Number of multicast sources in the message. In a General Query or Group-Specific Query message, this field is set to 0. In a Group-and-Source-Specific Query message, this field is not 0. This number is limited by the 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-21 illustrates the IGMPv3 Membership Report message format, and Table 8-18 explains the fields in an IGMPv3 Membership Report message.

Figure 8-21 IGMPv3 Membership Report message format
Table 8-18 Fields in an IGMPv3 Membership Report message
Field Description
Type Message type. In IGMPv3 Membership Report messages, this field is set to 0x22.
Reserved Reserved field. This field is set to 0 by the sender and is ignored by the receiver.
Checksum 16-bit checksum of an IGMP message. It is the one's complement of the one's complement sum of the whole IGMP message (the entire IP payload). When computing the checksum, a device initially sets the checksum field to 0. The sender computes the checksum and inserts it into this field. The receiver verifies the checksum before processing the message.
Number of Group Records Number of group records in the message.
Group Record Group information in the message. Figure 8-22 illustrates the format of a group record, and Table 8-19 explains the fields in a group record.
Figure 8-22 Group record format
Table 8-19 Fields in a group 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 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. IGMPv3 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. This field is reserved for IGMP extensions or later IGMP versions. IGMPv3 Report messages do not contain auxiliary data. For more information about this field, see RFC 3376.
How IGMPv3 Works

The main difference between IGMPv2 and IGMPv3 is that IGMPv3 allows hosts to select specific multicast sources.

Joining a specific source and group

IGMPv3 Report messages have a destination address 224.0.0.22, which represents all IGMPv3-capable multicast routers on the same network segment. A 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-23, 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-23 IGMPv3 source-and-group-specific multicast data flow

If IGMPv1 or IGMPv2 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 IGMPv3 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 IGMPv3 Report (G, INCLUDE, (S1)), requesting to receive only the data sent from S1 to G.
  • Method 2: Send an IGMPv3 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.

Group-and-Source-Specific Query

When an IGMP querier receives a 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 Group-and-Source-Specific Query message. If members want to receive data from any source in the source list, they send Report messages. The IGMP querier updates the source list of the corresponding group according to the received Report messages.

IGMP SSM Mapping

Source-Specific Multicast (SSM) requires multicast routers to know which multicast sources hosts specify when they join a multicast group. A host running IGMPv3 can specify multicast source addresses in IGMPv3 Report messages. However, some hosts can run only IGMPv1 or IGMPv2. To enable these hosts to use the SSM service, multicast routers need to provide the IGMP SSM mapping function.

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

With SSM mapping entries configured, an IGMP querier checks the group address G in each IGMPv1 or IGMPv2 Report message received, and processes the message based on the check result:
  • If G is in the Any-Source Multicast (ASM) group address range, the router provides the ASM service for the host.
  • If G is in the SSM group address range (232.0.0.0 to 232.255.255.255 by default):
    • When the IGMP querier has no SSM mapping entry matching G, it does not provide the SSM service and drops the Report message.
    • If the IGMP querier has an 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 host.
As shown in Figure 8-24, HostA runs IGMPv3, HostB runs IGMPv2, and HostC runs IGMPv1 on an SSM network. HostB and HostC cannot run IGMPv3. To provide the SSM service for all the hosts on the network segment, IGMP SSM mapping must be configured on the router.
Figure 8-24 SSM mapping

The following table lists the SSM mapping entries configured on the router.

Multicast Group Address

Multicast Source Address

232.0.0.0/8

10.10.1.1

232.1.0.0/16

10.10.2.2

232.1.0.0/16

10.10.3.3

232.1.1.0/24

10.10.4.4

When the router receives Report messages from HostB and HostC, it checks whether the group addresses in the messages are in the SSM group address range. If so, the router generates (S, G) entries based on the SSM mappings. (See the following table.) If a group address is mapped to multiple sources, the router generates multiple (S, G) entries.

Multicast Group Address in IGMPv1/IGMPv2 Report

Generated Multicast Forwarding Entry

232.1.1.1 (from HostC)

(10.10.1.1, 232.1.1.1)

(10.10.2.2, 232.1.1.1)

(10.10.3.3, 232.1.1.1)

(10.10.4.4, 232.1.1.1)

232.1.2.2 (from HostB)

(10.10.1.1, 232.1.2.2)

(10.10.2.2, 232.1.2.2)

(10.10.3.3, 232.1.2.2)

NOTE:
  • The router generates an (S, G) entry as long as the group address matches an SSM mapping entry. Therefore, the router generates four (S, G) entries for 232.1.1.1, and three (S, G) entries for 232.1.2.2.
  • IGMP SSM mapping does not apply to IGMPv3 Report messages. To enable hosts running any IGMP version on a network segment to obtain the SSM service, IGMPv3 must run on interfaces of multicast routers on the network segment.
Translation
Download
Updated: 2019-08-09

Document ID: EDOC1000041694

Views: 57199

Downloads: 3617

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