< draft-liu-magma-igmpv3-mldv2-lite-01.txt   draft-liu-magma-igmpv3-mldv2-lite-02.txt >
MAGMA Hui Liu
Internet Draft wei cao
Expires: December 2006 Huawei Technologies Co.,Ltd.
June 26, 2006
Simplifying Process for IGMPv3 and MLDv2 Protocols MAGMA Working Group H. Liu
draft-liu-magma-igmpv3-mldv2-lite-01.txt Internet-Draft W. Cao
Expires: April, 2007 Huawei Technologies Co., Ltd.
H. Asaeda
Keio University
October 14, 2006
Simplifying Process for IGMPv3 and MLDv2 Protocols
<draft-liu-magma-igmpv3-mldv2-lite-02.txt>
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that By submitting this Internet-Draft, each author represents that any
any applicable patent or other IPR claims of which he or she is applicable patent or other IPR claims of which he or she is aware
aware have been or will be disclosed, and any of which he or she have been or will be disclosed, and any of which he or she becomes
becomes aware will be disclosed, in accordance with Section 6 of aware will be disclosed, in accordance with Section 6 of BCP 79.
BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that other
other groups may also distribute working documents as Internet-Drafts. groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in 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 http://www.ietf.org/shadow.html
The list of Internet-Draft Shadow Directories can be accessed at Copyright Notice
http://www.ietf.org/shadow.html
This Internet-Draft will expire on December 26, 2006. Copyright (C) The Internet Society (2006).
Abstract Abstract
This document suggests a simplifying implementation for IGMPv3 and This document proposes simplified IGMPv3 and MLDv2 protocols, which
MLDv2 protocols, which is called IGMPv3-lite or MLDv2-lite. The are called IGMPv3-lite and MLDv2-lite. The interoperability with
interoperability with other versions of IGMP and MLD is considered. other versions of IGMP and MLD is also considered.
Conventions used in this document Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT","SHOULD", "SHOULD NOT", "RECOMMENDED","MAY", and "OPTIONAL" in NOT","SHOULD", "SHOULD NOT", "RECOMMENDED","MAY", and "OPTIONAL" in
this document are to be interpreted as described in RFC- this document are to be interpreted as described in RFC 2119
2119[KEYWORDS]. [KEYWORDS].
Table of Contents Table of Contents
1. Introduction................................................2 1. Introduction ................................................... 2
2. Simplification Method overview...............................3 2. Simplification Method Overview ................................. 3
2.1. Behavior of Group Members...............................4 2.1. Behavior of Group Members ................................. 3
2.2. Behavior of Multicast Routers...........................4 2.2. Behavior of Multicast Routers ............................. 4
3. IGMPv3-lite protocol for Group Members.......................5 3. IGMPv3-lite Protocol for Group Members ......................... 4
3.1. Group Record Types......................................5 3.1. Action on Change of Interface State ....................... 5
3.2. Action on Change of Interface State.....................5 3.2. Action on Reception of a Query ............................ 5
4. IGMPv3-lite protocol for Multicast Routers...................5 3.3. Group Record Types ........................................ 6
4.1. Group timers and source timers in lite version...........5 4. IGMPv3-lite Protocol for Multicast Routers ..................... 7
4.2. Source-Specific Forwarding Rules........................6 4.1. Group Timers and Source Timers in the Lite Version ........ 8
4.3. Reception of Current-State Records......................6 4.2. Source-Specific Forwarding Rules .......................... 9
4.4. Reception of Source-List-Change and Filter-Mode-Change 4.3. Reception of Current-State Records ........................ 9
Records.....................................................7 4.4. Reception of Source-List-Change and
5. Interoperability............................................8 Filter-Mode-Change Records ............................... 10
5.1. Interoperation with IGMPv1/IGMPv2.......................9 5. Interoperability .............................................. 11
5.2. Interoperation with full IGMPv3.........................9 5.1. Interoperation with IGMPv1/IGMPv2 ........................ 11
6. Affects to other protocols..................................10 5.2. Interoperation with the Full Version of IGMPv3 ........... 12
7. Security Considerations.....................................10 6. Implementation Considerations ................................. 12
8. References.................................................10 6.1. Implementation of Source-Specific Multicast .............. 12
Author's Addressess...........................................10 6.2. Implementation of Multicast Source Filter (MSF) APIs ..... 13
Intellectual Property Statement................................10 7. Security Considerations ....................................... 13
Disclaimer of Validity........................................11 8. Normative References .......................................... 13
Copyright Statement...........................................11 9. Informative References ........................................ 13
Acknowledgment................................................11 Intellectual Property Statement .................................. 14
Disclaimer of Validity ........................................... 14
Copyright Statement .............................................. 15
Acknowledgment ................................................... 15
1. Introduction 1. Introduction
The purpose of this draft is to suggest the simplification of IGMPv3 IGMPv3 [IGMPv3] and MLDv2 [MLDv2] implement source filtering
[IGMPv3] and MLDv2 [MLDv2] protocols. capability compared to their earlier versions IGMPv2 and MLDv1, i.e.,
the end host not only tells which group it would like to join, but
IGMPv3 and MLDv2 implement source filtering capability compared to also specifies which sources it does or does not intend to receive
their earlier versions IGMPv2 and MLDv1, i.e., the end host not only multicast traffic from. Filter-modes are defined for the end hosts
tells which group it would like to join, but also specifies which and router parts of the protocols respectively.
sources it does or does not intend to receive multicast traffic from.
Filter-modes are defined for the end hosts and router parts of the
protocols respectively.
If a receiver on a host wants to receive from specific sources, it'll
send an IGMPv3 or MLDv2 report with filter-mode set to INCLUDE. On
the other hand if the host does not need to receive from some sources,
the filter-mode of the report should be set to EXCLUDE. A source list
for the given sources shall be included in the report message.
Filter mode INCLUDE and EXCLUDE are also defined in the multicast If a receiver host wants to receive from specific sources, it sends
router to process the IGMPv3 or MLDv2 reports appropriately. And an IGMPv3 or MLDv2 report with filter-mode set to INCLUDE. On the
group timer and source timer are maintained. The multicast router other hand if the host does not want to receive from some sources, it
decides its filter-mode, type and value of the timers and forwarding sends the report with filter-mode set to EXCLUDE. A source list for
methods according to specific rules when group report arrives or the given sources shall be included in the report message.
timer expires, and the router has to switch its filter-mode under
certain conditions. All above factors correlated with each other, the
determination rule is relatively complex as the state changes.
The introduction of filter-mode improves the expressing ability of INCLUDE and EXCLUDE filter modes are also defined in a multicast
the multicast receiver. And it is very useful in support of SSM router to process the IGMPv3 or MLDv2 reports. Group timer and source
(which making use of INCLUDE mode). But in practical applications, timer are used to maintain forwarding state of desired group and
EXCLUDE <S,G> mode(which means blocking some sources) is not used so source. A multicast router decides its filter-mode, type, and value
often, because the scenario is rare that a user is unwilling to of the timers and forwarding methods according to the specific rules
receive from some sources. Even if such application exists, it is when a group report message arrives or timer expires. The router then
possible that other users in the same shared network have interest in has to switch its filter-mode under certain conditions. All above
these sources. Then the multicast traffic has to be forwarded down factors correlated with each other, while the determination rule is
either. Then it can not be guaranteed that undesired traffic not relatively complex as the receiving state could be frequently
received. Thus in most applications, excluding specific sources does changed.
not seem a useful implementation.
In many applications, it is enough to implement part of IGMPv3/MLDv2 The multicast filter-mode improves the expressing ability of the
without EXCLUDE<S,G> mode. Considering the limited effects of EXCLUDE multicast receiver. It is useful to support Source-Specific Multicast
<S,G> filter-mode, and the complicacy of the operation introduced by (SSM) [SSM] by specifying interesting source addresses with INCLUDE
it, it is suggested in this draft that the function of EXCLUDE mode mode. However, practical applications do not use EXCLUDE mode to
is simplified. The protocol operation would be greatly reduced as a block sources so often, because a user or application usually wants
result. to specify desired source addresses, not undesired source addresses
to not receive from them. Even if a user wants to explicitly refuse
traffic from some sources in a group, when other users in the same
shared network have interest in these sources, the corresponding
multicast traffic is forwarded to the network after all.
The elimination of the EXCLUDE <S,G> mode does not only simplify the This document aims to propose the simplified IGMPv3 and MLDv2
process of IGMPv3/MLDv2 hosts and routers, but also reduces the (referred to as IGMPv3-lite and MLDv2-lite) in which EXCLUDE filter
complexity of related protocols realization on other equipments(e.g., mode that supports to exclude data come from specified sources is
switches that perform IGMPv3/MLDv2 snooping). eliminated. Not only IGMPv3-lite and MLDv2-lite are compatible with
the standard IGMPv3 and MLDv2, but also the protocol operations made
by data receiver hosts and routers or switches (performing
IGMPv3/MLDv2 snooping) are simplified in the lite version protocol
and complicated operations are hence effectively reduced. Since
IGMPv3-lite and MLDv2-lite are fully compatible with the full version
of these protocols (i.e. the standard IGMPv3 and MLDv2), hosts or
routers that have implemented the full version do not need to
implement or modify anything to cooperate with IGMPv3/MLDv2-lite
hosts or routers.
2. Simplification Method overview 2. Simplification Method Overview
The simplifying principle is to simplify the host and router parts as The principle is to simplify the host and router parts as much as
much as possible to improve efficiency, while guaranteeing the possible to improve efficiency, while guaranteeing the
interoperability with full versions, and introducing no side effects interoperability with full versions, and introducing no side effects
on the applications. on the applications.
For convenience, we just mention IGMPv3, because the source filtering For convenience, this document mainly discusses IGMPv3 since MLDv2
mechanism is the same for the two protocols. inherits the same source filtering mechanism, but additionally shows
MLDv2's unique specifications when needed.
2.1. Behavior of Group Members 2.1. Behavior of Group Members
In the IGMPv3-lite, the same service interface model as that of
IGMPv3 [IGMPv3] is inherited:
In this method, we take the same service interface model as that of IPMulticastListen ( socket, interface, multicast-address,
IGMPv3 [IGMPv3]: filter-mode, source-list )
IPMulticastListen ( socket, interface, multicast-address,
filter-mode, source-list)
In the lite protocol, EXCLUDE mode on the host part is preserved for In the lite version protocol, EXCLUDE mode on the host part is
the expression of non-source-specific group join, which is preserved only for EXCLUDE (*,G) join, which denotes non-source-
equivalent to IGMPv2/IGMPv1/MLDv1 join. It is denoted as specific group report (as known as (*,G) join) and is equivalent to
EXCLUDE<NULL> in this draft. The detailed host operation of IGMPv3- the group membership join triggered by IGMPv2/IGMPv1/MLDv1. The
lite is described in section 3. detailed host operation of IGMPv3/MLDv2-lite is described in section
3.
2.2. Behavior of Multicast Routers 2.2. Behavior of Multicast Routers
According to [IGMPv3], the filter-mode of the router is defined to According to [IGMPv3], the filter-mode of the router is defined to
optimize the state description of a group. As a rule, once a member optimize the state description of a group. As a rule, once a member
report is in EXCLUDE mode, the router filter-mode for the group will report is in EXCLUDE mode, the router filter-mode for the group will
be set to EXCLUDE. Otherwise when all systems with a group record in be set to EXCLUDE. Otherwise when all systems with a group record in
EXCLUDE mode for that group cease reporting, the router's filter-mode EXCLUDE mode for that group cease reporting, the router's filter-mode
may transit back to INCLUDE mode. Group timer is used to identify may transit back to INCLUDE mode. Group timer is used to identify
such transition. such transition.
In IGMPv3-lite, member reports carry mainly the INCLUDE mode In IGMPv3-lite, member reports carry mainly the INCLUDE mode
information with only one exception for EXCLUDE<NULL>, which can be information with only one exception for EXCLUDE (*,G), which means
interpreted as including all sources as well. Without EXCLUDE mode including all sources and can also be interpreted as INCLUDE mode.
group information, it is unnecessary for the router to maintain the Without EXCLUDE mode report information, it is unnecessary for the
EXCLUDE filter-mode. With INLCUDE filter-mode as a default processing router to maintain the EXCLUDE filter-mode, and the state model for
mode, the state model for multicast router can be simplified as: multicast router can be simplified as:
(multicast address, group timer,(source records)) (multicast address, group timer, (source records))
Here group timer is kept to represent ASM group. Its basic behavior Here group timer is kept to represent (*,G) group join. Its basic
is: when a router receives an ASM group join, it will set its group behavior is: when a router receives a (*,G) group join, it will set
timer, and the source list for the SSM group will be kept. As the its group timer, and the source list for the source-specific group
group timer expires, the router may change to the reception for the will be kept. As the group timer expires, the router may change to
listed sources. the reception for the listed sources.
The elimination of the filter-mode will greatly simplify the router The elimination of the filter-mode will greatly simplify the router
behavior, e.g. the action on reception of reports and the setting of behavior, e.g. the action on reception of reports and the setting of
the timers. The detailed operation of router operation is described the timers. The detailed operation of router operation is described
in section 4. in section 4.
3. IGMPv3-lite protocol for Group Members 3. IGMPv3-lite Protocol for Group Members
3.1. Group Record Types IGMPv3-lite uses two sets of messages, i.e., Query messages and
Report messages the same as the full version protocols. Although
most of these message types and corresponding group records are
inherited from the full version protocols, an operation that triggers
EXCLUDE (S,G) join is omitted and the corresponding record types of
the Report are modified on the lite version protocols.
There are three group record types defined in the full IGMPv3: 3.1. Action on Change of Interface State
Current-State Record (taking value of NODE_IS_INCLUDE and
NODE_IS_EXCLUDE), Filter-Mode-Change Record (CHANGE_TO_INCLUDE_MODE
and CHANGE_TO_EXCLUDE_MODE) and Source-List-Change Record
(ALLOW_NEW_SOURCES and BLOCK_OLD_SOURCES).
Among these messages, CHANGE_TO_EXCLUDE_MODE is not used, for the When an interface state of a group member host is changed, a State-
process related to it is completely the same as that of Change Report for that interface is immediately transmitted from that
MODE_IS_EXCLUDE. The formats of other five messages are the same as interface. The type and contents of the Group Record(s) in that
that of full IGMPv3. MODE_IS_EXCLUDE is solely used for EXCLUDE<NULL>. Report are determined by comparing the filter mode and source list
for the affected multicast address before and after the change. While
the requirements are the same as the full version for the
computation, in the lite version host, the interface state change
rules are simplified due to the reduction of message types. The
contents of the new transmitted report are calculated as described in
section 3.3.
3.2. Action on Change of Interface State To cover the possibility of the State-Change Report being missed by
one or more multicast routers, it is retransmitted [Robustness
Variable]-1 more times, at intervals chosen at random from the range
(0, [Unsolicited Report Interval]). (These values are defined in
[IGMPv3, MLDv2].)
The interface state change rules are simplified as the elimination of In the full version of IGMPv3, as was done with the first report, the
EXCLUDE<S,G> mode, which can be expressed by: interface state for the affected group before and after the latest
change is compared, and the report records expressing the difference
are built and merged with the contents of the pending report, to
create the new State-Change report. However, it is optional that an
IGMPv3-lite host merges with the contents of the pending report. If
the IGMPv3-lite host does not merge with the contents of the pending
report, it transmits each report sequentially. Doing so can greatly
simplified the operation for scheduling the reports.
Old State New State State-Change Record Sent 3.2. Action on Reception of a Query
--------- --------- ------------------------ When a lite version host receives a Query, it does not respond
immediately. Instead, it delays its response by a random amount of
time, bounded by the Max Resp Time value derived from the Max Resp
Code in the received Query message [IGMPv3, MLDv2]. The system may
receive a variety of Queries on different interfaces and of different
kinds (e.g., General Queries, Group-Specific Queries, and Group-and-
Source-Specific Queries), each of which may require its own delayed
response.
INCLUDE (A) INCLUDE (B) ALLOW (B-A), BLOCK(A-B) Before scheduling a response to a Query, the system must first
consider previously scheduled pending responses and in many cases
schedule a combined response. Therefore, the lite version host must
be able to maintain the following state:
INCLUDE (A) EXCLUDE (NULL) IS_EX(NULL) o A timer per interface for scheduling responses to General Queries.
EXCLUDE (NULL) INCLUDE (B) TO_IN(B) o A per-group and interface timer for scheduling responses to Group-
Specific and Group-and-Source-Specific Queries.
4. IGMPv3-lite protocol for Multicast Routers o A per-group and interface list of sources to be reported in the
response to a Group-and-Source-Specific Query.
4.1. Group timers and source timers in lite version IGMPv3-lite inherits most of the rules that are used to determine if
a Report needs to be scheduled from the full version. The different
point is regarding the simplification of EXCLUDE filter-mode and the
type of Report to schedule as detailed in section 3.3.
As section 2.2 mentioned, it is possible for IGMPv3-lite to discard On the other hand, while it is optional that an IGMPv3-lite host
filter-mode denotation in the router. The group timer, which being merges with the contents of the pending report for unsolicited report
previously used as a mechanism for transitioning the router filter- (i.e. State-Change report) as mentioned in the previous section, if
mode from EXCLUDE to INCLUDE, now is redefined for the transitioning the received Query is a Group-and-Source-Specific Query and there is
between the ASM and SSM receiving state on the router. The role of a pending response for this group with a non-empty source-list, then
the group timer can be summarized as follows: the group source list is augmented to contain the list of sources in
the new Query and a single response is scheduled using the group
timer as with the full version host. The new response is then
scheduled to be sent at the earliest of the remaining time for the
pending report and the selected delay.
Group Timer Value Actions/Comments 3.3. Group Record Types
------------------ ----------------- There are three Group Record Types defined in the full IGMPv3:
Current-State Record noted by MODE_IS_INCLUDE (referred to as IS_IN)
or MODE_IS_EXCLUDE (IS_EX), Filter-Mode-Change Record noted by
CHANGE_TO_INCLUDE_MODE (TO_IN) or CHANGE_TO_EXCLUDE_MODE (TO_EX), and
Source-List-Change Record noted by ALLOW_NEW_SOURCES (ALLOW) or
BLOCK_OLD_SOURCES (BLOCK).
G_Timer > 0 All members in this group. Among these messages, several record types defined in the full IGMPv3
are not used in IGMPv3-lite as some of the processes related to the
filter mode change to the EXCLUDE mode are eliminated and some of the
report messages are converged with a record having null source
address list. All of the record types of report messages used by the
full and lite version protocols are shown as follows:
G_Timer == 0 No more listeners to this ASM group. If Full ver. Lite ver. Comments
all source timers have expired then
delete group record. If there are still
source record timers running, use those
source records with running timers as
the source record state.
The operation related to the group and source timers is different --------- --------- --------------------------------
compared to the full IGMPv3. In the full version, if a source timer
expires under the EXCLUDE router filter-mode, its corresponding
source record is not deleted until the group timer expires. In lite
version, if a source timer expires, its source record should be
deleted immediately, not waiting for the time-out of the group timer.
4.2. Source-Specific Forwarding Rules IS_EX() IS_EX() Query response for (*,G) join
IS_EX(x) N/A Query response for EX (x,G) join
The forwarding rules depend on group and source timer values. Now IS_IN(x) ALLOW(x) Query response for IN (x,G) join
they can be expressed as follows:
Group Timer Source Timer Action ALLOW(x) ALLOW(x) IN (x,G) join
----------- ------------------ ---------------------- BLOCK(x) BLOCK(x) IN (x,G) leave
G_Timer == 0 S_TIMER > 0 Suggest to forward traffic TO_IN(x) TO_IN(x) Change to IN (x,G) join
from source
G_Timer == 0 S_TIMER == 0 Suggest to stop forwarding TO_IN() TO_IN() (*,G) leave
traffic from source and
remove source record. If
there are no more source
records for the group, delete
group record.
G_Timer == 0 No Source Elements Suggest not to forward TO_EX(x) N/A Change to EX (x,G) join
traffic from the source
G_Timer > 0 S_TIMER >= 0 Suggest to forward traffic TO_EX() IS_EX() (*,G) join
from source
G_Timer > 0 No Source Elements Suggest to forward traffic where "x" represents non-null source address list and "()" represents
from source null source address list. For instance, IS_EX() means a report whose
record type is IS_EX with null source address list. "N/A" represents
not applicable (or no use) because the corresponding operation should
not occur in the lite version protocols.
4.3. Reception of Current-State Records IGMPv3-lite does not use EXCLUDE filter-mode with non-null source
address list. And a multicast router creates the same state when it
receives a report message containing either of IS_EX or TO_EX record
types. Therefore, IGMPv3-lite integrates the TO_EX operation to the
IS_EX operation.
When receiving Current-State Records, the IGMPv3-lite router needs On the other hand, when an IGMPv3-lite version host needs to make a
reset its group or source timers, and update its source list within query response for the state of INCLUDE (x,G) join, the host makes
the group. In SSM group (G_Timer==0), the source list includes the response whose message type is expressed with ALLOW(x), instead
sources to be forwarded by the router, while in ASM group (G_Timer >0) of using IS_IN record type, for router's processing of the two
the source list remembers the sources to be forwarded after switching messages are completely the same, the IS_IN(x) type is eliminated for
back to SSM mode. simplification.
Old Source new Source An IGMPv3-lite version host does not use EXCLUDE mode, while TO_IN
record is used with the following situation; the host firstly
launches an application (AP1) that requests INCLUDE (x,G) join, and
it sends ALLOW(x). Then the host launches another application (AP2)
that joins (*,G), and it sends IS_EX(). In this condition, when AP2
terminates but AP1 keeps working on the lite version host, the host
sends a report with TO_IN(x) record type for [Robustness Variable]
times.
Group Timer list Report Rec'd list Actions 4. IGMPv3-lite Protocol for Multicast Routers
----------- ------ ------------ ------- --------- The major difference between the full and lite version protocol on
the router is that filter-mode is discarded for the lite version, as
section 2.2 mentioned. Then the IGMP state maintained by the router
for each attached network can be simplified as:
G_Timer==0 A IS_IN(B) A+B (B)=GMI (multicast address, group timer, (source records))
G_Timer==0 A IS_EX(NULL) A G_Timer= GMI where the source record includes pairs of source address and its
corresponding source timer. The reduction of filtering mode will
change the meaning of the group timer and will simplify the router's
processing.
G_Timer >0 A IS_IN(B) A+B (B)=GMI 4.1. Group Timers and Source Timers in the Lite Version
G_Timer >0 A IS_EX(NULL) A G_Timer = GMI The source timer is kept for each source record and it is updated
when the source is present in a received report. It indicates the
validity of the sources and needs to be referred when the router
takes its forwarding decision.
And the above table could be further simplified for the processes The group timer, which being used in full IGMPv3 as a mechanism for
are completely the same for the two values of the G-Timer: transitioning the router's filter-mode from EXCLUDE to INCLUDE, is
now redefined for the identification of the non-source-specific
receiving states. Once a group record of IS_EX() is received, the
group timer is used to represent this (*,G) group join. The
expiration of the group timer indicates that there are no listeners
on the attached network for this (*,G) group. Then if at this moment
there are unexpired sources (whose source timers are greater than
zero), the router will change to receiving for those sources. The
role of the group timer can be summarized as follows:
Old Source new Source Group Timer Value Actions/Comments
list Report Rec'd list Actions ------------------ --------------------------------------
------ ------------ ------- --------- G_Timer > 0 All members in this group.
A IS_IN(B) A+B (B)=GMI G_Timer == 0 No more listeners to this (*,G) group.
If all source timers have expired then
delete group record. If there are
still source record timers running,
use those source records with running
timers as the source record state.
A IS_EX(NULL) A G_Timer= GMI The operation related to the group and source timers has some
difference compared with the full IGMPv3. In the full version, if a
source timer expires under the EXCLUDE router filter-mode, its
corresponding source record is not deleted until the group timer
expires. They are kept for indicating undesired sources. In the lite
version, since there is no need to keep such records for blocking
specific sources, if a source timer expires, its source record should
be deleted immediately, not waiting for the time-out of the group
timer.
4.4. Reception of Source-List-Change and Filter-Mode-Change Records 4.2. Source-Specific Forwarding Rules
On receiving Source-List-Change Records, the IGMPv3-lite router needs The forwarding suggestion made by igmpv3-lite to the routing
reset its group and source timers, update its source list within the protocols is as follows:
group, or trigger group queries.
Old Source new Source Group Timer Source Timer Action
Group Timer list Report Rec'd list Actions ------------ ------------------ -----------------------
----------- ------ ------------ ------- --------- G_Timer == 0 S_TIMER > 0 Suggest to forward
traffic from source
G_Timer==0 A ALLOW(B) A+B (B)=GMI G_Timer == 0 S_TIMER == 0 Suggest to stop
forwarding traffic from
source and remove
source record. If there
are no more source
records for the group,
delete group record
G_Timer==0 A BLOCK(B) A Send Q(G,A*B) G_Timer == 0 No Source Elements Suggest not to forward
G_Timer==0 A TO_IN(B) A+B (B)=GMI traffic from the source
Send Q(G,A-B) G_Timer > 0 S_TIMER >= 0 Suggest to forward
traffic from source
G_Timer >0 A ALLOW(B) A+B (B)=GMI G_Timer > 0 No Source Elements Suggest to forward
traffic from source
G_Timer >0 A BLOCK(B) A Send Q(G,A*B) 4.3. Reception of Current-State Records
G_Timer >0 A TO_IN(B) A+B (B)=GMI When receiving Current-State Records, the IGMPv3-lite router resets
its group or source timers and updates its source list within the
group. For source-specific group reception state(G_Timer==0), the
source list includes sources to be forwarded by the router, while in
non-source-specific group reception(G_Timer>0) the source list
remembers the sources to be forwarded after toggling to source-
specific reception state.
SendQ(G,A-B) Old New
Send Q(G) Source Source
Group Timer List Report Rec'd List Actions
The table could be further simplified by merging duplicate lines: ----------- ------ ------------ ------- -----------
G_Timer == 0 A IS_IN(B) A+B (B)=GMI
Old Source new Source G_Timer == 0 A IS_EX() A G_Timer=GMI
list Report Rec'd list Actions G_Timer > 0 A IS_IN(B) A+B (B)=GMI
------ ------------ ------- --------- G_Timer > 0 A IS_EX() A G_Timer=GMI
A ALLOW(B) A+B (B)=GMI And the above table could be further simplified for the processes are
completely the same for the two values of the G_Timer:
A BLOCK(B) A Send Q(G,A*B) Old New
Source Source
List Report Rec'd List Actions
A TO_IN(B) A+B (B)=GMI ------ ------------ ------- ------------
Send Q(G,A-B) A IS_IN(B) A+B (B)=GMI
If G_Timer>0 Send Q(G) A IS_EX() A G_Timer=GMI
4.4. Reception of Source-List-Change and Filter-Mode-Change Records
On receiving Source-List-Change Records, the IGMPv3-lite router needs
to reset its group and source timers, update its source list within
the group, or trigger group queries.
Old New
Source Source
Group Timer List Report Rec'd List Actions
------------ ------ ------------ ------- -------------
G_Timer == 0 A ALLOW(B) A+B (B)=GMI
G_Timer == 0 A BLOCK(B) A Send Q(G,A*B)
G_Timer == 0 A TO_IN(B) A+B (B)=GMI
Send Q(G,A-B)
G_Timer > 0 A ALLOW(B) A+B (B)=GMI
G_Timer > 0 A BLOCK(B) A Send Q(G,A*B)
G_Timer > 0 A TO_IN(B) A+B (B)=GMI
SendQ(G,A-B)
Send Q(G)
The table could be further simplified by merging duplicate lines:
Old New
Source Source
List Report Rec'd List Actions
------ ------------ ------- ----------------------
A ALLOW(B) A+B (B)=GMI
A BLOCK(B) A Send Q(G,A*B)
A TO_IN(B) A+B (B)=GMI
Send Q(G,A-B)
If G_Timer>0 Send Q(G)
5. Interoperability 5. Interoperability
IGMPv3-lite hosts and routers should interoperate gracefully with IGMPv3-lite hosts and routers should interoperate gracefully with
hosts and routers that running IGMPv1/IGMPv2/IGMPv3. IGMPv3/MLDv2-lite hosts and routers should interoperate gracefully
with hosts and routers that running IGMPv1/v2/v3 or MLDv1/v2.
The simplification in IGMPv3-lite introduces no changes on the The simplification in IGMPv3-lite introduces no changes on the
message format of the group query and report. The member sends a message format of the group query and report. The member sends a
subset of IGMPv3 reports, which can be recognized by full IGMPv3 subset of IGMPv3 reports, which can be recognized by full IGMPv3
protocols. protocols.
The discard of the filter-mode on the router just simplified the The discard of the filter-mode on the router just simplified the
processing inside the router, not influencing the outside behavior of processing inside the router, not influencing the outside behavior of
the protocol. the protocol.
From above discussion, IGMPv3-lite can be treated as a ''parallel From above discussion, IGMPv3/MLDv2-lite can be treated as a
version'' of full IGMPv3. Its interoperability method with lower "parallel version" of the full IGMPv3/MLDv2. Its interoperability
versions (i.e. IGMPv1 and IGMPv2) should be the same as that of the method with lower versions (i.e. IGMPv1/v2 and MLDv1) should be the
IGMPv3 and MLDv2. same as that of the IGMPv3 and MLDv2.
5.1. Interoperation with IGMPv1/IGMPv2 5.1. Interoperation with IGMPv1/IGMPv2
IGMPv3-lite protocol adopts the same Host/Group Compatibility Mode IGMPv3-lite protocol adopts the same Host/Group Compatibility Mode
and keeps Querier Present timers for IGMPv1 and IGMPv2. Their and keeps Querier Present timers for IGMPv1 and IGMPv2. Their
definition and processing is just the same as [IGMPv3]. definition and processing is just the same as [IGMPv3].
When Group Compatibility mode is IGMPv2 or IGMPv1, an IGMPv3-lite When Group Compatibility mode is IGMPv2 or IGMPv1, an IGMPv3-lite
router translates the following IGMPv2 or IGMPv1 messages for that router translates the following IGMPv2 or IGMPv1 messages for that
group to their IGMPv2 or IGMPv1 equivalents, as following: group to their IGMPv2 or IGMPv1 equivalents, as following:
IGMP Message IGMPv3 lite Equivalent IGMP Message IGMPv3-lite Equivalent
-------------- ----------------------
-------------- -----------------
v1 Report IS_EX(NULL) v1 Report IS_EX()
v2 Report IS_EX(NULL) v2 Report IS_EX()
v2 Leave TO_IN(NULL) v2 Leave TO_IN()
5.2. Interoperation with full IGMPv3 5.2. Interoperation with the Full Version of IGMPv3
If an IGMPv3-lite router receives reports from the full IGMPv3 host, If an IGMPv3-lite router receives reports from the full IGMPv3 host,
it should treat the messages as follows: it should treat the messages as follows:
IGMPv3 Report IGMPv3-lite Equivalent IGMPv3 Report IGMPv3-lite Equivalent
-------------- ----------------- -------------- ----------------------
IS_IN(x) IS_IN(x) IS_IN(x) IS_IN(x)
IS_EX(x) IS_EX(NULL) IS_EX(x) IS_EX()
TO_IN(x) TO_IN(x) TO_IN(x) TO_IN(x)
TO_EX(x) IS_EX(NULL) TO_EX(x) IS_EX()
ALLOW(x) ALLOW(x) ALLOW(x) ALLOW(x)
BLOCK(x) BLOCK(x) BLOCK(x) BLOCK(x)
6. Affects to other protocols 6. Implementation Considerations
The simplified protocols put no additional burden on the The simplified protocols put no additional burden on the
implementation of other related protocols, e.g. IGMP/MLD snooping, implementation of other related protocols, e.g. IGMP/MLD snooping,
multicast routing protocol and operation of application sockets. On multicast routing protocol and operation of application sockets. On
the other hand, the processing load on the switches and routers that the other hand, the processing loads on the switches and routers that
running IGMPv3 (snooping) and multicast routing protocols will be running IGMPv3 (snooping) and multicast routing protocols will be
greatly decreased. greatly decreased.
In the following sections, the protocols related to the
implementation of IGMPv3/MLDv2 are restated for the lite version.
6.1. Implementation of Source-Specific Multicast
RFC [IGMP-SSM] illustrates the requirements of implementation of
Source-Specific Multicast on IGMPv3/MLDv2 hosts and routers. The lite
protocol does not impose any bad influences on SSM application. The
requirements of IGMPV3/MLDv2-lite for support of SSM are illustrated
below.
For an SSM-aware host, the application should not send a non-source-
specific join, i.e. IS_EX(), and IGMPv2 Leave and MLDv1 Done messages
for the SSM address. The reception of a non-source-specific join with
an SSM group address should indicate an error to the application. The
SSM-aware router will ignore IS_EX() reports with SSM addresses.
Other types of Reports should be processed normally.
6.2. Implementation of Multicast Source Filter (MSF) APIs
Multicast Source Filter (MSF) APIs [MSF] defines (1) IPv4 Basic MSF
API, (2) IPv4 Advanced MSF API, (3) Protocol-Independent Basic MSF
API, and (4) Protocol-Independent Advanced MSF API.
According to the MSF APIs definition, an IGMPv3-lite version host
should implement IPv4 Basic MSF API and an MLDv2-lite version host
should implement Protocol-Independent Basic MSF API. Other APIs, IPv4
Advanced MSF API and Protocol-Independent Advanced MSF API, are
optional to implement in IGMPv3/MLDv2-lite version host.
7. Security Considerations 7. Security Considerations
The security consideration is the same as that of the original The security consideration is the same as that of the full version of
IGMPv3/MLDv2. IGMPv3/MLDv2.
8. References 8 Normative References
[IGMPv3] Cain, B.,"Internet Group Management Protocol, Version3", [KEYWORDS] Bradner, S., "Key words for use in RFCs to indicate
RFC3376, October 2002. requirement levels," RFC 2119, March 1997.
9 Informative References
[SSM] Holbrook, H. and Cain, B., "Source-Specific Multicast for IP,"
RFC 4607, August 2006.
[IGMPv3] Cain, B.,"Internet Group Management Protocol, Version3," RFC
3376, October 2002.
[MLDv2] Vida, R. and Costa, L., "Multicast Listener Discovery Version [MLDv2] Vida, R. and Costa, L., "Multicast Listener Discovery Version
2 (MLDv2) for IPv6", RFC3810, June 2004. 2 (MLDv2) for IPv6," RFC 3810, June 2004.
[IGMP-SSM] Holbrook, H., Cain, B., and Haberman, B., "Using Internet
Group Management Protocol Version 3 (IGMPv3) and Multicast
Listener Discovery Protocol Version 2 (MLDv2) for Source-Specific
Multicast," RFC 4604, August 2006.
[MSF] Thaler, D., Fenner, B., and Quinn, B., "Socket Interface
Extensions for Multicast Source Filters," RFC 3678, January 2004.
Author's Addressess Author's Addressess
Hui Liu Hui Liu
Huawei Technologies Co., Ltd Huawei Technologies Co., Ltd
Email: Liuhui47967@huawei.com
Liuhui47967@huawei.com
Wei Cao Wei Cao
Huawei Technologies Co., Ltd Huawei Technologies Co., Ltd
Email: caowayne@huawei.com Email: caowayne@huawei.com
Hitoshi Asaeda
Keio University
Email: asaeda@wide.ad.jp
Intellectual Property Statement Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
skipping to change at page 11, line 15 skipping to change at page 14, line 44
Copies of IPR disclosures made to the IETF Secretariat and any Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at this standard. Please address the information to the IETF at ietf
ietf-ipr@ietf.org. ipr@ietf.org.
Disclaimer of Validity Disclaimer of Validity
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement Copyright Statement
 End of changes. 118 change blocks. 
259 lines changed or deleted 445 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/