draft-ietf-pim-explicit-tracking-01.txt   draft-ietf-pim-explicit-tracking-02.txt 
PIM Working Group H. Asaeda PIM Working Group H. Asaeda
Internet-Draft Keio University Internet-Draft NICT
Intended status: Informational N. Leymann Intended status: Informational N. Leymann
Expires: October 12, 2012 Deutsche Telekom AG Expires: April 19, 2013 Deutsche Telekom AG
April 10, 2012 October 16, 2012
IGMP/MLD-Based Explicit Membership Tracking Function for Multicast IGMP/MLD-Based Explicit Membership Tracking Function for Multicast
Routers Routers
draft-ietf-pim-explicit-tracking-01 draft-ietf-pim-explicit-tracking-02
Abstract Abstract
This document describes the IGMP/MLD-based explicit membership This document describes the IGMP/MLD-based explicit membership
tracking function for multicast routers. The explicit tracking tracking function for multicast routers. The explicit tracking
function is useful for accounting and contributes to saving network function is useful for accounting and contributes to saving network
resource and fast leaves (i.e. shortened leave latency). resource and fast leaves (i.e. shortened leave latency).
Status of this Memo Status of this Memo
skipping to change at page 1, line 35 skipping to change at page 1, line 35
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on October 12, 2012. This Internet-Draft will expire on April 19, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Explicit Tracking Function . . . . . . . . . . . . . . . . . . 4 2. Explicit Tracking Function . . . . . . . . . . . . . . . . . . 4
2.1. Reducing the Number of Specific Queries . . . . . . . . . . 4 2.1. Specific Query Surpression Mechanism . . . . . . . . . . . 4
2.2. Shortening Leave Latencies . . . . . . . . . . . . . . . . 5 2.2. Shortening Leave Latencies . . . . . . . . . . . . . . . . 5
2.3. Considerations . . . . . . . . . . . . . . . . . . . . . . 5 2.3. Considerations . . . . . . . . . . . . . . . . . . . . . . 5
3. Membership State Information . . . . . . . . . . . . . . . . . 6 3. Membership State Information . . . . . . . . . . . . . . . . . 6
4. Multicast Router Behavior . . . . . . . . . . . . . . . . . . . 7 4. Multicast Router Behavior . . . . . . . . . . . . . . . . . . . 7
5. Interoperability and Compatibility . . . . . . . . . . . . . . 8 5. Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . 8
6. Security Considerations . . . . . . . . . . . . . . . . . . . . 8 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 8
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
8.1. Normative References . . . . . . . . . . . . . . . . . . . 9 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9
8.2. Informative References . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . . 9
9.2. Informative References . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction 1. Introduction
The Internet Group Management Protocol (IGMP) [1] for IPv4 and the The Internet Group Management Protocol (IGMP) [1] for IPv4 and the
Multicast Listener Discovery Protocol (MLD) [2] for IPv6 are the Multicast Listener Discovery Protocol (MLD) [2] for IPv6 are the
standard protocols used by listener hosts and multicast routers. standard protocols used by listener hosts and multicast routers.
When a host starts listening particular multicast channels, it sends When a host starts listening particular multicast channels, it sends
IGMP/MLD State-Change Report messages specifying the corresponding IGMP/MLD State-Change Report messages specifying the corresponding
channel information as the join/leave request to its upstream router channel information as the join/leave request to its upstream router
skipping to change at page 3, line 33 skipping to change at page 3, line 33
Multicast routers are able to periodically maintain the multicast Multicast routers are able to periodically maintain the multicast
listener (or membership) state of downstream hosts attached on the listener (or membership) state of downstream hosts attached on the
same link by getting unsolicited Report messages and synchronize the same link by getting unsolicited Report messages and synchronize the
actual membership state within the General Query timer interval actual membership state within the General Query timer interval
(i.e., [Query Interval] value defined in [1][2].) However, this (i.e., [Query Interval] value defined in [1][2].) However, this
approach does not guarantee that the membership state is always approach does not guarantee that the membership state is always
perfectly synchronized. To minimize the possibility of having the perfectly synchronized. To minimize the possibility of having the
outdated membership information, routers may shorten the periodic outdated membership information, routers may shorten the periodic
General Query timer interval. Unfortunately, this would increase the General Query timer interval. Unfortunately, this would increase the
number of transmitted solicited Report messages and induce network number of transmitted solicited Report messages and induce network
congestion. And the more the network congestion is occured, the more congestion. And the more the network congestion is occurred, the
IGMP/MLD Report messages may be lost and the membership state more IGMP/MLD Report messages may be lost and the membership state
information may be outdated in the router. information may be outdated in the router.
The IGMPv3 [1] and MLDv2 [2] protocols can provide the capability of The IGMPv3 [1] and MLDv2 [2] protocols can provide the capability of
keeping track of downstream (adjacent) multicast listener state to keeping track of downstream (adjacent) multicast listener state to
multicast routers. This document describes the "IGMP/MLD-based multicast routers. This document describes the "IGMP/MLD-based
explicit member tracking function" for multicast routers and details explicit member tracking function" for multicast routers and details
the way for routers to implement the function. By enabling the the way for routers to implement the function. By enabling the
explicit tracking function, routers can keep track of the downstream explicit tracking function, routers can keep track of the downstream
multicast membership state. This function implements the following multicast membership state. This function implements the following
requirements: requirements:
skipping to change at page 4, line 16 skipping to change at page 4, line 16
where this document mainly focuses on the above second and third where this document mainly focuses on the above second and third
bullets in the following sections. bullets in the following sections.
The explicit tracking function does not change message formats used The explicit tracking function does not change message formats used
by the standard IGMPv3 [1] and MLDv2 [2], and their lightweight by the standard IGMPv3 [1] and MLDv2 [2], and their lightweight
version protocols [3]. It does not change a multicast data sender's version protocols [3]. It does not change a multicast data sender's
and receiver's behavior as well. and receiver's behavior as well.
2. Explicit Tracking Function 2. Explicit Tracking Function
2.1. Reducing the Number of Specific Queries 2.1. Specific Query Surpression Mechanism
The explicit tracking function reduces the number of Group-Specific The explicit tracking function can reduce the number of Group-
or Group-and-Source Specific Query messages transmitted from a Specific or Group-and-Source Specific Query messages transmitted from
router, and then the number of Current-State Report messages a router, and then the number of Current-State Report messages
transmitted from member hosts. As the result, network resources used transmitted from member hosts. As the result, network resources used
for IGMP/MLD query-and-reply communications between a router and for IGMP/MLD query-and-reply communications between a router and
member hosts can be saved. member hosts can be saved. This mechanism is called "specific query
surpression mechanism".
According to [1] and [2], whenever a router receives the State-Change According to [1] and [2], whenever a router receives the State-Change
Report, it sends the corresponding Group-Specific or Group-and-Source Report, it sends the corresponding Group-Specific or Group-and-Source
Specific Query messages to confirm whether the Report sender is the Specific Query messages to confirm whether the Report sender is the
last member host or not. After getting these Query messages, all last member host or not. After getting these Query messages, all
member hosts joining the corresponding channel reply with own member hosts joining the corresponding channel reply with own
Current-State Report messages. This condition requires transmitting Current-State Report messages. This condition requires transmitting
a number of Current-State Report messages and consumes network a number of Current-State Report messages and consumes network
resources especially when many hosts have been joining the same resources especially when many hosts have been joining the same
channel. channel.
skipping to change at page 4, line 47 skipping to change at page 4, line 48
transmission to the member hosts whenever it receives the State- transmission to the member hosts whenever it receives the State-
Change Report. This is because the explicit tracking function works Change Report. This is because the explicit tracking function works
with the expectation that the State-Change Report sender is the last with the expectation that the State-Change Report sender is the last
remaining member of the channel. Even if this expectation is wrong remaining member of the channel. Even if this expectation is wrong
(i.e., the State-Change Report sender was not the sole member), other (i.e., the State-Change Report sender was not the sole member), other
members remaining in the same channel will reply with identical members remaining in the same channel will reply with identical
Report messages, so the end result is the same and no problem occurs. Report messages, so the end result is the same and no problem occurs.
(Section 3 details the point.) (Section 3 details the point.)
In addition, the processing of IGMP membership or MLD listener In addition, the processing of IGMP membership or MLD listener
reports consumes CPU ressources on the IGMP/MLD querier devices messages consumes CPU resources on each IGMP/MLD querier and report
itself. Therefore, the explicit tracking function reduces not only sender devices themselves. Therefore, the explicit tracking function
the network load but also the CPU load on the querier devices as reduces not only the network load but also the CPU load on these
well. devices as well.
snooping switch [5]. If the timer to refresh membership record on Note that the default behavior of the router that supports the
snooping switch is shorter than the General Query timer interval explicit tracking function disables this specific query surpression
(i.e. [Query Interval]), mechanism, in order to avoid the risk caused by the situation in
which multiple multicast routers exist on a LAN and the querier
router is not the forwarder router. When the querier surpresses the
specific query message transmission, if it recognizes that the State-
Change Report sender is not the sole member of the channel, it does
not send the specific query and all routers on the same LAN do not
receive Current-State Report message from the member hosts. The
forwarder in this case may prune the routing path, although there are
other member hosts subscribing the channel on the LAN.
2.2. Shortening Leave Latencies 2.2. Shortening Leave Latencies
The explicit tracking function works with the expectation that the The explicit tracking function works with the expectation that the
State-Change Report sender is the last remaining member of the State-Change Report sender is the last remaining member of the
channel. Thanks to this functionality, a router can tune timers and channel. Thanks to this functionality, a router can tune timers and
values related to decide that the State-Change Report sender was the values related to decide that the State-Change Report sender was the
sole member. sole member.
The [Last Member Query Interval] (LMQI) and [Last Listener Query The [Last Member Query Interval] (LMQI) and [Last Listener Query
skipping to change at page 6, line 50 skipping to change at page 7, line 12
This state information must work properly when a receiver (i.e., This state information must work properly when a receiver (i.e.,
Report sender) sends the same Report messages multiple times. Report sender) sends the same Report messages multiple times.
In the state information, each "S" and "G" indicates a single IPv4/ In the state information, each "S" and "G" indicates a single IPv4/
IPv6 address. "S" is set to "Null" for an Any-Source Multicast (ASM) IPv6 address. "S" is set to "Null" for an Any-Source Multicast (ASM)
communication (i.e., (*,G) join reception). In order to simplify the communication (i.e., (*,G) join reception). In order to simplify the
implementation, the explicit tracking function does not keep the implementation, the explicit tracking function does not keep the
state of (S,G) join with EXCLUDE filter mode. If a router receives state of (S,G) join with EXCLUDE filter mode. If a router receives
(S,G) join/leave request with EXCLUDE filter mode from the downstream (S,G) join/leave request with EXCLUDE filter mode from the downstream
hosts, it translates the join/leave request to (*,G) join state/leave hosts, it translates the join/leave request to (*,G) join state/leave
requst and records the state and the receivers' addresses into the request and records the state and the receivers' addresses into the
maintained membership state information. Note that this membership maintained membership state information. Note that this membership
state translation does not change the routing protocol behavior; the state translation does not change the routing protocol behavior; the
routing protocol must deal with the original join/leave request and routing protocol must deal with the original join/leave request and
translate the request only for the membership state information. translate the request only for the membership state information.
4. Multicast Router Behavior 4. Multicast Router Behavior
The explicit tracking function makes routers expect whether the The explicit tracking function makes routers expect whether the
State-Change Report sender is the last remaining member of the State-Change Report sender is the last remaining member of the
channel. Therefore the router transmits a corresponding Current- channel. Therefore the router transmits a corresponding Current-
skipping to change at page 8, line 8 skipping to change at page 8, line 17
Query for other [LMQC - 1] or [LLQC - 1] times. Query for other [LMQC - 1] or [LLQC - 1] times.
Note that there is some risk that a router misses or looses Report Note that there is some risk that a router misses or looses Report
messages sent from remaining members if the router adopts small LMQC/ messages sent from remaining members if the router adopts small LMQC/
LLQC; however the wrong expectation would be lower happened for the LLQC; however the wrong expectation would be lower happened for the
router enabling the explicit tracking function. And to avoid the router enabling the explicit tracking function. And to avoid the
problem, a router can start sending a Group- (and-Source) Specific problem, a router can start sending a Group- (and-Source) Specific
Query message when it expects the number of the remaining members is Query message when it expects the number of the remaining members is
small, such as 5, but not 0. small, such as 5, but not 0.
5. Interoperability and Compatibility 5. Compatibility
The explicit tracking function does not work with the older versions The explicit tracking function does not work with the older versions
of IGMP or MLD, IGMPv1 [6], IGMPv2 [7] or MLDv1 [8], because a member of IGMP or MLD, IGMPv1 [5], IGMPv2 [6] or MLDv1 [7], because a member
host using these protocols adopts a report suppression mechanism by host using these protocols adopts a report suppression mechanism by
which a host would cancel sending a pending membership Reports if a which a host would cancel sending a pending membership Reports if a
similar Report was observed from another member on the network. similar Report was observed from another member on the network.
If a multicast router enabling the explicit tracking function changes If a multicast router enabling the explicit tracking function changes
its compatibility mode to the older versions of IGMP or MLD, the its compatibility mode to the older versions of IGMP or MLD, the
router should turn off the explicit tracking function but should not router should turn off the explicit tracking function but should not
flush the maintained membership state information (i.e., keep the flush the maintained membership state information (i.e., keep the
current membership state information as is). When the router changes current membership state information as is). When the router changes
back to IGMPv3 or MLDv2 mode, it would resume the function with the back to IGMPv3 or MLDv2 mode, it would resume the function with the
kept membership state information, even if the state information is kept membership state information, even if the state information is
outdated. This manner would give "smooth state transition" that does outdated. This manner would give "smooth state transition" that does
not initiate the membership state from scratch and synchronizes the not initiate the membership state from scratch and synchronizes the
actual membership state smoothly. actual membership state smoothly.
There are several points TBD in the further discussions regarding the 6. IANA Considerations
interoperability and compatibility issues. At first, it is necessary
whether a multicast router enabling the explicit tracking function
needs to detect adjacent routers that do not support the explicit
tracking function on the link or not. After the clarification, this
document will describe the method how to detect them. It would be
done by a new signaling message, but the new message leads
compatibility problems for older routers or other routing protocols
such as PIM-DM. All of these discussions are TBD.
6. Security Considerations This document has no actions for IANA.
7. Security Considerations
There is no additional security considerations. There is no additional security considerations.
7. Acknowledgements 8. Acknowledgements
Toerless Eckert, Stig Venaas, and others provided many constructive Toerless Eckert, Stig Venaas, and others provided many constructive
and insightful comments. and insightful comments.
8. References 9. References
8.1. Normative References
9.1. Normative References
[1] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A. [1] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A.
Thyagarajan, "Internet Group Management Protocol, Version 3", Thyagarajan, "Internet Group Management Protocol, Version 3",
RFC 3376, October 2002. RFC 3376, October 2002.
[2] Vida, R. and L. Costa, "Multicast Listener Discovery Version 2 [2] Vida, R. and L. Costa, "Multicast Listener Discovery Version 2
(MLDv2) for IPv6", RFC 3810, June 2004. (MLDv2) for IPv6", RFC 3810, June 2004.
[3] Liu, H., Cao, W., and H. Asaeda, "Lightweight Internet Group [3] Liu, H., Cao, W., and H. Asaeda, "Lightweight Internet Group
Management Protocol Version 3 (IGMPv3) and Multicast Listener Management Protocol Version 3 (IGMPv3) and Multicast Listener
Discovery Version 2 (MLDv2) Protocols", RFC 5790, February 2010. Discovery Version 2 (MLDv2) Protocols", RFC 5790, February 2010.
8.2. Informative References 9.2. Informative References
[4] Fenner, B., He, H., Haberman, B., and H. Sandick, "Internet [4] Fenner, B., He, H., Haberman, B., and H. Sandick, "Internet
Group Management Protocol (IGMP) / Multicast Listener Discovery Group Management Protocol (IGMP) / Multicast Listener Discovery
(MLD)-Based Multicast Forwarding ("IGMP/MLD Proxying")", (MLD)-Based Multicast Forwarding ("IGMP/MLD Proxying")",
RFC 4605, August 2006. RFC 4605, August 2006.
[5] Christensen, M., Kimball, K., and F. Solensky, "Considerations [5] Deering, S., "Host Extensions for IP Multicasting", RFC 1112,
for Internet Group Management Protocol (IGMP) and Multicast
Listener Discovery (MLD) Snooping Switches", RFC 4541, May 2006.
[6] Deering, S., "Host Extensions for IP Multicasting", RFC 1112,
August 1989. August 1989.
[7] Fenner, W., "Internet Group Management Protocol, Version 2", [6] Fenner, W., "Internet Group Management Protocol, Version 2",
RFC 2373, July 1997. RFC 2373, July 1997.
[8] Deering, S., Fenner, W., and B. Haberman, "Multicast Listener [7] Deering, S., Fenner, W., and B. Haberman, "Multicast Listener
Discovery (MLD) for IPv6", RFC 2710, October 1999. Discovery (MLD) for IPv6", RFC 2710, October 1999.
Authors' Addresses Authors' Addresses
Hitoshi Asaeda Hitoshi Asaeda
Keio University National Institute of Information and Communications Technology
Graduate School of Media and Governance 4-2-1 Nukui-Kitamachi
5322 Endo Koganei, Tokyo 184-8795
Fujisawa, Kanagawa 252-0882
Japan Japan
Email: asaeda@wide.ad.jp Email: asaeda@nict.go.jp
URI: http://web.sfc.wide.ad.jp/~asaeda/
Nicolai Leymann Nicolai Leymann
Deutsche Telekom AG Deutsche Telekom AG
Winterfeldtstrasse 21-27 Winterfeldtstrasse 21-27
Berlin 10781 Berlin 10781
Germany Germany
Email: n.leymann@telekom.de Email: n.leymann@telekom.de
 End of changes. 25 change blocks. 
56 lines changed or deleted 55 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/