summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7938.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc7938.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc7938.txt')
-rw-r--r--doc/rfc/rfc7938.txt1963
1 files changed, 1963 insertions, 0 deletions
diff --git a/doc/rfc/rfc7938.txt b/doc/rfc/rfc7938.txt
new file mode 100644
index 0000000..30d544b
--- /dev/null
+++ b/doc/rfc/rfc7938.txt
@@ -0,0 +1,1963 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) P. Lapukhov
+Request for Comments: 7938 Facebook
+Category: Informational A. Premji
+ISSN: 2070-1721 Arista Networks
+ J. Mitchell, Ed.
+ August 2016
+
+
+ Use of BGP for Routing in Large-Scale Data Centers
+
+Abstract
+
+ Some network operators build and operate data centers that support
+ over one hundred thousand servers. In this document, such data
+ centers are referred to as "large-scale" to differentiate them from
+ smaller infrastructures. Environments of this scale have a unique
+ set of network requirements with an emphasis on operational
+ simplicity and network stability. This document summarizes
+ operational experience in designing and operating large-scale data
+ centers using BGP as the only routing protocol. The intent is to
+ report on a proven and stable routing design that could be leveraged
+ by others in the industry.
+
+Status of This Memo
+
+ This document is not an Internet Standards Track specification; it is
+ published for informational purposes.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Not all documents
+ approved by the IESG are a candidate for any level of Internet
+ Standard; see Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ http://www.rfc-editor.org/info/rfc7938.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Lapukhov, et al. Informational [Page 1]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+Copyright Notice
+
+ Copyright (c) 2016 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.
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. Network Design Requirements . . . . . . . . . . . . . . . . . 4
+ 2.1. Bandwidth and Traffic Patterns . . . . . . . . . . . . . 4
+ 2.2. CAPEX Minimization . . . . . . . . . . . . . . . . . . . 4
+ 2.3. OPEX Minimization . . . . . . . . . . . . . . . . . . . . 5
+ 2.4. Traffic Engineering . . . . . . . . . . . . . . . . . . . 5
+ 2.5. Summarized Requirements . . . . . . . . . . . . . . . . . 6
+ 3. Data Center Topologies Overview . . . . . . . . . . . . . . . 6
+ 3.1. Traditional DC Topology . . . . . . . . . . . . . . . . . 6
+ 3.2. Clos Network Topology . . . . . . . . . . . . . . . . . . 7
+ 3.2.1. Overview . . . . . . . . . . . . . . . . . . . . . . 7
+ 3.2.2. Clos Topology Properties . . . . . . . . . . . . . . 8
+ 3.2.3. Scaling the Clos Topology . . . . . . . . . . . . . . 9
+ 3.2.4. Managing the Size of Clos Topology Tiers . . . . . . 10
+ 4. Data Center Routing Overview . . . . . . . . . . . . . . . . 11
+ 4.1. L2-Only Designs . . . . . . . . . . . . . . . . . . . . . 11
+ 4.2. Hybrid L2/L3 Designs . . . . . . . . . . . . . . . . . . 12
+ 4.3. L3-Only Designs . . . . . . . . . . . . . . . . . . . . . 12
+ 5. Routing Protocol Design . . . . . . . . . . . . . . . . . . . 13
+ 5.1. Choosing EBGP as the Routing Protocol . . . . . . . . . . 13
+ 5.2. EBGP Configuration for Clos Topology . . . . . . . . . . 15
+ 5.2.1. EBGP Configuration Guidelines and Example ASN Scheme 15
+ 5.2.2. Private Use ASNs . . . . . . . . . . . . . . . . . . 16
+ 5.2.3. Prefix Advertisement . . . . . . . . . . . . . . . . 17
+ 5.2.4. External Connectivity . . . . . . . . . . . . . . . . 18
+ 5.2.5. Route Summarization at the Edge . . . . . . . . . . . 19
+ 6. ECMP Considerations . . . . . . . . . . . . . . . . . . . . . 20
+ 6.1. Basic ECMP . . . . . . . . . . . . . . . . . . . . . . . 20
+ 6.2. BGP ECMP over Multiple ASNs . . . . . . . . . . . . . . . 21
+ 6.3. Weighted ECMP . . . . . . . . . . . . . . . . . . . . . . 21
+ 6.4. Consistent Hashing . . . . . . . . . . . . . . . . . . . 22
+
+
+
+Lapukhov, et al. Informational [Page 2]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ 7. Routing Convergence Properties . . . . . . . . . . . . . . . 22
+ 7.1. Fault Detection Timing . . . . . . . . . . . . . . . . . 22
+ 7.2. Event Propagation Timing . . . . . . . . . . . . . . . . 23
+ 7.3. Impact of Clos Topology Fan-Outs . . . . . . . . . . . . 24
+ 7.4. Failure Impact Scope . . . . . . . . . . . . . . . . . . 24
+ 7.5. Routing Micro-Loops . . . . . . . . . . . . . . . . . . . 26
+ 8. Additional Options for Design . . . . . . . . . . . . . . . . 26
+ 8.1. Third-Party Route Injection . . . . . . . . . . . . . . . 26
+ 8.2. Route Summarization within Clos Topology . . . . . . . . 27
+ 8.2.1. Collapsing Tier 1 Devices Layer . . . . . . . . . . . 27
+ 8.2.2. Simple Virtual Aggregation . . . . . . . . . . . . . 29
+ 8.3. ICMP Unreachable Message Masquerading . . . . . . . . . . 29
+ 9. Security Considerations . . . . . . . . . . . . . . . . . . . 30
+ 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 30
+ 10.1. Normative References . . . . . . . . . . . . . . . . . . 30
+ 10.2. Informative References . . . . . . . . . . . . . . . . . 31
+ Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 35
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35
+
+1. Introduction
+
+ This document describes a practical routing design that can be used
+ in a large-scale data center (DC) design. Such data centers, also
+ known as "hyper-scale" or "warehouse-scale" data centers, have a
+ unique attribute of supporting over a hundred thousand servers. In
+ order to accommodate networks of this scale, operators are revisiting
+ networking designs and platforms to address this need.
+
+ The design presented in this document is based on operational
+ experience with data centers built to support large-scale distributed
+ software infrastructure, such as a web search engine. The primary
+ requirements in such an environment are operational simplicity and
+ network stability so that a small group of people can effectively
+ support a significantly sized network.
+
+ Experimentation and extensive testing have shown that External BGP
+ (EBGP) [RFC4271] is well suited as a stand-alone routing protocol for
+ these types of data center applications. This is in contrast with
+ more traditional DC designs, which may use simple tree topologies and
+ rely on extending Layer 2 (L2) domains across multiple network
+ devices. This document elaborates on the requirements that led to
+ this design choice and presents details of the EBGP routing design as
+ well as exploring ideas for further enhancements.
+
+ This document first presents an overview of network design
+ requirements and considerations for large-scale data centers. Then,
+ traditional hierarchical data center network topologies are
+ contrasted with Clos networks [CLOS1953] that are horizontally scaled
+
+
+
+Lapukhov, et al. Informational [Page 3]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ out. This is followed by arguments for selecting EBGP with a Clos
+ topology as the most appropriate routing protocol to meet the
+ requirements and the proposed design is described in detail.
+ Finally, this document reviews some additional considerations and
+ design options. A thorough understanding of BGP is assumed by a
+ reader planning on deploying the design described within the
+ document.
+
+2. Network Design Requirements
+
+ This section describes and summarizes network design requirements for
+ large-scale data centers.
+
+2.1. Bandwidth and Traffic Patterns
+
+ The primary requirement when building an interconnection network for
+ a large number of servers is to accommodate application bandwidth and
+ latency requirements. Until recently it was quite common to see the
+ majority of traffic entering and leaving the data center, commonly
+ referred to as "north-south" traffic. Traditional "tree" topologies
+ were sufficient to accommodate such flows, even with high
+ oversubscription ratios between the layers of the network. If more
+ bandwidth was required, it was added by "scaling up" the network
+ elements, e.g., by upgrading the device's linecards or fabrics or
+ replacing the device with one with higher port density.
+
+ Today many large-scale data centers host applications generating
+ significant amounts of server-to-server traffic, which does not
+ egress the DC, commonly referred to as "east-west" traffic. Examples
+ of such applications could be computer clusters such as Hadoop
+ [HADOOP], massive data replication between clusters needed by certain
+ applications, or virtual machine migrations. Scaling traditional
+ tree topologies to match these bandwidth demands becomes either too
+ expensive or impossible due to physical limitations, e.g., port
+ density in a switch.
+
+2.2. CAPEX Minimization
+
+ The Capital Expenditures (CAPEX) associated with the network
+ infrastructure alone constitutes about 10-15% of total data center
+ expenditure (see [GREENBERG2009]). However, the absolute cost is
+ significant, and hence there is a need to constantly drive down the
+ cost of individual network elements. This can be accomplished in two
+ ways:
+
+ o Unifying all network elements, preferably using the same hardware
+ type or even the same device. This allows for volume pricing on
+ bulk purchases and reduced maintenance and inventory costs.
+
+
+
+Lapukhov, et al. Informational [Page 4]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ o Driving costs down using competitive pressures, by introducing
+ multiple network equipment vendors.
+
+ In order to allow for good vendor diversity, it is important to
+ minimize the software feature requirements for the network elements.
+ This strategy provides maximum flexibility of vendor equipment
+ choices while enforcing interoperability using open standards.
+
+2.3. OPEX Minimization
+
+ Operating large-scale infrastructure can be expensive as a larger
+ amount of elements will statistically fail more often. Having a
+ simpler design and operating using a limited software feature set
+ minimizes software issue-related failures.
+
+ An important aspect of Operational Expenditure (OPEX) minimization is
+ reducing the size of failure domains in the network. Ethernet
+ networks are known to be susceptible to broadcast or unicast traffic
+ storms that can have a dramatic impact on network performance and
+ availability. The use of a fully routed design significantly reduces
+ the size of the data-plane failure domains, i.e., limits them to the
+ lowest level in the network hierarchy. However, such designs
+ introduce the problem of distributed control-plane failures. This
+ observation calls for simpler and less control-plane protocols to
+ reduce protocol interaction issues, reducing the chance of a network
+ meltdown. Minimizing software feature requirements as described in
+ the CAPEX section above also reduces testing and training
+ requirements.
+
+2.4. Traffic Engineering
+
+ In any data center, application load balancing is a critical function
+ performed by network devices. Traditionally, load balancers are
+ deployed as dedicated devices in the traffic forwarding path. The
+ problem arises in scaling load balancers under growing traffic
+ demand. A preferable solution would be able to scale the load-
+ balancing layer horizontally, by adding more of the uniform nodes and
+ distributing incoming traffic across these nodes. In situations like
+ this, an ideal choice would be to use network infrastructure itself
+ to distribute traffic across a group of load balancers. The
+ combination of anycast prefix advertisement [RFC4786] and Equal Cost
+ Multipath (ECMP) functionality can be used to accomplish this goal.
+ To allow for more granular load distribution, it is beneficial for
+ the network to support the ability to perform controlled per-hop
+ traffic engineering. For example, it is beneficial to directly
+ control the ECMP next-hop set for anycast prefixes at every level of
+ the network hierarchy.
+
+
+
+
+Lapukhov, et al. Informational [Page 5]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+2.5. Summarized Requirements
+
+ This section summarizes the list of requirements outlined in the
+ previous sections:
+
+ o REQ1: Select a topology that can be scaled "horizontally" by
+ adding more links and network devices of the same type without
+ requiring upgrades to the network elements themselves.
+
+ o REQ2: Define a narrow set of software features/protocols supported
+ by a multitude of networking equipment vendors.
+
+ o REQ3: Choose a routing protocol that has a simple implementation
+ in terms of programming code complexity and ease of operational
+ support.
+
+ o REQ4: Minimize the failure domain of equipment or protocol issues
+ as much as possible.
+
+ o REQ5: Allow for some traffic engineering, preferably via explicit
+ control of the routing prefix next hop using built-in protocol
+ mechanics.
+
+3. Data Center Topologies Overview
+
+ This section provides an overview of two general types of data center
+ designs -- hierarchical (also known as "tree-based") and Clos-based
+ network designs.
+
+3.1. Traditional DC Topology
+
+ In the networking industry, a common design choice for data centers
+ typically looks like an (upside down) tree with redundant uplinks and
+ three layers of hierarchy namely; core, aggregation/distribution, and
+ access layers (see Figure 1). To accommodate bandwidth demands, each
+ higher layer, from the server towards DC egress or WAN, has higher
+ port density and bandwidth capacity where the core functions as the
+ "trunk" of the tree-based design. To keep terminology uniform and
+ for comparison with other designs, in this document these layers will
+ be referred to as Tier 1, Tier 2 and Tier 3 "tiers", instead of core,
+ aggregation, or access layers.
+
+
+
+
+
+
+
+
+
+
+Lapukhov, et al. Informational [Page 6]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ +------+ +------+
+ | | | |
+ | |--| | Tier 1
+ | | | |
+ +------+ +------+
+ | | | |
+ +---------+ | | +----------+
+ | +-------+--+------+--+-------+ |
+ | | | | | | | |
+ +----+ +----+ +----+ +----+
+ | | | | | | | |
+ | |-----| | | |-----| | Tier 2
+ | | | | | | | |
+ +----+ +----+ +----+ +----+
+ | | | |
+ | | | |
+ | +-----+ | | +-----+ |
+ +-| |-+ +-| |-+ Tier 3
+ +-----+ +-----+
+ | | | | | |
+ <- Servers -> <- Servers ->
+
+ Figure 1: Typical DC Network Topology
+
+ Unfortunately, as noted previously, it is not possible to scale a
+ tree-based design to a large enough degree for handling large-scale
+ designs due to the inability to be able to acquire Tier 1 devices
+ with a large enough port density to sufficiently scale Tier 2. Also,
+ continuous upgrades or replacement of the upper-tier devices are
+ required as deployment size or bandwidth requirements increase, which
+ is operationally complex. For this reason, REQ1 is in place,
+ eliminating this type of design from consideration.
+
+3.2. Clos Network Topology
+
+ This section describes a common design for horizontally scalable
+ topology in large-scale data centers in order to meet REQ1.
+
+3.2.1. Overview
+
+ A common choice for a horizontally scalable topology is a folded Clos
+ topology, sometimes called "fat-tree" (for example, [INTERCON] and
+ [ALFARES2008]). This topology features an odd number of stages
+ (sometimes known as "dimensions") and is commonly made of uniform
+ elements, e.g., network switches with the same port count.
+ Therefore, the choice of folded Clos topology satisfies REQ1 and
+
+
+
+
+
+Lapukhov, et al. Informational [Page 7]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ facilitates REQ2. See Figure 2 below for an example of a folded
+ 3-stage Clos topology (3 stages counting Tier 2 stage twice, when
+ tracing a packet flow):
+
+ +-------+
+ | |----------------------------+
+ | |------------------+ |
+ | |--------+ | |
+ +-------+ | | |
+ +-------+ | | |
+ | |--------+---------+-------+ |
+ | |--------+-------+ | | |
+ | |------+ | | | | |
+ +-------+ | | | | | |
+ +-------+ | | | | | |
+ | |------+-+-------+-+-----+ | |
+ | |------+-+-----+ | | | | |
+ | |----+ | | | | | | | |
+ +-------+ | | | | | | ---------> M links
+ Tier 1 | | | | | | | | |
+ +-------+ +-------+ +-------+
+ | | | | | |
+ | | | | | | Tier 2
+ | | | | | |
+ +-------+ +-------+ +-------+
+ | | | | | | | | |
+ | | | | | | ---------> N Links
+ | | | | | | | | |
+ O O O O O O O O O Servers
+
+ Figure 2: 3-Stage Folded Clos Topology
+
+ This topology is often also referred to as a "Leaf and Spine"
+ network, where "Spine" is the name given to the middle stage of the
+ Clos topology (Tier 1) and "Leaf" is the name of input/output stage
+ (Tier 2). For uniformity, this document will refer to these layers
+ using the "Tier n" notation.
+
+3.2.2. Clos Topology Properties
+
+ The following are some key properties of the Clos topology:
+
+ o The topology is fully non-blocking, or more accurately non-
+ interfering, if M >= N and oversubscribed by a factor of N/M
+ otherwise. Here M and N is the uplink and downlink port count
+ respectively, for a Tier 2 switch as shown in Figure 2.
+
+
+
+
+
+Lapukhov, et al. Informational [Page 8]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ o Utilizing this topology requires control and data-plane support
+ for ECMP with a fan-out of M or more.
+
+ o Tier 1 switches have exactly one path to every server in this
+ topology. This is an important property that makes route
+ summarization dangerous in this topology (see Section 8.2 below).
+
+ o Traffic flowing from server to server is load balanced over all
+ available paths using ECMP.
+
+3.2.3. Scaling the Clos Topology
+
+ A Clos topology can be scaled either by increasing network element
+ port density or by adding more stages, e.g., moving to a 5-stage
+ Clos, as illustrated in Figure 3 below:
+
+ Tier 1
+ +-----+
+ Cluster | |
+ +----------------------------+ +--| |--+
+ | | | +-----+ |
+ | Tier 2 | | | Tier 2
+ | +-----+ | | +-----+ | +-----+
+ | +-------------| DEV |------+--| |--+--| |-------------+
+ | | +-----| C |------+ | | +--| |-----+ |
+ | | | +-----+ | +-----+ +-----+ | |
+ | | | | | |
+ | | | +-----+ | +-----+ +-----+ | |
+ | | +-----------| DEV |------+ | | +--| |-----------+ |
+ | | | | +---| D |------+--| |--+--| |---+ | | |
+ | | | | | +-----+ | | +-----+ | +-----+ | | | |
+ | | | | | | | | | | | |
+ | +-----+ +-----+ | | +-----+ | +-----+ +-----+
+ | | DEV | | DEV | | +--| |--+ | | | |
+ | | A | | B | Tier 3 | | | Tier 3 | | | |
+ | +-----+ +-----+ | +-----+ +-----+ +-----+
+ | | | | | | | | | |
+ | O O O O | O O O O
+ | Servers | Servers
+ +----------------------------+
+
+ Figure 3: 5-Stage Clos Topology
+
+ The small example of topology in Figure 3 is built from devices with
+ a port count of 4. In this document, one set of directly connected
+ Tier 2 and Tier 3 devices along with their attached servers will be
+ referred to as a "cluster". For example, DEV A, B, C, D, and the
+ servers that connect to DEV A and B, on Figure 3 form a cluster. The
+
+
+
+Lapukhov, et al. Informational [Page 9]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ concept of a cluster may also be a useful concept as a single
+ deployment or maintenance unit that can be operated on at a different
+ frequency than the entire topology.
+
+ In practice, Tier 3 of the network, which is typically Top-of-Rack
+ switches (ToRs), is where oversubscription is introduced to allow for
+ packaging of more servers in the data center while meeting the
+ bandwidth requirements for different types of applications. The main
+ reason to limit oversubscription at a single layer of the network is
+ to simplify application development that would otherwise need to
+ account for multiple bandwidth pools: within rack (Tier 3), between
+ racks (Tier 2), and between clusters (Tier 1). Since
+ oversubscription does not have a direct relationship to the routing
+ design, it is not discussed further in this document.
+
+3.2.4. Managing the Size of Clos Topology Tiers
+
+ If a data center network size is small, it is possible to reduce the
+ number of switches in Tier 1 or Tier 2 of a Clos topology by a factor
+ of two. To understand how this could be done, take Tier 1 as an
+ example. Every Tier 2 device connects to a single group of Tier 1
+ devices. If half of the ports on each of the Tier 1 devices are not
+ being used, then it is possible to reduce the number of Tier 1
+ devices by half and simply map two uplinks from a Tier 2 device to
+ the same Tier 1 device that were previously mapped to different Tier
+ 1 devices. This technique maintains the same bandwidth while
+ reducing the number of elements in Tier 1, thus saving on CAPEX. The
+ tradeoff, in this example, is the reduction of maximum DC size in
+ terms of overall server count by half.
+
+ In this example, Tier 2 devices will be using two parallel links to
+ connect to each Tier 1 device. If one of these links fails, the
+ other will pick up all traffic of the failed link, possibly resulting
+ in heavy congestion and quality of service degradation if the path
+ determination procedure does not take bandwidth amount into account,
+ since the number of upstream Tier 1 devices is likely wider than two.
+ To avoid this situation, parallel links can be grouped in link
+ aggregation groups (LAGs), e.g., [IEEE8023AD], with widely available
+ implementation settings that take the whole "bundle" down upon a
+ single link failure. Equivalent techniques that enforce "fate
+ sharing" on the parallel links can be used in place of LAGs to
+ achieve the same effect. As a result of such fate-sharing, traffic
+ from two or more failed links will be rebalanced over the multitude
+ of remaining paths that equals the number of Tier 1 devices. This
+ example is using two links for simplicity, having more links in a
+ bundle will have less impact on capacity upon a member-link failure.
+
+
+
+
+
+Lapukhov, et al. Informational [Page 10]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+4. Data Center Routing Overview
+
+ This section provides an overview of three general types of data
+ center protocol designs -- Layer 2 only, Hybrid Layer L2/L3, and
+ Layer 3 only.
+
+4.1. L2-Only Designs
+
+ Originally, most data center designs used Spanning Tree Protocol
+ (STP) originally defined in [IEEE8021D-1990] for loop-free topology
+ creation, typically utilizing variants of the traditional DC topology
+ described in Section 3.1. At the time, many DC switches either did
+ not support Layer 3 routing protocols or supported them with
+ additional licensing fees, which played a part in the design choice.
+ Although many enhancements have been made through the introduction of
+ Rapid Spanning Tree Protocol (RSTP) in the latest revision of
+ [IEEE8021D-2004] and Multiple Spanning Tree Protocol (MST) specified
+ in [IEEE8021Q] that increase convergence, stability, and load-
+ balancing in larger topologies, many of the fundamentals of the
+ protocol limit its applicability in large-scale DCs. STP and its
+ newer variants use an active/standby approach to path selection, and
+ are therefore hard to deploy in horizontally scaled topologies as
+ described in Section 3.2. Further, operators have had many
+ experiences with large failures due to issues caused by improper
+ cabling, misconfiguration, or flawed software on a single device.
+ These failures regularly affected the entire spanning-tree domain and
+ were very hard to troubleshoot due to the nature of the protocol.
+ For these reasons, and since almost all DC traffic is now IP,
+ therefore requiring a Layer 3 routing protocol at the network edge
+ for external connectivity, designs utilizing STP usually fail all of
+ the requirements of large-scale DC operators. Various enhancements
+ to link-aggregation protocols such as [IEEE8023AD], generally known
+ as Multi-Chassis Link-Aggregation (M-LAG) made it possible to use
+ Layer 2 designs with active-active network paths while relying on STP
+ as the backup for loop prevention. The major downsides of this
+ approach are the lack of ability to scale linearly past two in most
+ implementations, lack of standards-based implementations, and the
+ added failure domain risk of syncing state between the devices.
+
+ It should be noted that building large, horizontally scalable,
+ L2-only networks without STP is possible recently through the
+ introduction of the Transparent Interconnection of Lots of Links
+ (TRILL) protocol in [RFC6325]. TRILL resolves many of the issues STP
+ has for large-scale DC design however, due to the limited number of
+ implementations, and often the requirement for specific equipment
+ that supports it, this has limited its applicability and increased
+ the cost of such designs.
+
+
+
+
+Lapukhov, et al. Informational [Page 11]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ Finally, neither the base TRILL specification nor the M-LAG approach
+ totally eliminate the problem of the shared broadcast domain that is
+ so detrimental to the operations of any Layer 2, Ethernet-based
+ solution. Later TRILL extensions have been proposed to solve the
+ this problem statement, primarily based on the approaches outlined in
+ [RFC7067], but this even further limits the number of available
+ interoperable implementations that can be used to build a fabric.
+ Therefore, TRILL-based designs have issues meeting REQ2, REQ3, and
+ REQ4.
+
+4.2. Hybrid L2/L3 Designs
+
+ Operators have sought to limit the impact of data-plane faults and
+ build large-scale topologies through implementing routing protocols
+ in either the Tier 1 or Tier 2 parts of the network and dividing the
+ Layer 2 domain into numerous, smaller domains. This design has
+ allowed data centers to scale up, but at the cost of complexity in
+ managing multiple network protocols. For the following reasons,
+ operators have retained Layer 2 in either the access (Tier 3) or both
+ access and aggregation (Tier 3 and Tier 2) parts of the network:
+
+ o Supporting legacy applications that may require direct Layer 2
+ adjacency or use non-IP protocols.
+
+ o Seamless mobility for virtual machines that require the
+ preservation of IP addresses when a virtual machine moves to a
+ different Tier 3 switch.
+
+ o Simplified IP addressing = less IP subnets are required for the
+ data center.
+
+ o Application load balancing may require direct Layer 2 reachability
+ to perform certain functions such as Layer 2 Direct Server Return
+ (DSR). See [L3DSR].
+
+ o Continued CAPEX differences between L2- and L3-capable switches.
+
+4.3. L3-Only Designs
+
+ Network designs that leverage IP routing down to Tier 3 of the
+ network have gained popularity as well. The main benefit of these
+ designs is improved network stability and scalability, as a result of
+ confining L2 broadcast domains. Commonly, an Interior Gateway
+ Protocol (IGP) such as Open Shortest Path First (OSPF) [RFC2328] is
+ used as the primary routing protocol in such a design. As data
+ centers grow in scale, and server count exceeds tens of thousands,
+ such fully routed designs have become more attractive.
+
+
+
+
+Lapukhov, et al. Informational [Page 12]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ Choosing a L3-only design greatly simplifies the network,
+ facilitating the meeting of REQ1 and REQ2, and has widespread
+ adoption in networks where large Layer 2 adjacency and larger size
+ Layer 3 subnets are not as critical compared to network scalability
+ and stability. Application providers and network operators continue
+ to develop new solutions to meet some of the requirements that
+ previously had driven large Layer 2 domains by using various overlay
+ or tunneling techniques.
+
+5. Routing Protocol Design
+
+ In this section, the motivations for using External BGP (EBGP) as the
+ single routing protocol for data center networks having a Layer 3
+ protocol design and Clos topology are reviewed. Then, a practical
+ approach for designing an EBGP-based network is provided.
+
+5.1. Choosing EBGP as the Routing Protocol
+
+ REQ2 would give preference to the selection of a single routing
+ protocol to reduce complexity and interdependencies. While it is
+ common to rely on an IGP in this situation, sometimes with either the
+ addition of EBGP at the device bordering the WAN or Internal BGP
+ (IBGP) throughout, this document proposes the use of an EBGP-only
+ design.
+
+ Although EBGP is the protocol used for almost all Inter-Domain
+ Routing in the Internet and has wide support from both vendor and
+ service provider communities, it is not generally deployed as the
+ primary routing protocol within the data center for a number of
+ reasons (some of which are interrelated):
+
+ o BGP is perceived as a "WAN-only, protocol-only" and not often
+ considered for enterprise or data center applications.
+
+ o BGP is believed to have a "much slower" routing convergence
+ compared to IGPs.
+
+ o Large-scale BGP deployments typically utilize an IGP for BGP next-
+ hop resolution as all nodes in the IBGP topology are not directly
+ connected.
+
+ o BGP is perceived to require significant configuration overhead and
+ does not support neighbor auto-discovery.
+
+
+
+
+
+
+
+
+Lapukhov, et al. Informational [Page 13]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ This document discusses some of these perceptions, especially as
+ applicable to the proposed design, and highlights some of the
+ advantages of using the protocol such as:
+
+ o BGP has less complexity in parts of its protocol design --
+ internal data structures and state machine are simpler as compared
+ to most link-state IGPs such as OSPF. For example, instead of
+ implementing adjacency formation, adjacency maintenance and/or
+ flow-control, BGP simply relies on TCP as the underlying
+ transport. This fulfills REQ2 and REQ3.
+
+ o BGP information flooding overhead is less when compared to link-
+ state IGPs. Since every BGP router calculates and propagates only
+ the best-path selected, a network failure is masked as soon as the
+ BGP speaker finds an alternate path, which exists when highly
+ symmetric topologies, such as Clos, are coupled with an EBGP-only
+ design. In contrast, the event propagation scope of a link-state
+ IGP is an entire area, regardless of the failure type. In this
+ way, BGP better meets REQ3 and REQ4. It is also worth mentioning
+ that all widely deployed link-state IGPs feature periodic
+ refreshes of routing information while BGP does not expire routing
+ state, although this rarely impacts modern router control planes.
+
+ o BGP supports third-party (recursively resolved) next hops. This
+ allows for manipulating multipath to be non-ECMP-based or
+ forwarding-based on application-defined paths, through
+ establishment of a peering session with an application
+ "controller" that can inject routing information into the system,
+ satisfying REQ5. OSPF provides similar functionality using
+ concepts such as "Forwarding Address", but with more difficulty in
+ implementation and far less control of information propagation
+ scope.
+
+ o Using a well-defined Autonomous System Number (ASN) allocation
+ scheme and standard AS_PATH loop detection, "BGP path hunting"
+ (see [JAKMA2008]) can be controlled and complex unwanted paths
+ will be ignored. See Section 5.2 for an example of a working ASN
+ allocation scheme. In a link-state IGP, accomplishing the same
+ goal would require multi-(instance/topology/process) support,
+ typically not available in all DC devices and quite complex to
+ configure and troubleshoot. Using a traditional single flooding
+ domain, which most DC designs utilize, under certain failure
+ conditions may pick up unwanted lengthy paths, e.g., traversing
+ multiple Tier 2 devices.
+
+
+
+
+
+
+
+Lapukhov, et al. Informational [Page 14]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ o EBGP configuration that is implemented with minimal routing policy
+ is easier to troubleshoot for network reachability issues. In
+ most implementations, it is straightforward to view contents of
+ the BGP Loc-RIB and compare it to the router's Routing Information
+ Base (RIB). Also, in most implementations, an operator can view
+ every BGP neighbors Adj-RIB-In and Adj-RIB-Out structures, and
+ therefore incoming and outgoing Network Layer Reachability
+ Information (NLRI) information can be easily correlated on both
+ sides of a BGP session. Thus, BGP satisfies REQ3.
+
+5.2. EBGP Configuration for Clos Topology
+
+ Clos topologies that have more than 5 stages are very uncommon due to
+ the large numbers of interconnects required by such a design.
+ Therefore, the examples below are made with reference to the 5-stage
+ Clos topology (in unfolded state).
+
+5.2.1. EBGP Configuration Guidelines and Example ASN Scheme
+
+ The diagram below illustrates an example of an ASN allocation scheme.
+ The following is a list of guidelines that can be used:
+
+ o EBGP single-hop sessions are established over direct point-to-
+ point links interconnecting the network nodes, no multi-hop or
+ loopback sessions are used, even in the case of multiple links
+ between the same pair of nodes.
+
+ o Private Use ASNs from the range 64512-65534 are used to avoid ASN
+ conflicts.
+
+ o A single ASN is allocated to all of the Clos topology's Tier 1
+ devices.
+
+ o A unique ASN is allocated to each set of Tier 2 devices in the
+ same cluster.
+
+ o A unique ASN is allocated to every Tier 3 device (e.g., ToR) in
+ this topology.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Lapukhov, et al. Informational [Page 15]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ ASN 65534
+ +---------+
+ | +-----+ |
+ | | | |
+ +-|-| |-|-+
+ | | +-----+ | |
+ ASN 646XX | | | | ASN 646XX
+ +---------+ | | | | +---------+
+ | +-----+ | | | +-----+ | | | +-----+ |
+ +-----------|-| |-|-+-|-| |-|-+-|-| |-|-----------+
+ | +---|-| |-|-+ | | | | +-|-| |-|---+ |
+ | | | +-----+ | | +-----+ | | +-----+ | | |
+ | | | | | | | | | |
+ | | | | | | | | | |
+ | | | +-----+ | | +-----+ | | +-----+ | | |
+ | +-----+---|-| |-|-+ | | | | +-|-| |-|---+-----+ |
+ | | | +-|-| |-|-+-|-| |-|-+-|-| |-|-+ | | |
+ | | | | | +-----+ | | | +-----+ | | | +-----+ | | | | |
+ | | | | +---------+ | | | | +---------+ | | | |
+ | | | | | | | | | | | |
+ +-----+ +-----+ | | +-----+ | | +-----+ +-----+
+ | ASN | | | +-|-| |-|-+ | | | |
+ |65YYY| | ... | | | | | | ... | | ... |
+ +-----+ +-----+ | +-----+ | +-----+ +-----+
+ | | | | +---------+ | | | |
+ O O O O <- Servers -> O O O O
+
+ Figure 4: BGP ASN Layout for 5-Stage Clos
+
+5.2.2. Private Use ASNs
+
+ The original range of Private Use ASNs [RFC6996] limited operators to
+ 1023 unique ASNs. Since it is quite likely that the number of
+ network devices may exceed this number, a workaround is required.
+ One approach is to re-use the ASNs assigned to the Tier 3 devices
+ across different clusters. For example, Private Use ASNs 65001,
+ 65002 ... 65032 could be used within every individual cluster and
+ assigned to Tier 3 devices.
+
+ To avoid route suppression due to the AS_PATH loop detection
+ mechanism in BGP, upstream EBGP sessions on Tier 3 devices must be
+ configured with the "Allowas-in" feature [ALLOWASIN] that allows
+ accepting a device's own ASN in received route advertisements.
+ Although this feature is not standardized, it is widely available
+ across multiple vendors implementations. Introducing this feature
+ does not make routing loops more likely in the design since the
+ AS_PATH is being added to by routers at each of the topology tiers
+ and AS_PATH length is an early tie breaker in the BGP path selection
+
+
+
+Lapukhov, et al. Informational [Page 16]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ process. Further loop protection is still in place at the Tier 1
+ device, which will not accept routes with a path including its own
+ ASN. Tier 2 devices do not have direct connectivity with each other.
+
+ Another solution to this problem would be to use Four-Octet ASNs
+ ([RFC6793]), where there are additional Private Use ASNs available,
+ see [IANA.AS]. Use of Four-Octet ASNs puts additional protocol
+ complexity in the BGP implementation and should be balanced against
+ the complexity of re-use when considering REQ3 and REQ4. Perhaps
+ more importantly, they are not yet supported by all BGP
+ implementations, which may limit vendor selection of DC equipment.
+ When supported, ensure that deployed implementations are able to
+ remove the Private Use ASNs when external connectivity
+ (Section 5.2.4) to these ASNs is required.
+
+5.2.3. Prefix Advertisement
+
+ A Clos topology features a large number of point-to-point links and
+ associated prefixes. Advertising all of these routes into BGP may
+ create Forwarding Information Base (FIB) overload in the network
+ devices. Advertising these links also puts additional path
+ computation stress on the BGP control plane for little benefit.
+ There are two possible solutions:
+
+ o Do not advertise any of the point-to-point links into BGP. Since
+ the EBGP-based design changes the next-hop address at every
+ device, distant networks will automatically be reachable via the
+ advertising EBGP peer and do not require reachability to these
+ prefixes. However, this may complicate operations or monitoring:
+ e.g., using the popular "traceroute" tool will display IP
+ addresses that are not reachable.
+
+ o Advertise point-to-point links, but summarize them on every
+ device. This requires an address allocation scheme such as
+ allocating a consecutive block of IP addresses per Tier 1 and Tier
+ 2 device to be used for point-to-point interface addressing to the
+ lower layers (Tier 2 uplinks will be allocated from Tier 1 address
+ blocks and so forth).
+
+ Server subnets on Tier 3 devices must be announced into BGP without
+ using route summarization on Tier 2 and Tier 1 devices. Summarizing
+ subnets in a Clos topology results in route black-holing under a
+ single link failure (e.g., between Tier 2 and Tier 3 devices), and
+ hence must be avoided. The use of peer links within the same tier to
+ resolve the black-holing problem by providing "bypass paths" is
+ undesirable due to O(N^2) complexity of the peering-mesh and waste of
+ ports on the devices. An alternative to the full mesh of peer links
+ would be to use a simpler bypass topology, e.g., a "ring" as
+
+
+
+Lapukhov, et al. Informational [Page 17]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ described in [FB4POST], but such a topology adds extra hops and has
+ limited bandwidth. It may require special tweaks to make BGP routing
+ work, e.g., splitting every device into an ASN of its own. Later in
+ this document, Section 8.2 introduces a less intrusive method for
+ performing a limited form of route summarization in Clos networks and
+ discusses its associated tradeoffs.
+
+5.2.4. External Connectivity
+
+ A dedicated cluster (or clusters) in the Clos topology could be used
+ for the purpose of connecting to the Wide Area Network (WAN) edge
+ devices, or WAN Routers. Tier 3 devices in such a cluster would be
+ replaced with WAN routers, and EBGP peering would be used again,
+ though WAN routers are likely to belong to a public ASN if Internet
+ connectivity is required in the design. The Tier 2 devices in such a
+ dedicated cluster will be referred to as "Border Routers" in this
+ document. These devices have to perform a few special functions:
+
+ o Hide network topology information when advertising paths to WAN
+ routers, i.e., remove Private Use ASNs [RFC6996] from the AS_PATH
+ attribute. This is typically done to avoid ASN number collisions
+ between different data centers and also to provide a uniform
+ AS_PATH length to the WAN for purposes of WAN ECMP to anycast
+ prefixes originated in the topology. An implementation-specific
+ BGP feature typically called "Remove Private AS" is commonly used
+ to accomplish this. Depending on implementation, the feature
+ should strip a contiguous sequence of Private Use ASNs found in an
+ AS_PATH attribute prior to advertising the path to a neighbor.
+ This assumes that all ASNs used for intra data center numbering
+ are from the Private Use ranges. The process for stripping the
+ Private Use ASNs is not currently standardized, see [REMOVAL].
+ However, most implementations at least follow the logic described
+ in this vendor's document [VENDOR-REMOVE-PRIVATE-AS], which is
+ enough for the design specified.
+
+ o Originate a default route to the data center devices. This is the
+ only place where a default route can be originated, as route
+ summarization is risky for the unmodified Clos topology.
+ Alternatively, Border Routers may simply relay the default route
+ learned from WAN routers. Advertising the default route from
+ Border Routers requires that all Border Routers be fully connected
+ to the WAN Routers upstream, to provide resistance to a single-
+ link failure causing the black-holing of traffic. To prevent
+ black-holing in the situation when all of the EBGP sessions to the
+ WAN routers fail simultaneously on a given device, it is more
+ desirable to readvertise the default route rather than originating
+ the default route via complicated conditional route origination
+ schemes provided by some implementations [CONDITIONALROUTE].
+
+
+
+Lapukhov, et al. Informational [Page 18]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+5.2.5. Route Summarization at the Edge
+
+ It is often desirable to summarize network reachability information
+ prior to advertising it to the WAN network due to the high amount of
+ IP prefixes originated from within the data center in a fully routed
+ network design. For example, a network with 2000 Tier 3 devices will
+ have at least 2000 servers subnets advertised into BGP, along with
+ the infrastructure prefixes. However, as discussed in Section 5.2.3,
+ the proposed network design does not allow for route summarization
+ due to the lack of peer links inside every tier.
+
+ However, it is possible to lift this restriction for the Border
+ Routers by devising a different connectivity model for these devices.
+ There are two options possible:
+
+ o Interconnect the Border Routers using a full-mesh of physical
+ links or using any other "peer-mesh" topology, such as ring or
+ hub-and-spoke. Configure BGP accordingly on all Border Leafs to
+ exchange network reachability information, e.g., by adding a mesh
+ of IBGP sessions. The interconnecting peer links need to be
+ appropriately sized for traffic that will be present in the case
+ of a device or link failure in the mesh connecting the Border
+ Routers.
+
+ o Tier 1 devices may have additional physical links provisioned
+ toward the Border Routers (which are Tier 2 devices from the
+ perspective of Tier 1). Specifically, if protection from a single
+ link or node failure is desired, each Tier 1 device would have to
+ connect to at least two Border Routers. This puts additional
+ requirements on the port count for Tier 1 devices and Border
+ Routers, potentially making it a nonuniform, larger port count,
+ device compared with the other devices in the Clos. This also
+ reduces the number of ports available to "regular" Tier 2
+ switches, and hence the number of clusters that could be
+ interconnected via Tier 1.
+
+ If any of the above options are implemented, it is possible to
+ perform route summarization at the Border Routers toward the WAN
+ network core without risking a routing black-hole condition under a
+ single link failure. Both of the options would result in nonuniform
+ topology as additional links have to be provisioned on some network
+ devices.
+
+
+
+
+
+
+
+
+
+Lapukhov, et al. Informational [Page 19]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+6. ECMP Considerations
+
+ This section covers the Equal Cost Multipath (ECMP) functionality for
+ Clos topology and discusses a few special requirements.
+
+6.1. Basic ECMP
+
+ ECMP is the fundamental load-sharing mechanism used by a Clos
+ topology. Effectively, every lower-tier device will use all of its
+ directly attached upper-tier devices to load-share traffic destined
+ to the same IP prefix. The number of ECMP paths between any two Tier
+ 3 devices in Clos topology is equal to the number of the devices in
+ the middle stage (Tier 1). For example, Figure 5 illustrates a
+ topology where Tier 3 device A has four paths to reach servers X and
+ Y, via Tier 2 devices B and C and then Tier 1 devices 1, 2, 3, and 4,
+ respectively.
+
+ Tier 1
+ +-----+
+ | DEV |
+ +->| 1 |--+
+ | +-----+ |
+ Tier 2 | | Tier 2
+ +-----+ | +-----+ | +-----+
+ +------------>| DEV |--+->| DEV |--+--| |-------------+
+ | +-----| B |--+ | 2 | +--| |-----+ |
+ | | +-----+ +-----+ +-----+ | |
+ | | | |
+ | | +-----+ +-----+ +-----+ | |
+ | +-----+---->| DEV |--+ | DEV | +--| |-----+-----+ |
+ | | | +---| C |--+->| 3 |--+--| |---+ | | |
+ | | | | +-----+ | +-----+ | +-----+ | | | |
+ | | | | | | | | | |
+ +-----+ +-----+ | +-----+ | +-----+ +-----+
+ | DEV | | | Tier 3 +->| DEV |--+ Tier 3 | | | |
+ | A | | | | 4 | | | | |
+ +-----+ +-----+ +-----+ +-----+ +-----+
+ | | | | | | | |
+ O O O O <- Servers -> X Y O O
+
+ Figure 5: ECMP Fan-Out Tree from A to X and Y
+
+ The ECMP requirement implies that the BGP implementation must support
+ multipath fan-out for up to the maximum number of devices directly
+ attached at any point in the topology in the upstream or downstream
+ direction. Normally, this number does not exceed half of the ports
+ found on a device in the topology. For example, an ECMP fan-out of
+ 32 would be required when building a Clos network using 64-port
+
+
+
+Lapukhov, et al. Informational [Page 20]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ devices. The Border Routers may need to have wider fan-out to be
+ able to connect to a multitude of Tier 1 devices if route
+ summarization at Border Router level is implemented as described in
+ Section 5.2.5. If a device's hardware does not support wider ECMP,
+ logical link-grouping (link-aggregation at Layer 2) could be used to
+ provide "hierarchical" ECMP (Layer 3 ECMP coupled with Layer 2 ECMP)
+ to compensate for fan-out limitations. However, this approach
+ increases the risk of flow polarization, as less entropy will be
+ available at the second stage of ECMP.
+
+ Most BGP implementations declare paths to be equal from an ECMP
+ perspective if they match up to and including step (e) in
+ Section 9.1.2.2 of [RFC4271]. In the proposed network design there
+ is no underlying IGP, so all IGP costs are assumed to be zero or
+ otherwise the same value across all paths and policies may be applied
+ as necessary to equalize BGP attributes that vary in vendor defaults,
+ such as the MULTI_EXIT_DISC (MED) attribute and origin code. For
+ historical reasons, it is also useful to not use 0 as the equalized
+ MED value; this and some other useful BGP information is available in
+ [RFC4277]. Routing loops are unlikely due to the BGP best-path
+ selection process (which prefers shorter AS_PATH length), and longer
+ paths through the Tier 1 devices (which don't allow their own ASN in
+ the path) are not possible.
+
+6.2. BGP ECMP over Multiple ASNs
+
+ For application load-balancing purposes, it is desirable to have the
+ same prefix advertised from multiple Tier 3 devices. From the
+ perspective of other devices, such a prefix would have BGP paths with
+ different AS_PATH attribute values, while having the same AS_PATH
+ attribute lengths. Therefore, BGP implementations must support load-
+ sharing over the above-mentioned paths. This feature is sometimes
+ known as "multipath relax" or "multipath multiple-AS" and effectively
+ allows for ECMP to be done across different neighboring ASNs if all
+ other attributes are equal as already described in the previous
+ section.
+
+6.3. Weighted ECMP
+
+ It may be desirable for the network devices to implement "weighted"
+ ECMP, to be able to send more traffic over some paths in ECMP fan-
+ out. This could be helpful to compensate for failures in the network
+ and send more traffic over paths that have more capacity. The
+ prefixes that require weighted ECMP would have to be injected using
+ remote BGP speaker (central agent) over a multi-hop session as
+ described further in Section 8.1. If support in implementations is
+ available, weight distribution for multiple BGP paths could be
+ signaled using the technique described in [LINK].
+
+
+
+Lapukhov, et al. Informational [Page 21]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+6.4. Consistent Hashing
+
+ It is often desirable to have the hashing function used for ECMP to
+ be consistent (see [CONS-HASH]), to minimize the impact on flow to
+ next-hop affinity changes when a next hop is added or removed to an
+ ECMP group. This could be used if the network device is used as a
+ load balancer, mapping flows toward multiple destinations -- in this
+ case, losing or adding a destination will not have a detrimental
+ effect on currently established flows. One particular recommendation
+ on implementing consistent hashing is provided in [RFC2992], though
+ other implementations are possible. This functionality could be
+ naturally combined with weighted ECMP, with the impact of the next
+ hop changes being proportional to the weight of the given next hop.
+ The downside of consistent hashing is increased load on hardware
+ resource utilization, as typically more resources (e.g., Ternary
+ Content-Addressable Memory (TCAM) space) are required to implement a
+ consistent-hashing function.
+
+7. Routing Convergence Properties
+
+ This section reviews routing convergence properties in the proposed
+ design. A case is made that sub-second convergence is achievable if
+ the implementation supports fast EBGP peering session deactivation
+ and timely RIB and FIB updates upon failure of the associated link.
+
+7.1. Fault Detection Timing
+
+ BGP typically relies on an IGP to route around link/node failures
+ inside an AS, and implements either a polling-based or an event-
+ driven mechanism to obtain updates on IGP state changes. The
+ proposed routing design does not use an IGP, so the remaining
+ mechanisms that could be used for fault detection are BGP keep-alive
+ time-out (or any other type of keep-alive mechanism) and link-failure
+ triggers.
+
+ Relying solely on BGP keep-alive packets may result in high
+ convergence delays, on the order of multiple seconds (on many BGP
+ implementations the minimum configurable BGP hold timer value is
+ three seconds). However, many BGP implementations can shut down
+ local EBGP peering sessions in response to the "link down" event for
+ the outgoing interface used for BGP peering. This feature is
+ sometimes called "fast fallover". Since links in modern data centers
+ are predominantly point-to-point fiber connections, a physical
+ interface failure is often detected in milliseconds and subsequently
+ triggers a BGP reconvergence.
+
+
+
+
+
+
+Lapukhov, et al. Informational [Page 22]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ Ethernet links may support failure signaling or detection standards
+ such as Connectivity Fault Management (CFM) as described in
+ [IEEE8021Q]; this may make failure detection more robust.
+ Alternatively, some platforms may support Bidirectional Forwarding
+ Detection (BFD) [RFC5880] to allow for sub-second failure detection
+ and fault signaling to the BGP process. However, the use of either
+ of these presents additional requirements to vendor software and
+ possibly hardware, and may contradict REQ1. Until recently with
+ [RFC7130], BFD also did not allow detection of a single member link
+ failure on a LAG, which would have limited its usefulness in some
+ designs.
+
+7.2. Event Propagation Timing
+
+ In the proposed design, the impact of the BGP
+ MinRouteAdvertisementIntervalTimer (MRAI timer), as specified in
+ Section 9.2.1.1 of [RFC4271], should be considered. Per the
+ standard, it is required for BGP implementations to space out
+ consecutive BGP UPDATE messages by at least MRAI seconds, which is
+ often a configurable value. The initial BGP UPDATE messages after an
+ event carrying withdrawn routes are commonly not affected by this
+ timer. The MRAI timer may present significant convergence delays
+ when a BGP speaker "waits" for the new path to be learned from its
+ peers and has no local backup path information.
+
+ In a Clos topology, each EBGP speaker typically has either one path
+ (Tier 2 devices don't accept paths from other Tier 2 in the same
+ cluster due to same ASN) or N paths for the same prefix, where N is a
+ significantly large number, e.g., N=32 (the ECMP fan-out to the next
+ tier). Therefore, if a link fails to another device from which a
+ path is received there is either no backup path at all (e.g., from
+ the perspective of a Tier 2 switch losing the link to a Tier 3
+ device), or the backup is readily available in BGP Loc-RIB (e.g.,
+ from the perspective of a Tier 2 device losing the link to a Tier 1
+ switch). In the former case, the BGP withdrawal announcement will
+ propagate without delay and trigger reconvergence on affected
+ devices. In the latter case, the best path will be re-evaluated, and
+ the local ECMP group corresponding to the new next-hop set will be
+ changed. If the BGP path was the best path selected previously, an
+ "implicit withdraw" will be sent via a BGP UPDATE message as
+ described as Option b in Section 3.1 of [RFC4271] due to the BGP
+ AS_PATH attribute changing.
+
+
+
+
+
+
+
+
+
+Lapukhov, et al. Informational [Page 23]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+7.3. Impact of Clos Topology Fan-Outs
+
+ Clos topology has large fan-outs, which may impact the "Up->Down"
+ convergence in some cases, as described in this section. In a
+ situation when a link between Tier 3 and Tier 2 device fails, the
+ Tier 2 device will send BGP UPDATE messages to all upstream Tier 1
+ devices, withdrawing the affected prefixes. The Tier 1 devices, in
+ turn, will relay these messages to all downstream Tier 2 devices
+ (except for the originator). Tier 2 devices other than the one
+ originating the UPDATE should then wait for ALL upstream Tier 1
+ devices to send an UPDATE message before removing the affected
+ prefixes and sending corresponding UPDATE downstream to connected
+ Tier 3 devices. If the original Tier 2 device or the relaying Tier 1
+ devices introduce some delay into their UPDATE message announcements,
+ the result could be UPDATE message "dispersion", that could be as
+ long as multiple seconds. In order to avoid such a behavior, BGP
+ implementations must support "update groups". The "update group" is
+ defined as a collection of neighbors sharing the same outbound policy
+ -- the local speaker will send BGP updates to the members of the
+ group synchronously.
+
+ The impact of such "dispersion" grows with the size of topology fan-
+ out and could also grow under network convergence churn. Some
+ operators may be tempted to introduce "route flap dampening" type
+ features that vendors include to reduce the control-plane impact of
+ rapidly flapping prefixes. However, due to issues described with
+ false positives in these implementations especially under such
+ "dispersion" events, it is not recommended to enable this feature in
+ this design. More background and issues with "route flap dampening"
+ and possible implementation changes that could affect this are well
+ described in [RFC7196].
+
+7.4. Failure Impact Scope
+
+ A network is declared to converge in response to a failure once all
+ devices within the failure impact scope are notified of the event and
+ have recalculated their RIBs and consequently updated their FIBs.
+ Larger failure impact scope typically means slower convergence since
+ more devices have to be notified, and results in a less stable
+ network. In this section, we describe BGP's advantages over link-
+ state routing protocols in reducing failure impact scope for a Clos
+ topology.
+
+ BGP behaves like a distance-vector protocol in the sense that only
+ the best path from the point of view of the local router is sent to
+ neighbors. As such, some failures are masked if the local node can
+ immediately find a backup path and does not have to send any updates
+ further. Notice that in the worst case, all devices in a data center
+
+
+
+Lapukhov, et al. Informational [Page 24]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ topology have to either withdraw a prefix completely or update the
+ ECMP groups in their FIBs. However, many failures will not result in
+ such a wide impact. There are two main failure types where impact
+ scope is reduced:
+
+ o Failure of a link between Tier 2 and Tier 1 devices: In this case,
+ a Tier 2 device will update the affected ECMP groups, removing the
+ failed link. There is no need to send new information to
+ downstream Tier 3 devices, unless the path was selected as best by
+ the BGP process, in which case only an "implicit withdraw" needs
+ to be sent and this should not affect forwarding. The affected
+ Tier 1 device will lose the only path available to reach a
+ particular cluster and will have to withdraw the associated
+ prefixes. Such a prefix withdrawal process will only affect Tier
+ 2 devices directly connected to the affected Tier 1 device. The
+ Tier 2 devices receiving the BGP UPDATE messages withdrawing
+ prefixes will simply have to update their ECMP groups. The Tier 3
+ devices are not involved in the reconvergence process.
+
+ o Failure of a Tier 1 device: In this case, all Tier 2 devices
+ directly attached to the failed node will have to update their
+ ECMP groups for all IP prefixes from a non-local cluster. The
+ Tier 3 devices are once again not involved in the reconvergence
+ process, but may receive "implicit withdraws" as described above.
+
+ Even in the case of such failures where multiple IP prefixes will
+ have to be reprogrammed in the FIB, it is worth noting that all of
+ these prefixes share a single ECMP group on a Tier 2 device.
+ Therefore, in the case of implementations with a hierarchical FIB,
+ only a single change has to be made to the FIB. "Hierarchical FIB"
+ here means FIB structure where the next-hop forwarding information is
+ stored separately from the prefix lookup table, and the latter only
+ stores pointers to the respective forwarding information. See
+ [BGP-PIC] for discussion of FIB hierarchies and fast convergence.
+
+ Even though BGP offers reduced failure scope for some cases, further
+ reduction of the fault domain using summarization is not always
+ possible with the proposed design, since using this technique may
+ create routing black-holes as mentioned previously. Therefore, the
+ worst failure impact scope on the control plane is the network as a
+ whole -- for instance, in the case of a link failure between Tier 2
+ and Tier 3 devices. The amount of impacted prefixes in this case
+ would be much less than in the case of a failure in the upper layers
+ of a Clos network topology. The property of having such large
+ failure scope is not a result of choosing EBGP in the design but
+ rather a result of using the Clos topology.
+
+
+
+
+
+Lapukhov, et al. Informational [Page 25]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+7.5. Routing Micro-Loops
+
+ When a downstream device, e.g., Tier 2 device, loses all paths for a
+ prefix, it normally has the default route pointing toward the
+ upstream device -- in this case, the Tier 1 device. As a result, it
+ is possible to get in the situation where a Tier 2 switch loses a
+ prefix, but a Tier 1 switch still has the path pointing to the Tier 2
+ device; this results in a transient micro-loop, since the Tier 1
+ switch will keep passing packets to the affected prefix back to the
+ Tier 2 device, and the Tier 2 will bounce them back again using the
+ default route. This micro-loop will last for the time it takes the
+ upstream device to fully update its forwarding tables.
+
+ To minimize impact of such micro-loops, Tier 2 and Tier 1 switches
+ can be configured with static "discard" or "null" routes that will be
+ more specific than the default route for prefixes missing during
+ network convergence. For Tier 2 switches, the discard route should
+ be a summary route, covering all server subnets of the underlying
+ Tier 3 devices. For Tier 1 devices, the discard route should be a
+ summary covering the server IP address subnets allocated for the
+ whole data center. Those discard routes will only take precedence
+ for the duration of network convergence, until the device learns a
+ more specific prefix via a new path.
+
+8. Additional Options for Design
+
+8.1. Third-Party Route Injection
+
+ BGP allows for a "third-party", i.e., a directly attached BGP
+ speaker, to inject routes anywhere in the network topology, meeting
+ REQ5. This can be achieved by peering via a multi-hop BGP session
+ with some or even all devices in the topology. Furthermore, BGP
+ diverse path distribution [RFC6774] could be used to inject multiple
+ BGP next hops for the same prefix to facilitate load balancing, or
+ using the BGP ADD-PATH capability [RFC7911] if supported by the
+ implementation. Unfortunately, in many implementations, ADD-PATH has
+ been found to only support IBGP properly in the use cases for which
+ it was originally optimized; this limits the "third-party" peering to
+ IBGP only.
+
+ To implement route injection in the proposed design, a third-party
+ BGP speaker may peer with Tier 3 and Tier 1 switches, injecting the
+ same prefix, but using a special set of BGP next hops for Tier 1
+ devices. Those next hops are assumed to resolve recursively via BGP,
+ and could be, for example, IP addresses on Tier 3 devices. The
+ resulting forwarding table programming could provide desired traffic
+ proportion distribution among different clusters.
+
+
+
+
+Lapukhov, et al. Informational [Page 26]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+8.2. Route Summarization within Clos Topology
+
+ As mentioned previously, route summarization is not possible within
+ the proposed Clos topology since it makes the network susceptible to
+ route black-holing under single link failures. The main problem is
+ the limited number of redundant paths between network elements, e.g.,
+ there is only a single path between any pair of Tier 1 and Tier 3
+ devices. However, some operators may find route aggregation
+ desirable to improve control-plane stability.
+
+ If any technique to summarize within the topology is planned,
+ modeling of the routing behavior and potential for black-holing
+ should be done not only for single or multiple link failures, but
+ also for fiber pathway failures or optical domain failures when the
+ topology extends beyond a physical location. Simple modeling can be
+ done by checking the reachability on devices doing summarization
+ under the condition of a link or pathway failure between a set of
+ devices in every tier as well as to the WAN routers when external
+ connectivity is present.
+
+ Route summarization would be possible with a small modification to
+ the network topology, though the tradeoff would be reduction of the
+ total size of the network as well as network congestion under
+ specific failures. This approach is very similar to the technique
+ described above, which allows Border Routers to summarize the entire
+ data center address space.
+
+8.2.1. Collapsing Tier 1 Devices Layer
+
+ In order to add more paths between Tier 1 and Tier 3 devices, group
+ Tier 2 devices into pairs, and then connect the pairs to the same
+ group of Tier 1 devices. This is logically equivalent to
+ "collapsing" Tier 1 devices into a group of half the size, merging
+ the links on the "collapsed" devices. The result is illustrated in
+ Figure 6. For example, in this topology DEV C and DEV D connect to
+ the same set of Tier 1 devices (DEV 1 and DEV 2), whereas before they
+ were connecting to different groups of Tier 1 devices.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Lapukhov, et al. Informational [Page 27]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ Tier 2 Tier 1 Tier 2
+ +-----+ +-----+ +-----+
+ +-------------| DEV |------| DEV |------| |-------------+
+ | +-----| C |--++--| 1 |--++--| |-----+ |
+ | | +-----+ || +-----+ || +-----+ | |
+ | | || || | |
+ | | +-----+ || +-----+ || +-----+ | |
+ | +-----+-----| DEV |--++--| DEV |--++--| |-----+-----+ |
+ | | | +---| D |------| 2 |------| |---+ | | |
+ | | | | +-----+ +-----+ +-----+ | | | |
+ | | | | | | | |
+ +-----+ +-----+ +-----+ +-----+
+ | DEV | | DEV | | | | |
+ | A | | B | Tier 3 Tier 3 | | | |
+ +-----+ +-----+ +-----+ +-----+
+ | | | | | | | |
+ O O O O <- Servers -> O O O O
+
+ Figure 6: 5-Stage Clos Topology
+
+ Having this design in place, Tier 2 devices may be configured to
+ advertise only a default route down to Tier 3 devices. If a link
+ between Tier 2 and Tier 3 fails, the traffic will be re-routed via
+ the second available path known to a Tier 2 switch. It is still not
+ possible to advertise a summary route covering prefixes for a single
+ cluster from Tier 2 devices since each of them has only a single path
+ down to this prefix. It would require dual-homed servers to
+ accomplish that. Also note that this design is only resilient to
+ single link failures. It is possible for a double link failure to
+ isolate a Tier 2 device from all paths toward a specific Tier 3
+ device, thus causing a routing black-hole.
+
+ A result of the proposed topology modification would be a reduction
+ of the port capacity of Tier 1 devices. This limits the maximum
+ number of attached Tier 2 devices, and therefore will limit the
+ maximum DC network size. A larger network would require different
+ Tier 1 devices that have higher port density to implement this
+ change.
+
+ Another problem is traffic rebalancing under link failures. Since
+ there are two paths from Tier 1 to Tier 3, a failure of the link
+ between Tier 1 and Tier 2 switch would result in all traffic that was
+ taking the failed link to switch to the remaining path. This will
+ result in doubling the link utilization on the remaining link.
+
+
+
+
+
+
+
+Lapukhov, et al. Informational [Page 28]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+8.2.2. Simple Virtual Aggregation
+
+ A completely different approach to route summarization is possible,
+ provided that the main goal is to reduce the FIB size, while allowing
+ the control plane to disseminate full routing information. Firstly,
+ it could be easily noted that in many cases multiple prefixes, some
+ of which are less specific, share the same set of the next hops (same
+ ECMP group). For example, from the perspective of Tier 3 devices,
+ all routes learned from upstream Tier 2 devices, including the
+ default route, will share the same set of BGP next hops, provided
+ that there are no failures in the network. This makes it possible to
+ use the technique similar to that described in [RFC6769] and only
+ install the least specific route in the FIB, ignoring more specific
+ routes if they share the same next-hop set. For example, under
+ normal network conditions, only the default route needs to be
+ programmed into the FIB.
+
+ Furthermore, if the Tier 2 devices are configured with summary
+ prefixes covering all of their attached Tier 3 device's prefixes, the
+ same logic could be applied in Tier 1 devices as well and, by
+ induction to Tier 2/Tier 3 switches in different clusters. These
+ summary routes should still allow for more specific prefixes to leak
+ to Tier 1 devices, to enable detection of mismatches in the next-hop
+ sets if a particular link fails, thus changing the next-hop set for a
+ specific prefix.
+
+ Restating once again, this technique does not reduce the amount of
+ control-plane state (i.e., BGP UPDATEs, BGP Loc-RIB size), but only
+ allows for more efficient FIB utilization, by detecting more specific
+ prefixes that share their next-hop set with a subsuming less specific
+ prefix.
+
+8.3. ICMP Unreachable Message Masquerading
+
+ This section discusses some operational aspects of not advertising
+ point-to-point link subnets into BGP, as previously identified as an
+ option in Section 5.2.3. The operational impact of this decision
+ could be seen when using the well-known "traceroute" tool.
+ Specifically, IP addresses displayed by the tool will be the link's
+ point-to-point addresses, and hence will be unreachable for
+ management connectivity. This makes some troubleshooting more
+ complicated.
+
+ One way to overcome this limitation is by using the DNS subsystem to
+ create the "reverse" entries for these point-to-point IP addresses
+ pointing to the same name as the loopback address. The connectivity
+ then can be made by resolving this name to the "primary" IP address
+
+
+
+
+Lapukhov, et al. Informational [Page 29]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ of the device, e.g., its Loopback interface, which is always
+ advertised into BGP. However, this creates a dependency on the DNS
+ subsystem, which may be unavailable during an outage.
+
+ Another option is to make the network device perform IP address
+ masquerading, that is, rewriting the source IP addresses of the
+ appropriate ICMP messages sent by the device with the "primary" IP
+ address of the device. Specifically, the ICMP Destination
+ Unreachable Message (type 3) code 3 (port unreachable) and ICMP Time
+ Exceeded (type 11) code 0 are required for correct operation of the
+ "traceroute" tool. With this modification, the "traceroute" probes
+ sent to the devices will always be sent back with the "primary" IP
+ address as the source, allowing the operator to discover the
+ "reachable" IP address of the box. This has the downside of hiding
+ the address of the "entry point" into the device. If the devices
+ support [RFC5837], this may allow the best of both worlds by
+ providing the information about the incoming interface even if the
+ return address is the "primary" IP address.
+
+9. Security Considerations
+
+ The design does not introduce any additional security concerns.
+ General BGP security considerations are discussed in [RFC4271] and
+ [RFC4272]. Since a DC is a single-operator domain, this document
+ assumes that edge filtering is in place to prevent attacks against
+ the BGP sessions themselves from outside the perimeter of the DC.
+ This may be a more feasible option for most deployments than having
+ to deal with key management for TCP MD5 as described in [RFC2385] or
+ dealing with the lack of implementations of the TCP Authentication
+ Option [RFC5925] available at the time of publication of this
+ document. The Generalized TTL Security Mechanism [RFC5082] could
+ also be used to further reduce the risk of BGP session spoofing.
+
+10. References
+
+10.1. Normative References
+
+ [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
+ Border Gateway Protocol 4 (BGP-4)", RFC 4271,
+ DOI 10.17487/RFC4271, January 2006,
+ <http://www.rfc-editor.org/info/rfc4271>.
+
+ [RFC6996] Mitchell, J., "Autonomous System (AS) Reservation for
+ Private Use", BCP 6, RFC 6996, DOI 10.17487/RFC6996, July
+ 2013, <http://www.rfc-editor.org/info/rfc6996>.
+
+
+
+
+
+
+Lapukhov, et al. Informational [Page 30]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+10.2. Informative References
+
+ [ALFARES2008]
+ Al-Fares, M., Loukissas, A., and A. Vahdat, "A Scalable,
+ Commodity Data Center Network Architecture",
+ DOI 10.1145/1402958.1402967, August 2008,
+ <http://dl.acm.org/citation.cfm?id=1402967>.
+
+ [ALLOWASIN]
+ Cisco Systems, "Allowas-in Feature in BGP Configuration
+ Example", February 2015,
+ <http://www.cisco.com/c/en/us/support/docs/ip/
+ border-gateway-protocol-bgp/112236-allowas-in-bgp-config-
+ example.html>.
+
+ [BGP-PIC] Bashandy, A., Ed., Filsfils, C., and P. Mohapatra, "BGP
+ Prefix Independent Convergence", Work in Progress,
+ draft-ietf-rtgwg-bgp-pic-02, August 2016.
+
+ [CLOS1953] Clos, C., "A Study of Non-Blocking Switching Networks",
+ The Bell System Technical Journal, Vol. 32(2),
+ DOI 10.1002/j.1538-7305.1953.tb01433.x, March 1953.
+
+ [CONDITIONALROUTE]
+ Cisco Systems, "Configuring and Verifying the BGP
+ Conditional Advertisement Feature", August 2005,
+ <http://www.cisco.com/c/en/us/support/docs/ip/
+ border-gateway-protocol-bgp/16137-cond-adv.html>.
+
+ [CONS-HASH]
+ Wikipedia, "Consistent Hashing", July 2016,
+ <https://en.wikipedia.org/w/
+ index.php?title=Consistent_hashing&oldid=728825684>.
+
+ [FB4POST] Farrington, N. and A. Andreyev, "Facebook's Data Center
+ Network Architecture", May 2013,
+ <http://nathanfarrington.com/papers/facebook-oic13.pdf>.
+
+ [GREENBERG2009]
+ Greenberg, A., Hamilton, J., and D. Maltz, "The Cost of a
+ Cloud: Research Problems in Data Center Networks",
+ DOI 10.1145/1496091.1496103, January 2009,
+ <http://dl.acm.org/citation.cfm?id=1496103>.
+
+ [HADOOP] Apache, "Apache Hadoop", April 2016,
+ <https://hadoop.apache.org/>.
+
+
+
+
+
+Lapukhov, et al. Informational [Page 31]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ [IANA.AS] IANA, "Autonomous System (AS) Numbers",
+ <http://www.iana.org/assignments/as-numbers>.
+
+ [IEEE8021D-1990]
+ IEEE, "IEEE Standard for Local and Metropolitan Area
+ Networks: Media Access Control (MAC) Bridges", IEEE
+ Std 802.1D, DOI 10.1109/IEEESTD.1991.101050, 1991,
+ <http://ieeexplore.ieee.org/servlet/opac?punumber=2255>.
+
+ [IEEE8021D-2004]
+ IEEE, "IEEE Standard for Local and Metropolitan Area
+ Networks: Media Access Control (MAC) Bridges", IEEE
+ Std 802.1D, DOI 10.1109/IEEESTD.2004.94569, June 2004,
+ <http://ieeexplore.ieee.org/servlet/opac?punumber=9155>.
+
+ [IEEE8021Q]
+ IEEE, "IEEE Standard for Local and Metropolitan Area
+ Networks: Bridges and Bridged Networks", IEEE Std 802.1Q,
+ DOI 10.1109/IEEESTD.2014.6991462,
+ <http://ieeexplore.ieee.org/servlet/
+ opac?punumber=6991460>.
+
+ [IEEE8023AD]
+ IEEE, "Amendment to Carrier Sense Multiple Access With
+ Collision Detection (CSMA/CD) Access Method and Physical
+ Layer Specifications - Aggregation of Multiple Link
+ Segments", IEEE Std 802.3ad,
+ DOI 10.1109/IEEESTD.2000.91610, October 2000,
+ <http://ieeexplore.ieee.org/servlet/opac?punumber=6867>.
+
+ [INTERCON] Dally, W. and B. Towles, "Principles and Practices of
+ Interconnection Networks", ISBN 978-0122007514, January
+ 2004, <http://dl.acm.org/citation.cfm?id=995703>.
+
+ [JAKMA2008]
+ Jakma, P., "BGP Path Hunting", 2008,
+ <https://blogs.oracle.com/paulj/entry/bgp_path_hunting>.
+
+ [L3DSR] Schaumann, J., "L3DSR - Overcoming Layer 2 Limitations of
+ Direct Server Return Load Balancing", 2011,
+ <https://www.nanog.org/meetings/nanog51/presentations/
+ Monday/NANOG51.Talk45.nanog51-Schaumann.pdf>.
+
+ [LINK] Mohapatra, P. and R. Fernando, "BGP Link Bandwidth
+ Extended Community", Work in Progress, draft-ietf-idr-
+ link-bandwidth-06, January 2013.
+
+
+
+
+
+Lapukhov, et al. Informational [Page 32]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ [REMOVAL] Mitchell, J., Rao, D., and R. Raszuk, "Private Autonomous
+ System (AS) Removal Requirements", Work in Progress,
+ draft-mitchell-grow-remove-private-as-04, April 2015.
+
+ [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328,
+ DOI 10.17487/RFC2328, April 1998,
+ <http://www.rfc-editor.org/info/rfc2328>.
+
+ [RFC2385] Heffernan, A., "Protection of BGP Sessions via the TCP MD5
+ Signature Option", RFC 2385, DOI 10.17487/RFC2385, August
+ 1998, <http://www.rfc-editor.org/info/rfc2385>.
+
+ [RFC2992] Hopps, C., "Analysis of an Equal-Cost Multi-Path
+ Algorithm", RFC 2992, DOI 10.17487/RFC2992, November 2000,
+ <http://www.rfc-editor.org/info/rfc2992>.
+
+ [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis",
+ RFC 4272, DOI 10.17487/RFC4272, January 2006,
+ <http://www.rfc-editor.org/info/rfc4272>.
+
+ [RFC4277] McPherson, D. and K. Patel, "Experience with the BGP-4
+ Protocol", RFC 4277, DOI 10.17487/RFC4277, January 2006,
+ <http://www.rfc-editor.org/info/rfc4277>.
+
+ [RFC4786] Abley, J. and K. Lindqvist, "Operation of Anycast
+ Services", BCP 126, RFC 4786, DOI 10.17487/RFC4786,
+ December 2006, <http://www.rfc-editor.org/info/rfc4786>.
+
+ [RFC5082] Gill, V., Heasley, J., Meyer, D., Savola, P., Ed., and C.
+ Pignataro, "The Generalized TTL Security Mechanism
+ (GTSM)", RFC 5082, DOI 10.17487/RFC5082, October 2007,
+ <http://www.rfc-editor.org/info/rfc5082>.
+
+ [RFC5837] Atlas, A., Ed., Bonica, R., Ed., Pignataro, C., Ed., Shen,
+ N., and JR. Rivers, "Extending ICMP for Interface and
+ Next-Hop Identification", RFC 5837, DOI 10.17487/RFC5837,
+ April 2010, <http://www.rfc-editor.org/info/rfc5837>.
+
+ [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection
+ (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010,
+ <http://www.rfc-editor.org/info/rfc5880>.
+
+ [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP
+ Authentication Option", RFC 5925, DOI 10.17487/RFC5925,
+ June 2010, <http://www.rfc-editor.org/info/rfc5925>.
+
+
+
+
+
+
+Lapukhov, et al. Informational [Page 33]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+ [RFC6325] Perlman, R., Eastlake 3rd, D., Dutt, D., Gai, S., and A.
+ Ghanwani, "Routing Bridges (RBridges): Base Protocol
+ Specification", RFC 6325, DOI 10.17487/RFC6325, July 2011,
+ <http://www.rfc-editor.org/info/rfc6325>.
+
+ [RFC6769] Raszuk, R., Heitz, J., Lo, A., Zhang, L., and X. Xu,
+ "Simple Virtual Aggregation (S-VA)", RFC 6769,
+ DOI 10.17487/RFC6769, October 2012,
+ <http://www.rfc-editor.org/info/rfc6769>.
+
+ [RFC6774] Raszuk, R., Ed., Fernando, R., Patel, K., McPherson, D.,
+ and K. Kumaki, "Distribution of Diverse BGP Paths",
+ RFC 6774, DOI 10.17487/RFC6774, November 2012,
+ <http://www.rfc-editor.org/info/rfc6774>.
+
+ [RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet
+ Autonomous System (AS) Number Space", RFC 6793,
+ DOI 10.17487/RFC6793, December 2012,
+ <http://www.rfc-editor.org/info/rfc6793>.
+
+ [RFC7067] Dunbar, L., Eastlake 3rd, D., Perlman, R., and I.
+ Gashinsky, "Directory Assistance Problem and High-Level
+ Design Proposal", RFC 7067, DOI 10.17487/RFC7067, November
+ 2013, <http://www.rfc-editor.org/info/rfc7067>.
+
+ [RFC7130] Bhatia, M., Ed., Chen, M., Ed., Boutros, S., Ed.,
+ Binderberger, M., Ed., and J. Haas, Ed., "Bidirectional
+ Forwarding Detection (BFD) on Link Aggregation Group (LAG)
+ Interfaces", RFC 7130, DOI 10.17487/RFC7130, February
+ 2014, <http://www.rfc-editor.org/info/rfc7130>.
+
+ [RFC7196] Pelsser, C., Bush, R., Patel, K., Mohapatra, P., and O.
+ Maennel, "Making Route Flap Damping Usable", RFC 7196,
+ DOI 10.17487/RFC7196, May 2014,
+ <http://www.rfc-editor.org/info/rfc7196>.
+
+ [RFC7911] Walton, D., Retana, A., Chen, E., and J. Scudder,
+ "Advertisement of Multiple Paths in BGP", RFC 7911,
+ DOI 10.17487/RFC7911, July 2016,
+ <http://www.rfc-editor.org/info/rfc7911>.
+
+ [VENDOR-REMOVE-PRIVATE-AS]
+ Cisco Systems, "Removing Private Autonomous System Numbers
+ in BGP", August 2005,
+ <http://www.cisco.com/en/US/tech/tk365/
+ technologies_tech_note09186a0080093f27.shtml>.
+
+
+
+
+
+Lapukhov, et al. Informational [Page 34]
+
+RFC 7938 BGP Routing in Data Centers August 2016
+
+
+Acknowledgements
+
+ This publication summarizes the work of many people who participated
+ in developing, testing, and deploying the proposed network design,
+ some of whom were George Chen, Parantap Lahiri, Dave Maltz, Edet
+ Nkposong, Robert Toomey, and Lihua Yuan. The authors would also like
+ to thank Linda Dunbar, Anoop Ghanwani, Susan Hares, Danny McPherson,
+ Robert Raszuk, and Russ White for reviewing this document and
+ providing valuable feedback, and Mary Mitchell for initial grammar
+ and style suggestions.
+
+Authors' Addresses
+
+ Petr Lapukhov
+ Facebook
+ 1 Hacker Way
+ Menlo Park, CA 94025
+ United States of America
+
+ Email: petr@fb.com
+
+
+ Ariff Premji
+ Arista Networks
+ 5453 Great America Parkway
+ Santa Clara, CA 95054
+ United States of America
+
+ Email: ariff@arista.com
+ URI: http://arista.com/
+
+
+ Jon Mitchell (editor)
+
+ Email: jrmitche@puck.nether.net
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Lapukhov, et al. Informational [Page 35]
+