Internet DRAFT - draft-xu-l3vpn-2547bis-mcast

draft-xu-l3vpn-2547bis-mcast



L3VPN Working Group                                         Xiaohu Xu 
Internet Draft                                                 HUAWEI 
Expires: April 2006                                   October 17, 2005 
                                   
 
                                      
                         Multicast in BGP/MPLS VPN 
                    draft-xu-l3vpn-2547bis-mcast-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 

   This Internet-Draft will expire on April 17, 2006. 

Copyright Notice 

      Copyright (C) The Internet Society (2005).  All Rights Reserved. 

Abstract 

   This document describes a set of procedures and protocols that allow  
   IP multicast traffic in Border Gateway Protocol (BGP4)/ Multiprotocol 
   Label Switching (MPLS) Virtual Private Network (VPN) to travel from 
   one VPN site to another in MPLS Label Switching Path (LSP) tunnel.  



 
 
 
Xu                     Expires April 17, 2006                 [Page 1] 

Internet-Draft        Multicast in BGP/MPLS VPN             10/17/2005 
    

Conventions used in this document 

   In examples, "C:" and "S:" indicate lines sent by the client and 
   server respectively. 

   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]. 

Table of Contents 

    
   1. Introduction..................................................3 
   2. Implementing multicast in BGP/MPLS VPN........................3 
      2.1. Discovery of PEs within the same MVPN....................3 
         2.1.1. BGP-based auto-discovery mechanism..................3 
            2.1.1.1. Auto-discovery with VPN-IPv4 address family....4 
            2.1.1.2. Auto-discovery with new address family.........4 
      2.2. Establishment of pseudo-wires............................4 
         2.2.1. Establishment of PW via targeted LDP................5 
            2.2.1.1. Format of VC FEC...............................5 
         2.2.2. Establishment of PW via BGP.........................6 
      2.3. Transmission of multicast traffic........................6 
         2.3.1. PIM-SM instance.....................................6 
         2.3.2. PIM-DM instance.....................................8 
      2.4. Compatibility............................................8 
      2.5. Scalability..............................................8 
      2.6. QoS......................................................8 
      2.7. TTL......................................................9 
      2.8. Extranet.................................................9 
      2.9. Inter-AS MVPN............................................9 
      2.10. Carrier's Carrier.......................................9 
   3. Formal Syntax................................................10 
   4. Security Considerations......................................10 
   5. IANA Considerations..........................................10 
   6. Conclusions..................................................10 
   7. Acknowledgments..............................................10 
   8. References...................................................10 
      8.1. Normative References....................................10 
      8.2. Informative References..................................11 
   Author's Addresses..............................................11 
   Intellectual Property Statement.................................11 
   Disclaimer of Validity..........................................12 
   Copyright Statement.............................................12 
    


 
 
Xu                     Expires April 17, 2006                 [Page 2] 

Internet-Draft        Multicast in BGP/MPLS VPN             10/17/2005 
    

1. Introduction 

   [RFC2547bis] defines a set of procedures to provide an IP unicast 
   Virtual Private Network (VPN) service in MPLS/IP networks. However, 
   it does not provide a way to provide multicast service in BGP/MPLS 
   VPN, also called MVPN. 

   This document will specify a set of procedures to provide MVPN 
   service.  

2. Implementing multicast in BGP/MPLS VPN 

   To provide MVPN service, the following three basic procedures are 
   required:  

   First, discover all the PEs which are attached to a particular MVPN. 
   The PE attached to a particular MVPN can also be described as PE 
   within that MVPN. 

   Second, Full-meshed pseudo wires (PW) are established between each 
   pair of the above PEs, and these PWs are bound to a particular MVRF 
   (Multicast Virtual Routing Forwarding) related to the MVPN. 

   Lastly, multicast control messages and multicast data traffic can be 
   transmitted through those PWs. 

   The above three procedures will be described in detail in the 
   following section of this document. 

2.1. Discovery of PEs within the same MVPN 

   Like the procedure to discover PEs within the same VSI (Virtual 
   Switching Instance) defined in VPLS related IETF drafts and RFCs, PEs 
   within the same MVPN could also be discovered automatically via BGP.  

   Manually configuring the addresses of the remote PEs within the same 
   MVPN is also an option. However, this method is not scalable to a 
   large MVPN with a large number of PEs. 

   Each PE within a particular MVPN will create a MVRF table to maintain 
   multicast routing information for that MVPN. 

2.1.1. BGP-based auto-discovery mechanism 

   The BGP Multi-protocol Extensions allow BGP to carry routes from 
   multiple "address families". We use the following two methods to 
   implement auto-discovery. 
 
 
Xu                     Expires April 17, 2006                 [Page 3] 

Internet-Draft        Multicast in BGP/MPLS VPN             10/17/2005 
    

2.1.1.1. Auto-discovery with VPN-IPv4 address family 

   A VPN-IPv4 address is a 12-byte quantity, beginning with an 8-byte 
   "Route Distinguisher (RD)" and ending with a 4-byte IPv4 address. 

   To realize auto-discovery of MVPN membership via BGP, each PE 
   attached to a particular MVPN must issue a special BGP update message 
   containing NLRI for VPN-IPv4 address family. The only difference with 
   the unicast VPN-IPv4 route update is that the IPv4 address part of 
   VPN-IPv4 address is specified as ''224.0.0.0'' and the prefix length is 
   specified as ''4''. This special VPN-IPv4 address prefix belonged to a 
   particular VRF means multicast is enabled for that VRF.  

2.1.1.2. Auto-discovery with new address family 

   BGP-based auto-discovery can also be done with a new address family 
   named MVPN (to be assigned by IANA). Each PE attached to a particular 
   MVPN must issue a BGP update message containing NLRI for this MVPN 
   address family, as well as specific attributes.  

   Each such BGP update must contain the following information: 

        - IPv4 address of the originating PE, which is also the address 
           used for establishing BGP session. 

        - An RD of the VPN-related VRF, which is bound to the above 
           IPv4 address to form a unique VPN-IPv4 address of the PE. 

        - One or more Route Target attributes. If any other PE has a 
           VRF associated with one of these Route Targets, it will treat 
           the advertising PE as a member in the MVPN to which the VRF 
           belongs. This allows each PE to discover the PEs that belong 
           to a given MVPN. 

   Other optional information can also be contained in that update 
   message according to need. 

2.2. Establishment of pseudo-wires 

   Once discovery is done, each pair of PEs within the MVPN will 
   establish pseudo-wires to each other, i.e., exchange demultiplexors. 
   This process is known as signaling of VC label. 

   In the context of MVPN, the VC label as demultiplexor not only says 
   to which specific VMPN a packet belongs, but also identifies the 
   ingress PE. For this reason, there is no need to carry ingress PE's 
   address in multicast traffic with a special encapsulation such as GRE 
 
 
Xu                     Expires April 17, 2006                 [Page 4] 

Internet-Draft        Multicast in BGP/MPLS VPN             10/17/2005 
    

   for the purpose of RPF checking and other purposes. That is to say, 
   each PE will assign a unique label to each one of the other PEs 
   within the above MVPN, and those unique labels are associated to a 
   particular MVRF related to the above MVPN.  

   These PWs could be established via targeted LDP or BGP.  

2.2.1. Establishment of PW via targeted LDP 

   The VC label information is distributed, with a new type of FEC 
   element named MVRF FEC (to be assigned by IANA), in downstream-
   unsolicited mode. Only a single VC FEC element MUST be advertised per 
   LDP VC label.   

2.2.1.1. Format of VC FEC  

   The VC FEC element is defined as follows: 

   0                   1                   2                   3  

   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

   |    VC tlv     |           VC Type             |RT info Length | 

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

   |                         Route Target                          | 

   |                         Route Target                          | 

   |                              ''                               | 

   |                              ''                               | 

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

        - VC tlv 

           A new value is to be assigned by IANA for MVRF FEC. 

        - VC Type 

          16 bit, and the value 0x0001 represents a MVRF instance. 

        - RT information length 
 
 
Xu                     Expires April 17, 2006                 [Page 5] 

Internet-Draft        Multicast in BGP/MPLS VPN             10/17/2005 
    

          8 bit, it specifies the length of the Route Target field. 

        - Route Target  

          This variable length field is used to carry the Route Target 
   attributes of the particular MVRF. 

2.2.2. Establishment of PW via BGP 

   BGP can also be used to establish PW between each pair of the PEs. 
   The mapping of VC label and PE neighbor per MVPN can be carried in 
   BGP update containing NLRI for the MVPN address family. 

2.3. Transmission of multicast traffic  

   After the PWs bound to a particular MVRF are established between each 
   pair of those PEs, multicast control messages and multicast data 
   traffic can be transmitted through them. 

   Now let's take PIM-SM and PIM-DM as examples to explain in brief how 
   multicast control messages and multicast data traffic are transmitted 
   in MVPN. Note that the following text is not normative for the 
   specification. 

2.3.1. PIM-SM instance 

   As a (S,G)PIM join message is received by an ingress PE via a VRF 
   attachment circuit, the PIM instance for that VRF will process this 
   message. First, it will search the VRF table to find out the best 
   route to S. If the next hop of that route is a loopback address of 
   the other PE, also called egress PE, it will send a (S,G)PIM join 
   message to that egress PE through the PW bound to that VRF between 
   these two PEs. The (S,G)PIM join message is encapsulated in a MPLS 
   frame with two layers of label, and the inner label is the VC label 
   which is assigned to the ingress PE by the egress PE and is 
   associated to a particular MVRF related to the above MVPN, and the 
   outer label is the label of the LSP tunnel from the ingress PE to the 
   egress PE. 

   Meanwhile, the ingress PE will create a (S,G) routing entry in the 
   above MVRF, and the outgoing interface is that VRF interface 
   connected to the CE, and the incoming interface is the PW virtual 
   interface bound to the above MVRF between those two PEs. This virtual 
   interface can be expressed as Li, which is the VC label assigned to 
   the egress PE by the ingress PE and is associated to a particular 
   MVRF on ingress PE related to the above MVPN. 

 
 
Xu                     Expires April 17, 2006                 [Page 6] 

Internet-Draft        Multicast in BGP/MPLS VPN             10/17/2005 
    

   As the above (S,G) PIM join message is received by the egress PE, it 
   will determine from which MVPN and from which PE this message is 
   transmitted, then it will search the determined VRF table to find out 
   the best route to S and send a (S,G) PIM join message to the 
   particular CE on the best path to S.  

   At the same time, the egress PE will also create a (S,G) routing 
   entry in the above MVRF, and the incoming interface is the VRF 
   interface connected to the CE, and the outgoing interface is the 
   particular PW virtual interface which is destined to a special MVRF 
   on the ingress PE. This virtual interface can be expressed as (Li,Lo), 
   and the Li is the VC label which is assigned to the egress PE by the 
   ingress PE and is associated to a particular MVRF related to the 
   above MVPN, and the Lo is the label of the LSP tunnel from the egress 
   PE to the ingress PE. 

   PIM prune messages travel in a MVPN in the similar way with PIM join 
   messages, so detailed procedure will not be described in this 
   document. 

   PIM hello messages can also be transmitted periodically through PWs 
   between each pair of the PEs within the same MVPN in order to find 
   out PIM neighbors in a particular MVRF associated with that MVPN. Of 
   course, the hello mechanism between each pair of the PEs within the 
   same MVPN can also be cancelled so as to reduce the periodical 
   multicast traffic within the MVPN. 

   PIM bootstrap messages can also be flooded to all the other PEs 
   through PWs between each pair of PEs within the same MVPN when they 
   are received from a CE by an ingress PE. The bootstrap messages 
   received by egress PE through PW should be checked by RPF mechanism. 
   Only if the PW through which the bootstrap messages are received is 
   the one that is destined to the BSR indicated in the bootstrap 
   messages, will the RPF checking succeed, otherwise, the RPF checking 
   will fail. As full-meshed PWs are formed between each pair of the PEs 
   within the same MVPN, the Bootstrap messages received through PW need 
   not to be flooded to other PEs, this is known as ''horizon-splitting''. 

   PIM assert mechanism is not needed on those PWs because full-meshed 
   PWs are formed between each pair of the PEs within the same MVPN. 

   PIM Candidate-RP-Advertisement messages (C-RP-Advs) are forwarded to 
   the BSR of that MVPN in unicast mode by candidate RPs periodically, 
   so there is no difference from the forwarding behavior defined in 
   [RFC2547bis].   


 
 
Xu                     Expires April 17, 2006                 [Page 7] 

Internet-Draft        Multicast in BGP/MPLS VPN             10/17/2005 
    

   As soon as the multicast distributing tree is established within the 
   MVPN, multicast data traffic will be able to travel along the 
   multicast distributing tree. 

   The implementing procedure of PIM-SSM is similar to that of PIM-SM, 
   so the procedures of processing PIM-SSM control messages in MVPN will 
   not be described in this document. 

2.3.2. PIM-DM instance 

   PIM-DM can also be supported in this MVPN. As PIM-DM is a data-driven 
   multicast routing protocol, which is different from the control-
   driven multicast routing protocol PIM-SM, so the procedure of 
   implementing PIM-DM in MVPN is described as follows: first, as the 
   multicast data traffic is received via a VRF attachment circuit, the 
   traffic will be flooded to all the other PEs within that VRF related 
   MVPN. Second, the multicast data traffic received by any one of the 
   egress PEs within the MVPN will be checked by RPF mechanism. Only if 
   the peer PE of the PW through which the traffic traveled is the next 
   hop of the best route to the multicast source, the RPF checking will 
   succeed, otherwise, the RPF checking will be failed. Third, once the 
   RPF checking succeed, the multicast data traffic will be flooded to 
   all the attached CEs via VRF attachment circuits, this is known 
   as ''horizon-splitting''. 

2.4. Compatibility 

   From the above description, it can be seen that multicast in BGP/MPLS 
   VPN is similar with ordinary multicast behaviors as long as the full-
   meshed PWs between each pair of the PEs within the same MVPN are 
   looked as virtual interfaces with a binding to a particular VRF. That 
   is to say, any kinds of current multicast routing protocols can be 
   run within this MVPN. 

2.5. Scalability 

   As there is not special requirement on P routers, the scalability of 
   this MVPN solution is good. In addition, the multicast traffic in 
   MVPN could be distributed accurately to the necessary PEs. 

2.6. QoS 

   Diff-Serv can be implemented for multicast traffic in BGP/MPLS VPN 
   traveling through PW by using the DSCP bits in IP head of the IP-
   based tunnel or the EXP bits in MPLS head of the MPLS LSP tunnel. In 
   addition, if RSVP-TE tunnel is used as the tunnel of PW, the 

 
 
Xu                     Expires April 17, 2006                 [Page 8] 

Internet-Draft        Multicast in BGP/MPLS VPN             10/17/2005 
    

   multicast traffic can inherits the features including bandwidth 
   assurance, TE and FRR from RSVP-TE.  

2.7. TTL 

   [RFC3031] defined TTL as a way to suppress loops in MPLS networks. 
   The value of TTL field in the header of MPLS frame will be reduced as 
   it travels through LSP tunnel. Generally the TTL value of protocol 
   packet is set to 1. In order to transmit multicast control messages 
   with TTL of 1 through PW, the TTL value of routing protocol packet 
   with TTL of 1 should not be copied to IP header of the IP-based 
   tunnel or the MPLS header of the MPLS LSP tunnel by the ingress PE. 

2.8. Extranet 

   As Route Target attributes, but not VPN ID, are used in auto-
   discovery mechanism of MVPN membership, Extranet can be supported 
   natively. The PE with a particular VRF belonged to more than one VPN 
   can establish PWs separately with other PE members within different 
   MVPNs. 

   Once Extranet is deployed with MVPN, horizon-splitting function 
   should be disabled on the PEs with a particular VRF belonged to more 
   than one VPN. 

2.9. Inter-AS MVPN 

   [RFC2547bis] defines three different options for supporting Inter-AS 
   VPN. Among of them, option a) supports MVPN in nature by separately 
   deploying the procedure described above in every AS, and procedure of 
   implementing MVPN in option b) is still under consideration. Option c) 
   creates an LSP from a PE in one AS to another PE in another AS. These 
   PEs can establish PW across AS via multi-hop EBGP or targeted LDP, 
   and the multicast traffic in that MVPN will be tunneled through the 
   inter-AS LSP established between PEs as described above. 

2.10. Carrier's Carrier 

   The MVPN solution defined in this document supports the carrier's 
   carrier model in native because there is no special requirement on P 
   routers of sub-carrier. 






 
 
Xu                     Expires April 17, 2006                 [Page 9] 

Internet-Draft        Multicast in BGP/MPLS VPN             10/17/2005 
    

3. Formal Syntax 

4. Security Considerations 

   The MVPN solution defined in this document inherits all of the 
   security features of BGP/MPLS VPN. 

5. IANA Considerations 

   A new address family for MVPN in BGP (see section 2.1.1.2) and a new 
   FEC for MVRF in LDP (see section 2.2.1.1) need to be assigned by IANA. 

6. Conclusions 

   The set of procedures to provide MVPN service specified in this 
   document are compatible with any current multicast routing protocol, 
   such as PIM-SM, PIM-SSM and PIM-DM. That is to say, any multicast 
   routing protocol can run in BGP/MPLS VPN as long as the PWs between 
   each pair of the PEs within the same MVPN are viewed as virtual 
   interfaces with a binding to a particular VRF. 

7. Acknowledgments 

   The author would like to acknowledge the following individuals for   
   their helpful comments and suggestions: Spencer Dawkins, Xudong Liang, 
   Le Zhang and Yu Yi. 

8. References 

8.1. Normative References 

   [1]  Bradner, S., "Key words for use in RFCs to Indicate Requirement 
         Levels", BCP 14, RFC 2119, March 1997. 

   [2]  Crocker, D. and Overell, P.(Editors), "Augmented BNF for Syntax 
         Specifications: ABNF", RFC 2234, Internet Mail Consortium and 
         Demon Internet Ltd., November 1997. 

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 
             Requirement Levels", BCP 14, RFC 2119, March 1997. 

   [RFC2234] Crocker, D. and Overell, P.(Editors), "Augmented BNF for 
             Syntax Specifications: ABNF", RFC 2234, Internet Mail 
             Consortium and Demon Internet Ltd., November 1997. 



 
 
Xu                     Expires April 17, 2006                [Page 10] 

Internet-Draft        Multicast in BGP/MPLS VPN             10/17/2005 
    

8.2. Informative References 

   [3]  [RFC2547bis] Rosen, Rekhter, et. al. ''draft-ietf-l3vpn-
         rfc2547bis-01.txt'', September 2003, 

   [4]  [PIM-SM] Fenner, Handley, Holbrook, Kouvelas, "Protocol 
         Independent Multicast - Sparse Mode (PIM-SM)", '' draft-ietf-
         pim-sm-v2-new-08.txt'',October 2003,  

   [5]  [MVPN-FW] Eric C. Rosen, Rahul Aggarwal,''draft-ietf-l3vpn-
         2547bis-mcast-00.txt'', May 2005 

   [6]  [VPLS-BGP] K. Kompella, Y. Rekhter,''draft-ietf-l2vpn-vpls-bgp-
         04'', February 2005 

   [7]  [VPLS-LDP] Marc Lasserre, Vach Kompella, ''draft-ietf-l2vpn-
         vpls-ldp-05.txt'' September 2004 

   [8]  [BGP-DISC] Lasserre, Kompella, "Using BGP as an Auto-Discovery 
         Mechanism for Network-based VPNs", draft-ietf-l3vpn-bgpvpn-
         auto-02.txt, April 2004. 

   [9]  [RFC3031] E. Rosen, A. Viswanathan, R. Callon, ''Multiprotocol 
         Label Switching Architecture'', January 2001                            

Author's Addresses 

   Xiaohu Xu 
   HUAWEI 
   Hua Wei Bld.,No.3 Xinxi Rd., 
   Shang-Di Information Industry Base 
   Hai-Dian District 
   Beijing P.R.China 
      
   Phone: +86 010 82882457 
   Email: xuxh@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 

 
 
Xu                     Expires April 17, 2006                [Page 11] 

Internet-Draft        Multicast in BGP/MPLS VPN             10/17/2005 
    

   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 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. 

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. 

 











 
 
Xu                     Expires April 17, 2006                [Page 12]