BGP-Multipath Routing in the Internet
Total Page:16
File Type:pdf, Size:1020Kb
BGP-Multipath Routing in the Internet Jie Li 1 2, Vasileios Giotsas 3, Yangyang Wang 4 and Shi Zhou July 26, 2021 arXiv:2107.10938v1 [cs.NI] 22 Jul 2021 1This work was supported by China Scholarship Council (CSC) with grant no. 201406060022. 2Jie Li and Shi Zhou are with Department of Computer Science, University College London (UCL), London, UK (emails: [email protected] & [email protected]). 3Vasileios Giotsas is with School of Computing and Communications, Lancaster University, Lancaster, UK (email: [email protected]). 4Yangyang Wang is with Institute for Network Sciences and Cyberspace, Beijing National Research Center for Information Science and Technology (BNRist), Tsinghua University, Beijing, China (email: [email protected]). Abstract BGP-Multipath (BGP-M) is a multipath routing technique for load balanc- ing. Distinct from other techniques deployed at a router inside an Autonomous System (AS), BGP-M is deployed at a border router that has installed multiple inter-domain border links to a neighbour AS. It uses the equal-cost multi-path (ECMP) function of a border router to share traffic to a destination prefix on different border links. Despite recent research interests in multipath routing, there is little study on BGP-M. Here we provide the first measurement and a comprehensive analysis of BGP- M routing in the Internet. We extracted information on BGP-M from query data collected from Looking Glass (LG) servers. We revealed that BGP-M has already been extensively deployed and used in the Internet. A particular ex- ample is Hurricane Electric (AS6939), a Tier-1 network operator, which has implemented >1,000 cases of BGP-M at 69 of its border routers to prefixes in 611 of its neighbour ASes, including many hyper-giant ASes and large content providers, on both IPv4 and IPv6 Internet. We examined the distribution and operation of BGP-M. We also ran traceroute using RIPE Atlas to infer the rout- ing paths, the schemes of traffic allocation, and the delay on border links. This study provided the state-of-the-art knowledge on BGP-M with novel insights into the unique features and the distinct advantages of BGP-M as an effective and readily available technique for load balancing. Keywords: Multipath routing, equal-cost multi-path (ECMP), traffic en- gineering, load balancing, BGP-Multipath, Internet routing, Looking Glass, traceroute, RIPE Atlas. 0.1 Introduction The default setting of Border Gateway Protocol (BGP) [1] requires a single “best” path for each prefix. BGP-Multipath (BGP-M) is a technique to enable load balancing on multiple IP-level inter-domain paths of equal cost. Specif- ically, a network operator can activate the Equal-Cost Multi-Path (ECMP) function at a border router so that when the border router learns from a same neighbour Autonomous System (AS) multiple eBGP paths (via different border links) to a prefix with equal attributes, the border router installs all of these paths in the routing table instead of trying additional tie-breaking attributes. Routers produced by most major vendors support the ECMP function, includ- ing Juniper [2], Cisco [3], and Huawei [4]. Although there have been a number of research works on multipath routing, e.g. [5–9], BGP-M remains an obscure technique. In this paper, we present the first measurement and a comprehensive analysis on the BGP-M routing in the Internet. We obtained BGP data from Looking Glass (LG) servers to infer the deployment of BGP-M, and collected traceroute data from RIPE Atlas [10] to extract further details on BGP-M routing paths, the schemes of traffic allocation, and the delay on border links. Our results showed that BGP-M has been deployed extensively in the Internet. The techniques and results presented in this paper provide the state-of-the- art knowledge on BGP-M. We believe that our work is relevant to industry stakeholders, Internet engineers and researchers interested in Internet routing performance and security. 0.2 Background 0.2.1 Border Router and Border Link Although network operators of ASes can use various intra-domain protocols for routing within boundary of their own networks, BGP [1] is the default inter- Table 1: Notations and Descriptions Notation Description SrcIP Source IP address DstIP Destination IP address DstPrfx Destination prefix NearAS Nearside AS NearBR Nearside border router NearIP IP address of ingress interface of NearBR FarAS Farside AS FarBR Farside border router FarIP IP address of ingress interface of FarBR BL Border link between ASes 1 NearAS Traffic direction FarAS Routers NearBR FarBR NearIP FarIP SrcIP DstIP BL (a) Best-path routing NearAS Traffic direction FarAS NearBR-1 FarBR-1 NearIP-1 FarIP-1 SrcIP-1 Intra-domain DstIP-1 diamond BL-1 NearBR-2 FarBR-2 NearIP-2 FarIP-2 Inter-domain BL-2 SrcIP-2 diamond DstIP-2 NearBR-3 FarBR-3 NearIP-3 FarIP-3 BL-3 (b) Multipath routing NearAS FarAS Traffic direction NearBR BL-1 FarIP-1 NearIP SrcIP DstPrfx BL-2 FarIP-2 (c) BGP-Multipath routing Figure 1: Examples of Best-path routing, Multipath routing and BGP- Multipath (BGP-M) between two neighbouring ASes. See Table 1 for descrip- tion of notations. (a) Best-path routing, where a single best path is chosen for routing. (b) Multipath routing, where an intra-domain router divides traffic to a DstIP onto two different paths. If the paths merge within the same AS, they form a so-called intra-domain ‘diamond’; if they cross AS borders, they form an inter-domain diamond. (c) BGP-Multipath (BGP-M) routing, where a border router shares traffic to a DstPrfx on two inter-domain border links. 2 Table 2: BGP Best Path Selection Algorithm Priority Attribute Best path selection rules 1 LocPref Highest local preference 2 AS path Shortest AS path Lowest origin type 3 Origin (IGP < EGP < INCOMPLETE) 4 MED Lowest MED (Multi Exit Discriminator). 5 eBGP/iBGP Prefer eBGP over iBGP paths. 6 IGP metric Lowest IGP metric 7 Router ID Lowest router ID domain protocol used universally for routing among ASes throughout the global Internet. BGP is policy-based and allows a lot of flexibility in implementing routing policies. A border router, also called BGP border router or AS border router, is located at the boundary of an AS with at least one interface connecting to an intra-domain router and at least one interface connecting to a border router in a neighbour AS. A border router is implemented with BGP. It can establish and maintain BGP sessions to exchange routing information with other ASes via BGP messages, and then update its routing table according to the network operator’s policy configurations. A border link is a physical IP-level inter-domain link connecting border routers of two neighbouring ASes. As illustrated in Figure 1(a), depending on traffic direction, a border link starts from an egress interface of a border router of the nearside AS, and ends at an ingress interface of a border router of the farside AS. Since the egress interface of a router is invisible in traceroute measurement, a border link is usually denoted by the ingress interfaces of the two border routers (i.e. NearIP and FarIP), which can be identified as two consecutive IP addresses on a traceroute path that are mapped to two different ASes. Two ASes are neighbour ASes to each other when they are connected directly via physical links, or indirectly via layer-2 switching devices at IXPs. A peering AS can be a neighbour AS or a remote AS. In this study we mainly discuss neighbour ASes. 0.2.2 Best-path Routing By default, if a border router receives advertisements of different routes to a destination prefix, it should select the best path by considering a series of BGP attributes in order of their priority as shown in Table 2, where Router ID is only used as a last-resort tie-breaker if all other attributes have equal values [1]. Until recently, it was expected that there should normally be a single valid IP-level routing path from a source IP address to a destination IP address (see Figure 1(a)). When multiple paths were observed, they were considered as anomalies, possibly due to routing table misconfiguration [11], link failures [12– 3 14] or change of routing paths [15–19]. 0.2.3 Multipath Routing In recent years, network operators utilised a traffic engineering technology called the multipath routing, deployed at intra-domain routers within an AS, to enable multiple IP-level routing paths to a destination (see Figure 1(b)). These multiple routes are legitimate, lasting routes. They are used concurrently to balance traffic load in order to achieve improved routing performance and resilience [20, 21]. Researchers identified multipath routing from traceroute data [5–8, 22, 23] using Paris traceroute [24] and Multipath Detection Algorithm (MDA) [22]. The research focus was on the link and node discovery and the topological characteristics of diamonds (see Figure 1(b)) or load balancers. 0.3 BGP-Multipath BGP-Multipath (BGP-M) is a load balancing technique deployed at a border router to share traffic load to a destination prefix on different border links using the ECMP function. 0.3.1 Equal-Cost Multi-Path (ECMP) Routers produced by most major vendors, such as Juniper, Cisco and Huawei [2– 4], have already supported the ECMP function. They allow routers to install multiple internal or external BGP paths, called iBGP-Multipath and eBGP- Multipath, respectively. This function is called ‘BGP-Multipath’ by Juniper and Cisco; or ‘BGP Load Balancing’ by Huawei. 0.3.2 Deployment of BGP-M As shown in Figure 1(c), in order for a network operator (NearAS) to deploy BGP-M at a border router (NearBR), the following conditions must be satisfied.