draft-ietf-ospf-2547-dnbit-03.txt   draft-ietf-ospf-2547-dnbit-04.txt 
Network Working Group Eric C. Rosen Network Working Group Eric C. Rosen
Internet Draft Peter Psenak Internet Draft Peter Psenak
Expiration Date: July 2004 Cisco Systems, Inc. Expiration Date: September 2004 Cisco Systems, Inc.
Padma Pillay-Esnault Padma Pillay-Esnault
Juniper Networks, Inc. Juniper Networks, Inc.
January 2004 March 2004
Using an LSA Options Bit to Prevent Looping in BGP/MPLS IP VPNs Using an LSA Options Bit to Prevent Looping in BGP/MPLS IP VPNs
draft-ietf-ospf-2547-dnbit-03.txt draft-ietf-ospf-2547-dnbit-04.txt
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts. groups may also distribute working documents as Internet-Drafts.
skipping to change at page 1, line 40 skipping to change at page 1, line 40
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Abstract Abstract
This document specifies a procedure that deals with a particular This document specifies a procedure that deals with a particular
issue that may arise when a Service Provider (SP) provides "BGP/MPLS issue that may arise when a Service Provider (SP) provides "BGP/MPLS
IP VPN" service to a customer, and the customer uses OSPF to IP VPN" service to a customer, and the customer uses OSPFv2 to
advertise its routes to the SP. In this situation, a Customer Edge advertise its routes to the SP. In this situation, a Customer Edge
(CE) Router and a Provider Edge (PE) Router are OSPF peers, and (CE) Router and a Provider Edge (PE) Router are OSPF peers, and
customer routes are sent via OSPF from the CE to the PE. The customer routes are sent via OSPFv2 from the CE to the PE. The
customer routes are converted into BGP routes, and BGP carries them customer routes are converted into BGP routes, and BGP carries them
across the backbone to other PE routers. The routes are then across the backbone to other PE routers. The routes are then
converted back to OSPF routes sent via OSPF to other CE routers. As converted back to OSPF routes sent via OSPF to other CE routers. As
a result of converting the routes from OSPF to BGP and back to OSPF, a result of converting the routes from OSPF to BGP and back to OSPF,
some of the information needed to prevent loops may be lost. A 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 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 which receives it back from a CE, the route will be ignored by any PE which receives it back from
a CE. This document specifies the necessary procedure, using one of a CE. This document specifies the necessary procedure, using one of
the options bits in the LSA (Link State Advertisements) to indicate 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 that an LSA has already been forwarded by a PE, and should be ignored
skipping to change at page 2, line 20 skipping to change at page 2, line 20
Table of Contents Table of Contents
1 Specification of Requirements ........................ 2 1 Specification of Requirements ........................ 2
2 Introduction ......................................... 2 2 Introduction ......................................... 2
3 Information Loss and Loops ........................... 4 3 Information Loss and Loops ........................... 4
4 Using the LSA Options to Prevent Loops ............... 5 4 Using the LSA Options to Prevent Loops ............... 5
5 Security Considerations .............................. 5 5 Security Considerations .............................. 5
6 Acknowledgments ...................................... 6 6 Acknowledgments ...................................... 6
7 Authors' Addresses ................................... 6 7 Authors' Addresses ................................... 6
8 Normative References ................................. 6 8 Normative References ................................. 7
9 Intellectual Property ................................ 7 9 Intellectual Property Statement ...................... 7
10 Full Copyright Statement ............................. 7 10 Full Copyright Statement ............................. 7
1. Specification of Requirements 1. Specification of Requirements
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119. document are to be interpreted as described in RFC 2119.
2. Introduction 2. Introduction
skipping to change at page 3, line 13 skipping to change at page 3, line 13
the following two conditions hold: the following two conditions hold:
- each address prefix in the set can be reached via that CE - each address prefix in the set can be reached via that CE
- the path from that CE to each such address prefix does NOT - the path from that CE to each such address prefix does NOT
include the SP backbone (i.e., does not include any PE routers). include the SP backbone (i.e., does not include any PE routers).
The PE routers which attach to a particular VPN redistribute routes The PE routers which attach to a particular VPN redistribute routes
to these address prefixes into BGP, so that they can use BGP to 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 distribute the VPN's routes to each other. BGP carries these routes
in the "VPN-IP address family", so that they are distinct from in the "VPN-IPv4 address family", so that they are distinct from
ordinary Internet routes. The VPN-IP address family also extends the ordinary Internet routes. The VPN-IPv4 address family also extends
IP addresses on the left so that address prefixes from two different the IP addresses on the left so that address prefixes from two
VPNs are always distinct to BGP, even if both VPNs use the same piece different VPNs are always distinct to BGP, even if both VPNs use the
of the private RFC1918 address space. Thus routes from different same piece of the private RFC1918 address space. Thus routes from
VPNs can be carried by a single BGP instance, and can be stored in a different VPNs can be carried by a single BGP instance, and can be
common BGP table, without fear of conflict. stored in a common BGP table, without fear of conflict.
If a PE router receives a particular VPN-IP route via BGP, and if 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, 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 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 table. If so, the PE translates the route back into an IP route, and
redistributes it to the routing protocol which is running on the link redistributes it to the routing protocol which is running on the link
to that CE. to that CE.
This methodology provides a "peer model"; CE routers peer with PE This methodology provides a "peer model"; CE routers peer with PE
routers, but CE routers at different sites do not peer with each routers, but CE routers at different sites do not peer with each
other. other.
If a VPN uses OSPF as its internal routing protocol, it is not If a VPN uses OSPFv2 as its internal routing protocol, it is not
necessarily the case that the CE routers of that VPN use OSPF to peer necessarily the case that the CE routers of that VPN use OSPFv2 to
with the PE routers. Each site in a VPN can use OSPF as its intra- peer with the PE routers. Each site in a VPN can use OSPFv2 as its
site routing protocol, while using, e.g., BGP or RIP to distribute intra-site routing protocol, while using, e.g., BGP or RIP to
routes to a PE router. However, it is certainly convenient, when distribute routes to a PE router. However, it is certainly
OSPF is being used intra-site, to use it on the PE-CE link as well, convenient, when OSPFv2 is being used intra-site, to use it on the
and [VPN] explicitly allows this. In this case, a PE will run a PE-CE link as well, and [VPN] explicitly allows this. In this case,
separate instance of OSPF for each VPN which is attached to the PE; a PE will run a separate instance of OSPFv2 for each VPN which is
the PE will in general have multiple VPN-specific OSPF routing attached to the PE; the PE will in general have multiple VPN-specific
tables. OSPFv2 routing tables.
When OSPF is used on a PE-CE link which belongs to a particular VPN, When OSPFv2 is used on a PE-CE link which belongs to a particular
the PE router must redistribute to that VPN's OSPF instance certain VPN, the PE router must redistribute to that VPN's OSPFv2 instance
routes which have been installed in the BGP routing table. certain routes which have been installed in the BGP routing table.
Similarly, a PE router must redistribute to BGP routes which have Similarly, a PE router must redistribute to BGP routes which have
been installed in the VPN-specific OSPF routing tables. Procedures been installed in the VPN-specific OSPF routing tables. Procedures
for this are specified in [VPN-OSPF]. for this are specified in [VPN-OSPF].
The routes which are redistributed from BGP to OSPF are advertised in The routes which are redistributed from BGP to OSPFv2 are advertised
LSAs that are originated by the PE. The PE acts as an OSPF border 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 router, advertising some of these routes in AS-external LSAs, and
some in summary LSAs, as specified in [VPN-OSPF]. some in summary LSAs, as specified in [VPN-OSPF].
Similarly, when a PE router receives an LSA from a CE router, it runs 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 the OSPF routing computation. Any route that gets installed in the
OSPF routing table must be translated into a VPN-IP route and then OSPF routing table must be translated into a VPN-IPv4 route and then
redistributed into BGP. BGP will then distribute these routes to the redistributed into BGP. BGP will then distribute these routes to the
other PE routers. other PE routers.
3. Information Loss and Loops 3. Information Loss and Loops
A PE, say PE1, may learn a route to a particular VPN-IP address 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 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 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 may then be distributed to a particular CE, say CE1. The LSA may
then be distributed throughout a particular OSPF area, reaching then be distributed throughout a particular OSPF area, reaching
another CE, say CE2. CE2 may then distribute the LSA to another PE, another CE, say CE2. CE2 may then distribute the LSA to another PE,
say PE2. say PE2.
As stated in the previous section, PE2 must run the OSPF routing As stated in the previous section, PE2 must run the OSPF routing
computation to determine whether a particular address prefix, computation to determine whether a particular address prefix,
reported in an LSA from CE2, is reachable from CE2 via a path which reported in an LSA from CE2, is reachable from CE2 via a path which
does not include any PE router. Unfortunately, there is no standard does not include any PE router. Unfortunately, there is no standard
way to do this. The OSPF LSAs do not necessarily carry the way to do this. The OSPFv2 LSAs do not necessarily carry the
information needed to enables PE2 to determine that the path to information needed to enables PE2 to determine that the path to
address prefix X in a particular LSA from CE2 is actually a path that 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-IP route, includes, say, PE1. If PE2 then leaks X into BGP as a VPN-IPv4
then PE2 is violating one of the constraints for loop-freedom in BGP, route, then PE2 is violating one of the constraints for loop-freedom
viz., that routes learned from a particular BGP domain not be in BGP, viz., that routes learned from a particular BGP domain not be
redistributed back into that BGP domain. This could cause a routing redistributed back into that BGP domain. This could cause a routing
loop to be created. loop to be created.
It is therefore necessary to have a means by which an LSA may carry It is therefore necessary to have a means by which an LSA may carry
the information that a particular address prefix has been learned the information that a particular address prefix has been learned
from a PE router. Any PE router which receives an LSA with this from a PE router. Any PE router which receives an LSA with this
information would omit the information in this LSA from its OSPF information would omit the information in this LSA from its OSPF
routing computation, and thus would not leak the information back routing computation, and thus would not leak the information back
into BGP. into BGP.
When a PE generates an AS-external LSA, it could use a distinct tag 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 value to indicate that the LSA is carrying information about an
address prefix for whom the path includes a PE router. However, this 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 method is not available in the case where the PE generates a Summary
LSA. Per [OSPF-VPN], each PE router must function as an OSPF area 0 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 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 which originated at the PE to receive, over that link, a summary LSA which originated at
another PE router. Thus we need some way of marking a summary LSA to 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 indicate that it is carrying information about a path via a PE
router. router.
4. Using the LSA Options to Prevent Loops 4. Using the LSA Options to Prevent Loops
The high-order bit of the LSA Options field (a previously unused bit) 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 is used to solve the problem described in the previous section. We
skipping to change at page 5, line 28 skipping to change at page 5, line 28
Options Field with DN Bit Options Field with DN Bit
(RFC 2328, Section A.2) (RFC 2328, Section A.2)
When the PE receives, from a CE router, a type 3, 5, or 7 LSA with 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 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 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. 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 prevents routes learned via BGP from being redistributed to BGP.
(This restriction is analogous to the usual OSPF restriction that
inter-area routes which 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 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 particular, an LSA with the DN bit set will be put in the topological
database, aged, flooded, etc., just as if DN was not set. database, aged, flooded, etc., just as if DN were not set.
5. Security Considerations 5. Security Considerations
An attacker may cause the DN bit to be set, in an LSA traveling from 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 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 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 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 clear, in an LSA traveling in either direction, when the DN bit
should really be set. This may cause routing loops for traffic which should really be set. This may cause routing loops for traffic which
is destined to the address prefixes mentioned in that LSA. is destined to the address prefixes mentioned in that LSA.
These possibilities may be eliminated by using cryptographic These possibilities may be eliminated by using cryptographic
authentication as specified in section D of [OSPF]. authentication as specified in section D of [OSPFv2].
6. Acknowledgments 6. Acknowledgments
The idea of using the high-order options bit for this purpose is due 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 to Derek Yeung. Thanks to Yakov Rekhter for his contribution to this
work. We also wish to thank Acee Lindem for his helpful comments. work. We also wish to thank Acee Lindem for his helpful comments.
7. Authors' Addresses 7. Authors' Addresses
Eric C. Rosen Eric C. Rosen
skipping to change at page 6, line 37 skipping to change at page 7, line 7
Padma Pillay-Esnault Padma Pillay-Esnault
Juniper Networks Juniper Networks
1194 N. Mathilda Avenue 1194 N. Mathilda Avenue
Sunnyvale, CA 94089 Sunnyvale, CA 94089
E-mail: padma@juniper.net E-mail: padma@juniper.net
8. Normative References 8. Normative References
[OSPF] "OSPF Version 2", RFC 2328, Moy, J., April 1998 [OSPFv2] "OSPF Version 2", RFC 2328, Moy, J., April 1998
[VPN] "BGP/MPLS IP VPNs", draft-ietf-l3vpn-rfc2547bis-01.txt, Rosen, [VPN] "BGP/MPLS IP VPNs", draft-ietf-l3vpn-rfc2547bis-01.txt, Rosen,
Rekhter, et. al., September 2003 Rekhter, et. al., September 2003
[OSPF-VPN] "OSPF as the PE/CE Protocol in BGP/MPLS VPNs", draft- [VPN-OSPF] "OSPF as the PE/CE Protocol in BGP/MPLS VPNs", draft-
ietf-l3vpn-ospf-2547-00.txt, Rosen, Psenak, Pillay-Esnault, June 2003 ietf-l3vpn-ospf-2547-01.txt, Rosen, Psenak, Pillay-Esnault, February
2004
9. Intellectual Property 9. Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it might or might not be available; nor does it represent that it has
has made any effort to identify any such rights. Information on the made any independent effort to identify any such rights. Information
IETF's procedures with respect to rights in standards-track and on the procedures with respect to rights in RFC documents can be
standards-related documentation can be found in BCP-11. Copies of found in BCP 78 and BCP 79.
claims of rights made available for publication and any assurances of
licenses to be made available, or the result of an attempt made to Copies of IPR disclosures made to the IETF Secretariat and any
obtain a general license or permission for the use of such assurances of licenses to be made available, or the result of an
proprietary rights by implementors or users of this specification can attempt made to obtain a general license or permission for the use of
be obtained from the IETF Secretariat. 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 The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF Executive this standard. Please address the information to the IETF at ietf-
Director. ipr@ietf.org.
10. Full Copyright Statement 10. Full Copyright Statement
"Copyright (C) The Internet Society (2004). All Rights Reserved. Copyright (C) The Internet Society (2004). This document is subject
to the rights, licenses and restrictions contained in BCP 78 and
This document and translations of it may be copied and furnished to except as set forth therein, the authors retain all their rights.
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/