MPLS Working Group S. Matsushima, Ed. Internet-Draft Softbank Telecom Intended status: Standards Track T. Murakami Expires: January 10, 2008 Cisco Systems K. Nagami INTEC Netcore July 9, 2007 BGP Point to Multipoint LSP draft-satoru-mpls-bgp-multipoint-04 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 January 10, 2008. Copyright Notice Copyright (C) The IETF Trust (2007). Matsushima, et al. Expires January 10, 2008 [Page 1] Internet-Draft BGP P2MP LSP July 2007 Abstract This document describes the extension of BGP in order to build a policy based point-to-multipoint (p2mp) LSP. By using this function, all BGP speakers can discover ingress, branch and egress LSRs which belong to a specified p2mp LSP and downstream LSRs can specify upstream LSRs by distributing a MPLS label information. Matsushima, et al. Expires January 10, 2008 [Page 2] Internet-Draft BGP P2MP LSP July 2007 1. Introduction BGP speakers can distribute label mapping information for specified route by being piggybacked in BGP route. In this case, LSPs which is created by BGP are multipoint-to-point (mp2p) LSPs[1]. Similarly, it is very useful for BGP to be able to distribute label mapping information for specified point-to-multipoint route by being piggybacked in BGP route. This document specifies how to make policy based point-to-multipoint (p2mp) SP by using BGP. In this document, BGP can know which routers can become ingress, branch or egress LSRs and also decide appropriate upstream LSRs for specified p2mp LSPs by using BGP update message with MPLS label information. Matsushima, et al. Expires January 10, 2008 [Page 3] Internet-Draft BGP P2MP LSP July 2007 2. Motivations When Service Provider (SP) want to establish p2mp LSPs in their network, they need to decide which nodes can become appropriate branch nodes for specified p2mp LSPs and which nodes can become backup branch nodes for specified p2mp LSPs. Hence they want to decide the branch nodes explicitly in their network. Also if they want to operate p2mp LSPs over multiple ASes, it is very important how to distribute the information about specified p2mp LSPs over ASes and how to know which p2mp LSPs are needed in other ASes. To be satisfied with these requirements, BGP capabilities is very useful because BGP can provide the policy based path selection and the route distribution under inter-AS. For these reasons, BGP is one of useful protocols to create p2mp LSPs. However current BGP specification is not applicable to p2mp LSPs. Hence it is necessary to extend BGP specification in order for BGP to provide the policy based path selection and inter-AS capability for p2mp LSPs. Matsushima, et al. Expires January 10, 2008 [Page 4] Internet-Draft BGP P2MP LSP July 2007 3. BGP Point-to-Multipoint LSP Informations The BGP p2mp LSP information should be distributed in BGP update message. BGP extended community[2] and NLRI are used to distinguish each p2mp LSP. These information should be propagated to BGP speakers which are interested in p2mp LSP. When BGP p2mp LSRs receive these information in BGP update message, these LSRs import these p2mp routes as downstream LSPs of particular p2mp LSP. When p2mp-instance receives the packets from an upstream LSR, it should replicate and forward the packets to its downstream LSRs. The BGP p2mp LSP information is following: o P2MP_ID (Extended Community attribute) This attribute is used to identify the address or administrative number of P2MP-LSP. The ingress node and branch LSR shall advertise this attribute to the network. o P2MP_BRANCH_LIST (Extended Community attribute) This attribute is used to identify the sequence of the branch LSRs of P2MP-LSP. The branch LSR shall add its Router-ID or address to this attribute of the routing information received from its upstream branch LSR. If branch LSR receives the routing information without this attribute, the branch LSR shall create and add a new P2MP_BRANCH_LIST attribute in this routing information and then advertise it to the network. o P2MP_IMPORTED_BRANCH (Extended Community attribute) This attribute is used to identify the upstream LSR at egress and/or branch LSRs of P2MP-LSP. The egress LSRs and the branch LSRs shall advertise this attribute which can indicate Router-ID of the upstream LSR to the network. o NLRI The NLRI for p2mp route should indicate p2mp node with MPLS label. There are two case of usage for the NLRI in the p2mp route. In the 1st case, the NLRI is used in order for egress and branch LSRs to identify an ingress LSR and branch LSRs as upstream LSRs of p2mp LSPs. In this case, the ingress LSR sets its own Router-ID in the NLRI with null MPLS label and the branch LSRs also set their own Router-ID in the NLRI with MPLS label. In the 2nd case, the NLRI is used in order for ingress and branch LSRs to identify egress and branch LSRs LSP as downstream LSRs of p2mp LSPs. In this case, each LSRs set its own Router-ID in the NLRI with MPLS Matsushima, et al. Expires January 10, 2008 [Page 5] Internet-Draft BGP P2MP LSP July 2007 label. Note that the p2mp NLRI must have capability to distinguish each p2mp LSP. Matsushima, et al. Expires January 10, 2008 [Page 6] Internet-Draft BGP P2MP LSP July 2007 4. P2MP instance The BGP speaker which supports p2mp branch capability should have p2mp-instance for each p2mp LSP. Each p2mp-instance should consist of one upstream entry and several downstream entries. When the BGP LSR creates the p2mp-instance, a MPLS label should be allocated and mapped to it in order to receive the packets from its upstream LSR. Then if the BGP LSR imports particular p2mp routes from downstream LSRs, the p2mp-instance should include these routes as downstream entries. If the p2mp-instance receives the packets from the upstream LSR, the p2mp-instance needs to replicate and forward the packets according to the downstream entries. Matsushima, et al. Expires January 10, 2008 [Page 7] Internet-Draft BGP P2MP LSP July 2007 5. Procedure 5.1. Making p2mp LSP tree The following actions need to be completed for making the tree of p2mp LSP in the network. In these step, the ingress LSR doesn't forward the packets to any branch and egress LSRs even if the ingress LSR receives the packets toward p2mp LSP. From operators' perspective, this could be an advantage because the operators can confirm and modify the tree before the packets traverse along p2mp LSP. 1. Advertising of ingress and branch LSR First of all, the node that can become the ingress LSR for specified p2mp LSP should advertise p2mp LSP routing information with P2MP_ID community. The branch LSR that receives the routing information from the ingress LSR will update it by adding its own router-id to P2MP_BRANCH_LIST and ORIGINATOR_ID[3]. And then the branch LSR re-advertise p2mp LSP routing information. When the branch LSR re-advertise p2mp LSP routing information, the NEXT_HOP attribute is changed to the branch LSR's address. 2. Tree of P2MP-LSP decision If the branch LSR receives the p2mp LSP routing information from multiple upstream LSRs, then the branch LSR needs to select the best path based on its path selection rule or manual configuration. And then the branch LSR needs to re-advertise the p2mp LSP routing information with P2MP_BRANCH_LIST which includes Router-ID of the branch LSR. P2MP_BRANCH_LIST also includes upstream LSRs. 3. Loop Prevention The p2mp route will be advertised repeatedly. Sometimes it might be returned back to original branch LSR. For avoiding routing loop, each branch LSR needs to check whether the received route include its Router-ID in P2MP_BRANCH_LIST or not upon receiving the update of the p2mp LSP routing information. If its own Router-ID is found in P2MP_BRANCH_LIST, the branch LSR must discard such a routing information to avoid routing loop. 5.2. Join to P2MP LSP When the egress LSR wants to receive packets from specified p2mp LSP, it selects the most appropriate upstream branch LSR based on its path selection rule or manual configuration. And egress LSR should Matsushima, et al. Expires January 10, 2008 [Page 8] Internet-Draft BGP P2MP LSP July 2007 advertise the route with original P2MP_ID and P2MP_IMPORTED_BRANCH attribute which indicates its upstream branch LSR. At this time, the next hop of advertised route indicates its own address. When the branch LSR receives the route with P2MP_IMPORTED_BRANCH which is matched to its local Router-ID, the branch LSR must import this route to its local p2mp instance corresponding to the p2mp LSP. After the branch LSR imports the routes from the egress LSR, it also advertises P2MP_IMPORTED_BRANCH which indicates its upstream LSR for the p2mp LSP. This action is repeated until propagating the information to the ingress LSR. 5.3. Leave from P2MP LSP When the egress LSR and/or the branch LSR leave from p2mp LSP, they need to stop importing the downstream routes and withdrawing the route from the upstream LSR. The withdrawn message includes both P2MP_IMPORTED_BRANCH and P2MP_BRANCH_LIST attributes if the node is branch LSR. This action causes the upstream LSR to discard the received route and then the LSR can leave from p2mp LSP. Matsushima, et al. Expires January 10, 2008 [Page 9] Internet-Draft BGP P2MP LSP July 2007 6. Security Considerations As well as RFC3107 [1] describes, p2mp LSP using BGP has the "label spoofing" problem. For this, BGP LSR which also support p2mp LSP should not make the adjacencies of both trusted and untrusted system on the same interface. Matsushima, et al. Expires January 10, 2008 [Page 10] Internet-Draft BGP P2MP LSP July 2007 7. Acknowledgments Thanks to Miya Kohno for helpful comments. Matsushima, et al. Expires January 10, 2008 [Page 11] Internet-Draft BGP P2MP LSP July 2007 8. References [1] Rekhter, Y. and E. Rosen, "Carrying Label Information in BGP-4", RFC 3107, May 2001. [2] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended Communities Attribute", RFC 4360, February 2006. [3] Bates, T., Chen, E., and R. Chandra, "BGP Route Reflection: An Alternative to Full Mesh Internal BGP (IBGP)", RFC 4456, April 2006. Matsushima, et al. Expires January 10, 2008 [Page 12] Internet-Draft BGP P2MP LSP July 2007 Authors' Addresses Satoru Matsushima (editor) Softbank Telecom Corp. 9-1, Higashi-Shinbashi 1-chome Minato-ku Tokyo 105-7316 Japan Email: satoru@ft.solteria.net Tetsuya Murakami Cisco Systems 2-1-1, Nishi-Shinjuku Shinjuku-ku Tokyo 163-0409 Japan Email: tmurakam@cisco.com Kenichi Nagami INTEC Netcore, Inc. 1-3-3, Shin-suna Koto-ku Tokyo 135-0075 Japan Email: nagami@inetcore.com Matsushima, et al. Expires January 10, 2008 [Page 13] Internet-Draft BGP P2MP LSP July 2007 Full 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. 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. Intellectual Property 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. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Matsushima, et al. Expires January 10, 2008 [Page 14]