VPN route constraint: Constrained Route Distribution for Border Gateway Protocol/MultiProtocol Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual Private Networks (VPNs)
Letting BGP routers say which VPN Route Targets they care about, so they only receive the VPN routes they need.
Marques, P., Bonica, R., Fang, L., Martini, L., Raszuk, R., Patel, K., and J. Guichard, "Constrained Route Distribution for Border Gateway Protocol/MultiProtocol Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual Private Networks (VPNs)", RFC 4684, DOI 10.17487/RFC4684, November 2006, <https://www.rfc-editor.org/info/rfc4684>.
@misc{rfc4684,
series = {Request for Comments},
number = 4684,
howpublished = {RFC 4684},
publisher = {RFC Editor},
doi = {10.17487/RFC4684},
url = {https://www.rfc-editor.org/info/rfc4684},
author = {P. Marques and R. Bonica and L. Fang and L. Martini and R. Raszuk and K. Patel and J. Guichard},
title = {{Constrained Route Distribution for Border Gateway Protocol/MultiProtocol Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual Private Networks (VPNs)}},
pagetotal = 14,
year = 2006,
month = nov,
} RFC text
Contents
Network Working Group P. Marques
Request for Comments: 4684 R. Bonica
Updates: 4364 Juniper Networks
Category: Standards Track L. Fang
L. Martini
R. Raszuk
K. Patel
J. Guichard
Cisco Systems, Inc.
November 2006
Constrained Route Distribution for
Border Gateway Protocol/MultiProtocol Label Switching (BGP/MPLS)
Internet Protocol (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 IETF Trust (2006).
Abstract
This document defines Multi-Protocol BGP (MP-BGP) procedures that
allow BGP speakers to exchange Route Target reachability information.
This information can be used to build a route distribution graph in
order to limit the propagation of Virtual Private Network (VPN)
Network Layer Reachability Information (NLRI) between different
autonomous systems or distinct clusters of the same autonomous
system. This document updates RFC 4364.
Table of Contents
1. Introduction ....................................................2
1.1. Terminology ................................................3
2. Specification of Requirements ...................................4
3. NLRI Distribution ...............................................4
3.1. Inter-AS VPN Route Distribution ............................4
3.2. Intra-AS VPN Route Distribution ............................6
4. Route Target Membership NLRI Advertisements .....................8
5. Capability Advertisement ........................................9
6. Operation .......................................................9
7. Deployment Considerations ......................................10
8. Security Considerations ........................................11
9. Acknowledgements ...............................................11
10. References ....................................................11
10.1. Normative References .....................................11
10.2. Informative References ...................................12
1. Introduction
In BGP/MPLS IP VPNs, PE routers use Route Target (RT) extended
communities to control the distribution of routes into VRFs. Within
a given iBGP mesh, PE routers need only hold routes marked with Route
Targets pertaining to VRFs that have local CE attachments.
It is common, however, for an autonomous system to use route
reflection [2] in order to simplify the process of bringing up a new
PE router in the network and to limit the size of the iBGP peering
mesh.
In such a scenario, as well as when VPNs may have members in more
than one autonomous system, the number of routes carried by the
inter-cluster or inter-as distribution routers is an important
consideration.
In order to limit the VPN routing information that is maintained at a
given route reflector, RFC 4364 [3] suggests, in Section 4.3.3, the
use of "Cooperative Route Filtering" [7] between route reflectors.
This document extends the RFC 4364 [3] Outbound Route Filtering (ORF)
work to include support for multiple autonomous systems and
asymmetric VPN topologies such as hub-and-spoke.
Although it would be possible to extend the encoding currently
defined for the extended-community ORF in order to achieve this
purpose, BGP itself already has all the necessary machinery for
dissemination of arbitrary information in a loop-free fashion, both
within a single autonomous system, as well as across multiple
autonomous systems.
This document builds on the model described in RFC 4364 [3] and on
the concept of cooperative route filtering by adding the ability to
propagate Route Target membership information between iBGP meshes.
It is designed to supersede "cooperative route filtering" for VPN
related applications.
By using MP-BGP UPDATE messages to propagate Route Target membership
information, it is possible to reuse all of this machinery, including
route reflection, confederations, and inter-as information loop
detection.
Received Route Target membership information can then be used to
restrict advertisement of VPN NLRI to peers that have advertised
their respective Route Targets, effectively building a route
distribution graph. In this model, VPN NLRI routing information
flows in the inverse direction of Route Target membership
information.
This mechanism is applicable to any BGP NLRI that controls the
distribution of routing information by using Route Targets, such as
VPLS [9].
Throughout this document, the term NLRI, which expands to "Network
Layer Reachability Information", is used to describe routing
information carried via MP-BGP updates without any assumption of
semantics.
An NLRI consisting of {origin-as#, route-target} will be referred to
as RT membership information for the purpose of the explanation in
this document.
1.1. Terminology
This document uses a number of terms and acronyms specific to
Provider-Provisioned VPNs, including those specific to L2VPNs, L3VPNs
and BGP. Definitions for many of these terms may be found in the VPN
terminology document [10]. This section also includes some brief
acronym expansion and terminology to aid the reader.
AFI Address Family Identifier (a BGP address type)
BGP Border Gateway Protocol
BGP/MPLS VPN A Layer 3 VPN implementation based upon BGP and MPLS
CE Customer Edge (router)
iBGP Internal BGP (i.e., a BGP peering session that
connects two routers within an autonomous system)
L2VPN Layer 2 Virtual Private Network
L3VPN Layer 3 Virtual Private Network
MP-BGP MultiProtocol-Border Gateway Protocol
MPLS MultiProtocol Label Switching
NLRI Network Layer Reachability Information
ORF Outbound Route Filtering
PE Provider Edge (router)
RT Route Target (i.e., a BGP extended community that
conditions network layer reachability information with
VPN membership)
SAFI Subsequence Address Family Identifier (a BGP address
sub-type)
VPLS Virtual Private LAN Service
VPN Virtual Private Network
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 [1].
3. NLRI Distribution
3.1. Inter-AS VPN Route Distribution
In order to better understand the problem at hand, it is helpful to
divide it in to its inter-Autonomous System (AS) and intra-AS
components. Figure 1 represents an arbitrary graph of autonomous
systems (a through j) interconnected in an ad hoc fashion. The
following discussion ignores the complexity of intra-AS route
distribution.
+----------------------------------+
| +---+ +---+ +---+ |
| | a | -- | b | -- | c | |
| +---+ +---+ +---+ |
| | | |
| | | |
| +---+ +---+ +---+ +---+ |
| | d | -- | e | -- | f | -- | j | |
| +---+ +---+ +---+ +---+ |
| / | |
| / | |
| +---+ +---+ +---+ |
| | g | -- | h | -- | i | |
| +---+ +---+ +---+ |
+----------------------------------+
Figure 1. Topology of autonomous systems
Let's consider the simple case of a VPN with CE attachments in ASes a
and i that uses a single Route Target to control VPN route
distribution. Ideally we would like to build a flooding graph for
the respective VPN routes that would not include nodes (c, g, h, j).
Nodes (c, j) are leafs ASes that do not require this information,
whereas nodes (g, h) are not in the shortest inter-as path between
(e) and (i) and thus should be excluded via standard BGP path
selection.
In order to achieve this, we will rely on ASa and ASi, generating a
NLRI consisting of {origin-as#, route-target} (RT membership
information). Receipt of such an advertisement by one of the ASes in
the network will signal the need to distribute VPN routes containing
this Route Target community to the peer that advertised this route.
Using RT membership information that includes both route-target and
originator AS number allows BGP speakers to use standard path
selection rules concerning as-path length (and other policy
mechanisms) to prune duplicate paths in the RT membership information
flooding graph, while maintaining the information required to reach
all autonomous systems advertising the Route Target.
In the example above, AS e needs to maintain a path to AS a in order
to flood VPN routing information originating from AS i and vice-
versa. It should, however, as default policy, prune less preferred
paths such as the longer path to ASi with as-path (g h i).
Extending the example above to include AS j as a member of the VPN
distribution graph would cause AS f to advertise 2 RT Membership
NLRIs to AS e, one containing origin AS i and one containing origin
AS j. Although advertising a single path would be sufficient to
guarantee that VPN information flows to all VPN member ASes, this is
not enough for the desired path selection choices. In the example
above, assume that (f j) is selected and advertised. Were that the
case, the information concerning the path (f i), which is necessary
to prune the arc (e g h i) from the route distribution graph, would
be missing.
As with other approaches for building distribution graphs, the
benefits of this mechanism are directly proportional to how "sparse"
the VPN membership is. Standard RFC2547 inter-AS behavior can be
seen as a dense-mode approach, to make the analogy with multicast
routing protocols.
3.2. Intra-AS VPN Route Distribution
As indicated above, the inter-AS VPN route distribution graph, for a
given route-target, is constructed by creating a directed arc on the
inverse direction of received Route Target membership UPDATEs
containing an NLRI of the form {origin-as#, route-target}.
Inside the BGP topology of a given autonomous-system, as far as
external RT membership information is concerned (route-targets where
the as# is not the local as), it is easy to see that standard BGP
route selection and advertisement rules [4] will allow a transit AS
to create the necessary flooding state.
Consider a IPv4 NLRI prefix, sourced by a single AS, which is
distributed via BGP within a given transit AS. BGP protocol rules
guarantee that a BGP speaker has a valid route that can be used for
forwarding of data packets for that destination prefix, in the
inverse path of received routing updates.
By the same token, and given that an {origin-as#, route-target} key
provides uniqueness between several ASes that may be sourcing this
route-target, BGP route selection and advertisement procedures
guarantee that a valid VPN route distribution path exists to the
origin of the Route Target membership information advertisement.
Route Target membership information that is originated within the
autonomous-system, however, requires more careful examination.
Several PE routers within a given autonomous-system may source the
same NLRI {origin-as#, route-target}, and thus default route
advertisement rules are no longer sufficient to guarantee that within
the given AS each node in the distribution graph has selected a
feasible path to each of the PEs that import the given route-target.
When processing RT membership NLRIs received from internal iBGP
peers, it is necessary to consider all available iBGP paths for a
given RT prefix, for building the outbound route filter, and not just
the best path.
In addition, when advertising Route Target membership information
sourced by the local autonomous system to an iBGP peer, a BGP speaker
shall modify its procedure to calculate the BGP attributes such that
the following apply:
i. When advertising RT membership NLRI to a route-reflector client,
the Originator attribute shall be set to the router-id of the
advertiser, and the Next-hop attribute shall be set of the local
address for that session.
ii. When advertising an RT membership NLRI to a non-client peer, if
the best path as selected by the path selection procedure
described in Section 9.1 of the base BGP specification [4] is a
route received from a non-client peer, and if there is an
alternative path to the same destination from a client, the
attributes of the client path are advertised to the peer.
The first of these route advertisement rules is designed such that
the originator of an RT membership NLRI does not drop an RT
membership NLRI that is reflected back to it, thus allowing the route
reflector to use this RT membership NLRI in order to signal the
client that it should distribute VPN routes with the specific target
towards the reflector.
The second rule allows any BGP speaker present in an iBGP mesh to
signal the interest of its route reflection clients in receiving VPN
routes for that target.
These procedures assume that the autonomous-system route reflection
topology is configured such that IPv4 unicast routing would work
correctly. For instance, route reflection clusters must be
contiguous.
An alternative solution to the procedure given above would have been
to source different routes per PE, such as NLRI of the form
{originator-id, route-target}, and to aggregate them at the edge of
the network. The solution adopted is considered advantageous over
the former in that it requires less routing-information within a
given AS.
4. Route Target Membership NLRI Advertisements
Route Target membership NLRI is advertised in BGP UPDATE messages
using the MP_REACH_NLRI and MP_UNREACH_NLRI attributes [5]. The
[AFI, SAFI] value pair used to identify this NLRI is (AFI=1,
SAFI=132).
The Next Hop field of MP_REACH_NLRI attribute shall be interpreted as
an IPv4 address whenever the length of NextHop address is 4 octets,
and as a IPv6 address whenever the length of the NextHop address is
16 octets.
The NLRI field in the MP_REACH_NLRI and MP_UNREACH_NLRI is a prefix
of 0 to 96 bits, encoded as defined in Section 4 of [5].
This prefix is structured as follows:
+-------------------------------+
| origin as (4 octets) |
+-------------------------------+
| route target (8 octets) |
+ +
| |
+-------------------------------+
Except for the default route target, which is encoded as a zero-
length prefix, the minimum prefix length is 32 bits. As the origin-
as field cannot be interpreted as a prefix.
Route targets can then be expressed as prefixes, where, for instance,
a prefix would encompass all route target extended communities
assigned by a given Global Administrator [6].
The default route target can be used to indicate to a peer the
willingness to receive all VPN route advertisements such as, for
instance, the case of a route reflector speaking to one of its PE
router clients.
5. Capability Advertisement
A BGP speaker that wishes to exchange Route Target membership
information must use the Multiprotocol Extensions Capability Code, as
defined in RFC 2858 [5], to advertise the corresponding (AFI, SAFI)
pair.
A BGP speaker MAY participate in the distribution of Route Target
information without using the learned information for purposes of VPN
NLRI output route filtering, although this is discouraged.
6. Operation
A VPN NLRI route should be advertised to a peer that participates in
the exchange of Route Target membership information if that peer has
advertised either the default Route Target membership NLRI or a Route
Target membership NLRI containing any of the targets contained in the
extended communities attribute of the VPN route in question.
When a BGP speaker receives a BGP UPDATE that advertises or withdraws
a given Route Target membership NLRI, it should examine the RIB-OUTs
of VPN NLRIs and re-evaluate the advertisement status of routes that
match the Route Target in question.
A BGP speaker should generate the minimum set of BGP VPN route
updates (advertisements and/or withdrawls) necessary to transition
between the previous and current state of the route distribution
graph that is derived from Route Target membership information.
As a hint that initial RT membership exchange is complete,
implementations SHOULD generate an End-of-RIB marker, as defined in
[8], for the Route Target membership (afi, safi), regardless of
whether graceful-restart is enabled on the BGP session. This allows
the receiver to know when it has received the full contents of the
peer's membership information. The exchange of VPN NLRI should
follow the receipt of the End-of-RIB markers.
If a BGP speaker chooses to delay the advertisement of BGP VPN route
updates until it receives this End-of-RIB marker, it MUST limit that
delay to an upper bound. By default, a 60 second value should be
used.
7. Deployment Considerations
This mechanism reduces the scaling requirements that are imposed on
route reflectors by limiting the number of VPN routes and events that
a reflector has to process to the VPN routes used by its direct
clients. By default, a reflector must scale in terms of the total
number of VPN routes present on the network.
This also means that it is now possible to reduce the load imposed on
a given reflector by dividing the PE routers present on its cluster
into a new set of clusters. This is a localized configuration change
that need not affect any system outside this cluster.
The effectiveness of RT-based filtering depends on how sparse the VPN
membership is.
The same policy mechanisms applicable to other NLRIs are also
applicable to RT membership information. This gives a network
operator the option of controlling which VPN routes get advertised in
an inter-domain border by filtering the acceptable RT membership
advertisements inbound.
For instance, in the inter-as case, it is likely that a given VPN is
connected only to a subset of all participating ASes. The only
current mechanism to limit the scope of VPN route flooding is through
manual filtering on the external BGP border routers. With the
current proposal, such filtering can be performed according to the
dynamic Route Target membership information.
In some inter-as deployments, not all RTs used for a given VPN have
external significance. For example, a VPN can use a hub RT and a
spoke RT internally to an autonomous-system. The spoke RT does not
have meaning outside this AS, so it may be stripped at an external
border router. The same policy rules that result in extended
community filtering can be applied to RT membership information in
order to avoid advertising an RT membership NLRI for the spoke-RT in
the example above.
Throughout this document, we assume that autonomous-systems agree on
an RT assignment convention. RT translation at the external border
router boundary is considered a local implementation decision, as it
should not affect inter-operability.
8. Security Considerations
This document does not alter the security properties of BGP-based
VPNs. However, note that output route filters built from RT
membership information NLRIs are not intended for security purposes.
When exchanging routing information between separate administrative
domains, it is a good practice to filter all incoming and outgoing
NLRIs by some other means in addition to RT membership information.
Implementations SHOULD also provide means to filter RT membership
information.
9. Acknowledgements
This proposal is based on the extended community route filtering
mechanism defined in [7].
Ahmed Guetari was instrumental in defining requirements for this
proposal.
The authors would also like to thank Yakov Rekhter, Dan Tappan, Dave
Ward, John Scudder, and Jerry Ash for their comments and suggestions.
10. References
10.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[2] Bates, T., Chen, E., and R. Chandra, "BGP Route Reflection: An
Alternative to Full Mesh Internal BGP (IBGP)", RFC 4456, April
2006.
[3] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private Networks
(VPNs)", RFC 4364, February 2006.
[4] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway Protocol 4
(BGP-4)", RFC 4271, January 2006.
[5] Bates, T., Rekhter, Y., Chandra, R., and D. Katz, "Multiprotocol
Extensions for BGP-4", RFC 2858, June 2000.
[6] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended
Communities Attribute", RFC 4360, February 2006.
10.2. Informative References
[7] Chen, E. and Y. Rekhter, "Cooperative Route Filtering Capability
for BGP-4", Work in Progress, December 2004.
[8] Sangli, S., Rekhter, Y., Fernando, R., Scudder, J., and E. Chen,
"Graceful Restart Mechanism for BGP", Work in Progress, June
2004.
[9] Kompella, K. and Y. Rekhter, "Virtual Private LAN Service", Work
in Progress, April 2005.
[10] Andersson, L. and T. Madsen, "Provider Provisioned Virtual
Private Network (VPN) Terminology", RFC 4026, March 2005.
Authors' Addresses
Pedro Marques
Juniper Networks
1194 N. Mathilda Ave.
Sunnyvale, CA 94089
US
EMail: roque@juniper.net
Ronald Bonica
Juniper Networks
1194 N. Mathilda Ave.
Sunnyvale, CA 94089
US
EMail: rbonica@juniper.net
Luyuan Fang
Cisco Systems, Inc.
300 Beaver Brook Road
Boxborough, MA 01719
US
EMail: lufang@cisco.com
Luca Martini
Cisco Systems, Inc.
9155 East Nichols Avenue, Suite 400
Englewood, CO 80112
US
EMail: lmartini@cisco.com
Robert Raszuk
Cisco Systems, Inc.
170 West Tasman Dr
San Jose, CA 95134
US
EMail: rraszuk@cisco.com
Keyur Patel
Cisco Systems, Inc.
170 West Tasman Dr
San Jose, CA 95134
US
EMail: keyupate@cisco.com
Jim Guichard
Cisco Systems, Inc.
300 Beaver Brook Road
Boxborough, MA 01719
US
EMail: jguichar@cisco.com
Full Copyright Statement
Copyright (C) The IETF Trust (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, 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.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
AI ELI5
On this page
§1The Route Target Scaling Problem
In BGP/MPLS IP VPNs, provider edge (PE) routers use Route Target (RT) extended communities to decide which routes go into which VRFs. Within an iBGP mesh, a PE router only needs routes carrying Route Targets for VRFs that have local customer attachments.
Autonomous systems often use route reflection to make it easier to bring up a new PE router and to limit the size of the iBGP mesh. When VPNs have members in more than one autonomous system, the number of routes carried by inter-cluster or inter-AS distribution routers becomes an important consideration.
RFC 4364 suggests Cooperative Route Filtering between route reflectors. This RFC is designed to supersede that for VPN-related uses. It adds support for multiple autonomous systems and asymmetric VPN topologies such as hub-and-spoke, by reusing BGP itself to carry the filtering information, including route reflection, confederations and inter-AS loop detection.
Imagine a mail room that has to store every club's newsletters, even for clubs nobody in the building joined. This RFC lets the mail room learn which clubs people joined.
§1The Core Idea: Membership Flows One Way, Routes the Other
A router advertises RT membership information, an NLRI of the form {origin-as#, route-target}. A receiver then limits its VPN route advertisements to peers that have advertised matching Route Targets. This effectively builds a route distribution graph, and VPN routes flow in the inverse direction of the membership information.
The mechanism applies to any BGP NLRI that uses Route Targets to control distribution, such as VPLS. Standard RFC 4364 inter-AS behavior can be seen as a dense-mode approach, in analogy with multicast routing protocols, while this mechanism pays off when VPN membership is sparse.
Routers shout "send me this kind of map!" in one direction, and the maps travel back the other way along the same path.
- Membership NLRI{origin-as#, route-target} advertised in MP-BGP.
- Inverse flowVPN routes flow opposite to membership information.
- Default route targetA zero-length prefix meaning send me all VPN routes.
- Sparse VPNsThe benefit grows with how sparse VPN membership is.
§3.1Distribution Between Autonomous Systems
The RFC works an example with ASes a to j in an ad hoc graph. A VPN with customer sites in AS a and AS i uses a single Route Target. Ideally the flooding graph leaves out ASes c, g, h and j: c and j are leaves that do not need the information, while g and h are not on the shortest inter-AS path between e and i, so standard BGP path selection excludes them.
Including the origin AS number in the NLRI lets speakers use ordinary rules, such as AS-path length, to prune duplicate paths while still keeping the information needed to reach every AS that advertised the Route Target. If AS j also joins the VPN, AS f advertises two RT membership NLRIs to AS e, one for origin AS i and one for origin AS j. Advertising only one would lose the information needed to prune the longer path through g and h.
Each town only sends the parcel down the shortest road to the towns that asked for it, and skips the long detours and the towns that did not ask.
§3.2Distribution Inside an Autonomous System
For membership information from other ASes, standard BGP route selection and advertisement already create the needed state in a transit AS. Membership that originates inside the AS needs more care, because several PE routers may source the same {origin-as#, route-target}.
When processing RT membership NLRIs from internal iBGP peers, a speaker must consider all available iBGP paths for a given RT prefix when building the outbound route filter, not only the best path. When advertising locally sourced membership to an iBGP peer, two rules apply:
- To a route-reflector client, the Originator attribute is set to the advertiser's router-id and the Next-hop to the local address for that session. This keeps the originator from dropping a membership NLRI reflected back to it, so the reflector can tell the client to send VPN routes towards it.
- To a non-client peer, if the best path came from a non-client and an alternative path exists from a client, the client path's attributes are advertised. This lets any speaker in the mesh signal the interest of its clients.
These procedures assume the route reflection topology would already work for IPv4 unicast, for instance with contiguous clusters. The authors note an alternative of per-PE routes of the form {originator-id, route-target} aggregated at the network edge, but rejected it because it needs more routing information inside an AS.
Inside one town, the post office keeps every street's request, not just the nearest one, so it never forgets a house that wants the parcel.
§4The Route Target Membership NLRI
Membership is carried in BGP UPDATE messages using the MP_REACH_NLRI and MP_UNREACH_NLRI attributes. The (AFI, SAFI) pair is (AFI=1, SAFI=132). The Next Hop is read as IPv4 when its length is 4 octets and as IPv6 when it is 16 octets.
The NLRI is a prefix of 0 to 96 bits: a 4-octet origin AS followed by an 8-octet route target. Except for the default route target, which is a zero-length prefix, the minimum prefix length is 32 bits. Shorter prefixes can stand for groups of route targets, such as all those assigned by one Global Administrator.
The default route target tells a peer you want all VPN routes, for example a route reflector speaking to one of its PE clients.
The request card has the sender's town number and the club's code. A blank card means "send me everything."
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
ORIGIN-AS | Origin AS | 4 bytes | 4 octets; the AS that originated the membership. | |
ROUTE-TARGET-HI | Route Target (first 4 octets) | 4 bytes | The 8-octet route target, first half. | |
ROUTE-TARGET-LO | Route Target (last 4 octets) | 4 bytes | The 8-octet route target, second half. |
§5Capability and Operation
A speaker that wants to exchange membership information advertises the Multiprotocol Extensions Capability for that (AFI, SAFI) pair. It may take part without using the information to filter VPN output, though this is discouraged.
A VPN route should be sent to a peer if that peer advertised either the default membership NLRI or one containing any Route Target in the route's extended communities. On receiving an advertisement or withdrawal of membership, a speaker re-examines its RIB-OUTs for matching routes and sends the minimum set of VPN updates needed to move to the new graph.
Implementations SHOULD send an End-of-RIB marker for the membership (AFI, SAFI) as a hint that the initial exchange is complete, even if graceful restart is not enabled. A speaker that delays VPN updates until it receives the marker MUST bound the delay, and 60 seconds should be used by default.
When a router has finished listing everything it wants, it says "that is all." Others wait for that, but never longer than a minute.
§7Deployment and Security
The mechanism limits a route reflector to the VPN routes used by its direct clients, instead of the total number of VPN routes on the network. A reflector's load can then be reduced by splitting its PE routers into more clusters, a localized change. Operators can also filter inbound RT membership advertisements to control which VPN routes cross a border. For instance, a spoke RT used only inside an AS can be left out of what is advertised externally. The RFC assumes ASes agree on an RT assignment convention, and treats RT translation at the border as a local decision.
The RFC does not alter the security properties of BGP-based VPNs. Filters built from RT membership are not intended for security. Between administrative domains, incoming and outgoing NLRIs should also be filtered by other means, and implementations SHOULD provide ways to filter RT membership information.
This helps big routers do less work, but it is a convenience, not a lock. For safety you still check mail at the border by other means.