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]