Internet DRAFT - draft-li-idr-cc-bgp-arch
draft-li-idr-cc-bgp-arch
Network Working Group Z. Li
Internet-Draft M. Chen
Intended status: Informational S. Zhuang
Expires: April 23, 2014 Huawei Technologies
October 20, 2013
An Architecture of Central Controlled Border Gateway Protocol (BGP)
draft-li-idr-cc-bgp-arch-00
Abstract
As the Software Defined Networks (SDN) solution develops, BGP is
extended to support central control. This document introduces an
architecture of using BGP for central controlling. Some use cases
under this new framework are also discussed. For specific use cases,
making necessary extensions in BGP are required.
Requirements Language
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].
Status of This Memo
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 23, 2014.
Copyright Notice
Copyright (c) 2013 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
Li, et al. Expires April 23, 2014 [Page 1]
Internet-Draft An Architecture of CC BGP October 2013
(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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Architecture . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Reference Model . . . . . . . . . . . . . . . . . . . . . 4
3.2. Deployment Mode . . . . . . . . . . . . . . . . . . . . . 4
3.3. Requirement of Protocol Extensions . . . . . . . . . . . 5
3.3.1. Building Connectivity . . . . . . . . . . . . . . . . 5
3.3.2. Roles Auto-Discovery . . . . . . . . . . . . . . . . 6
3.3.3. Establishing BGP Sessions . . . . . . . . . . . . . . 6
3.3.4. Capability Negotiation . . . . . . . . . . . . . . . 6
3.3.5. High Availability . . . . . . . . . . . . . . . . . . 6
3.3.6. Security . . . . . . . . . . . . . . . . . . . . . . 7
4. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1. Network Topology Acquirement . . . . . . . . . . . . . . 7
4.2. Simplifying Network Operation and Maintenance . . . . . . 7
4.3. MPLS Global Label Allocation . . . . . . . . . . . . . . 8
4.4. RR-Based Traffic Steering . . . . . . . . . . . . . . . . 8
4.5. Inter-Controller Applications . . . . . . . . . . . . . . 9
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
6. Security Considerations . . . . . . . . . . . . . . . . . . . 9
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.1. Normative References . . . . . . . . . . . . . . . . . . 10
7.2. Informative References . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction
The Border Gateway Protocol (BGP) defined in [RFC 4271], is well-
known as Internet inter-domain routing protocol. Multiprotocol BGP
(MP-BGP) framework defined in [RFC 4760], is an extension to BGP that
enables BGP to carry routing information for multiple network layers
and address families. The current MP-BGP specification can provide a
rich service set within a BGP enabled network, such as L2VPN, L3VPN,
MVPN, EVPN,etc.
There have been some BGP-based central controlled applications, such
as BGP RR [RFC4456]. A route reflector (RR) is a network routing
component. The purpose of the RR is concentration in that way all
Li, et al. Expires April 23, 2014 [Page 2]
Internet-Draft An Architecture of CC BGP October 2013
Client's forwarding routes are exchanged by the central RR Router.
It offers an alternative to the logical full-mesh requirement of
internal border gateway protocol (IBGP). A RR acts as a focal point
for IBGP sessions. Multiple IBGP routers can only peer with a
central point, rather than peer with every other router in a full
mesh manner. All the other IBGP routers become route reflector
clients.
With the emergence of Software Defined Networks (SDN), BGP plays as
an important part in a central controlled environment.
1 Building a central controlled framework for Controller and its
Clients, BGP can be used to communicate between Controller and its
Clients, Controller and other Controllers. The information carried
by BGP includes network and service topology, network and service
forwarding entries etc.
2 Many new applications are emerging under the centrally-controlled
framework, such as network virtualization, global traffic engineering
etc. Some new applications bring extension requirements to BGP.
This document defines an architecture of Central Controlled BGP and
then use cases under this framework are described. For some use
cases requirements of BGP extensions are discussed.
2. Terminology
BGP: Border Gateway Protocol
EVPN: Ethernet VPN
L2VPN: Layer 2 VPN
L3VPN: Layer 3 VPN
MVPN: Multicast VPN
RR: Route Reflector
SDN: Software-Defined Network
S-EVPN: Segment-based EVPN
Li, et al. Expires April 23, 2014 [Page 3]
Internet-Draft An Architecture of CC BGP October 2013
3. Architecture
3.1. Reference Model
+------------------------------+ +------------------------------+
| AS 1 | | AS 2 |
| +------------+ | | +------------+ |
| | BGP | | | | BGP | |
| | Controller |----------------------| Controller | |
| | (RR+) | | | | (RR+) | |
| | | | | | | |
| +------------+ | | +------------+ |
| / \ | | / \ |
| / \ | | / \ |
| / \ | | / \ |
| +--------+ +--------+ | | +--------+ +--------+ |
| | NODE 1 | | NODE n | | | | NODE 1 | | NODE n | |
| | | ...... | | | | | | ...... | | |
| | BGP | | BGP | | | | BGP | | BGP | |
| | CLIENT | | CLIENT | | | | CLIENT | | CLIENT | |
| +--------+ +--------+ | | +--------+ +--------+ |
| | | |
+------------------------------+ +------------------------------+
Figure 1: An Architecture of Central Controlled BGP
The figure above depicts a typical architecture of central controlled
BGP. It consists of two essential network elements: BGP Controller
and BGP Client. BGP Controller controls all the BGP Clients within
its administrative domain by communicating with them.
In the above framework, BGP Controller is placed at the same position
of traditional Route Reflector (RR) [RFC4456]. Moreover from point
of view of implementation BGP Controller can be considered as
function-enhanced RR. So in this document, BGP Controller is named
RR+ as well.
3.2. Deployment Mode
BGP Controller can run on a general-purpose server or a network
device. If BGP Controller runs on a network device, it MUST support
both central-controlled functionality and forwarding functionality.
Same as BGP Controller, BGP Client can run on a general-purpose
server or a network device. It is more meaningful to decouple
control plane and forwarding functionality on BGP Client because this
manner enables network devices focusing on forwarding functionality.
This deployment model is shown in the following figure:
Li, et al. Expires April 23, 2014 [Page 4]
Internet-Draft An Architecture of CC BGP October 2013
+------------------------------+ +------------------------------+
| AS 1 | | AS 2 |
| +------------+ | | +------------+ |
| | BGP | | | | BGP | |
| | Controller |----------------------| Controller | |
| | (RR+) | | | | (RR+) | |
| | | | | | | |
| +------------+ | | +------------+ |
| / \ | | / \ |
| / \ | | / \ |
| / \ | | / \ |
| +--------+ +--------+ | | +--------+ +--------+ |
| | | | | | | | | | | |
| | | ...... | | | | | | ...... | | |
| | BGP | | BGP | | | | BGP | | BGP | |
| |CLIENT 1| |CLIENT n| | | |CLIENT 1| |CLIENT n| |
| +--------+ +--------+ | | +--------+ +--------+ |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| +--------+ +--------+ | | +--------+ +--------+ |
| | | | | | | | | | | |
| |Forward | ...... |Forward | | | |Forward | ...... |Forward | |
| | | | | | | | | | | |
| | NODE 1 | | NODE n | | | | NODE 1 | | NODE n | |
| +--------+ +--------+ | | +--------+ +--------+ |
+------------------------------+ +------------------------------+
Figure 2: Decoupling BGP Client and Forwarding
In the reference model, there are multiple BGP controllers in
multiple ASes. In fact in one AS, there can also be multiple BGP
controllers to control different sets of BGP clients and IBGP peers
are set up between these BGP controllers. Such application scenario
can refer to [I-D.ietf-mpls-seamless-mpls] in which there are
multiple IGP areas which runs BGP in one AS. This document focuses
on multiple BGP controller in different ASes. The requirement and
use cases can also be applied to the case of multiple BGP controller
in one AS.
3.3. Requirement of Protocol Extensions
Building a BGP-based Central Controlled Framework needs extensions to
IGP, BGP and I2RS etc.
3.3.1. Building Connectivity
Li, et al. Expires April 23, 2014 [Page 5]
Internet-Draft An Architecture of CC BGP October 2013
Connectivity between BGP Controller and BGP Clients in an AS can be
built by extending IGP protocol. In order to simplify network
operations, such connectivity SHOULD be automatically established.
3.3.2. Roles Auto-Discovery
A BGP-based Central Controlled Framework consists of two basic roles:
BGP Controller and BGP Client. Such roles can be auto-discovered by
extending IGP protocol to flooding the role information within an AS.
When IGP has finished the flooding process of role information, BGP
Controller and BGP Client can establish a BGP session on demand.
3.3.3. Establishing BGP Sessions
For the intra-AS case, when IGP has finished the flooding process of
role information within an AS, BGP Controller and BGP Client can
automatically establish a BGP session. It is not necessary to
establish BGP sessions amongst BGP Clients.
For the inter-AS case, the peer BGP controller SHOULD be specified to
establish BGP sessions.
3.3.4. Capability Negotiation
In order for BGP Controller and BGP Client to support BGP-based
Central Controlled framework in a friendly way, this document
suggests to defines a new BGP Central Control Capability. The
Central Control Capability SHOULD be defined as per [RFC5492]. By
advertising the BGP Central Control Capability to a peer, a BGP
speaker conveys information if it is able to send, receive, and
properly handle BGP Central Control related processes.
The existing BGP capabilities should be kept in the Central
Controlled framework and other new capabilities should be extended
according to new applications based on the Central Controlled
framework.
3.3.5. High Availability
In the BGP-based Central Controlled framework, BGP Controller plays a
key role. To void one-point-failure of BGP Controller, it is
possible to run redundant BGP Controllers for high availability.
With multiple BGP Controllers, it is important to synchronize route
processing policy configuration for all of them to perform the
exactly same routing decisions. When Primary BGP Controller failed,
the Backup BGP Controllers will take over the work of the Primary BGP
Controller.
Li, et al. Expires April 23, 2014 [Page 6]
Internet-Draft An Architecture of CC BGP October 2013
To ensure BGP route persistence in case of occurrence of BGP
Controller failure, the new Primary BGP Controller SHOULD perform
resynchronization with BGP Clients.
When BGP Client loses connection with Primary BGP Controller, it
SHOULD following BGP Graceful Restart routine defined in [RFC 4724]
similar as a GR Helper.
3.3.6. Security
In BGP-based Central Controlled framework, it SHOULD be ensured that
communications between BGP Controllers and BGP Clients conform to
network security policy. The communication key used on BGP Client
can be configured through I2RS or other way.
4. Use Cases
In BGP-based Central Controlled framework, new use cases which are
difficult to be supported in traditional networks are emerging. In
some specific use cases, extension and enhancement of BGP protocol
are necessary.
4.1. Network Topology Acquirement
In BGP-based Central Controlled framework, BGP Controller can get the
topology of the whole network. Some applications such as ALTO can
get network topology information from BGP Controller. The topology
information of one AS can also be advertised by the controller to the
other BGP Controller in the other AS. BGP has been extended to
distribute link-state and traffic engineering information as defined
in [I-D.ietf-idr-ls-distribution].
4.2. Simplifying Network Operation and Maintenance
The adoption of the new BGP-based Central Controlled Framework can
reduce the complexity and effort of network operation and maintenance
by following manners:
1. By using I2RS APIs, it would allow network operator to setup BGP
policy configuration from a single central point. This helps avoid
manual configuration of BGP policy on multiple BGP Clients and reduce
the complexity of BGP policy configuration.
2. For network with VPN service which includes L3VPN, L2VPN, E-VPN
etc, BGP Controller COULD store all the VPN user information. Use of
I2RS APIs to set L3VPN configuration from BGP Controller would allow
network operator no need to configure a VPN many times on different
BGP Clients. Furthermore, in the new Central Controlled framework
Li, et al. Expires April 23, 2014 [Page 7]
Internet-Draft An Architecture of CC BGP October 2013
VPN parameters such as Route Distinguisher (RD), Route Targets (RT)
can be automatically generated and the configuration between CE and
PE can be generated automatically after the CE is authenticated by
the Central Controller. This can simply network operations and
maintenance greatly.
4.3. MPLS Global Label Allocation
MPLS Global Label should be allocated in a central point to guarantee
all distributed network nodes can understand meaning of a specific
global label in same. The new BGP-based Central Controlled framework
is particularly suitable to allocate MPLS Global Label through some
necessary MP-BGP extensions.
MPLS Global Label is defined in [I-D.li-mpls-global-label-framework]
and related use cases are defined in [I-D.li-mpls-global-label-
usecases].
The extensions of BGP for MPLS global label include:
1. A new BGP Capability called Global Label Capability is suggested
to be introduced by following [RFC5492]. BGP Controller can
negotiate with BGP client on this new BGP capability.
2. BGP Controller determines the COMMON label space for all its BGP
Clients.
3. For each BGP client, BGP Controller allocates different MPLS
Global Labels for different services and advertises the MPLS Global
Labels to the BGP Client.
4. BGP Client receives the MPLS Global Labels, and generates
corresponding MPLS forwarding entries.
Many types of services such as VPLS[RFC4761], Multicast VPN[RFC6514],
E-VPN[I-D.ietf-l2vpn-evpn] are based on MP-BGP. So making extensions
to MP-BGP to allocate MPLS global label for these services is a
nature way from point of network solution. The use cases of MPLS
global label defined in [I-D.li-mpls-global-label-usecases] includes
S-EVPN, Split Horizon in VPLS MCAST and BGP MVPN, Egress PE
protection in VPN, etc.
4.4. RR-Based Traffic Steering
RR-based Traffic Steering (RRTS) defined in [I-D.chen-idr-rr-based-
traffic-steering-usecase], is an idea that leverages the BGP route
reflection mechanism to realize traffic steering in the network,
therefore the operators can conduct specific traffic to traverse
Li, et al. Expires April 23, 2014 [Page 8]
Internet-Draft An Architecture of CC BGP October 2013
specific path, domains and/or planes as demand. The essential of
RRTS is that the concept of traffic engineering is introduced into
BGP network. With the new BGP-based Central Controlled framework
defined in this document, the operators can steer the network traffic
easily. More detailed description could be found in [I-D.chen-idr-
rr-based-traffic-steering-usecase].
4.5. Inter-Controller Applications
Information is communicated between the BGP controller to fulfill the
inter-AS applications such as inter-AS VPN. Besides the inter-AS
applications, there proposes a type of new application to communicate
control information only between BGP Controllers to set up service
directly and download necessary forwarding entry to the nodes. Thus
the BGP sessions between the Controller and the node can be saved and
the control functionality on the node can be saved further. This
type of model is shown in the following figure. In this model, the
service set up between the nodes is proxied by the BGP Controllers.
+----------------------------------------------------------------+
| AS |
| +------------+ +------------+ |
| | BGP | | BGP | |
| | Controller |--------------------| Controller | |
| | (RR+) | | (RR+) | |
| | | | | |
| +------------+ +------------+ |
| / \ / \ |
| / \ / \ |
| / \ / \ |
| +--------+ +--------+ +--------+ +--------+ |
| | | | | | | | | |
| |Forward | ...... |Forward | |Forward | ...... |Forward | |
| | | | | | | | | |
| | NODE 1 | | NODE n | | NODE 1 | | NODE n | |
| +--------+ +--------+ +--------+ +--------+ |
+----------------------------------------------------------------+
Figure 3: Removing BGP Session between Controller and NODE
5. IANA Considerations
This document makes no request of IANA.
6. Security Considerations
TBD.
Li, et al. Expires April 23, 2014 [Page 9]
Internet-Draft An Architecture of CC BGP October 2013
7. References
7.1. Normative References
[I-D.ietf-l2vpn-evpn]
Sajassi, A., Aggarwal, R., Henderickx, W., Balus, F.,
Isaac, A., and J. Uttaro, "BGP MPLS Based Ethernet VPN",
draft-ietf-l2vpn-evpn-04 (work in progress), July 2013.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
Protocol 4 (BGP-4)", RFC 4271, January 2006.
[RFC4447] Martini, L., Rosen, E., El-Aawar, N., Smith, T., and G.
Heron, "Pseudowire Setup and Maintenance Using the Label
Distribution Protocol (LDP)", RFC 4447, April 2006.
[RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route
Reflection: An Alternative to Full Mesh Internal BGP
(IBGP)", RFC 4456, April 2006.
[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
"Multiprotocol Extensions for BGP-4", RFC 4760, January
2007.
[RFC4761] Kompella, K. and Y. Rekhter, "Virtual Private LAN Service
(VPLS) Using BGP for Auto-Discovery and Signaling", RFC
4761, January 2007.
[RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement
with BGP-4", RFC 5492, February 2009.
[RFC6074] Rosen, E., Davie, B., Radoaca, V., and W. Luo,
"Provisioning, Auto-Discovery, and Signaling in Layer 2
Virtual Private Networks (L2VPNs)", RFC 6074, January
2011.
[RFC6513] Rosen, E. and R. Aggarwal, "Multicast in MPLS/BGP IP
VPNs", RFC 6513, February 2012.
[RFC6514] Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP
Encodings and Procedures for Multicast in MPLS/BGP IP
VPNs", RFC 6514, February 2012.
7.2. Informative References
Li, et al. Expires April 23, 2014 [Page 10]
Internet-Draft An Architecture of CC BGP October 2013
[I-D.chen-idr-rr-based-traffic-steering-usecase]
Chen, M., Zhuang, S., Zhu, Y., and S. Wang, "Use Cases of
Route Reflection based Traffic Steering", draft-chen-idr-
rr-based-traffic-steering-usecase-00 (work in progress),
July 2013.
[I-D.ietf-idr-ls-distribution]
Gredler, H., Medved, J., Previdi, S., Farrel, A., and S.
Ray, "North-Bound Distribution of Link-State and TE
Information using BGP", draft-ietf-idr-ls-distribution-03
(work in progress), May 2013.
[I-D.ietf-mpls-seamless-mpls]
Leymann, N., Decraene, B., Filsfils, C., Konstantynowicz,
M., and D. Steinberg, "Seamless MPLS Architecture", draft-
ietf-mpls-seamless-mpls-04 (work in progress), July 2013.
[I-D.li-l2vpn-segment-evpn]
Li, Z., Yong, L., and J. Zhang, "Segment-Based
EVPN(S-EVPN)", draft-li-l2vpn-segment-evpn-00 (work in
progress), July 2013.
[I-D.li-mpls-global-label-framework]
Li, Z., Zhao, Q., and T. Yang, "A Framework of MPLS Global
Label", draft-li-mpls-global-label-framework-00 (work in
progress), July 2013.
[I-D.li-mpls-global-label-usecases]
Li, Z., Zhao, Q., and T. Yang, "Usecases of MPLS Global
Label", draft-li-mpls-global-label-usecases-00 (work in
progress), July 2013.
Authors' Addresses
Zhenbin Li
Huawei Technologies
Huawei Bld., No.156 Beiqing Rd.
Beijing 100095
China
Email: lizhenbin@huawei.com
Li, et al. Expires April 23, 2014 [Page 11]
Internet-Draft An Architecture of CC BGP October 2013
Mach(Guoyi) Chen
Huawei Technologies
Huawei Bld., No.156 Beiqing Rd.
Beijing 100095
China
Email: mach.chen@huawei.com
Shunwan Zhuang
Huawei Technologies
Huawei Bld., No.156 Beiqing Rd.
Beijing 100095
China
Email: zhuangshunwan@huawei.com
Li, et al. Expires April 23, 2014 [Page 12]