Internet DRAFT - draft-musthafa-pim-unrouted-data-handling
draft-musthafa-pim-unrouted-data-handling
Network Working Group Musthafa.A.S
Internet Draft Prince Sunny
FutureSoft, A Flextronics
Company
Masato Aketo
Document: Anritsu Corporation
draft-musthafa-pim-unrouted-data-handling-00.txt
Expires: March 1, 2006 Sept 1, 2005
Unrouted Data Handling in PIM-SM
draft-musthafa-pim-unrouted-data-handling-00.txt
Status of this memo
By submitting this Internet-Draft, each author represents
that any applicable patent or other IPR claims of which he
or she is aware have been or will be disclosed, and any of
which he or she becomes aware will be disclosed, in
accordance with Section 6 of BCP 79.
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.
This Internet-Draft will expire on March 1 2006.
Abstract
A shared-media LAN like Ethernet may have multiple PIM-SM routers
connected to it. In a scenario where two or more routers are connected
Musthafa,Prince & Masato Aketo Expires March 1, 2006 [Page 1]
INTERNET DRAFT Unrouted Data Handling in PIM August 2005
to the same LAN and if only one of the PIM-SM Routers has members
joined for a particular group, all the other routers will receive the
same traffic. Since no members are joined for this group in the
routers, each time when data is received, the PIM-SM has the overhead
of processing all these data packets in the control plane to decide
where to route the packet.
To avoid this, an (S, G) or (*, G) Entry with NULL Oif list is
created so that discarding of the packets will be handled efficiently
in the data plane as opposed to searching the route entry in the
control plane and then dropping the packet.
Conventions used in this document
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.
1. Introduction
This document specifies efficient management of unrouted data handling
by PIM-SM which span wide-area (and inter-domain) internets. Protocol
Independent Multicast - Sparse Mode (PIM-SM), although may use the
underlying unicast routing to provide reverse-path information for
multicast tree building, it is not dependent on any particular unicast
routing protocol. PIM-SM version 2 was originally specified in RFC2117,
and revised in RFC 2362 [1].
The data packets destined to a group for which there are no members
joined is called Unrouted data. This document is intended to explain
a way to solve the inefficient way of handling unrouted data.
Routers implemented according to the specification in this document
will be able to successfully interoperate with routers implemented
according to RFC 2362.
2. Overview of PIM
This section provides an overview of PIM-SM behavior. It is intended
as an introduction on PIM-SM, and is NOT definitive.
PIM relies on an underlying topology-gathering protocol to populate a
routing table with routes. This routing table is called the MRIB or
Multicast Routing Information Base. The routes in this table may be
Musthafa,Prince & Masato Aketo Expires March 1, 2006 [Page 2]
INTERNET DRAFT Unrouted Data Handling in PIM August 2005
taken directly from the unicast routing table, or it may be different
and provided by a separate routing protocol such as MBGP. Regardless
of how it is created, the primary role of the MRIB in the PIM protocol
is to provide the next hop router along a multicast-capable path to
each destination subnet. The MRIB is used to determine the next hop
neighbor to which any PIM Join/Prune message is sent. Data flows along
the reverse path of the Join messages. Thus, in contrast to the
unicast RIB which specifies the next hop that a data packet would take
to get to some subnet, the MRIB gives reverse-path information, and
indicates the path that a multicast data packet would take from its
origin subnet to the router that has the MRIB. PIM-SM gathers
membership information through MLD [4] or IGMP [6] messages.
Like all multicast routing protocols that implement the service model
from RFC 1112 [3], PIM-SM must be able to route data packets from
sources to receivers without either the sources or receivers knowing
a priori of the existence of the others.
3. Unrouted data handling in PIM
In a Local area network where two or more PIM-SM routers are
inter-connected and if only one of the PIM-SM Routers has members
joined for a particular group then all the other routers will receive
the same traffic. Since no members are joined for this group in all the
other routers, each time when data is received, the PIM-SM has to take
decision as to what to do with this data.
To improve the efficiency of the system, depending on from where it
received the traffic PIM-SM can create (*, G) or (S, G), with NULL Oif
list.
The per-interface state-machine for receiving unrouted data from
the Source is described below. There are three states:
NoInfo (NI)
The interface has not received any data, no joins are there
and no timers running.
Unrouted Data ( UD )
The interface has received data from a source and no joins are
there, then it will create an (S, G) State with NULL Oif List
which will cause to drop packets destined for G from this
interface. The (S, G) Keep Alive Timer is started. (S, G) entry
will be deleted on the expiry of this Timer.
Musthafa,Prince & Masato Aketo Expires March 1, 2006 [Page 3]
INTERNET DRAFT Unrouted Data Handling in PIM August 2005
Join ( J )
The Router has received a membership report or (*, G) Join, then
it will create a (*, G) Entry with Oif List so that the packets
destined for G will be forwarded on this interface and if any
(S,G) with NULL Oif entry present, then it should update the oif
list and trigger the (S,G) Join.
If the Router has received a (S, G) Join, then (S,G) with NULL
Oif entry should be updated with the oif list and trigger (S,G)
Join towards the source.
+----------++---------------------------------------------------------+
| || Event |
|Prev State++------------------+----------+--------------+------------+
| || Received Unrouted| Timer | (*,G) Join | (S,G) Join |
| || Data | Expired | Recvd | Recvd |
+----------++------------------+----------+--------------+------------+
| || -> UD state | - |->J State |-> J State |
|NoInfo || (S,G) Entry with | | | |
| || Null Oif.Start | | | |
| || Timer. | | | |
+----------++------------------+----------+--------------+------------+
| || -> UD state |-> NoInfo |->J State |-> J State |
| || | |- (*,G) |- update |
| || | |entry created |(S,G) with |
|UD State || | |- update |Oif |
| || | |(S,G) with Oif| |
+----------++------------------+----------+--------------+------------+
The per-interface state-machine for receiving unrouted data from the RP
is described below. There are three states:
NoInfo (NI)
The interface has not received any data, no joins are there
and no timers running.
Unrouted Data ( UD )
The interface has received data from RP and when no joins are
received, then it will create a (*, G) State with NULL Oif
List which will cause to drop packets destined for G from
this interface. We will make use of the Keep Alive Timer here
as in (S, G) State and the (*, G) entry will be deleted on the
expiry of this Timer.
Join ( J )
The Router has received a membership report, then it will add
that interface to the Oif List so that the packets destined
for G will be forwarded on this interface.
Musthafa,Prince & Masato Aketo Expires March 1, 2006 [Page 4]
INTERNET DRAFT Unrouted Data Handling in PIM August 2005
+-----------++----------------------------------------------------+
| || Event |
|Prev State ++-------------------+-------------------+------------+
| || Received Unrouted | Receive Join | Timer |
| || Data | (*, G). | Expired |
+-----------++-------------------+-------------------+------------+
| || -> UD state | -> J State | |
| NoInfo || (*,G) Entry with | | - |
| || Null Oif.Start | | |
| || Timer | | |
+-----------++-------------------+-------------------+------------+
| || -> UD state | -> J State with | -> NoInfo |
| UD State || | Oif List Updated.| |
| || | | |
| || | | |
+-----------++-------------------+-------------------+------------+
The criteria for determining whether (S, G) or (*, G) route entry
creation depends on from where the PIM-SM Router received the data
packet. If it is from the Source DR or from the Sender itself, then
(S, G) with NULL Oif is created. If it is from the RP, then a (*, G)
with NULL Oif is created. This method of handling unrouted data has the
following advantages:
Efficient Processing of data Packets:
- Multicast traffic routing in unrouted data handling will be
effective in case of forwarding the multicast data traffic in the data
plane and the route determination through the control plane
- Whenever a Router receives data packets, the forwarding is
determined depending on the corresponding group route entry in the
forwarding table present in the data plane. If it does not find one,
processing of this packet will happen in the control plane and
subsequently discard the packet. In a shared media LAN, where there are
a number of Routers connected and only one among them has a member
joined for a particular group G, then all the other Routers will receive
the same packets and have the overhead of processing all these data
packets. To avoid this, an (S, G) or (*, G) Entry with NULL Oif list is
created so that discarding of the packets will be handled efficiently in
the data plane rather than searching the route entry in the control
plane and then dropping the packet.
In the scenario represented by Figure 1, Router 3 is configured as RP
for the Group G, and Router 1 receives a membership report for G. Sender
starts sending data packets for group G. Router 3 which is configured
as RP for the group will forward the data packet to the shared media
Musthafa,Prince & Masato Aketo Expires March 1, 2006 [Page 5]
INTERNET DRAFT Unrouted Data Handling in PIM August 2005
LAN. Since Router 2 is also in the same LAN, it will receive all the
data packets destined to Router 1. Hence Router 2 will create a (*, G)
Entry with NULL Oif List, so that from the next time it receives packets
destined to group G, it will discard.
In case if Receiver 2 sends a membership report for group G, then Router
2 PIM Implementation MUST update the Oif list so that the subsequent
packets will be forwarded to Receiver 2.
Figure 1:
+-------+
| |
| Sndr |
| |
+---+---+
|
|
+--------+-------+
| |
| |
| Router 3 |
| |
| |
+--------+-------+
|
|
|
|
+-----------------+ | +-----------------+
| |<---------+-------->| |
| | | |
| | | |
| Router 2 | | Router 1 |
| | | |
| | | |
+-------+---------+ +--------+--------+
| |
| |
| |
| |
+---+---+ +---+---+
| | | |
| Rcv 2 | | Rcv 1 |
| | | |
+-------+ +-------+
Musthafa,Prince & Masato Aketo Expires March 1, 2006 [Page 6]
INTERNET DRAFT Unrouted Data Handling in PIM August 2005
In another scenario, where RP does not exists and if Sender is sending
data destined to Group G, then Router 3 will create an (S, G) entry
with NULL Oif list. This will make Router 3 discard subsequent packets
for Group G, if there are no RP for the group exists in the subnet.
In a similar case where Router1 is configured as RP for the group and
Router3 is the Source DR and when the sender starts sending data, the
multicast data packets destined to Router 1, will be received by Router
2 also and since there are no members joined, Router2 should create an
(S,G) entry with NULL Oif as the source of data packet is Source DR
and not RP.
An example for implementing the Unrouted data handling is explained as
follows:
In the scenario represented by Figure 1, all the routers are PIM-SM
enable and initially in No Info State, as described above by the
per-interface state machine. RP for the group G is configured as
Router 1. Since sender is connected to Router 3, it is the Source DR.
When Source DR starts sending data to RP, since Router 2 is also in the
same LAN, it will receive data packets and will change to UD State where
it will create an (S, G) Entry with NULL Oif. A timer is started and
upon the expiration of this timer, Router 2 will change to No Info
state. If Rcv 2 sends a membership report to Router 2 when it is in UD
State, it will change to J State and creates a (*, G) Entry and sends
(*, G) join toward RP i.e. Router 1. Router 2 also updates the (S, G)
Entry with oif list and trigger an (S, G) join towards Sender DR i.e.
Router 3. In case if Rcv 2 stop sending membership report, then both
the (S, G) and (*, G) will time out and Router 2 will change to No Info
state.
In another scenario where all the routers are initially in No Info state
and when Rcv 2 sends a membership report, (*, G) entry will be created
in Router 2 and Router 1 since RP for the group G is Router 1. When the
sender starts sending data, after a period of time, (S, G) path will be
created in Router 2 and Router 3. In this case, when RP i.e. Router 1
receives data, it should create an (S, G) entry with NULL oif and
changes to UD state. When Rcv 1 joins group G, the entry will be updated
with Oif list.
It should be noted that, other PIM-SM Control messages like Register
stop, Hello messages etc will have no effect on this implementation.
The (S, G) or (*, G) with NULL oif entry will be deleted only on the
expiration of the timer which will be started upon creation. The default
value for this timer can be set as 180 Secs which can be changed
according to requirements. The unrouted data handling assumes the timer
will not be restarted in any case unless otherwise the Router changes
the state from UD to J state.
Musthafa,Prince & Masato Aketo Expires March 1, 2006 [Page 7]
INTERNET DRAFT Unrouted Data Handling in PIM August 2005
4. Security
All PIM control messages may use IPsec [6] to address security concerns.
Security mechanisms are likely to be enhanced in the near future.
5. References
[1] D. Estrin, D. Farinacci, A. Helmy, D. Thalar, S. Deering,
M. Handley, V. Jacobson, C. Liu, P. Sharma, L. wei," Protocol
Independent Multicast- Sparse Mode", RFC 2362.
[2] Bill Fenner, Mark Handley, Hugh Holbrook,Isidor Kouvelas,
draft-ietf-pim-sm-v2-new-08.txt.
[3] S.E. Deering, "Host extensions for IP multicasting", RFC 1112, Aug
1989.
[4] S. Deering, W. Fenner, B. Haberman, "Multicast Listener Discovery
(MLD) for IPv6", RFC 2710.
[5] B. Cain, S. Deering, I. Kouvelas, B. Fenner, A. Thyagarajan,
"Internet Group Management Protocol, Version 3", RFC 3376.
[6] Atkinson, R., "Security Architecture for the Internet Protocol",
RFC 1825(-> 2401prop).
6. Acknowledgements
The mechanism described in this document has been inspired by prior
work about supporting protocol independent multicast - sparse mode.
Specifically the draft authored by Bill Fenner, Mark Handley, Hugh
Holbrook, Isidor Kouvelas on protocol independent multicast - sparse
mode, most of the introduction inputs of this document has been taken
from the above draft and also which provided the motivation to come
up with this contribution.
We also wish to place on record the suggestions given by Sridhar T,
Anton Basil for this work. The support given by other well wishers
and friends during this work is recalled with gratitude.
Musthafa,Prince & Masato Aketo Expires March 1, 2006 [Page 8]
INTERNET DRAFT Unrouted Data Handling in PIM August 2005
7. Authors' Address
Musthafa A.S.
FutureSoft, a Flextronics Company,
480-481, Anna salai, Nandanam,
Chennai - 600 035, India
Phone : +91-44-24330550
Email : musthafaa@future.futsoft.com
Prince Sunny.
FutureSoft, a Flextronics Company,
480-481, Anna salai, Nandanam,
Chennai - 600 035, India
Phone : +91-44-24330550
Email : princes@future.futsoft.com
Masato Aketo.
Anritsu Corporation,
1800 Onna, Atsugi-shi,
Kanagawa-Prf.,
243-8555 Japan
Phone : +81-46-2966620
Email : aketo.masato@hh.anritsu.co.jp
8. Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed
to pertain to the implementation or use of the technology
described in 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 made any independent effort to identify any such rights.
Information on the procedures with respect to rights in RFC
documents can be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
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 such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository
at http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf-
ipr@ietf.org.
Musthafa,Prince & Masato Aketo Expires March 1, 2006 [Page 9]
INTERNET DRAFT Unrouted Data Handling in PIM August 2005
9. Full copyright statement
"Copyright (C) The Internet Society (2005). This document is
subject to the rights, licenses and restrictions contained in BCP
78, and except as set forth therein, the authors retain all their
rights."
"This document and the information contained herein are provided
on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR
ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE."
Musthafa,Prince & Masato Aketo Expires March 1, 2006 [Page 10]