diff options
| author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 | 
|---|---|---|
| committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 | 
| commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
| tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc4576.txt | |
| parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) | |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc4576.txt')
| -rw-r--r-- | doc/rfc/rfc4576.txt | 395 | 
1 files changed, 395 insertions, 0 deletions
| diff --git a/doc/rfc/rfc4576.txt b/doc/rfc/rfc4576.txt new file mode 100644 index 0000000..bccf066 --- /dev/null +++ b/doc/rfc/rfc4576.txt @@ -0,0 +1,395 @@ + + + + + + +Network Working Group                                           E. Rosen +Request for Comments: 4576                                     P. Psenak +Category: Standards Track                              P. Pillay-Esnault +                                                     Cisco Systems, Inc. +                                                               June 2006 + + +         Using a Link State Advertisement (LSA) Options Bit to +     Prevent Looping in BGP/MPLS IP Virtual Private Networks (VPNs) + +Status of This Memo + +   This document specifies an Internet standards track protocol for the +   Internet community, and requests discussion and suggestions for +   improvements.  Please refer to the current edition of the "Internet +   Official Protocol Standards" (STD 1) for the standardization state +   and status of this protocol.  Distribution of this memo is unlimited. + +Copyright Notice + +   Copyright (C) The Internet Society (2006). + +Abstract + +   This document specifies a procedure that deals with a particular +   issue that may arise when a Service Provider (SP) provides "BGP/MPLS +   IP VPN" service to a customer and the customer uses OSPFv2 to +   advertise its routes to the SP.  In this situation, a Customer Edge +   (CE) Router and a Provider Edge (PE) Router are OSPF peers, and +   customer routes are sent via OSPFv2 from the CE to the PE.  The +   customer routes are converted into BGP routes, and BGP carries them +   across the backbone to other PE routers.  The routes are then +   converted back to OSPF routes sent via OSPF to other CE routers.  As +   a result of this conversion, some of the information needed to +   prevent loops may be lost.  A procedure is needed to ensure that once +   a route is sent from a PE to a CE, the route will be ignored by any +   PE that receives it back from a CE.  This document specifies the +   necessary procedure, using one of the options bits in the LSA (Link +   State Advertisements) to indicate that an LSA has already been +   forwarded by a PE and should be ignored by any other PEs that see it. + + + + + + + + + + + +Rosen, et al.               Standards Track                     [Page 1] + +RFC 4576          Prevent Looping in BGP/MPLS IP VPNs          June 2006 + + +Table of Contents + +   1. Introduction ....................................................2 +   2. Specification of Requirements ...................................3 +   3. Information Loss and Loops ......................................3 +   4. Using the LSA Options to Prevent Loops ..........................4 +   5. Security Considerations .........................................5 +   6. Acknowledgements ................................................5 +   7. Normative References ............................................6 + +1.  Introduction + +   [VPN] describes a method by which a Service Provider (SP) can use its +   IP backbone to provide an "IP VPN" service to customers.  In that +   sort of service, a customer's edge devices (CE devices) are connected +   to the provider's edge routers (PE routers).  Each CE device is in a +   single Virtual Private Network (VPN).  Each PE device may attach to +   multiple CEs of the same or of different VPNs.  A VPN thus consists +   of a set of "network segments" connected by the SP's backbone. + +   A CE exchanges routes with a PE, using a routing protocol to which +   the customer and the SP jointly agree.  The PE runs that routing +   protocol's decision process (i.e., it performs the routing +   computation) to determine the set of IP address prefixes for which +   the following two conditions hold: + +      -  Each address prefix in the set can be reached via that CE. + +      -  The path from that CE to each such address prefix does NOT +         include the SP backbone (i.e., it does not include any PE +         routers). + +   The PE routers that attach to a particular VPN redistribute routes to +   these address prefixes into BGP, so that they can use BGP to +   distribute the VPN's routes to each other.  BGP carries these routes +   in the "VPN-IPv4 address family", so that they are distinct from +   ordinary Internet routes.  The VPN-IPv4 address family also extends +   the IP addresses on the left so that address prefixes from two +   different VPNs are always distinct to BGP, even if both VPNs use the +   same piece of the private RFC 1918 address space.  Thus, routes from +   different VPNs can be carried by a single BGP instance and can be +   stored in a common BGP table without fear of conflict. + +   If a PE router receives a particular VPN-IPv4 route via BGP, and if +   that PE is attached to a CE in the VPN to which the route belongs, +   then BGP's decision process may install that route in the BGP route +   table.  If so, the PE translates the route back into an IP route and + + + + +Rosen, et al.               Standards Track                     [Page 2] + +RFC 4576          Prevent Looping in BGP/MPLS IP VPNs          June 2006 + + +   redistributes it to the routing protocol that is running on the link +   to that CE. + +   This methodology provides a "peer model".  CE routers peer with PE +   routers, but CE routers at different sites do not peer with each +   other. + +   If a VPN uses OSPFv2 as its internal routing protocol, it is not +   necessarily the case that the CE routers of that VPN use OSPFv2 to +   peer with the PE routers.  Each site in a VPN can use OSPFv2 as its +   intra-site routing protocol while using BGP or RIP (for example) to +   distribute routes to a PE router.  However, it is certainly +   convenient when OSPFv2 is being used intra-site to use it on the PE- +   CE link as well, and [VPN] explicitly allows this.  In this case, a +   PE will run a separate instance of OSPFv2 for each VPN that is +   attached to the PE; the PE will in general have multiple VPN-specific +   OSPFv2 routing tables. + +   When OSPFv2 is used on a PE-CE link that belongs to a particular VPN, +   the PE router must redistribute to that VPN's OSPFv2 instance certain +   routes that have been installed in the BGP routing table.  Similarly, +   a PE router must redistribute to BGP routes that have been installed +   in the VPN-specific OSPF routing tables.  Procedures for this are +   specified in [VPN-OSPF]. + +   The routes that are redistributed from BGP to OSPFv2 are advertised +   in LSAs that are originated by the PE.  The PE acts as an OSPF border +   router, advertising some of these routes in AS-external LSAs, and +   some in summary LSAs, as specified in [VPN-OSPF]. + +   Similarly, when a PE router receives an LSA from a CE router, it runs +   the OSPF routing computation.  Any route that gets installed in the +   OSPF routing table must be translated into a VPN-IPv4 route and then +   redistributed into BGP.  BGP will then distribute these routes to the +   other PE routers. + +2.  Specification of Requirements + +   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. + +3.  Information Loss and Loops + +   A PE, say PE1, may learn a route to a particular VPN-IPv4 address +   prefix via BGP.  This may cause it to generate a summary LSA or an +   AS-external LSA in which it reports that address prefix.  This LSA +   may then be distributed to a particular CE, say CE1.  The LSA may + + + +Rosen, et al.               Standards Track                     [Page 3] + +RFC 4576          Prevent Looping in BGP/MPLS IP VPNs          June 2006 + + +   then be distributed throughout a particular OSPF area, reaching +   another CE, say CE2.  CE2 may then distribute the LSA to another PE, +   say PE2. + +   As stated in the previous section, PE2 must run the OSPF routing +   computation to determine whether a particular address prefix, +   reported in an LSA from CE2, is reachable from CE2 via a path that +   does not include any PE router.  Unfortunately, there is no standard +   way to do this.  The OSPFv2 LSAs do not necessarily carry the +   information needed to enable PE2 to determine that the path to +   address prefix X in a particular LSA from CE2 is actually a path that +   includes, say PE1.  If PE2 then leaks X into BGP as a VPN-IPv4 route, +   then PE2 is violating one of the constraints for loop-freedom in BGP; +   viz., that routes learned from a particular BGP domain are not +   redistributed back into that BGP domain.  This could cause a routing +   loop to be created. + +   It is therefore necessary to have a means by which an LSA may carry +   the information that a particular address prefix has been learned +   from a PE router.  Any PE router that receives an LSA with this +   information would omit the information in this LSA from its OSPF +   routing computation, and thus it would not leak the information back +   into BGP. + +   When a PE generates an AS-external LSA, it could use a distinct tag +   value to indicate that the LSA is carrying information about an +   address prefix for whom the path includes a PE router.  However, this +   method is not available in the case where the PE generates a Summary +   LSA.  Per [VPN-OSPF], each PE router must function as an OSPF area 0 +   router.  If the PE-CE link is an area 0 link, then it is possible for +   the PE to receive, over that link, a summary LSA that originated at +   another PE router.  Thus, we need some way of marking a summary LSA +   to indicate that it is carrying information about a path via a PE +   router. + +4.  Using the LSA Options to Prevent Loops + +   The high-order bit of the LSA Options field (a previously unused bit) +   is used to solve the problem described in the previous section.  We +   refer to this bit as the DN bit.  When a type 3, 5, or 7 LSA is sent +   from a PE to a CE, the DN bit MUST be set.  The DN bit MUST be clear +   in all other LSA types. + + + + + + + + + +Rosen, et al.               Standards Track                     [Page 4] + +RFC 4576          Prevent Looping in BGP/MPLS IP VPNs          June 2006 + + +                  +-------------------------------------+ +                  | DN | * | DC | EA | N/P | MC | E | * | +                  +-------------------------------------+ + +                         Options Field with DN Bit +                          (RFC 2328, Section A.2) + +   When the PE receives, from a CE router, a type 3, 5, or 7 LSA with +   the DN bit set, the information from that LSA MUST NOT be used during +   the OSPF route calculation.  As a result, the LSA is not translated +   into a BGP route.  The DN bit MUST be ignored in all other LSA types. + +   This prevents routes learned via BGP from being redistributed to BGP. +   (This restriction is analogous to the usual OSPF restriction that +   inter-area routes that are learned from area 0 are not passed back to +   area 0.) + +   Note that the DN bit has no other effect on LSA handling.  In +   particular, an LSA with the DN bit set will be put in the topological +   database, aged, flooded, etc., just as if DN were not set. + +5.  Security Considerations + +   An attacker may cause the DN bit to be set, in an LSA traveling from +   CE to PE, when the DN bit should really be clear.  This may cause the +   address prefixes mentioned in that LSA to be unreachable from other +   sites of the VPN.  Similarly, an attacker may cause the DN bit to be +   clear, in an LSA traveling in either direction, when the DN bit +   should really be set.  This may cause routing loops for traffic that +   is destined to the address prefixes mentioned in that LSA. + +   These possibilities may be eliminated by using cryptographic +   authentication as specified in Section D of [OSPFv2]. + +6.  Acknowledgements + +   The idea of using the high-order options bit for this purpose is due +   to Derek Yeung.  Thanks to Yakov Rekhter for his contribution to this +   work.  We also wish to thank Acee Lindem for his helpful comments. + + + + + + + + + + + + +Rosen, et al.               Standards Track                     [Page 5] + +RFC 4576          Prevent Looping in BGP/MPLS IP VPNs          June 2006 + + +7.  Normative References + +   [OSPFv2]   Postel, J., "Suggested Telnet Protocol Changes", RFC 328, +              April 1972. + +   [VPN]      Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private +              Networks (VPNs)", RFC 4364, February 2006. + +   [VPN-OSPF] Rosen, E., Psenak, P., and P. Pillay-Esnault, "OSPF as the +              Provider/Customer Edge Protocol for BGP/MPLS IP Virtual +              Private Networks (VPNs)", RFC 4577, June 2006. + +Authors' Addresses + +   Eric C. Rosen +   Cisco Systems, Inc. +   1414 Massachusetts Avenue +   Boxborough, MA 01719 + +   EMail: erosen@cisco.com + + +   Peter Psenak +   Cisco Systems +   BA Business Center, 9th Floor +   Plynarenska 1 +   Bratislava 82109 +   Slovakia + +   EMail: ppsenak@cisco.com + + +   Padma Pillay-Esnault +   Cisco Systems +   3750 Cisco Way +   San Jose, CA 95134 + +   EMail: ppe@cisco.com + + + + + + + + + + + + + +Rosen, et al.               Standards Track                     [Page 6] + +RFC 4576          Prevent Looping in BGP/MPLS IP VPNs          June 2006 + + +Full Copyright Statement + +   Copyright (C) The Internet Society (2006). + +   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. + +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. + +Acknowledgement + +   Funding for the RFC Editor function is provided by the IETF +   Administrative Support Activity (IASA). + + + + + + + +Rosen, et al.               Standards Track                     [Page 7] + |