Internet DRAFT - draft-ietf-magma-igmpv3-ssm

draft-ietf-magma-igmpv3-ssm









INTERNET-DRAFT               IGMPv3 for SSM                  H. Holbrook
Expires May 21, 2002                                       Cisco Systems
                                                                 B. Cain
                                                         Cereva Networks
                                                            Nov 21, 2001


               Using IGMPv3 For Source-Specific Multicast
                  <draft-ietf-magma-igmpv3-ssm-00.txt>


Status of this Memo

This document is an Internet-Draft and is in full conformance with all
provisions of Section 10 of RFC2026.

Internet-Drafts are working documents of the Internet Engineering Task
Force (IETF), its areas, and its working groups.  Note that other groups
may also distribute working documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time.  It is inappropriate to use Internet- Drafts as reference material
or to cite them other than as "work in progress."

The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt

The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC 2119].

















Holbrook/Cain                                                   [Page 1]

INTERNET-DRAFT               IGMPv3 for SSM                  21 Nov 2001


Abstract

This document describes changes to the Internet Group Management
Protocol Version 3 (IGMPv3) [IGMPv3] to support source-specific
multicast (SSM) [SSM].

1.  Overview and Rationale

The Internet Group Management Protocol (IGMP) [RFC1112,IGMPv2,IGMPv3],
is the standard mechanism for communicating IP multicast group
membership requests from a host to its locally attached routers.  IGMP
version 3 (IGMPv3) [IGMPv3] provides the ability for a host to
selectively request or filter traffic from individual sources within a
multicast group.  The IGMPv3 algorithms and message processing rules
require small changes to support the source-specific multicast model.
This document defines the modifications required to the host and router
portions of IGMPv3 to support source-specific multicast.

2.  IGMP Host Requirements for Source-Specific Multicast

This document does not strictly require the IP layer or IGMP module of
an IGMPv3-enabled host to treat SSM destination addresses specially.
For correct operation of SSM, however, a host application must

     - know the range of destination addresses that have SSM semantics

     - use ONLY the source-specific APIs to request delivery of packets
       sent to SSM destination addresses

The 232/8 address range is currently allocated for SSM by IANA [IANA-
ALLOCATION], however hosts and routers may be configured to apply SSM
semantics to other addresses as well.  An IGMP module on a host or
router SHOULD have a configuration mechanism to set the SSM address
range(s).  If this configuration option exists, it MUST default to the
IANA-allocated SSM range.  The mechanism for setting this configuration
option MUST at least allow for manual configuration.  Protocol
mechanisms to set this option may be defined in the future.  If a host
does not have this option, applications on that host may be denied SSM
service by other non-compliant applications on the same host or by other
non-compliant hosts on the same network, as described below.


It is strongly recommended that the multicast source filtering (MSF)
APIs of [MSFAPI] be used to implement SSM.  If the host IP module
receives a non source-specific request for an SSM destination address,
it SHOULD return an error to the application.  If the host IP module is
not configured with the SSM address range, the non-source-specific (RFC
1112) APIs will not return an error when passed an SSM destination



Holbrook/Cain                                                   [Page 2]

INTERNET-DRAFT               IGMPv3 for SSM                  21 Nov 2001


addresses.  On these hosts, applications that mistakenly use the wrong
APIs (e.g., "join(G)", or "IPMulticastListen(G,EXCLUDE(S1))" for IGMPv3)
to request delivery of packets sent to an SSM address will not receive
the requested service, as routers will refuse to process any such
request, as per section 3.5 of this document.

This section documents the behavior of hosts with respect to sending and
receiving the following IGMP message types:

     - IGMPv1/v2 Reports
     - IGMPv3 Reports
     - IGMPv1/v2 Queries
     - IGMPv2 Leave
     - IGMPv2 Group Specific Query
     - IGMPv3 Group Specific Query
     - IGMPv3 Group-and-Source Specific Query


2.1.  IGMPv1/v2 Reports

A host SHOULD NOT send IGMPv1 or IGMPv2 host reports for SSM addresses.
If an SSM-unaware IGMPv3-enabled host receives an IGMPv1 or IGMPv2 host
report for SSM destination address G, its IGMP module will revert to
IGMPv1/v2 compatibility mode for address G.  This will prevent the host
from sending source-specific joins, and consequently the SSM service
model will not be provided for destination address G to hosts on that
LAN.  Therefore, it is important that the SSM address range be used only
in conjunction with the SSM APIs.

2.2.  IGMPv3 Reports

Source-specific multicast destination-and-source pairs (channels) are
reported using IGMPv3 with the IGMPv3 INCLUDE report.  A host
implementation MAY report either one or multiple channels in a single
IGMPv3 report.

When source-specific channels are reported in an IGMPv3 Report, the
report may contain one or more group records of the following types:


    - MODE_IS_INCLUDE as part of a Current-State Record

    - ALLOW_NEW_SOURCES as part of a State-Change Record

    - BLOCK_OLD_SOURCES as part of a State-Change Record

The source list for any individual Group Record may be of length one or
more than one.  If a host implementation so chooses, it may report both



Holbrook/Cain                                                   [Page 3]

INTERNET-DRAFT               IGMPv3 for SSM                  21 Nov 2001


SSM destination addresses and RFC 1112 multicast (henceforth termed Any-
Source Multicast or ASM as in [SSM]) destination addresses in the same
message.

If all applications on a host use the SSM APIs for SSM addresses, then a
host would not normally send any of the following group record types for
addresses in the source-specific range:

    - MODE_IS_EXCLUDE as part of a Current-State Record

    - CHANGE_TO_INCLUDE_MODE as part of a Filter-Mode-Change Record

    - CHANGE_TO_EXCLUDE_MODE as part of a Filter-Mode-Change Record

EXCLUDE mode does not apply to SSM addresses, and the filter mode used
for an SSM address should never change to or from EXCLUDE mode under
correct application behavior.  A host that is configured with the SSM
address range MUST NOT send any of the above record types for an SSM
address.


2.3.  IGMPv1/IGMPv2 Queries

If an IGMPv1 or IGMPv2 query is received, the IGMPv3 protocol
specification requires the host to revert to the older (IGMPv1 or
IGMPv2) mode of operation for that destination address.  If this occurs,
the host will stop reporting source-specific subscriptions for that
destination address and start using either IGMPv1 or IGMPv2 to report
interest in the SSM destination address, unqualified by a source
address.  If this occurs, SSM semantics will no longer be applied for G.

A router compliant with this document would never generate an IGMPv1 or
IGMPv2 query for an address in the SSM range, so this situation would
only occur if some router is not compliant with this document for an
address that the host believes to have SSM semantics.

When a host reverts to an older version of operation for some
destination address, it will no longer be able to send source-specific
IGMPv3 messages, and applications on that host will not be able to
subscribe to SSM channels using that destination address.  A host that
is configured with the SSM address range MAY have a configuration option
to allow it to refuse to revert to the older (IGMPv1 or IGMPv2) mode of
operation for addresses in the source-specific range, even if an IGMPv1
or IGMPv2 query is heard.

These problems only arise on a shared-medium link that has both SSM-
aware and non-SSM-aware routers present.  This is undesirable, and it
SHOULD be administratively assured that all routers on a given shared-



Holbrook/Cain                                                   [Page 4]

INTERNET-DRAFT               IGMPv3 for SSM                  21 Nov 2001


medium network are compliant with this document.


2.4.  IGMPv2 Leave

IGMP Leave messages are not processed by hosts.  IGMPv2 Leave messages
are not sent for SSM addresses.


2.5.  IGMPv2 Group Specific Query

If a host receives an IGMPv2 Group Specific Query for an address in any
configured source-specific range, it MUST silently discard the query,
even if the group listed matches the source-specific destination address
of some locally subscribed source-specific group.  The transmission of
such a query indicates that its sender is not compliant with this
document.  A host MAY choose to log an error in this case.


2.6.  IGMPv3 Group Specific Query

If a host receives an IGMPv3 Group-Specific Query in its configured
source-specific range, it MUST respond with a report if the group
matches the source-specific destination address of any of its subscribed
source-specific groups.

Although in the current IGMPv3 protocol specification, routers would
have no reason to send one, the semantics of such a query are well-
defined in this range and future implementations may have reason to send
such a query.  Be liberal in what you accept.


2.7.  IGMPv3 Group-and-Source Specific Query

An IGMPv3 router will query a source-specific channel that a host has
requested to leave (via a BLOCK_OLD_SOURCES record) with a group-and-
source specific query.  A host MUST respond to a group-and-source
specific query for which the group and source in the query match match
any channel for which the host has a subscription.

Hosts MUST be able to process a query with multiple sources listed per
group.


3.  IGMP Router Requirements for Support Source-Specific Multicast

Routers must be aware of the SSM address range.  The 232/8 address range
is currently allocated for SSM by IANA [IANA-ALLOCATION].  However, an



Holbrook/Cain                                                   [Page 5]

INTERNET-DRAFT               IGMPv3 for SSM                  21 Nov 2001


SSM router may have a configuration option to apply SSM semantics to
other addresses as well.  If this configuration option exists, it MUST
default to the IANA-allocated range.

This section documents the behavior of routers with respect to the
following types of IGMP messages for source-specific destination
addresses:

     - IGMPv3 Reports
     - IGMPv3 General Query
     - IGMPv3 Group-Specific Query
     - IGMPv3 Group-and-Source Specific Query
     - IGMPv1/v2 Reports
     - IGMPv1/v2 Queries
     - IGMPv2 Leave



3.1.  IGMPv3 Reports

IGMPv3 Reports are used to report source-specific subscriptions in the
SSM address range.  If a router receives an IGMPv3 report that contains
a group record for a destination address in  source-specific range that
matches one of the types listed below, then it MUST ignore that group
record, however, it MUST process other group records within that same
report.

        - Any Current-State Record with MODE_IS_EXCLUDE

        - A CHANGE_TO_EXCLUDE_MODE Filter-Mode-Change Record

In order to be maximally tolerant of host implementations that are not
compliant with this specification, a router MUST process
CHANGE_TO_INCLUDE_MODE Filter-Mode-Change Group Records for groups in
the SSM range.

3.2.  IGMPv3 General Queries

IGMPv3 General Queries are used to periodically build the total desired
membership state on a subnet.  These queries are used for the same
purpose in the source-specific address range -- no change in behavior is
required.  An SSM router sends periodic IGMPv3 General Queries as per
the IGMPv3 specification.








Holbrook/Cain                                                   [Page 6]

INTERNET-DRAFT               IGMPv3 for SSM                  21 Nov 2001


3.3.  IGMPv3 Group Specific Queries

IGMPv3 routers that support source-specific multicast MAY send group-
specific queries for addresses in the source-specific range.  This
specification does not explicitly prohibit such a message, although, at
the time of writing, a router conformant to [IGMPv3] would never send
one.


3.4.  IGMPv3 Group-and-Source Specific Queries

IGMPv3 Group-and-Source Specific Queries are used when a receiver has
indicated that it is no longer interested in receiving traffic from a
particular (S,G) pair to determine if there are any remaining directly-
attached hosts with interest in that (S,G) pair.  Group-and-Source
Specific Queries are used within the source-specific address range when
a router receives a BLOCK_OLD_SOURCES Record for one or more source-
specific groups.  These queries are sent normally, as per [IGMPv3].


3.5.  IGMPv1/v2 Reports

An IGMPv1/v2 report for an address in the source-specific range could be
sent by a host that does not support the source-specific model.  A
router MUST ignore all IGMPv1 and IGMPv2 reports in the source-specific
address range and specifically MUST NOT use them to establish IP
forwarding state.  A router MAY log an error if it receives such a
report.


3.6.  IGMPv1/v2 Queries

The IGMP querier on a shared-medium network is elected to be the one
with lowest source IP address.  Therefore, an IGMPv3 router will yield
to an IGMPv1 or v2 querier with a lower IP address.  IGMPv3 routers that
lose the querier election to a lower version router MUST log an error,
as per the IGMPv3 specification.  An IGMPv3 router MAY have a
configuration option that prevents it from reverting to previous version
compatibility mode for source-specific addresses.  When this
configuration option is enabled, an IGMPv3 router that loses the querier
election to an IGMPv1 or v2 querier SHOULD continue to process source-
specific reports in the source-specific address range.  This may be
useful as a transition mechanism, when used in conjunction with the host
configuration option of Section 2.3.







Holbrook/Cain                                                   [Page 7]

INTERNET-DRAFT               IGMPv3 for SSM                  21 Nov 2001


3.7.  IGMPv2 Leave

An IGMPv2 Leave may be received for a source-specific address from a
host that does not support the source-specific model.  A router MUST
ignore all IGMPv2 leaves in the source-specific address range.


4.  A Note on EXCLUDE Mode

[To be removed before going to the IESG.]

The IGMPv3 specification formerly indicated that a host should convert
to EXCLUDE mode operation when it no longer has enough memory to record
INCLUDE mode requests.  This would cause SSM working applications to
suddenly break when the router runs out of memory for subsequent joins.
The IGMPv3 protocol specification was subsequently changed to say that a
host MUST NOT transition to EXCLUDE mode as a result of running out of
resources.

5.  Acknowledgments

The authors would like to thank Vince Laviano, Nidhi Bhaskar, and Steve
Deering and for their input and careful review.


6.  References

[IGMPv3] Cain, B., Deering, S., and A. Thyagarajan, "Internet Group
Management Protocol, Version 3," Work in Progress.

[RFC1112] Deering, S., "Host Extensions for IP Multicasting," RFC 1112,
August 1989.

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels," RFC 2119, March 1997.

[IANA-ALLOCATION] Internet Assigned Numbers Authority,
http://www.isi.edu/in-notes/iana/assignments/multicast-addresses.

[IGMPv2] Fenner, W., "Internet Group Management Protocol, Version 2,"
RFC 2236, November 1997.

[MSFAPI] Thaler, D., Fenner, B., and Quinn, B.  "Socket Interface
Extensions for Multicast Source Filters."  Work in Progress.

[SSM] Holbrook, H., and Cain, B., "Source-Specific Multicast for IP",
Work in Progress.




Holbrook/Cain                                                   [Page 8]

INTERNET-DRAFT               IGMPv3 for SSM                  21 Nov 2001


7.  Author's Address

     Hugh Holbrook
     Cisco Systems
     170 W. Tasman Drive.
     San Jose, CA 95134
     holbrook@cisco.com


     Brad Cain
     Cereva Networks
     3 Network Drive
     Marlborough, MA 01752
     bcain@cereva.com

This document expires May 21, 2002.



































Holbrook/Cain                                                   [Page 9]