< draft-ietf-idmr-igmp-mrdisc-08.txt   draft-ietf-idmr-igmp-mrdisc-09.txt >
IDMR Working Group S. Biswas IDMR Working Group S. Biswas
Internet Draft Nortel Networks Internet Draft Nortel Networks
draft-ietf-idmr-igmp-mrdisc-08.txt B. Cain draft-ietf-idmr-igmp-mrdisc-09.txt B. Cain
January 2002 B. Haberman September 2002 Storigen Systems
Expires July 2002 Expires March 2003 B. Haberman
Caspian Networks
IGMP Multicast Router Discovery Multicast Router Discovery
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Internet-Drafts are draft documents valid for a maximum of Drafts. Internet-Drafts are draft documents valid for a maximum of
skipping to change at line 33 skipping to change at line 34
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Abstract Abstract
The concept of IGMP snooping requires the ability to identify the The concept of IGMP snooping requires the ability to identify the
location of multicast routers. Since IGMP snooping is not location of multicast routers. Since IGMP (and MLD) snooping is not
standardized, there are many mechanisms in use to identify the standardized, there are many mechanisms in use to identify the
multicast routers. However, this scenario can lead to multicast routers. However, this scenario can lead to
interoperability issues between multicast routers and layer-2 interoperability issues between multicast routers and layer-2
switches from different vendors. switches from different vendors.
This document introduces a general mechanism that allows for the This document introduces a general mechanism that allows for the
discovery of multicast routers. By introducing these new messages, discovery of multicast routers. By introducing these new messages,
IGMP snooping devices have a uniform means of identifying multicast snooping devices have a uniform means of identifying multicast
routers without dependency on particular routing protocols. In routers without dependency on particular routing protocols. These
addition, other devices that may need to discover multicast routers messages may also be used to convey configuration parameters to all
can use these messages. systems on a network. In addition, other devices that may need to
discover multicast routers can utilize these messages.
Table of Contents Table of Contents
1. Introduction....................................................2 1. Introduction....................................................2
2. Protocol Overview...............................................3 2. Protocol Overview...............................................3
3. Multicast Router Advertisement..................................4
3.1 Overview.......................................................4
Biswas, Cain, Haberman 1 Biswas, Cain, Haberman 1
3. Multicast Router Advertisement..................................4
3.1 Overview.......................................................4
3.2 IP Header Fields...............................................4 3.2 IP Header Fields...............................................4
3.3 Multicast Router Advertisement Message Format..................4 3.3 Multicast Router Advertisement Message Format..................5
3.4 Sending Multicast Router Advertisements........................6 3.4 Sending Multicast Router Advertisements........................6
3.5 Receiving Multicast Router Advertisements......................6 3.5 Receiving Multicast Router Advertisements......................6
3.6 Multicast Router Advertisement Configuration Variables.........6 3.6 Multicast Router Advertisement Configuration Variables.........7
4. Multicast Router Solicitation...................................7 4. Multicast Router Solicitation...................................8
4.1 Overview.......................................................8 4.1 Overview.......................................................8
4.2 IP Header Fields...............................................8 4.2 IP Header Fields...............................................8
4.3 Multicast Router Solicitation Message Format...................8 4.3 Multicast Router Solicitation Message Format...................9
4.4 Sending Multicast Router Solicitations.........................9 4.4 Sending Multicast Router Solicitations.........................9
4.5 Receiving Multicast Router Solicitations.......................9 4.5 Receiving Multicast Router Solicitations.......................9
4.6 Multicast Router Solicitation Configuration Variables..........9 4.6 Multicast Router Solicitation Configuration Variables.........10
5. Multicast Router Termination....................................9 5. Multicast Router Termination...................................10
5.1 Overview.......................................................9 5.1 Overview......................................................10
5.2 IP Header Fields..............................................10 5.2 IP Header Fields..............................................10
5.3 Multicast Router Termination Message Format...................10 5.3 Multicast Router Termination Message Format...................10
5.4 Sending Multicast Router Termination Messages.................10 5.4 Sending Multicast Router Termination Messages.................11
5.5 Receiving Multicast Router Termination Messages...............11 5.5 Receiving Multicast Router Termination Messages...............11
6. Multicast Router Discovery Protocol Constants..................11 6. Multicast Router Discovery Protocol Constants..................11
7. Mandatory Advertisement Options................................11 7. Mandatory Advertisement Options................................11
7.1 Overview of Options...........................................11 7.1 Overview of Options...........................................11
7.2 Query Interval Advertisement Option...........................11 7.2 Query Interval Advertisement Option...........................12
7.3 Robustness Variable Advertisement Option......................12 7.3 Robustness Variable Advertisement Option......................12
8. IPv6 Support...................................................12 8. IPv6 Support...................................................13
8.1 Router Advertisement Message..................................12 8.1 Router Advertisement Message..................................13
8.2 Router Solicitations..........................................13 8.2 Router Solicitations..........................................14
9. Security Considerations........................................13 9. Security Considerations........................................14
10. IANA Considerations...........................................14 10. IANA Considerations...........................................14
11. Acknowledgements..............................................14 11. Acknowledgements..............................................15
12. References....................................................14 12. References....................................................15
13. Authors' Addresses............................................14 13. Authors' Addresses............................................15
14. Full Copyright Statement......................................15 14. Full Copyright Statement......................................16
1. Introduction 1. Introduction
Multicast router discovery messages are useful for discovering Multicast router discovery messages are useful for discovering
multicast capable routers. This capability is useful in a layer-2 multicast capable routers. This capability is useful in a layer-2
bridging domain with "IGMP snooping" type of schemes. By listening bridging domain with "snooping" type of schemes. By listening to
to multicast router discovery messages, layer-2 devices can determine multicast router discovery messages, layer-2 devices can determine
where to send multicast source data and IGMP Host Membership Reports where to send multicast source data and IGMP Host Membership Reports
[RFC1112] [RFC2236]. Multicast source data and IGMP Host Membership [RFC1112] [RFC2236]. Multicast source data and IGMP Host Membership
Reports must be received by all multicast routers on a segment. Reports must be received by all multicast routers on a segment.
Using IGMP Host Membership Queries to discover multicast routers is Using IGMP Host Membership Queries to discover multicast routers is
not useful because of query suppression in IGMP. not useful because of query suppression in IGMP.
The use of the multicast router advertisement is not precluded from The use of the multicast router advertisement is not precluded from
being used for other purposes. Extensible options have been included being used for other purposes. Extensible options have been included
in the advertisement message for future enhancements. in the advertisement message for future enhancements.
Biswas, Cain, Haberman 2
The following are justifications for inventing another router The following are justifications for inventing another router
discovery protocol: discovery protocol:
Biswas, Cain, Haberman 2 ¡ Using ICMP router discovery is not an appropriate solution
o Using ICMP router discovery is not an appropriate solution for multicast router discovery because: 1.) It may confuse
for multicast router discovery because: 1.) It may confuse hosts listening to ICMP router advertisements; unicast and
hosts listening to ICMP router advertisements; unicast and multicast topologies may not be congruent. 2.) There is
multicast topologies may not be congruent. 2.) There is no way to tell from an ICMP router advertisement if a
no way to tell from an ICMP router advertisement if a router is running a multicast routing protocol.
router is running a multicast routing protocol.
o By making multicast router discovery messages extensible, ¡ By making multicast router discovery messages extensible,
future enhancements can be made. future enhancements can be made.
o By inventing a generic IP layer message, multiple types of ¡ By inventing a generic IP layer message, multiple types of
messages per link layer are not needed (i.e. including messages per link layer are not needed (i.e. including
this functionality as part of IP is better than inventing this functionality as part of IP is better than inventing
N discovery protocols for N layer-2 technologies). N discovery protocols for N layer-2 technologies).
Although multicast router discovery messages could be sent as ICMP Although multicast router discovery messages could be sent as ICMP
messages, IGMP was chosen because IGMP snooping switches already messages, IGMP was chosen because IGMP snooping switches already
snoop IGMP messages and because the intended first use of these snoop IGMP messages and the protocol is multicast specific.
protocol messages is multicast specific.
2. Protocol Overview 2. Protocol Overview
IGMP Multicast Router Discovery consists of three messages for IGMP Multicast Router Discovery consists of three messages for
discovering multicast routers. The Multicast Router Advertisement is discovering multicast routers. The Multicast Router Advertisement is
sent by routers to advertise IP multicast forwarding enabled on an sent by routers to advertise that IP multicast forwarding is enabled.
interface. The Multicast Router Solicitation is used by routers to Devices may send Multicast Router Solicitation messages in order to
solicit Multicast Router Advertisements. The Multicast Router solicit Multicast Router Advertisements from multicast routers. The
Termination message is sent when a router terminates its multicast Multicast Router Termination message is sent when a router terminates
routing functions. its multicast routing functions.
Multicast routers send Multicast Router Advertisements (hereafter Multicast routers send Multicast Router Advertisements (hereafter
called advertisements) periodically on all interfaces on which called advertisements) periodically on all interfaces on which
multicast forwarding is enabled. multicast forwarding is enabled. Advertisements are also sent in
response to Multicast Router Solicitations (hereafter called
Multicast Router Advertisements are also sent in response to solicitations).
Multicast Router Solicitations (hereafter called solicitations).
These are sent to solicit a response of Multicast Router
Advertisements from all multicast routers on a subnet. Solicitations
are sent to the ALL-Systems (224.0.0.1) multicast group.
Multicast Router Solicitations are sent whenever a device wishes to Multicast Router Solicitations are sent whenever a device wishes to
discover multicast routers on a directly attached subnet. discover multicast routers on a directly attached subnet.
Multicast Router Termination messages are sent when a router Multicast Router Terminations (hereafter called terminations) are
terminates its multicast routing functions. sent when a router terminates its multicast routing functions.
All IGMP Multicast Router Discovery messages are sent with an IP TTL All IGMP Multicast Router Discovery messages are sent with an IP TTL
of 1 and contain the IP Router Alert Option [RFC2113] in their IP of 1 and contain the IP Router Alert Option [RFC2113] in their IP
header. All IGMP Multicast Router Discovery messages are sent with header.
to the All-Systems multicast group (224.0.0.1).
Advertisement and termination messages are sent to the All-Systems
multicast group (224.0.0.1).
Biswas, Cain, Haberman 3 Biswas, Cain, Haberman 3
Other non-IP forwarding devices (e.g. layer-2 switches) may send Solicitation messages are sent to the All-Routers multicast group
Multicast Router Solicitations to solicit Multicast Router (224.0.0.2).
Advertisements.
Both IP (e.g. layer-3 switches) and non-IP forwarding devices (e.g.
layer-2 switches) may send Multicast Router Solicitations to solicit
Multicast Router Advertisements.
3. Multicast Router Advertisement 3. Multicast Router Advertisement
3.1 Overview 3.1 Overview
Multicast Router Advertisements are sent periodically on all router Multicast Router Advertisements are sent periodically on all router
interfaces on which multicast forwarding is enabled. They are also interfaces on which multicast forwarding is enabled. They are also
sent in response to Multicast Router Solicitations. sent in response to Multicast Router Solicitations.
Router advertisements are sent upon expiration of a periodic timer, Router advertisements are sent upon expiration of a periodic timer,
when a router starts up, and when a router interface (that has IP when a router starts up, and when a router interface (that has IP
multicast forwarding enabled) initializes/restarts. Advertisements multicast forwarding enabled) initializes/restarts. Advertisements
are sent as IGMP messages to the All-Systems multicast address are sent as IGMP messages to the All-Systems multicast address
(224.0.0.1) and should be rate-limited. (224.0.0.1) and SHOULD be rate-limited.
Router advertisements may contain any number of options. Two options Router advertisements may contain any number of options. Two options
are defined in this document and MUST be supported by any are defined in this document and MUST be supported by any
implementation of IGMP multicast router discovery. These options are implementation of IGMP multicast router discovery. These options are
described in Section 5. Additional options may be defined as needed described in Section 5. Additional options may be defined as needed
by future work. by future work.
3.2 IP Header Fields 3.2 IP Header Fields
3.2.1 Source Address 3.2.1 Source Address
skipping to change at line 204 skipping to change at line 206
(224.0.0.1). (224.0.0.1).
3.2.3 Time-to-Live 3.2.3 Time-to-Live
The Time-to-Live field MUST be 1. The Time-to-Live field MUST be 1.
3.2.4 Protocol 3.2.4 Protocol
The protocol field is set to IGMP (2). The protocol field is set to IGMP (2).
Biswas, Cain, Haberman 4
3.3 Multicast Router Advertisement Message Format 3.3 Multicast Router Advertisement Message Format
0 1 2 3 0 1 2 3
Biswas, Cain, Haberman 4
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Ad. Interval | Checksum | | Type | Ad. Interval | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Unused | Number of Options (N) | | Unused | Number of Options (N) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option [1] (TLV encoded) | | Option [1] (TLV encoded) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option [...] (TLV encoded) | | Option [...] (TLV encoded) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at line 256 skipping to change at line 257
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Value | | Type | Length | Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
If the Number of Options field is not zero, a receiver MUST examine If the Number of Options field is not zero, a receiver MUST examine
all options. No strict ordering of options is enforced. all options. No strict ordering of options is enforced.
Biswas, Cain, Haberman 5
Type: Set to option type being advertised Type: Set to option type being advertised
Length: Length in bytes of Value field Length: Length in bytes of Value field
Biswas, Cain, Haberman 5
Value: Option dependent value Value: Option dependent value
3.4 Sending Multicast Router Advertisements 3.4 Sending Multicast Router Advertisements
Router Advertisements are sent when the following events occur: Router Advertisements are sent when the following events occur:
o When the periodic advertisement interval timer expires. ¡ When the periodic advertisement interval timer expires.
Note that it is not strictly periodic because the Note that it is not strictly periodic because the
advertisement interval is a random number between advertisement interval is a random number between
MaxAdvertisementInterval and MinAdvertisementInterval. MaxAdvertisementInterval and MinAdvertisementInterval.
o After waiting for a random delay less than ¡ After waiting for a random delay less than
MaxInitialAdvertisementInterval when an interface first MaxInitialAdvertisementInterval when an interface first
comes up, is (re)initialized, or IGMP Multicast Router comes up, is (re)initialized, or IGMP Multicast Router
Discovery is enabled. A router may send up to a maximum Discovery is enabled. A router may send up to a maximum
of MaxInitialAdvertisements advertisements, waiting for a of MaxInitialAdvertisements advertisements, waiting for a
random delay less than MaxInitialAdvertisementInterval random delay less than MaxInitialAdvertisementInterval
between each successive advertisement. Multiple messages between each successive advertisement. Multiple messages
are sent for robustness in the face of packet loss on the are sent for robustness in the face of packet loss on the
network. network.
This is to prevent an implosion of router advertisements. An example This is to prevent an implosion of router advertisements. An example
of this occurring would be when many routers are powered on at the of this occurring would be when many routers are powered on at the
same time. When a solicitation is received, a router advertisement same time. When a solicitation is received, a router advertisement
is sent in response with a random delay less than MAX_RESPONSE_DELAY. is sent in response with a random delay less than MAX_RESPONSE_DELAY.
If a solicitation is received while an advertisement is pending If a solicitation is received while an advertisement is pending
(because of a recent solicitation), that solicitation will be (because of a recent solicitation), that solicitation will be
ignored. ignored.
Whenever an advertisement is sent, the periodic advertisement Whenever an advertisement is sent, the periodic advertisement
skipping to change at line 306 skipping to change at line 307
message by the following criteria: message by the following criteria:
1. Verifying the IGMP checksum 1. Verifying the IGMP checksum
2. IP Destination Address = All-Systems multicast address 2. IP Destination Address = All-Systems multicast address
A router advertisement not meeting the validity requirements should A router advertisement not meeting the validity requirements should
be silently discarded or logged in a rate-limited manner. Devices be silently discarded or logged in a rate-limited manner. Devices
MUST process all options, discarding options that are not recognized. MUST process all options, discarding options that are not recognized.
Biswas, Cain, Haberman 6
If a router advertisement is not received for a particular neighbor If a router advertisement is not received for a particular neighbor
within NeighborDeadInterval time interval, then the neighbor is within NeighborDeadInterval time interval, then the neighbor is
considered to be unreachable. considered to be unreachable.
3.6 Multicast Router Advertisement Configuration Variables 3.6 Multicast Router Advertisement Configuration Variables
Biswas, Cain, Haberman 6
A router that implements multicast router discovery MUST allow for A router that implements multicast router discovery MUST allow for
the following variables to be configured by system management; the following variables to be configured by system management;
default values are specified so as to make it unnecessary to default values are specified so as to make it unnecessary to
configure any of these variables in many cases. configure any of these variables in many cases.
For each interface the following configurable variables are defined: For each interface the following configurable variables are defined:
3.6.1 MaxAdvertisementInterval 3.6.1 MaxAdvertisementInterval
The maximum time allowed between sending router advertisements from The maximum time allowed between sending router advertisements from
skipping to change at line 357 skipping to change at line 358
The maximum number of router advertisements that will be sent on a The maximum number of router advertisements that will be sent on a
subnet after a router boots. subnet after a router boots.
Default: 3 Default: 3
3.6.5 NeighborDeadInterval 3.6.5 NeighborDeadInterval
The maximum time allowed before a neighbor can be declared "dead". The maximum time allowed before a neighbor can be declared "dead".
This variable is defined in seconds. In order for all devices to have This variable is defined in seconds. In order for all devices to have
a consistent state, it is necessary for the MaxAdvertisementInterval a consistent state, it is necessary for the MaxAdvertisementInterval
to be configured the same on all routers per subnet. to be configured the same on all devices on the subnet.
Biswas, Cain, Haberman 7
Default: 3 * MaxAdvertisementInterval Default: 3 * MaxAdvertisementInterval
4. Multicast Router Solicitation 4. Multicast Router Solicitation
Biswas, Cain, Haberman 7
4.1 Overview 4.1 Overview
Multicast Router Solicitations are used to solicit Multicast Router Multicast Router Solicitations are used to solicit Multicast Router
Advertisements. These messages are used when a device wishes to Advertisements. These messages are used when a device wishes to
discover multicast routers. Upon receiving a solicitation on an discover multicast routers. Upon receiving a solicitation on an
interface with IP multicast forwarding enabled and multicast router interface with IP multicast forwarding enabled and multicast router
discovery enabled, a router will respond with an advertisement. discovery enabled, a router will respond with an advertisement.
Router solicitations may be sent when a device starts up, when an Router solicitations may be sent when a device starts up, when an
interface (re)initializes, or when IGMP Multicast Router Discovery is interface (re)initializes, or when IGMP Multicast Router Discovery is
enabled. Solicitations are sent as IGMP messages to the All-Systems enabled. Solicitations are sent as IGMP messages to the All-Routers
multicast address (224.0.0.1) and must be rate-limited. multicast address (224.0.0.2) and SHOULD be rate-limited.
4.2 IP Header Fields 4.2 IP Header Fields
4.2.1 Source Address 4.2.1 Source Address
An IP address belonging to the interface from which this message is An IP address belonging to the interface from which this message is
sent. If multiple source addresses are configured on an interface, sent. If multiple source addresses are configured on an interface,
then the one chosen is implementation dependent. then the one chosen is implementation dependent.
If the solicitation is being sent from a device that does not have an If the solicitation is being sent from a device that does not have an
IP address (i.e. non-managed layer-2 switch), then the source address IP address (i.e. non-managed layer-2 switch), then the source address
should be set to all zeros. should be set to all zeros.
4.2.2 Destination Address 4.2.2 Destination Address
Solicitation messages are sent to the All-Systems multicast address Solicitation messages are sent to the All-Routers multicast address
(224.0.0.1). (224.0.0.2).
4.2.3 Time-to-Live 4.2.3 Time-to-Live
The time-to-live field MUST be 1. The time-to-live field MUST be 1.
4.2.4 Protocol 4.2.4 Protocol
The protocol field is set to IGMP (2). The protocol field is set to IGMP (2).
Biswas, Cain, Haberman 8
4.3 Multicast Router Solicitation Message Format 4.3 Multicast Router Solicitation Message Format
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Reserved | Checksum | | Type | Reserved | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.3.1 Type Field 4.3.1 Type Field
The type field is set to YY (to be assigned by IANA). The type field is set to YY (to be assigned by IANA).
4.3.2 Reserved Field 4.3.2 Reserved Field
Biswas, Cain, Haberman 8
Sent as 0; ignored on reception. Sent as 0; ignored on reception.
4.3.3 Checksum 4.3.3 Checksum
The checksum is the 16-bit one's complement of the one's complement The checksum is the 16-bit one's complement of the one's complement
sum of the IGMP message, starting with the IGMP type. For computing sum of the IGMP message, starting with the IGMP type. For computing
the checksum, the Checksum field is set to 0. the checksum, the Checksum field is set to 0.
4.4 Sending Multicast Router Solicitations 4.4 Sending Multicast Router Solicitations
skipping to change at line 446 skipping to change at line 447
MUST be rate-limited; no more than MAX_SOLICITATIONS MUST be MUST be rate-limited; no more than MAX_SOLICITATIONS MUST be
sent in SOLICITATION_INTERVAL seconds. sent in SOLICITATION_INTERVAL seconds.
4.5 Receiving Multicast Router Solicitations 4.5 Receiving Multicast Router Solicitations
Upon receiving a router solicitation, routers will validate the Upon receiving a router solicitation, routers will validate the
message by: message by:
1. Verifying the IGMP checksum 1. Verifying the IGMP checksum
2. IP Destination Address = All-Systems multicast address 2. IP Destination Address = All-Routers multicast address
A router solicitation not meeting the validity requirements should be A router solicitation not meeting the validity requirements should be
silently discarded or logged in a rate-limited manner. silently discarded or logged in a rate-limited manner.
Solicitation message IP source addresses MUST NOT be used as part of Solicitation message IP source addresses MUST NOT be used as part of
the validity check. the validity check.
Biswas, Cain, Haberman 9
4.6 Multicast Router Solicitation Configuration Variables 4.6 Multicast Router Solicitation Configuration Variables
There are no configurable variables with respect to router There are no configurable variables with respect to router
solicitations. solicitations.
5. Multicast Router Termination 5. Multicast Router Termination
5.1 Overview 5.1 Overview
The Multicast Router Termination message is used to expedite the The Multicast Router Termination message is used to expedite the
notification of a change in the status of a routers multicast notification of a change in the status of a routers multicast
forwarding functions. forwarding functions.
Biswas, Cain, Haberman 9
5.2 IP Header Fields 5.2 IP Header Fields
5.2.1 Source Address 5.2.1 Source Address
An IP address belonging to the interface from which this message is An IP address belonging to the interface from which this message is
sent. If multiple source addresses are configured on an interface, sent. If multiple source addresses are configured on an interface,
then the one chosen is implementation dependent. then the one chosen is implementation dependent.
5.2.2 Destination Address 5.2.2 Destination Address
skipping to change at line 507 skipping to change at line 508
5.3.1 Type Field 5.3.1 Type Field
The type field is set to ZZ (to be assigned by IANA). The type field is set to ZZ (to be assigned by IANA).
5.3.2 Reserved Field 5.3.2 Reserved Field
Sent as 0; ignored on reception. Sent as 0; ignored on reception.
5.3.3 Checksum 5.3.3 Checksum
Biswas, Cain, Haberman 10
The checksum is the 16-bit one's complement of the one's complement The checksum is the 16-bit one's complement of the one's complement
sum of the IGMP message, starting with the IGMP type. For computing sum of the IGMP message, starting with the IGMP type. For computing
the checksum, the Checksum field is set to 0. the checksum, the Checksum field is set to 0.
5.4 Sending Multicast Router Termination Messages 5.4 Sending Multicast Router Termination Messages
Multicast Router Termination messages are sent for three reasons: Multicast Router Termination messages are sent for three reasons:
1. Multicast forwarding is disabled on the interface 1. Multicast forwarding is disabled on the interface
2. The interface is administratively disabled 2. The interface is administratively disabled
Biswas, Cain, Haberman 10
3. The router is gracefully shutdown 3. The router is gracefully shutdown
5.5 Receiving Multicast Router Termination Messages 5.5 Receiving Multicast Router Termination Messages
Upon receiving a termination message, routers will validate the Upon receiving a termination message, routers will validate the
message by the following criteria: message by the following criteria:
1. Verifying the IGMP checksum 1. Verifying the IGMP checksum
2. IP Destination Address = All-Systems multicast address 2. IP Destination Address = All-Systems multicast address
A termination message not meeting the validity requirements should be A termination message not meeting the validity requirements should be
silently discarded or logged in a rate-limited manner. silently discarded or logged in a rate-limited manner.
6. Multicast Router Discovery Protocol Constants 6. Multicast Router Discovery Protocol Constants
o MAX_RESPONSE_DELAY 2 seconds The following list identifies constants used in the Multicast Router
Discovery protocol. These constants are used in the calculation of
parameters.
o MAX_SOLICITATION_DELAY 1 second ¡ MAX_RESPONSE_DELAY 2 seconds
o SOLICITATION_INTERVAL 3 seconds ¡ MAX_SOLICITATION_DELAY 1 second
o MAX_SOLICITATIONS 3 transmissions ¡ SOLICITATION_INTERVAL 3 seconds
¡ MAX_SOLICITATIONS 3 transmissions
7. Mandatory Advertisement Options 7. Mandatory Advertisement Options
7.1 Overview of Options 7.1 Overview of Options
The following options MUST be supported by an implementation of IGMP The following options MUST be supported by an implementation of
Multicast Router Discovery: Query Interval Advertisement Option and Multicast Router Discovery: Query Interval Advertisement Option and
Robustness Variable Advertisement Option. These options advertise Robustness Variable Advertisement Option. These options advertise
specific IGMP variables and are sent in an advertisement depending on specific group management variables on a per-interface basis.
the version of IGMP enabled on an interface. Although no Although no requirements exist for multicast routers at this time, it
requirements exist for multicast routers at this time, it is assumed
that all multicast routers support the IGMP protocol. Biswas, Cain, Haberman 11
is assumed that all multicast routers support a group management
protocol.
7.2 Query Interval Advertisement Option 7.2 Query Interval Advertisement Option
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type=1 | Length=2 | IGMP Query Interval | | Type=x | Length=2 | IGMP Query Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
If a multicast router has any version of IGMP [RFC1112] enabled on an ¡ For IPv4, x=1
interface on which IGMP Multicast Router Discovery is also enabled, ¡ For IPv6, x=n (to be assigned by IANA)
it MUST send all advertisements with the Query Interval Advertisement
Option. This option contains the IGMP "Query Interval" configured on If a multicast router has any version of IGMP or MLD [RFC2710, MLDv2]
the interface on which advertisements are sent. enabled on an interface on which Multicast Router Discovery is also
enabled, it MUST send all advertisements with the Query Interval
Advertisement Option. This option contains the IGMP/MLD "Query
Interval" configured on the interface on which advertisements are
sent.
Biswas, Cain, Haberman 11
This option is sent regardless of whether the router is currently the This option is sent regardless of whether the router is currently the
IGMP querier for the subnet. This option is sent regardless of what IGMP querier for the subnet.
version of IGMP the router is running.
IGMP Query Interval field is equal (in seconds) to the configured IGMP Query Interval field is equal (in seconds) to the configured
IGMP "query interval" on the interface from which the advertisement IGMP/MLD "query interval" on the interface from which the
was sent. advertisement was sent.
7.3 Robustness Variable Advertisement Option 7.3 Robustness Variable Advertisement Option
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type=2 | Length=2 | Robustness Variable | | Type=y | Length=2 | Robustness Variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
If a multicast router has IGMPv2 [IGMPv2] or IGMPv3 [IGMPv3] enabled ¡ For IPv4, y=2
on an interface on which IGMP Multicast Router Discovery is also ¡ For IPv6, y=m (to be assigned by IANA)
enabled, it MUST send all advertisements with the Robustness Variable
Advertisement Option. This option contains the IGMP "Robustness If a multicast router has IGMPv2 [IGMPv2], IGMPv3 [IGMPv3] or MLD
Variable" configured on the interface on which advertisements are [RFC2710, MLDv2] enabled on an interface on which IGMP Multicast
sent. Router Discovery is also enabled, it MUST send all advertisements
with the Robustness Variable Advertisement Option. This option
contains the IGMP/MLD "Robustness Variable" configured on the
interface on which advertisements are sent.
This option is sent regardless of whether the router is currently the This option is sent regardless of whether the router is currently the
IGMP querier for the subnet. This option may be omitted if IGMPv1 is IGMP querier for the subnet. This option may be omitted if IGMPv1 is
enabled on the interface. enabled on the interface.
Robustness Variable is an integer that MUST not be zero [IGMPv2] and Biswas, Cain, Haberman 12
is equal to the IGMPv2 robustness variable. Robustness Variable is an integer that MUST not be zero
[IGMPv2][RFC2710] and is equal to the IGMPv2/MLDv1 robustness
variable.
8. IPv6 Support 8. IPv6 Support
The Multicast Router Discovery function for IPv6 is accomplished The Multicast Router Discovery function for IPv6 is accomplished
using the Neighbor Discovery Protocol for IPv6 [RFC2461] (hereafter using the Neighbor Discovery Protocol for IPv6 [RFC2461] (hereafter
called NDP). Specifically, the Router Advertisement message contains called NDP). Specifically, the Router Advertisement message contains
new fields to support the discovery of multicast routers. For this new fields to support the discovery of multicast routers. For this
reason, the timing mechanisms defined for NDP will be used instead of reason, the timing mechanisms defined for NDP will be used instead of
those defined in this document for IPv4 support. those defined in this document for IPv4 support. It should be noted
that the options defined in section 7 are not mandatory for IPv6
support.
8.1 Router Advertisement Message 8.1 Router Advertisement Message
The Router Advertisement message contains two new fields to support The Router Advertisement message contains two new fields to support
the multicast router discovery mechanism. The modified message the multicast router discovery mechanism. The modified message
format is: format is:
Biswas, Cain, Haberman 12
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum | | Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cur Hop Limit |M|O|H|D|E|Rsrvd| Router Lifetime | | Cur Hop Limit |M|O|H|D|E|Rsrvd| Router Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reachable Time | | Reachable Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Retrans Timer | | Retrans Timer |
skipping to change at line 647 skipping to change at line 662
The 'D' bit is used by a router to indicate support for the Multicast The 'D' bit is used by a router to indicate support for the Multicast
Router Discovery protocol. A value of '1' indicates that the router Router Discovery protocol. A value of '1' indicates that the router
supports the discovery protocol. A value of '0' indicates no supports the discovery protocol. A value of '0' indicates no
support. This allows for backwards compatibility of the Router support. This allows for backwards compatibility of the Router
Advertisement message. Advertisement message.
8.1.2 Enabled (E) bit 8.1.2 Enabled (E) bit
The 'E' bit indicates whether multicast routing is enabled on the The 'E' bit indicates whether multicast routing is enabled on the
router's interface. A value of '1' indicates that multicast router's interface. A value of '1' indicates that multicast
Biswas, Cain, Haberman 13
forwarding is enabled on the router's interface. A value of '0' forwarding is enabled on the router's interface. A value of '0'
indicates that multicast forwarding is disabled. indicates that multicast forwarding is disabled.
When the state of multicast forwarding changes on an interface, a When the state of multicast forwarding changes on an interface, a
router must stop its Router Advertisement timer, transmit a Router router must stop its Router Advertisement timer, transmit a Router
Advertisement with the 'E' bit set to the value associated with the Advertisement with the 'E' bit set to the value associated with the
new multicast forwarding state, and restart its Router Advertisement new multicast forwarding state, and restart its Router Advertisement
timer. timer.
8.2 Router Solicitations 8.2 Router Solicitations
skipping to change at line 668 skipping to change at line 685
An NDP Router Solicitation message can be sent to solicit a Router An NDP Router Solicitation message can be sent to solicit a Router
Advertisement message in order to determine the multicast forwarding Advertisement message in order to determine the multicast forwarding
state of a router. The periodic transmission of solicitation state of a router. The periodic transmission of solicitation
messages is outlined in RFC 2461. messages is outlined in RFC 2461.
9. Security Considerations 9. Security Considerations
The Multicast Router Advertisement message may allow rogue machines The Multicast Router Advertisement message may allow rogue machines
to masquerade as multicast routers. This could allow those machines to masquerade as multicast routers. This could allow those machines
to eavesdrop on multicast data transmission or create a denial of to eavesdrop on multicast data transmission or create a denial of
Biswas, Cain, Haberman 13
service attack on multicast flows. However, these new messages are service attack on multicast flows. However, these new messages are
extensible and that allows for the introduction of security extensible and that allows for the introduction of security
associations into the protocol. These security extensions could be associations into the protocol. These security extensions could be
used to authenticate or encrypt the messages. used to authenticate or encrypt the messages.
10. IANA Considerations 10. IANA Considerations
This document introduces three new IGMP messages. Each of these This document introduces three new IGMP messages. Each of these
messages requires a new IGMP 'Type' value. messages requires a new IGMP 'Type' value. This document requests
IANA to assign three new IGMP æTypeÆ values to the Multicast Router
Discovery protocol (for Advertisements, Solicitations, and
Terminations).
IPv6 support requests the allocation of two new Neighbor Discovery
Option Types to support the mandatory Multicast Router Discovery
options (found in Sections 7.2 and 7.3).
IPv4 support of this protocol requires the administration of the
Multicast Router Discovery option space. This document requests that
options be allocated using an IESG Approval or Standards Action
processes. In addition, this document requests that the options
defined, the Query Interval Advertisement option (Section 7.2) and
the Robustness Variable Advertisement option (Section 7.3) be
allocated the values specified in the respective sections.
This protocol also requests the creation of a new IANA registry to
manage the Multicast Router Discovery Code Values for IPv4 support.
New Code Values for the Multicast Router Discovery Type values are
allocated using IESG Approval or Standards Action processes.
Biswas, Cain, Haberman 14
11. Acknowledgements 11. Acknowledgements
ICMP Router Discovery [RFC1256] was used as a general model for IGMP ICMP Router Discovery [RFC1256] was used as a general model for IGMP
Multicast Router Discovery. Multicast Router Discovery.
12. References 12. References
[RFC1256] Deering, S., "ICMP Router Discovery Messages", RFC 1256, [RFC1256] Deering, S., "ICMP Router Discovery Messages", RFC 1256,
September 1991. September 1991.
[RFC1112] Deering, S., "Host Extensions for IP Multicasting", [RFC1112] Deering, S., "Host Extensions for IP Multicasting",
RFC 1112, August 1989. RFC 1112, August 1989.
[RFC2236] Fenner, W., "Internet Group Management Protocol, [RFC2236] Fenner, W., "Internet Group Management Protocol,
Version 2", RFC 2236, November 1997. Version 2", RFC 2236, November 1997.
[IGMPv3] Cain, B., et al, "Internet Group Management Protocol, [IGMPv3] Cain, B., et al, "Internet Group Management Protocol,
Version 3", work in progress, January 2002. Version 3", work in progress.
[RFC2113] Katz, D., "IP Router Alert Option," RFC 2113, April 1996. [RFC2113] Katz, D., "IP Router Alert Option," RFC 2113, April 1996.
[RFC2461] Narten, T., Nordmark, E., and Simpson, W., "Neighbor [RFC2461] Narten, T., Nordmark, E., and Simpson, W., "Neighbor
Discovery IP Version 6 (IPv6)", RFC 2461, December 1998. Discovery IP Version 6 (IPv6)", RFC 2461, December 1998.
[RFC2710] Deering, S., Fenner, B., and Haberman, B., ôMulticast
Listener Discovery (MLD) for IPv6ö, RFC 2710, October
1999.
[MLDv2] Vida, R., et al, ôMulticast Listener Discovery Version 2
(MLDv2) for IPv6ö, work in progress.
13. Authors' Addresses 13. Authors' Addresses
Shantam Biswas Shantam Biswas
Nortel Networks Nortel Networks
600 Technology Park Drive 600 Technology Park Drive
Billerica, MA 01821 Billerica, MA 01821
Email: sbiswas@baynetworks.com Email: sbiswas@baynetworks.com
Phone: 1-978-916-8048 Phone: 1-978-916-8048
Brad Cain Brad Cain
Email: bcain@mediaone.net Storigen Systems
Email: bcain@storigen.com
Brian Haberman Brian Haberman
Email: haberman@innovationslab.net Caspian Networks
Phone: 1-919-949-4828 Email: bkhabs@nc.rr.com
Biswas, Cain, Haberman 14 Biswas, Cain, Haberman 15
14. Full Copyright Statement 14. Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved. Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph kind, provided that the above copyright notice and this paragraph
are included on all such copies and derivative works. However, this are included on all such copies and derivative works. However, this
skipping to change at line 749 skipping to change at line 793
The limited permissions granted above are perpetual and will not be The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns. revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Biswas, Cain, Haberman 15 Biswas, Cain, Haberman 16
 End of changes. 72 change blocks. 
131 lines changed or deleted 175 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/