| < draft-ietf-idmr-igmp-mrdisc-07.txt | draft-ietf-idmr-igmp-mrdisc-08.txt > | |||
|---|---|---|---|---|
| IDMR Working Group S. Biswas | IDMR Working Group S. Biswas | |||
| Internet Draft B. Haberman | Internet Draft Nortel Networks | |||
| draft-ietf-idmr-igmp-mrdisc-07.txt Nortel Networks | draft-ietf-idmr-igmp-mrdisc-08.txt B. Cain | |||
| June 2001 B. Cain | January 2002 B. Haberman | |||
| Expires December 2001 Cereva Networks | Expires July 2002 | |||
| 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 55 ¶ | skipping to change at line 55 ¶ | |||
| 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. Multicast Router Advertisement..................................4 | |||
| 3.1 Overview.......................................................4 | 3.1 Overview.......................................................4 | |||
| Biswas, Cain, Haberman 1 | Biswas, Cain, Haberman 1 | |||
| 3.2 IP Header Fields...............................................4 | 3.2 IP Header Fields...............................................4 | |||
| 3.3 Multicast Router Advertisement Message Format..................5 | 3.3 Multicast Router Advertisement Message Format..................4 | |||
| 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.........7 | 3.6 Multicast Router Advertisement Configuration Variables.........6 | |||
| 4. Multicast Router Solicitation...................................8 | 4. Multicast Router Solicitation...................................7 | |||
| 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...................9 | 4.3 Multicast Router Solicitation Message Format...................8 | |||
| 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.........10 | 4.6 Multicast Router Solicitation Configuration Variables..........9 | |||
| 5. Multicast Router Termination...................................10 | 5. Multicast Router Termination....................................9 | |||
| 5.1 Overview......................................................10 | 5.1 Overview.......................................................9 | |||
| 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.................11 | 5.4 Sending Multicast Router Termination Messages.................10 | |||
| 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...........................12 | 7.2 Query Interval Advertisement Option...........................11 | |||
| 7.3 Robustness Variable Advertisement Option......................12 | 7.3 Robustness Variable Advertisement Option......................12 | |||
| 8. IPv6 Support...................................................12 | 8. IPv6 Support...................................................12 | |||
| 8.1 Router Advertisement Message..................................13 | 8.1 Router Advertisement Message..................................12 | |||
| 8.2 Router Solicitations..........................................13 | 8.2 Router Solicitations..........................................13 | |||
| 9. Security Considerations........................................14 | 9. Security Considerations........................................13 | |||
| 10. IANA Considerations...........................................14 | 10. IANA Considerations...........................................14 | |||
| 11. Acknowledgements..............................................14 | 11. Acknowledgements..............................................14 | |||
| 12. References....................................................14 | 12. References....................................................14 | |||
| 13. Authors' Addresses............................................14 | 13. Authors' Addresses............................................14 | |||
| 14. Full Copyright Statement......................................15 | 14. Full Copyright Statement......................................15 | |||
| 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 | |||
| to multicast router discovery messages, layer-2 devices can determine | to 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. | |||
| Unlike ICMP router discovery messages [RFC1256], multicast router | ||||
| discovery advertisements should not be listened to by hosts. Hosts | ||||
| need not know the identity of multicast routers. | ||||
| Biswas, Cain, Haberman 2 | ||||
| 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. | |||
| The following are justifications for inventing another router | The following are justifications for inventing another router | |||
| discovery protocol: | discovery protocol: | |||
| Biswas, Cain, Haberman 2 | ||||
| o 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, | o By making multicast router discovery messages extensible, | |||
| future enhancements can be made. | future enhancements can be made. | |||
| skipping to change at line 149 ¶ | skipping to change at line 145 ¶ | |||
| routing functions. | 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. | |||
| Multicast Router Advertisements are also sent in response to | Multicast Router Advertisements are also sent in response to | |||
| Multicast Router Solicitations (hereafter called solicitations). | Multicast Router Solicitations (hereafter called solicitations). | |||
| These are sent to solicit a response of Multicast Router | These are sent to solicit a response of Multicast Router | |||
| Advertisements from all multicast routers on a subnet. Solicitations | Advertisements from all multicast routers on a subnet. Solicitations | |||
| are sent to the ALL-Routers (224.0.0.2) multicast group. | 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. | |||
| Biswas, Cain, Haberman 3 | ||||
| Multicast Router Termination messages are sent when a router | Multicast Router Termination messages are sent when a router | |||
| terminates its multicast routing functions. | 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. All IGMP Multicast Router Discovery messages are sent with | |||
| to the All-Routers multicast group (224.0.0.2). | to the All-Systems multicast group (224.0.0.1). | |||
| Biswas, Cain, Haberman 3 | ||||
| Other non-IP forwarding devices (e.g. layer-2 switches) may send | Other non-IP forwarding devices (e.g. layer-2 switches) may send | |||
| Multicast Router Solicitations to solicit Multicast Router | Multicast Router Solicitations to solicit Multicast Router | |||
| Advertisements. | 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-Routers multicast address | are sent as IGMP messages to the All-Systems multicast address | |||
| (224.0.0.2) 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 | |||
| 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. | |||
| 3.2.2 Destination Address | 3.2.2 Destination Address | |||
| Router Advertisements are sent to the All-Routers multicast address | Router Advertisements are sent to the All-Systems multicast address | |||
| (224.0.0.2). | (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. | |||
| Biswas, Cain, Haberman 4 | ||||
| 3.2.4 Protocol | 3.2.4 Protocol | |||
| The protocol field is set to IGMP (2). | The protocol field is set to IGMP (2). | |||
| 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 250 ¶ | skipping to change at line 247 ¶ | |||
| 3.3.4 Number of Options (N) | 3.3.4 Number of Options (N) | |||
| The number of options contained in the router advertisement. If no | The number of options contained in the router advertisement. If no | |||
| options are sent this field MUST be set to 0. | options are sent this field MUST be set to 0. | |||
| 3.3.5 Option[1..N] | 3.3.5 Option[1..N] | |||
| Options are encoded as TLV in the following manner: | Options are encoded as TLV in the following manner: | |||
| Biswas, Cain, Haberman 5 | ||||
| 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. | |||
| 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. | o 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. | |||
| skipping to change at line 303 ¶ | skipping to change at line 300 ¶ | |||
| 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 | |||
| 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. Verifying the IGMP checksum | 1. Verifying the IGMP checksum | |||
| Biswas, Cain, Haberman 6 | 2. IP Destination Address = All-Systems multicast address | |||
| 2. IP Destination Address = All-Routers 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. | |||
| 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 355 ¶ | skipping to change at line 352 ¶ | |||
| Default: 2 seconds | Default: 2 seconds | |||
| 3.6.4 MaxInitialAdvertisements | 3.6.4 MaxInitialAdvertisements | |||
| 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 | |||
| Biswas, Cain, Haberman 7 | ||||
| 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 routers per subnet. | |||
| 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-Routers | enabled. Solicitations are sent as IGMP messages to the All-Systems | |||
| multicast address (224.0.0.2) and must be rate-limited. | multicast address (224.0.0.1) 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 | |||
| 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-Routers multicast address | Solicitation messages are sent to the All-Systems multicast address | |||
| (224.0.0.2). | (224.0.0.1). | |||
| 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 449 ¶ | skipping to change at line 446 ¶ | |||
| 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-Routers multicast address | 2. IP Destination Address = All-Systems 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 | |||
| Multicast Router Termination messages are sent to the All-Routers | Multicast Router Termination messages are sent to the All-Systems | |||
| multicast address (224.0.0.2). | multicast address (224.0.0.1). | |||
| 5.2.3 Time-to-Live | 5.2.3 Time-to-Live | |||
| The Time-to-Live field MUST be 1. | The Time-to-Live field MUST be 1. | |||
| 5.2.4 Protocol | 5.2.4 Protocol | |||
| The protocol field is set to IGMP (2). | The protocol field is set to IGMP (2). | |||
| 5.3 Multicast Router Termination Message Format | 5.3 Multicast Router Termination Message Format | |||
| skipping to change at line 510 ¶ | skipping to change at line 507 ¶ | |||
| 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-Routers 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 | o MAX_RESPONSE_DELAY 2 seconds | |||
| o MAX_SOLICITATION_DELAY 1 second | o MAX_SOLICITATION_DELAY 1 second | |||
| skipping to change at line 559 ¶ | skipping to change at line 556 ¶ | |||
| 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 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 11 | ||||
| 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, | |||
| it MUST send all advertisements with the Query Interval Advertisement | it MUST send all advertisements with the Query Interval Advertisement | |||
| Option. This option contains the IGMP "Query Interval" configured on | Option. This option contains the IGMP "Query Interval" configured on | |||
| the interface on which advertisements are sent. | 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. This option is sent regardless of what | |||
| version of IGMP the router is running. | 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 "query interval" on the interface from which the advertisement | |||
| was sent. | was sent. | |||
| 7.3 Robustness Variable Advertisement Option | 7.3 Robustness Variable Advertisement Option | |||
| skipping to change at line 610 ¶ | skipping to change at line 607 ¶ | |||
| 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. | |||
| 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 12 | ||||
| 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: | |||
| 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 662 ¶ | skipping to change at line 658 ¶ | |||
| 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 | |||
| Biswas, Cain, Haberman 13 | ||||
| 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. | |||
| skipping to change at line 699 ¶ | skipping to change at line 696 ¶ | |||
| [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., Deering, S., Thyagarajan, A., "Internet Group | [IGMPv3] Cain, B., et al, "Internet Group Management Protocol, | |||
| Management Protocol, Version 3", work in progress, | Version 3", work in progress, January 2002. | |||
| March 2001. | ||||
| [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. | |||
| 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 | |||
| Biswas, Cain, Haberman 14 | ||||
| Email: sbiswas@baynetworks.com | Email: sbiswas@baynetworks.com | |||
| Phone: 1-978-916-8048 | Phone: 1-978-916-8048 | |||
| Brad Cain | Brad Cain | |||
| Cereva Networks | Email: bcain@mediaone.net | |||
| Email: bcain@cereva.com | ||||
| Brian Haberman | Brian Haberman | |||
| Nortel Networks | Email: haberman@innovationslab.net | |||
| 4309 Emperor Blvd | Phone: 1-919-949-4828 | |||
| Suite 200 | ||||
| Durham, NC 27703 | ||||
| Email: haberman@nortelnetworks.com | ||||
| Phone: 1-919-992-4439 | ||||
| Biswas, Cain, Haberman 14 | ||||
| 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 | |||
| End of changes. 47 change blocks. | ||||
| 60 lines changed or deleted | 50 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/ | ||||