< draft-ietf-idmr-igmp-mrdisc-04.txt   draft-ietf-idmr-igmp-mrdisc-05.txt >
IDMR Working Group S. Biswas IDMR Working Group S. Biswas
Internet Draft B. Cain Internet Draft B. Haberman
draft-ietf-idmr-igmp-mrdisc-04.txt B. Haberman draft-ietf-idmr-igmp-mrdisc-05.txt Nortel Networks
July 2000 Nortel Networks October 2000 B. Cain
Expires January 2001 Expires April 2001 Mirror Image Internet
IGMP Multicast Router Discovery IGMP 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
skipping to change at line 36 skipping to change at line 36
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
Companies have been proposing IGMP snooping schemes for layer-2 Companies have been proposing IGMP snooping schemes for layer-2
bridging devices. A method for discovering multicast capable routers bridging devices. A method for discovering multicast capable routers
is necessary for these schemes. An IGMP query message is inadequate is necessary for these schemes. An IGMP query message is inadequate
for discovering multicast routers as one querier is elected. In for discovering multicast routers as one querier is elected. In
order to "discover" multicast routers, we introduce two new types of order to "discover" multicast routers, we introduce three new types
IGMP messages: Multicast Router Advertisement and Multicast Router of IGMP messages: Multicast Router Advertisement and Multicast Router
Solicitation. These two messages can be used by any device which Solicitation. These two messages can be used by any device which
listens to IGMP to discovery multicast routers. Multicast Router listens to IGMP to discovery multicast routers. Multicast Router
Solicitation messages may be used by any network device (e.g. layer-2 Solicitation messages may be used by any network device (e.g. layer-2
switch) to solicit discovery messages from multicast routers. switch) to solicit discovery messages from multicast routers.
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 "IGMP snooping" type of schemes. By listening
skipping to change at line 261 skipping to change at line 261
Whenever an advertisement is sent, the periodic advertisement Whenever an advertisement is sent, the periodic advertisement
interval timer must be reset. interval timer must be reset.
3.5 Receiving Multicast Router Advertisements 3.5 Receiving Multicast Router Advertisements
Biswas, Cain, Haberman 5 Biswas, Cain, Haberman 5
Upon receiving a router advertisement, devices will validate the Upon receiving a router advertisement, devices will validate the
message by the following criteria: message by the following criteria:
1. 1.
Verifying that the IGMP type is 0x24
2.
Verifying the IGMP checksum Verifying the IGMP checksum
3. 2.
IP Destination Address = All-Routers multicast address IP Destination Address = All-Routers multicast address
A router advertisement not meeting the validity requirements will be A router advertisement not meeting the validity requirements should
silently discarded. Devices MUST process all options, discarding be silently discarded or logged in a rate-limited manner. Devices
options that are not recognized. MUST process all options, discarding options that are not recognized.
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
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
skipping to change at line 311 skipping to change at line 308
3.6.3 MaxInitialAdvertisementInterval 3.6.3 MaxInitialAdvertisementInterval
The first router advertisement out of an interface is sent after The first router advertisement out of an interface is sent after
waiting for a random interval less than this variable. This will waiting for a random interval less than this variable. This will
prevent a flood of router advertisements when many routers start up prevent a flood of router advertisements when many routers start up
at the same time. at the same time.
Default: 2 seconds Default: 2 seconds
Biswas, Cain, Haberman 6
3.6.4 MaxInitialAdvertisements 3.6.4 MaxInitialAdvertisements
Biswas, Cain, Haberman 6
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
skipping to change at line 338 skipping to change at line 335
4. Multicast Router Solicitation 4. Multicast Router Solicitation
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 router starts up, when a Router solicitations may be sent when a device starts up, when an
router interface (re)initializes, or when IGMP Multicast Router interface (re)initializes, or when IGMP Multicast Router Discovery is
Discovery is enabled. Solicitations are sent as IGMP messages to the enabled. Solicitations are sent as IGMP messages to the All-Routers
All-Routers multicast address (224.0.0.2) and must be rate-limited. multicast address (224.0.0.2) and must 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
skipping to change at line 364 skipping to change at line 361
4.2.2 Destination Address 4.2.2 Destination Address
Solicitation messages are sent to the All-Routers multicast address Solicitation messages are sent to the All-Routers multicast address
(224.0.0.2). (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.
Biswas, Cain, Haberman 7
4.2.4 Protocol 4.2.4 Protocol
Biswas, Cain, Haberman 7
The protocol field is set to IGMP (2). The protocol field is set to IGMP (2).
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at line 398 skipping to change at line 395
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
Router solicitations are sent when the following events occur: Router solicitations are sent when the following events occur:
1. 1.
After waiting for a random delay less than SOLICITATION_INTERVAL After waiting for a random delay less than SOLICITATION_INTERVAL
when an interface first comes up, is (re)initialized, or IGMP when an interface first comes up, is (re)initialized, or IGMP
Multicast Router Discovery is enabled. A router may send up to Multicast Router Discovery is enabled. A device may send up to
a maximum of MAX_SOLICITATIONS, waiting for a random delay less a maximum of MAX_SOLICITATIONS, waiting for a random delay less
than SOLICITATION_INTERVAL between each successive solicitation. than SOLICITATION_INTERVAL between each successive solicitation.
2. 2.
Optionally, for an implementation specific event. Solicitations Optionally, for an implementation specific event. Solicitations
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. 1.
Verifying that the IGMP type is 0x25
2.
Verifying the IGMP checksum Verifying the IGMP checksum
3. 2.
IP Destination Address = All-Routers multicast address IP Destination Address = All-Routers multicast address
Biswas, Cain, Haberman 8 A router solicitation not meeting the validity requirements should be
A router solicitation not meeting the validity requirements will be silently discarded or logged in a rate-limited manner.
silently discarded.
Biswas, Cain, Haberman 8
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.
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
skipping to change at line 472 skipping to change at line 466
5.3 Multicast Router Termination Message Format 5.3 Multicast Router Termination 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5.3.1 Type Field 5.3.1 Type Field
Biswas, Cain, Haberman 9
The type field is set to 0x26. The type field is set to 0x26.
5.3.2 Reserved Field 5.3.2 Reserved Field
Biswas, Cain, Haberman 9
Sent as 0; ignored on reception. Sent as 0; ignored on reception.
5.3.3 Checksum 5.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.
5.4 Sending Multicast Router Termination Messages 5.4 Sending Multicast Router Termination Messages
skipping to change at line 504 skipping to change at line 498
3. 3.
The router is gracefully shutdown 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. 1.
Verifying that the IGMP type is 0x26
2.
Verifying the IGMP checksum Verifying the IGMP checksum
3. 2.
IP Destination Address = All-Routers multicast address IP Destination Address = All-Routers multicast address
A termination message not meeting the validity requirements will be A termination message not meeting the validity requirements should be
silently discarded. 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 o MAX_RESPONSE_DELAY 2 seconds
o MAX_SOLICITATION_DELAY 1 second o MAX_SOLICITATION_DELAY 1 second
o SOLICITATION_INTERVAL 3 seconds o SOLICITATION_INTERVAL 3 seconds
o MAX_SOLICITATIONS 3 transmissions o MAX_SOLICITATIONS 3 transmissions
7. Mandatory Advertisement Options 7. Mandatory Advertisement Options
7.1 Overview of Options 7.1 Overview of Options
Biswas, Cain, Haberman 10
The following options MUST be supported by an implementation of IGMP The following options MUST be supported by an implementation of IGMP
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 IGMP variables and are sent in an advertisement depending on
the version of IGMP enabled on an interface. Although no the version of IGMP enabled on an interface. Although no
requirements exist for multicast routers at this time, it is assumed requirements exist for multicast routers at this time, it is assumed
that all multicast routers support the IGMP protocol. that all multicast routers support the IGMP protocol.
Biswas, Cain, Haberman 10
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=1 | Length=2 | IGMP Query Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
If a multicast router has any version of IGMP [RFC1112] enabled on an If a multicast router has any version of IGMP [RFC1112] enabled on an
interface on which IGMP Multicast Router Discovery is also enabled, interface on which IGMP Multicast Router Discovery is also enabled,
skipping to change at line 582 skipping to change at line 573
Variable" configured on the interface on which advertisements are Variable" configured on the interface on which advertisements are
sent. 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 Robustness Variable is an integer that MUST not be zero [IGMPv2] and
is equal to the IGMPv2 robustness variable. is equal to the IGMPv2 robustness variable.
Biswas, Cain, Haberman 11
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
Biswas, Cain, Haberman 11
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.
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:
0 1 2 3 0 1 2 3
skipping to change at line 610 skipping to change at line 602
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options ... | Options ...
+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+-+-+-+-
The two new fields are the 'D' and 'E' bits. All other fields retain The two new fields are the 'D' and 'E' bits. All other fields retain
their definitions and functions as described in Section 4.2 of the their definitions and functions as described in Section 4.2 of the
NDP specification [RFC2461]. NDP specification [RFC2461].
8.1.1 Discovery (D) bit 8.1.1 Discovery (D) bit
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
skipping to change at line 633 skipping to change at line 625
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
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
Biswas, Cain, Haberman 12
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
Biswas, Cain, Haberman 12
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. Acknowledgements 9. 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.
skipping to change at line 681 skipping to change at line 672
10. Authors' Addresses 10. 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
Nortel Networks Mirror Image Internet
600 Technology Park Drive 49 Dragon Court
Billerica, MA 01821 Woburn, MA 01801
Email: bcain@baynetworks.com Email: brad.cain@mirror-image.com
Phone: 1-978-916-1316 Phone: 1-781-276-1904
Biswas, Cain, Haberman 13
Brian Haberman Brian Haberman
Nortel Networks Nortel Networks
4309 Emperor Blvd 4309 Emperor Blvd
Suite 200 Suite 200
Durham, NC 27703 Durham, NC 27703
Biswas, Cain, Haberman 13
Email: haberman@nortelnetworks.com Email: haberman@nortelnetworks.com
Phone: 1-919-992-4439 Phone: 1-919-992-4439
Biswas, Cain, Haberman 14 Biswas, Cain, Haberman 14
 End of changes. 30 change blocks. 
45 lines changed or deleted 37 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/