draft-ietf-pim-explicit-tracking-03.txt   draft-ietf-pim-explicit-tracking-04.txt 
PIM Working Group H. Asaeda PIM Working Group H. Asaeda
Internet-Draft NICT Internet-Draft NICT
Intended status: Informational December 11, 2012 Intended status: Standards Track January 29, 2013
Expires: June 14, 2013 Expires: August 2, 2013
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-03 draft-ietf-pim-explicit-tracking-04
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 supporting IGMPv3/MLDv2. The
function contributes to saving network resources and fast leaves explicit tracking function contributes to saving network resources
(i.e. shortening leave latency). and fast leaves (i.e. shortening leave latency).
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 June 14, 2013. This Internet-Draft will expire on August 2, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2013 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. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Explicit Tracking Function . . . . . . . . . . . . . . . . . . 4 3. Explicit Tracking Function . . . . . . . . . . . . . . . . . . 4
3.1. Membership State Information . . . . . . . . . . . . . . . 4 3.1. Membership State Information . . . . . . . . . . . . . . . 4
3.2. Specific Query Suppression . . . . . . . . . . . . . . . . 5 3.2. Specific Query Suppression . . . . . . . . . . . . . . . . 5
3.3. Shortening Leave Latency . . . . . . . . . . . . . . . . . 6 3.3. Shortening Leave Latency . . . . . . . . . . . . . . . . . 6
4. Lowering the Possibility of Outdated Membership State . . . . . 7 4. Lowering the Possibility of Outdated Membership State . . . . 7
5. All-Zero and Unspecified Source Addresses . . . . . . . . . . . 8 5. All-Zero and Unspecified Source Addresses . . . . . . . . . . 8
6. Compatibility with Older Version Protocols . . . . . . . . . . 8 6. Compatibility with Older Version Protocols . . . . . . . . . . 8
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
8. Security Considerations . . . . . . . . . . . . . . . . . . . . 9 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9
10.1. Normative References . . . . . . . . . . . . . . . . . . . 9 10.1. Normative References . . . . . . . . . . . . . . . . . . . 9
10.2. Informative References . . . . . . . . . . . . . . . . . . 9 10.2. Informative References . . . . . . . . . . . . . . . . . . 9
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 9 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction 1. Introduction
The Internet Group Management Protocol (IGMP) [1] for IPv4 and the The Internet Group Management Protocol (IGMP) version 3 [1] for IPv4
Multicast Listener Discovery Protocol (MLD) [2] for IPv6 are the and the Multicast Listener Discovery Protocol (MLD) version 2 [2] for
standard protocols used by member hosts and multicast routers. When IPv6 are the standard protocols used by member hosts and multicast
a host starts/finishes listening to particular multicast channels, it routers. Lightweight IGMPv3 and Lightweight MLDv2 (or LW-IGMPv3 and
LW-MLDv2) [3] are subsets of the standard IGMPv3 and MLDv2. When a
host starts/finishes listening to particular multicast channels, it
sends IGMP/MLD State-Change Report messages specifying the sends IGMP/MLD State-Change Report messages specifying the
corresponding channel information as the join/leave request to its corresponding channel information as the join/leave request to its
upstream router (i.e., an adjacent multicast router or IGMP/MLD proxy upstream router (i.e., an adjacent multicast router or IGMP/MLD proxy
device [5]). The "unsolicited" report messages are sent only once device [5]). The "unsolicited" report messages are sent only when
upon reception/departure. the host joins/leaves the channels.
IGMP/MLD are non-reliable protocols; the unsolicited report messages IGMP/MLD are non-reliable protocols; the unsolicited report messages
may be lost or may not reached upstream routers. To resolve the may be lost or may not reach upstream routers. To alleviate the
problem, routers need to update membership information by problem, routers need to update membership information by
periodically sending IGMP/MLD General Query messages. Member hosts periodically sending IGMP/MLD General Query messages. Member hosts
then reply with "solicited" report messages whenever they receive the then reply with "solicited" report messages whenever they receive the
query messages. query messages.
Multicast routers are capable of periodically maintaining the Multicast routers are capable of periodically maintaining the
multicast membership state of downstream hosts attached to the same multicast membership state of downstream hosts attached to the same
link by acquiring unsolicited report messages and synchronizing the link by acquiring unsolicited report messages and synchronizing 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 perfectly synchronized. To minimize the possibility of having
outdated membership information, routers may shorten the periodic outdated membership information, routers may shorten the periodic
General Query timer interval. Unfortunately, this increases the General Query timer interval. Unfortunately, this increases the
number of transmitted solicited report messages and induces network number of transmitted solicited report messages and induces network
congestion. And the greater the amount of network congestion, the congestion. And the greater the amount of network congestion, the
greater the potential for IGMP/MLD report messages being lost and the greater the potential for IGMP/MLD report messages being lost and the
membership state information being outdated in the router. membership state information being outdated in the router.
The IGMPv3 [1] and MLDv2 [2] protocols can provide the ability to The IGMPv3 [1] and MLDv2 [2] protocols and these lightweight
keep track of the downstream (adjacent) multicast membership state to protocols [3] can provide the ability to keep track of the downstream
multicast routers, yet the specifications are not clearly given. (adjacent) multicast membership state to multicast routers, yet the
This document describes the "IGMP/MLD-based explicit member tracking specifications are not clearly given. This document describes the
function" for multicast routers and details a way for routers to "IGMP/MLD-based explicit member tracking function" for multicast
implement the function. By enabling this explicit tracking function, routers and details a way for routers to implement the function. By
routers can keep track of the downstream multicast membership state. enabling this explicit tracking function, routers can keep track of
This function enables the following: the downstream multicast membership state. This function enables the
following:
o Reducing the number of transmitted query and report messages o Reducing the number of transmitted query and report messages
o Shortening leave latencies o Shortening leave latencies
o Per-host accounting o Per-host accounting
o Maintaining multicast channel characteristics (or statistics) o Maintaining multicast channel characteristics (or statistics)
In addition, the processing of IGMP membership or MLD listener In addition, the processing of IGMP membership or MLD listener
messages consumes CPU resources on individual IGMP/MLD querier and messages consumes CPU resources on individual IGMP/MLD querier and
report sender devices. The explicit tracking function therefore report sender devices. The explicit tracking function therefore
reduces not only the network load but also the CPU load on these reduces not only the network load but also the CPU load on these
devices. devices.
The explicit tracking function does not guarantee that the membership The explicit tracking function does not guarantee that the membership
state will always be perfectly synchronized; the list of tracked state will always be perfectly synchronized; the list of tracked
skipping to change at page 4, line 18 skipping to change at page 4, line 22
report sender devices. The explicit tracking function therefore report sender devices. The explicit tracking function therefore
reduces not only the network load but also the CPU load on these reduces not only the network load but also the CPU load on these
devices. devices.
The explicit tracking function does not guarantee that the membership The explicit tracking function does not guarantee that the membership
state will always be perfectly synchronized; the list of tracked state will always be perfectly synchronized; the list of tracked
member hosts may be outdated in the router because of host departure member hosts may be outdated in the router because of host departure
from the network without sending State-Change Report messages or loss from the network without sending State-Change Report messages or loss
of such messages due to network congestion. Therefore, a router of such messages due to network congestion. Therefore, a router
enabling the function ought to send periodic IGMPv3/MLDv2 General enabling the function ought to send periodic IGMPv3/MLDv2 General
Query messages and inquire about solicited IGMPv3/MLDv2 report Query messages and solicit IGMPv3/MLDv2 report messages from
messages from downstream member hosts to maintain an up-to-date downstream member hosts to maintain an up-to-date membership state.
membership state.
The explicit tracking function potentially requires a large amount of The explicit tracking function potentially requires a large amount of
memory so that routers keep all membership states. Particularly when memory so that routers keep all membership states. Particularly when
a router needs to maintain a large number of member hosts, this a router needs to maintain a large number of member hosts, this
resource requirement could have an impact. Operators may decide to resource requirement could have an impact. Operators may decide to
disable this function when their routers have insufficient memory disable this function when their routers have insufficient memory
resources, despite the benefits mentioned above. resources, despite the benefits mentioned above.
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
skipping to change at page 5, line 21 skipping to change at page 5, line 24
where each receiver record is of the form: where each receiver record is of the form:
(IGMP/MLD membership/listener report sender's address) (IGMP/MLD membership/listener report sender's address)
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 identical report messages multiple times. report sender) sends the identical report messages multiple times.
In the state information, each S and G indicates a single IPv4/IPv6 In the state information, each S and G indicates a single IPv4/IPv6
address. S is set to "Null" for Any-Source Multicast (ASM) address. S is set to "Null" for 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 MAY NOT keep the state
state of (S,G) joined with EXCLUDE filter mode. If a router receives of (S,G) joined with EXCLUDE filter mode. In that case, if a router
an (S,G) join/leave request with EXCLUDE filter mode from the receives an (S,G) join/leave request with EXCLUDE filter mode from
downstream hosts, it translates it to a (*,G) join state/leave the downstream hosts, the router translates the request to a (*,G)
request and records the state and the receivers' addresses in the join state/leave request and records the state and the receivers'
maintained membership state information. Note that this membership addresses in the maintained membership state information. Note that
state translation does not change the routing protocol behavior. The this membership state translation does not change the routing
routing protocol must deal with the original join/leave request and protocol behavior. The routing protocol must deal with the original
translate the request only for the membership state information. join/leave request and translate the request only for the membership
state information.
3.2. Specific Query Suppression 3.2. Specific Query Suppression
In accordance with [1] and [2], whenever a router receives the State- In accordance with [1] and [2], whenever a router receives the State-
Change Report, it sends the corresponding Group-Specific or Group- Change Report, it sends the corresponding Group-Specific or Group-
and-Source Specific Query messages to confirm whether or not the and-Source Specific Query messages to confirm whether or not the
report sender is the sole member host. All member hosts joining the report sender is the sole member host. All member hosts joining the
identical channel send their own Current-State Report messages after identical channel send their own Current-State Report messages after
acquiring these query messages. Transmitting a large number of acquiring these query messages. Transmitting a large number of
Current-State Report messages consumes network resources, and this Current-State Report messages consumes network resources, and this
skipping to change at page 6, line 35 skipping to change at page 6, line 39
there are other member hosts subscribing to the channel on the LAN. there are other member hosts subscribing to the channel on the LAN.
3.3. Shortening Leave Latency 3.3. Shortening Leave Latency
A router enabling the explicit tracking function can shorten leave A router enabling the explicit tracking function can shorten leave
latencies by tuning several timers and values to what it expects latencies by tuning several timers and values to what it expects
whether or not the State-Change Report sender is the channel's sole whether or not the State-Change Report sender is the channel's sole
member. member.
The [Last Member Query Interval] (LMQI) and [Last Listener Query The [Last Member Query Interval] (LMQI) and [Last Listener Query
Interval] (LLQI) values specify the maximum time allowed before Interval] (LLQI) values specify the maximum time allowed for a member
sending a responding Report. The [Last Member Query Count] (LMQC) host to send a responding Report before the router prunes the channel
and [Last Listener Query Count] (LLQC) are the number of Group- from the network. The [Last Member Query Count] (LMQC) and [Last
Specific Queries or Group-and-Source Specific Queries sent before the Listener Query Count] (LLQC) are the number of Group-Specific Queries
router assumes there are no local members. The [Last Member Query or Group-and-Source Specific Queries sent before the router assumes
Time] (LMQT) and [Last Listener Query Time] (LLQT) values are the there are no local members. The [Last Member Query Time] (LMQT) and
total time the router should wait for a report after the Querier has [Last Listener Query Time] (LLQT) values are the total time the
sent the first query. router should wait for a report after the Querier has sent the first
query.
The default value for LMQI/LLQI defined in the standard The default value for LMQI/LLQI defined in the standard
specifications [1][2] is 1 second. For a router enabling the specifications [1][2] is 1 second. For a router enabling the
explicit tracking function, the LMQI/LLQI MAY be set to 1 second or explicit tracking function, the LMQI/LLQI MAY be set to 1 second or
shorter. The LMQC/LLQC values MAY be set to 1 for the router, shorter. The LMQC/LLQC values MAY be set to 1 for the router,
whereas their default values are the [Robustness Variable] value whereas their default values are the [Robustness Variable] value
whose default value is 2. Smaller LMQC/LLQC values give smaller whose default value is 2. Smaller LMQC/LLQC values give smaller
LMQT/LLQT, which shortens the leave latencies. On the other hand, LMQT/LLQT, which shortens the leave latencies. On the other hand,
setting smaller LMQC/LLQC values poses the risk described in setting smaller LMQC/LLQC values poses the risk described in
Section 4. Operators setting smaller LMQC/LLQC values must recognize Section 4. Operators setting smaller LMQC/LLQC values must recognize
this tradeoff. this tradeoff.
4. Lowering the Possibility of Outdated Membership State 4. Lowering the Possibility of Outdated Membership State
There are possibilities that the membership expectation performed by There are possibilities that a router enables the explicit tracking
a router enabling the explicit tracking function will be inconsistent function but its membership expectation will be inconsistent due to
due to an outdated membership state. For example, (1) a router an outdated membership state. For example, (1) a router expects that
expects that more than one corresponding member host exists on its more than one corresponding member host exists on its LAN, but in
LAN, but in fact no member host exists for that multicast channel, or fact no member host exists for that multicast channel, or (2) a
(2) a router expects that no corresponding member host exists on its router expects that no corresponding member host exists on its LAN,
LAN, but in fact more than one member host exists for that multicast but in fact more than one member host exists for that multicast
channel. These cases are particularly likely for a router that channel. These cases are particularly likely for a router that
enables specific query suppression (as in Section 3.2) and configures enables specific query suppression (as in Section 3.2) and configures
small LMQC/LLQC for shortening leave latency (as in Section 3.3). small LMQC/LLQC for shortening leave latency (as in Section 3.3).
The first of these cases may occur in an environment where the sole The first of these cases may occur in an environment where the sole
member host departs the network without sending a State-Change Report member host departs the network without sending a State-Change Report
message. This is because a router enabling specific query message. This is because a router enabling specific query
suppression does not send a specific query if it believes the report suppression does not send a specific query if it believes the report
sender is not the sole member host. The router later detects that sender is not the sole member host. The router later detects that
there is no member host for the corresponding channels when it does there is no member host for the corresponding channels when it does
 End of changes. 16 change blocks. 
67 lines changed or deleted 71 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/