| < draft-ietf-idmr-igmp-mrdisc-06.txt | draft-ietf-idmr-igmp-mrdisc-07.txt > | |||
|---|---|---|---|---|
| IDMR Working Group S. Biswas | IDMR Working Group S. Biswas | |||
| Internet Draft B. Haberman | Internet Draft B. Haberman | |||
| draft-ietf-idmr-igmp-mrdisc-06.txt Nortel Networks | draft-ietf-idmr-igmp-mrdisc-07.txt Nortel Networks | |||
| May 2001 B. Cain | June 2001 B. Cain | |||
| Expires November 2001 Cereva Networks | Expires December 2001 Cereva Networks | |||
| 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 32 ¶ | skipping to change at line 32 ¶ | |||
| progress." | progress." | |||
| 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 | |||
| Companies have been proposing IGMP snooping schemes for layer-2 | The concept of IGMP snooping requires the ability to identify the | |||
| bridging devices. A method for discovering multicast capable routers | location of multicast routers. Since IGMP snooping is not | |||
| is necessary for these schemes. An IGMP query message is inadequate | standardized, there are many mechanisms in use to identify the | |||
| for discovering multicast routers as one querier is elected. In | multicast routers. However, this scenario can lead to | |||
| order to "discover" multicast routers, we introduce three new types | interoperability issues between multicast routers and layer-2 | |||
| of IGMP messages: Multicast Router Advertisement, Multicast Router | switches from different vendors. | |||
| Solicitation, and Multicast Router Termination. These messages can | ||||
| be used by any device which listens to IGMP to discovery multicast | This document introduces a general mechanism that allows for the | |||
| routers. Multicast Router Solicitation messages may be used by any | discovery of multicast routers. By introducing these new messages, | |||
| network device (e.g. layer-2 switch) to solicit discovery messages | IGMP snooping devices have a uniform means of identifying multicast | |||
| from multicast routers. | routers without dependency on particular routing protocols. In | |||
| addition, other devices that may need to discover multicast routers | ||||
| can use these messages. | ||||
| Table of Contents | ||||
| 1. Introduction....................................................2 | ||||
| 2. Protocol Overview...............................................3 | ||||
| 3. Multicast Router Advertisement..................................4 | ||||
| 3.1 Overview.......................................................4 | ||||
| Biswas, Cain, Haberman 1 | ||||
| 3.2 IP Header Fields...............................................4 | ||||
| 3.3 Multicast Router Advertisement Message Format..................5 | ||||
| 3.4 Sending Multicast Router Advertisements........................6 | ||||
| 3.5 Receiving Multicast Router Advertisements......................6 | ||||
| 3.6 Multicast Router Advertisement Configuration Variables.........7 | ||||
| 4. Multicast Router Solicitation...................................8 | ||||
| 4.1 Overview.......................................................8 | ||||
| 4.2 IP Header Fields...............................................8 | ||||
| 4.3 Multicast Router Solicitation Message Format...................9 | ||||
| 4.4 Sending Multicast Router Solicitations.........................9 | ||||
| 4.5 Receiving Multicast Router Solicitations.......................9 | ||||
| 4.6 Multicast Router Solicitation Configuration Variables.........10 | ||||
| 5. Multicast Router Termination...................................10 | ||||
| 5.1 Overview......................................................10 | ||||
| 5.2 IP Header Fields..............................................10 | ||||
| 5.3 Multicast Router Termination Message Format...................10 | ||||
| 5.4 Sending Multicast Router Termination Messages.................11 | ||||
| 5.5 Receiving Multicast Router Termination Messages...............11 | ||||
| 6. Multicast Router Discovery Protocol Constants..................11 | ||||
| 7. Mandatory Advertisement Options................................11 | ||||
| 7.1 Overview of Options...........................................11 | ||||
| 7.2 Query Interval Advertisement Option...........................12 | ||||
| 7.3 Robustness Variable Advertisement Option......................12 | ||||
| 8. IPv6 Support...................................................12 | ||||
| 8.1 Router Advertisement Message..................................13 | ||||
| 8.2 Router Solicitations..........................................13 | ||||
| 9. Security Considerations........................................14 | ||||
| 10. IANA Considerations...........................................14 | ||||
| 11. Acknowledgements..............................................14 | ||||
| 12. References....................................................14 | ||||
| 13. Authors' Addresses............................................14 | ||||
| 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 | |||
| Biswas, Cain, Haberman 1 | ||||
| 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 | Unlike ICMP router discovery messages [RFC1256], multicast router | |||
| discovery advertisements should not be listened to by hosts. Hosts | discovery advertisements should not be listened to by hosts. Hosts | |||
| need not know the identity of multicast routers. | 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: | |||
| 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 | |||
| skipping to change at line 103 ¶ | skipping to change at line 145 ¶ | |||
| sent by routers to advertise IP multicast forwarding enabled on an | sent by routers to advertise IP multicast forwarding enabled on an | |||
| interface. The Multicast Router Solicitation is used by routers to | interface. The Multicast Router Solicitation is used by routers to | |||
| solicit Multicast Router Advertisements. The Multicast Router | solicit Multicast Router Advertisements. The Multicast Router | |||
| Termination message is sent when a router terminates its multicast | Termination message is sent when a router terminates its multicast | |||
| 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. | |||
| Biswas, Cain, Haberman 2 | ||||
| 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-Routers (224.0.0.2) 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-Routers multicast group (224.0.0.2). | |||
| 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 | |||
| skipping to change at line 153 ¶ | skipping to change at line 195 ¶ | |||
| 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. | |||
| Biswas, Cain, Haberman 3 | ||||
| 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-Routers multicast address | |||
| (224.0.0.2). | (224.0.0.2). | |||
| 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 | |||
| 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 | | |||
| skipping to change at line 185 ¶ | skipping to change at line 227 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Option [1] (TLV encoded) | | | Option [1] (TLV encoded) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Option [...] (TLV encoded) | | | Option [...] (TLV encoded) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Option [N] (TLV encoded) | | | Option [N] (TLV encoded) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 3.3.1 Type Field | 3.3.1 Type Field | |||
| The type field is set to 0x24. | The type field is set to XX (to be assigned by IANA). | |||
| 3.3.2 Advertisement Interval | 3.3.2 Advertisement Interval | |||
| This specifies the periodic time interval at which Multicast Router | This specifies the periodic time interval at which Multicast Router | |||
| Advertisements are sent in units of seconds. This value is set to | Advertisements are sent in units of seconds. This value is set to | |||
| the configured MaxAdvertisementInterval variable. | the configured MaxAdvertisementInterval variable. | |||
| 3.3.3 Checksum | 3.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. | |||
| 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. | |||
| Biswas, Cain, Haberman 4 | ||||
| 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 | |||
| skipping to change at line 256 ¶ | skipping to change at line 298 ¶ | |||
| 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 | |||
| 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 | ||||
| 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-Routers 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. | |||
| skipping to change at line 308 ¶ | skipping to change at line 350 ¶ | |||
| 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 | |||
| 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 | |||
| 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 | |||
| skipping to change at line 361 ¶ | skipping to change at line 403 ¶ | |||
| 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. | |||
| 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). | |||
| 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 0x25. | The type field is set to YY (to be assigned by IANA). | |||
| 4.3.2 Reserved Field | 4.3.2 Reserved Field | |||
| 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. | |||
| skipping to change at line 412 ¶ | skipping to change at line 454 ¶ | |||
| 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-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. | |||
| 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. | |||
| 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 | |||
| skipping to change at line 460 ¶ | skipping to change at line 502 ¶ | |||
| 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 | |||
| The type field is set to 0x26. | The type field is set to ZZ (to be assigned by IANA). | |||
| 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 | |||
| 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 | |||
| skipping to change at line 517 ¶ | skipping to change at line 559 ¶ | |||
| 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 10 | 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, | |||
| skipping to change at line 569 ¶ | skipping to change at line 611 ¶ | |||
| 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 11 | 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: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| skipping to change at line 620 ¶ | skipping to change at line 662 ¶ | |||
| 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 12 | 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 | |||
| 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. Acknowledgements | 10. IANA Considerations | |||
| This document introduces three new IGMP messages. Each of these | ||||
| messages requires a new IGMP 'Type' value. | ||||
| 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. | |||
| 11. 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., Deering, S., Thyagarajan, A., "Internet Group | [IGMPv3] Cain, B., Deering, S., Thyagarajan, A., "Internet Group | |||
| Management Protocol, Version 3", work in progress, | Management Protocol, Version 3", work in progress, | |||
| March 2001. | 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. | |||
| 10. 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 | Cereva Networks | |||
| Biswas, Cain, Haberman 13 | ||||
| Email: bcain@cereva.com | Email: bcain@cereva.com | |||
| Brian Haberman | Brian Haberman | |||
| Nortel Networks | Nortel Networks | |||
| 4309 Emperor Blvd | 4309 Emperor Blvd | |||
| Suite 200 | Suite 200 | |||
| Durham, NC 27703 | Durham, NC 27703 | |||
| Email: haberman@nortelnetworks.com | Email: haberman@nortelnetworks.com | |||
| Phone: 1-919-992-4439 | Phone: 1-919-992-4439 | |||
| Biswas, Cain, Haberman 14 | 14. Full Copyright Statement | |||
| Copyright (C) The Internet Society (2001). All Rights Reserved. | ||||
| This document and translations of it may be copied and furnished to | ||||
| others, and derivative works that comment on or otherwise explain it | ||||
| or assist in its implementation may be prepared, copied, published | ||||
| and distributed, in whole or in part, without restriction of any | ||||
| kind, provided that the above copyright notice and this paragraph | ||||
| are included on all such copies and derivative works. However, this | ||||
| document itself may not be modified in any way, such as by removing | ||||
| the copyright notice ore references to the Internet Society or other | ||||
| Internet organizations, except as needed for the purpose of | ||||
| developing Internet standards in which case the procedures for | ||||
| copyrights defined in the Internet Standards process must be | ||||
| followed, or as required to translate it into languages other than | ||||
| English. | ||||
| The limited permissions granted above are perpetual and will not be | ||||
| revoked by the Internet Society or its successors or assigns. | ||||
| This document and the information contained herein is provided on an | ||||
| "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING | ||||
| TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING | ||||
| BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION | ||||
| HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF | ||||
| MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
| Biswas, Cain, Haberman 15 | ||||
| End of changes. 32 change blocks. | ||||
| 35 lines changed or deleted | 82 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/ | ||||