Inter-Domain Routing | H. Gredler, Ed. |
Internet-Draft | K. Vairavakkalai |
Intended status: Informational | C. Ramachandran |
Expires: April 29, 2015 | B. Rajagopalan |
Juniper Networks, Inc. | |
L. Fang | |
Microsoft | |
October 26, 2014 |
Egress Peer Engineering using BGP-LU
draft-gredler-idr-bgplu-epe-00
The MPLS source routing paradigm provides path control for both intra- and inter- Autonomous System (AS) traffic. For Intra-AS path control, protocols like RSVP-TE [RFC3209] and CR-LDP [RFC3212] are utilized. This documents outlines how MPLS routers may use the BGP labeled unicast protocol (BGP-LU) [RFC3107] for doing traffic-engineering on inter-AS links.
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 [RFC2119].
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on April 29, 2015.
Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
Today BGP-LU [RFC3107] is used both as an intra-AS [I-D.ietf-mpls-seamless-mpls] and inter-AS routing protocol. BGP-LU may advertise a MPLS transport path between IGP regions and Autonomous Systems. Those paths may span one or more router hops. This document describes advertisement and use of one-hop MPLS label-switched paths (LSP) for traffic-engineering the links between Autonomous Systems.
Consider Figure Figure 1: an ASBR router (R2) advertises a labeled host route for the remote-end IP address of its link (IP3). The BGP next-hop gets set to R2s loopback IP address. For the advertised Label <N> a forwarding action of 'POP and forward' to next-hop (IP3) is installed in R2's MPLS forwarding table. Now consider if R2 had several links and R2 would advertise labels for all of its inter-AS links. By pushing the corresponding MPLS label <N> on the label-stack an ingress router R1 may control the egress peer selection.
AS1 : AS2 : +----+ iBGP +----+ : eBGP +----+ | R1 |----------| R2 |-IP2----IP3-| R3 | +----+ +----+ : +----+ : -----------traffic-flow----------> <------------route-flow-----------
Figure 1: single-hop LSPs
BGP-LU is often just seen as a 'stitching' protocol for connecting Autonomous Systems. BGP-LU is often not visible as a viable protocol for solving the Inter-domain traffic-engineering problem.
With this document the authors want to clarify the use of BGP-LU for traffic-engineering purposes and encourage both implementers and network operator to use a widely deployed and operationally well understood protocol, rather than inventing and deploying new protocols.
The following topology [SAMPLE_TOPOLOGY] and IP addresses shall be used throughout the Egress Peering Engineering advertisement examples.
: : AS 1 : AS 2 : AS 4 : : : +-----+ : /IP1--:-IP2--|ASBR3| : +-----+ +-----+-IP3--:-IP4--+-----+-----------+-----+ | R1 +-------------+ASBR1| : |ASBR6| +--+--+ +--+--+-IP5--:-IP6--+-----+-----------+-----+ | | \ : |ASBR4| : / | | \ : +-----+ : / | | IP7- --- | | \ ................ / | | IP8- --- | | : \ / : | | : \ / : +--+--+ +--+--+ : +--+--+ : | R2 +-------------+ASBR2|-IP9--:-IP10-|ASBR5| : +-----+ +-----+ : +-----+ : : : : AS3 : : :
Figure 2: Sample Topology
An ASBR assigns for each of its egress links facing a BGP peer, a distinct label and advertises it to its internal BGP mesh. The ASBR programs a forwarding action 'POP and forward' into the MPLS forwarding table. Note that the neighboring AS is not required to support exchanging NRLIs using BGP-LU. It is the local ASBR (ASBR{1,2}) which generates the BGP-LU routes. The forwarding next-hop for those routes points to the link-IP addresses of the remote ASBRs (ASBR{3,4,5}). Note that the generated BGP-LU routes always match the BGP next-hop that the remote ASBRs set their BGP service routes to, such that the software component doing route-resolution understands the association between the BGP service route and the BGP-LU forwarding route.
In Figure 2 the ASBR{1,5} and ASBR{2,5} links are examples for single-hop eBGP advertisements.
Todays operational practice for load-sharing across parallel links is to configure a single multi-hop eBGP session between a pair of routers. Since the BGP next-hops of the received BGP service routes are typically not on a common IP subnet, the operator configures a static route with next-hops pointing to each of the remote-IP addresses of the underlying links.
In Figure 2 both ASBR{1,3} links are examples of a multi-hop eBGP advertisement. In order to advertise a distinct label for a common FEC throughout the iBGP mesh, ASBR1 and all the receiving iBGP routers need to support the BGP Add-paths extension. [I-D.ietf-idr-add-paths].
In addition to offer a distinct BGP-LU label for each egress link, an ASBR MAY want to advertise a BGP-LU label which represents a load-balancing forwarding action across all links going to a particular Peer.
For link #1 and link #2 in Figure 2, ASBR1 advertises a BGP-LU route {192.168.1.13/32, label 104} with a BGP next hop of 192.168.1.11. To differentiate this from the link #1 and link #2 route-advertisements (which contains the same FEC) it is setting the path-ID to 3. ASBR1 programs a MPLS forwarding state of 'POP and load-balance' to 10.0.0.2 and 10.0.0.4 for the advertised label 104.
It is desirable to provide a local-repair based protection scheme, in case a redundant path is available to reach a peer AS. Protection may be applied at multiple levels in the routing stack. Since the ASBR has insight in both BGP-LU and BGP service advertisements, protection can be provided at the BGP-LU, at the BGP service or both levels.
Assume the network operator wants to provide a local-repair next-hop for the 172.16/12 BGP service route at ASBR1. The active route resolve over the parallel links towards ASBR3. In case the link #1 between ASBR{1,3} fails there are now several candidate backup paths providing protection against link or node failure.
Assuming that the remaining link #2 between ASBR{1,3} has enough capacity, and link-protection is sufficient, this link MAY serve as temporary backup.
However if node-protection or additional capacity is desired, then the local link between ASBR{1,4} or ASBR{1,5} MAY be used as temporary backup.
ASBR1 is both originator and receiver of BGP routing information. For this protection method it is required that the ASBRs support the [I-D.ietf-idr-best-external] behavior. ASBR1 receives both the BGP-LU and BGP service routes from ASBR2 and therefore can use the ASBR2 advertised label as a backup path given that ASBR1 has a tunnel towards ASBR2.
For protecting plain unicast (Internet) routing information a very simple backup scheme could be to recurse to the relevant IP forwarding table and do an IP lookup to further determine a new egress link.
For a software component which controls the egress link selection it may be desirable to know about a particular egress link current utilization, such that it can adjust the traffic that gets sent to a particular interface.
In [I-D.ietf-idr-link-bandwidth] a community for reporting link-bandwidth is specified. Rather than reporting the static bandwidth of the link, the ASBRs shall report the available bandwidth as seen by the data-plane via the link-bandwidth community in their BGP-LU update message.
It is crucial that ingress routers learn quickly about congestion of an egress link and hence it is desired to get high frequency updates of the advertised per-link BGP-LU labels.
Many thanks to Yakov Rekhter for his detailed review and insightful comments
This documents does not request any action from IANA.
This document does not introduce any change in terms of BGP security.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC3107] | Rekhter, Y. and E. Rosen, "Carrying Label Information in BGP-4", RFC 3107, May 2001. |
[RFC3209] | Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V. and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, December 2001. |
[RFC3212] | Jamoussi, B., Andersson, L., Callon, R., Dantu, R., Wu, L., Doolan, P., Worster, T., Feldman, N., Fredette, A., Girish, M., Gray, E., Heinanen, J., Kilty, T. and A. Malis, "Constraint-Based LSP Setup using LDP", RFC 3212, January 2002. |
[I-D.ietf-idr-add-paths] | Walton, D., Retana, A., Chen, E. and J. Scudder, "Advertisement of Multiple Paths in BGP", Internet-Draft draft-ietf-idr-add-paths-10, October 2014. |
[I-D.ietf-idr-best-external] | Marques, P., Fernando, R., Chen, E., Mohapatra, P. and H. Gredler, "Advertisement of the best external route in BGP", Internet-Draft draft-ietf-idr-best-external-05, January 2012. |
[I-D.ietf-idr-link-bandwidth] | Mohapatra, P. and R. Fernando, "BGP Link Bandwidth Extended Community", Internet-Draft draft-ietf-idr-link-bandwidth-06, January 2013. |
[I-D.ietf-mpls-seamless-mpls] | Leymann, N., Decraene, B., Filsfils, C., Konstantynowicz, M. and D. Steinberg, "Seamless MPLS Architecture", Internet-Draft draft-ietf-mpls-seamless-mpls-07, June 2014. |