Internet DRAFT - draft-guo-mboned-mfec-framework
draft-guo-mboned-mfec-framework
Network Working Group Feng Guo
Internet Draft Huawei Technologies Co., Ltd.
Expires: December 2007 June 28, 2007
Multicast Forwarding Equivalence Class [MFEC]
draft-guo-mboned-mfec-framework-01.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
Abstract
At present, the multimedia services such as IPTV are gaining
importance. Multicast technologies play an inevitable role in these
multimedia services.
The main factors affecting the multicast technologies are the
convergence speed and the capacity of the multicast routing table.
One of the easiest and the most commonly practiced methods in
nowadays multicast deployment is to push the data to the end router
by static configurations (igmp static group). This will reduce the
delay in channel switching. The data flow of multiple channels from
Guo Expires December 28, 2007 [Page 1]
Internet-Draft Multicast Forwarding Equivalence Class June 2007
one or several servers are transmitted along the distribution tree.
The distribution tree for multiple channels may be composed of only
one same distribution tree. A router, however, maintains separate
protocol-status and provides separate protocol-packets content for
each channel. This prolongs the route convergence, increases the
status-space and reduces the exchange rate of protocol-packets.
This document proposes a solution to speed up the route convergence,
reduce the states in the multicast forwarding table and increase the
exchange rate of packets. This can be achieved by using the same
state for the data flows that passes the same path in the
distribution tree. This same state is called Multicast Forwarding
Equivalent Class (MFEC). In other words, MFEC is a group of multicast
packets that are forwarded over the same path with the same traffic
handling treatment. This solution extends various multicast protocols
such as PIM- SSM, PIM-SM, Bidir-PIM, PIM-DM and DVMRP, and perfects
application of multicast.
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
.
Table of Contents
1. Introduction................................................3
1.1. Background.............................................3
1.2. Purpose................................................3
2. Definitions and Abbreviations...............................4
3. Framework for MFEC..........................................4
3.1. MFEC defining..........................................5
3.2. Rules of MFEC..........................................6
3.2.1. Dynamic MFEC Rule.................................6
3.2.2. Static MFEC Rule..................................7
3.3. Procedure of Application...............................7
4. Security Considerations....................................10
5. IANA Considerations........................................10
6. Acknowledgments............................................10
7. References.................................................10
7.1. Normative References..................................10
7.2. Informative References................................10
Author's Addresses............................................11
Intellectual Property Statement...............................11
Disclaimer of Validity........................................11
Guo Expires December 28, 2007 [Page 2]
Internet-Draft Multicast Forwarding Equivalence Class June 2007
Copyright Statement...........................................11
1. Introduction
1.1. Background
The current multicast routing protocols, such as PIM-SSM, PIM-SM,
Bidir-PIM, PIM-DM and DVMRP, take (S/*, G) as the minimum unit. Even
though the data flow of multiple channels is transmitted along the
same path in the distribution tree, it is maintained by a router as
different (S/*, G)s. These different (S/*, G)s are expressed by
different segments of protocol-packets.
But in real applications some bundles of multicast sources and
groups are normally centralized to deploy, and most of multicast
traffic have to share the same path in the distribution tree.
The router maintains many (S/*, G)s and each (S/*, G) corresponds to
a distribution tree. This prolongs the route convergence and reduces
the efficiency for packet generation and exchange , and also may
occupy too much memory under general conditions.
Moreover, the terminal device needs to notify the router about the
address pair (source address and group address) of the interested
program. This requires the router to create and maintain a (S/*, G)
for each address pair. As a result, the router can be easily attacked
by the terminal device(if the environment is unsecured).
In the existing multicast deployments like IPTV we try to push all of
the programs to the edge-network by configuring igmp static join, or
at least push to the end of core network. Here the core or the
intermediate routers are also burdened with the entire multicast (S/*,
G) states.
1.2. Purpose
The purpose of this memo is to provide a generalized framework for
merging these redundant states. Thus we can reduce the state
information and maintenance cost in the core or intermediate routers.
By reducing the state information we can also increase the state
scalability of the multicast and prevent it from easy attacks.
This framework can also be a basis for future work to enhance
multicast expansibility and stability.
Guo Expires December 28, 2007 [Page 3]
Internet-Draft Multicast Forwarding Equivalence Class June 2007
The scope of this document is not to propose a detailed protocol
instead we propose the idea of MFEC at an abstract level.
2. Definitions and Abbreviations
The document introduces the following definitions:
Multicast Forwarding Equivalent Class (MFEC): is a set of multicast
data packets that are forwarded in the same way, for example, a set
of the data packets that pass the same multicast distribution tree or
sub-tree and receive the same forwarding processing. By forwarding
processing also includes QoS treatment.
MFEC distribution tree: is the distribution tree that the MFEC passes.
It may be a traditional multicast distribution tree that takes the
source or RP as the root and takes receivers as leaves, a sub-tree or
a branch.
Egress router of MFEC distribution tree: is the leaf router of the
MFEC distribution tree. It is called Egress router for short.
Ingress router of MFEC distribution tree: is the root router of the
MFEC distribution tree. It is called Ingress router for short.
Transit router of MFEC distribution tree: is the router that exists
between the root router and the leaf router of the MFEC distribution
tree. It is called Transit router for short.
Abbreviations:
PIM Protocol Independent Multicast
PIM SM Protocol Independent Multicasts Sparse Mode
PIM SSM Protocol Independent Multicast Source-Specific
Multicast
MLD Multicast Listener Discovery
IGMP Internet Group Management Protocol
(S/*, G) (S, G) or (*, G) state as defined in PIM
MFIB Multicast Forwarding Information Base
3. Framework for MFEC
The basic idea for MFEC is to make data flow that passes through the
same distribution tree or sub-tree to use the same status. This speeds
up route convergence and reduces space occupation. Moreover, the
protocol state machine and protocol packets take MFEC rather than (S,
G) or (*, G) as the minimum unit. This improves the processing
Guo Expires December 28, 2007 [Page 4]
Internet-Draft Multicast Forwarding Equivalence Class June 2007
efficiency of the state machine and the exchange rate of protocol-
packets.
The multicast based on MFEC can be applied to general multicast
network or VPN network.
A general high-level framework can be represented as follows.
--------------------------
/ MFEC \
| NETWORK |
+-------+ +-------+ +---------+ +-------+ +-------+
|Server |--|Ingress|<===>| Transit |<===>|Egress |--|Host |
| | |Router | | Router | |Router | | |
+-------+ +-------+ +---------+ +-------+ +-------+
| |
\ /
-------------------------
Figure 1.Basic Model of a MFEC network
Take the application of Multicast in IPTV as an example. As shown in
Figure 1, multiple programs of different channels are sent by the
same source (a server or multiple servers) to the router nearest to
receivers. The multiple multicast data flows, therefore, are
transmitted along the same path. The set of these data packets is
considered as an MFEC. The protocol status and protocol packet
exchange takes MFEC as the minimum unit.
By configuring the MFEC on the edge routers, we achieve to
reduce the forwarding state information maintained by the
transit core routers. An added advantage is that we need not
configure any extra tunnels. MFEC itself will take care of sending
joins in MFEC range and forwarding data between the edge routers
based on the multicast forwarding table maintain by the transit
routers. Operators need not bother about the tunneling configurations.
3.1. MFEC defining
MFEC can either be defined explicitly or implicitly. The data that
belongs to the same MFEC is forwarded by using the same forwarding
entry and corresponds to the same MFEC status.
Examples of MFEC are (source address, group address/mask), (source
address/mask, group address), (source address/mask, group
address/mask) etc.
MFEC is divided into dynamic MFEC and static MFEC accordingly. They
can be applied to multicast network or VPN network.
Dynamic MFEC: refers to the MFEC distribution tree that is
dynamically generated by the modified protocols. That is, MFEC status
can be switched from (S/*, G) automatically. According to the MFEC
mapping, once receiving IGMP/MLD Report or PIM join/prune packets,
the routers switch the (S/*, G) status to MFEC status. The multicast
distribution tree of MFEC is then established.
Static MFEC: refers to the MFEC distribution tree formed by the
statically configured MFEC routing entries or forwarding entries. The
static MFEC can be used to directly guide the data forwarding. That
Guo Expires December 28, 2007 [Page 5]
Internet-Draft Multicast Forwarding Equivalence Class June 2007
is, the Egress router that runs IGMP/MLD can be statically configured
to receive (S, G/M). MFEC routing entries or forwarding entries can
be statically configured on routers to forward (S, G/M).
Both the dynamic MFEC and the static MFEC can co-exist. Edge nodes in
the network can be configured with static MFECs and at the same time
Learn dynamic MFECs.
3.2. Rules of MFEC
Following are the set of rules to be considered for MFEC. The
state machine takes the MFEC instead of (S, G) or (*, G) as the
minimum unit. For example, if the data of (S, G/M) belongs to an MFEC,
the state machine is downstream per-interface (S, G/M). The "M" in
the (S, G/M) indicates the mask.
3.2.1. Dynamic MFEC Rule
The application of dynamic MFEC refers to MFEC status that is
switched from (S/*, G). According to the MFEC mapping, once receiving
IGMP/MLD Report or PIM packets, the routers switch the (S/*, G)
status to MFEC status, or, Egress router that runs IGMP/MLD is
statically configured to receive (S, G/M). The multicast distribution
tree of MFEC is then established.
Rules 1 to 4 are schemes for modifying existing multicast
protocols.
1) Downstream per-interface (S, G/M) state machine: In the protocol-
packets, MFEC is used to replace (S, G) or (*, G). If the data of (S,
G/M) belongs to an MFEC, the G segment in (S, G) Join/Prune message
is filled in with M.
2) Multicast routing table: MFEC is used to replace (S, G) or (*, G)
in multicast routing table. If the data of (S, G/M) belongs to an
MFEC, the routing entry is expressed as (S, G/M, GE1/0/1, {GE 2/0/0,
GE 3/0/0}).
3) Multicast forwarding table: MFEC is used to replace (S, G) or (*,
G) in multicast forwarding table. If the data of (S, G/M) belongs to
an MFEC, the forwarding entry is expressed as (S, G/M, GE 1/0/1, {GE
2/0/0, GE 3/0/0}). Therefore the data forwarding is based on longest
prefix match lookup table (multicast forwarding table).
Guo Expires December 28, 2007 [Page 6]
Internet-Draft Multicast Forwarding Equivalence Class June 2007
4) Mapping from (S/*, G) to MFEC: Ingress router defines the mapping
from (S/*, G) to MFEC. If the data of (S, G) belongs to an MFEC, the
multicast flow of (S, G) is mapped to the multicast flow of (S, G/M).
When a router receives the data of (S, G), it directly creates the (S,
G/M) status for the data. The mapping can be explicitly or implicitly
defined, or implemented by the dynamic extension of protocols.
Rules 5, 6 and 7 can be used separately or in combination as
required.
5) Mapping of MFEC to (S/*, G): Egress router defines the mapping
from MFEC to (S/*, G). If the data of (S, G/M) or (*, G/M) belongs to
an MFEC, the (S, G) or (*, G) PIM Join/Prune messages or that of the
IGMP/MLD Report messages is mapped from (S, G/M) or (*, G/M), and the
(S, G/M) or (*, G/M) status is created. The mapping can be explicitly
or implicitly defined, or implemented by the dynamic extension of
protocols.
3.2.2. Static MFEC Rule
The application of the static MFEC refers to the MFEC distribution
tree formed by the statically configuring MFEC routing entries or
forwarding entries. The static MFEC can be used to directly guide the
data forwarding. Moreover, you can set an active incoming interface
and a standby incoming interface for each MFEC status to enhance the
robustness of the multicast forwarding.
6) Statically joining the MFEC distribution tree: Configure Egress
router that runs IGMP/MLD to receive MFEC. The data of (S, G/M) or (*,
G/M) belongs to the same MFEC, the router creates (S, G/M) or (*, G/M)
status when configured to receive the data of (S, G/M) or (*, G/M).
7) Configure the status of the static MFEC to generate the multicast
routing table and forwarding table: If (S, G/M) belongs to an MFEC,
the routing entry and forwarding entry of static (S, G/M) can be
directly configured. The same MFEC can import data flow to the same
physical interface or tunnel interface (can be either multi-point
tunnel or single-point tunnel) such as the MTI in multicast VPN.
8) Statically configured MFEC-based MROUTE and MFIB: The outgoing
interface can be a tunnel (e.g. mvpn, p2mp) or a normal interface.
3.3. Procedure of Application
To be understood clearly, the following is a detailed procedure for
MFEC, taking PIM-SSM protocol with dynamic MFEC as example:
Guo Expires December 28, 2007 [Page 7]
Internet-Draft Multicast Forwarding Equivalence Class June 2007
The basic procedures are applicable to IP multicast, including IPv4
multicast and IPv6 multicast, and also most multicast protocols, such
as the PIM-SM, PIM-DM, IGMP, and MLD etc.
+------+
|Source|
+------+
|
|DATA (S,G/M)
V
+-----------------+ <-- +-----------------+
|INGRESS ROUTER | PIM JOIN |TRANSIT ROUTER |
|6.Creates (S,G/M)| (S,G/M) |5.Creates (S,G/M)|
|add outgoing |------------|with downstream |---------+
|interface | 7.DATA |interface | |
+-----------------+ (S,G/M) +-----------------+ |
--> |
|
|
|
+-------------+ <-- +----------------+ <-- |
|HOST | DATA |EGRESS ROUTER | 8.DATA |
|1.needs to | (S,G/M) |3.MFEC switches | (S,G/M) |
|receive (S,G)|--------------|(S,G) to (S,G/M)|------------+
|information | 2.IGMPV3 | | 4.PIM JOIN
+-------------+ IS_IN(S,G) +----------------+ (S,G/M)
--> -->
Figure 2. logistic procedure of PIM-SSM MFEC
1) Egress router and Ingress router define the mapping from (*, G) or
(S, G) to (*, G/M) or (S, G/M) in advance (Static MFEC).
2) The receiver wants to receive the multicast flow of (S, G).
3) The receiver sends the IGMPv3/MLDv2 (S, G) Report message.
4) According to rule 6, Egress router receives the IGMPv3/MLDv2
(S, G) and switches it to (S, G/M). Or, according to rule 7,
Egress router that runs IGMP/MLD is statically configured to receive
(S, G/M). The outgoing interface is then added to (S, G/M).
Establishment of PIM-SSM multicast distribution tree is triggered.
Guo Expires December 28, 2007 [Page 8]
Internet-Draft Multicast Forwarding Equivalence Class June 2007
5) According to rule 1, Egress router calculates the state
machine of (S, G/M) and sends PIM Join message of (S, G/M) to the
source according to rule 2.
6) The Transit router creates (S, G/M) status according to rule
1, 3 and 4, adds the outgoing interface and then sends the PIM-Join
message of (S, G/M) to the source according to rule 2.
7) Ingress router creates (S, G/M) status according to rule 1, 3
and 4 and adds the outgoing-interface. If no Layer 3 device exists
between Ingress router and the multicast source, the data flow sent
by the multicast source is forwarded in accordance with the MFEC
status.
If routers which do not support MFEC exist between the Ingress router
and the multicast source, do as follows:
(1) Configure the upstream router to forward data to Ingress
router according to rule 8.
(2) According to rule 5, configure Ingress router to switch
MFEC to multiple (S, G)s based on the mapping and then to send PIM-
Join message to the upstream router.
8) According to rule 4, after the multicast source sends the
data flow, Ingress router forwards the data based on the (S, G/M)
status.
9) According to rule 4, after receiving the multicast data flow,
Transit router forwards the data to the downstream router based on
the (S, G/M) status. Finally, the data is forwarded to the Egress
router that forwards the data to the receiver.
From above procedure, we can also observe the following significant
points:
The original protocols or implementations are described with (S/*, G)
as the minimum unit and this document extends the minimum unit to
MFEC. The improved protocol takes the MFEC as the minimum unit. The
data that belongs to the same MFEC corresponds to the same protocol
status and routing forwarding entry. Therefore, the running of a
protocol is not for a single address pair (source address, group
address) but for a set of multiple address pairs.
Exchange of protocol packets is based on MFEC. So the number of
protocol packets exchanged between MFEC enabled routers will be
reduced.
Guo Expires December 28, 2007 [Page 9]
Internet-Draft Multicast Forwarding Equivalence Class June 2007
The data packets of the same MFEC are forwarded by the same multicast
forwarding entry.
Multicast protocol state machine and protocol-packets take MFEC
instead of (S, G) or (*, G) as the minimum unit. The multicast
routing table and forwarding table use MFEC to replace (*, G) or (S,
G) status.
The same MFEC can be imported to the same physical interface or
tunnel interface (multi-point tunnel or one-point tunnel) such as
Multicast Tunnel Interface (MTI) in multicast VPN.
4. Security Considerations
MFEC do not have any added impact on the security issues. At the same
MFEC is not adding any security improvements to the existing
multicast protocols. But due to the reduced state information storage,
the attack by the terminal devices on intermediate routers is reduced.
5. IANA Considerations
This document has no IANA considerations.
6. Acknowledgments
I would like to express special thanks to Muhammad Yaaseen and
Liangru for their inputs to this work.
7. References
7.1. Normative References
i Cain, B., Deering, S., Kouvelas, I., Fenner, B., and
A.Thyagarajan, "Internet Group Management Protocol, Version 3",
RFC 3376, October 2002.
ii Holbrook, H. and B. Cain, "Source-Specific Multicast for IP",
RFC 4607, August 2006.
iii P. Savola, R. Lehtonen, D. Meyer, "Protocol Independent
Multicast - Sparse Mode (PIM-SM) Multicast Routing Security
Issues and Enhancements", RFC 4609, October 2006.
Guo Expires December 28, 2007 [Page 10]
Internet-Draft Multicast Forwarding Equivalence Class June 2007
7.2. Informative References
Author's Addresses
Feng Guo
Huawei Technologies Co., Ltd.
No.3 Xinxi Rd.
Shang-Di Information Industry Base, Beijing P.R.China
Phone: 8610-82836841
Email: guofeng@huawei.com
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.
Disclaimer of Validity
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, THE IETF TRUST
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.
Guo Expires December 28, 2007 [Page 11]
Internet-Draft Multicast Forwarding Equivalence Class June 2007
Copyright Statement
Copyright (C) The IETF Trust (2007).
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.
Guo Expires December 28, 2007 [Page 12]