Leveraging the Identity Duality in the Internet
Total Page:16
File Type:pdf, Size:1020Kb
Leveraging the IPv4/IPv6 Identity Duality by using Multi-Path Transport Ioana Livadariu∗, Simone Ferlin∗, Ozg¨ u¨ Alay∗, Thomas Dreibholz∗, Amogh Dhamdherey and Ahmed Elmokashfi∗ ∗Simula Research Laboratory, 1364 Fornebu, Norway Email: fioana,ferlin,ozgu,dreibh,[email protected] y CAIDA/UCSD, La Jolla, CA 92093, U.S.A Email: [email protected] Abstract—With the 20th anniversary of IPv6 nearing quickly, Multi-path transport allows the simultaneous use of multi- a growing number of Internet service providers (ISPs) now offer ple paths in the network to increase end-host robustness and to their customers both IPv6 and IPv4 connectivity. This makes provide bandwidth aggregation [11]–[13]. Today, many devices multi-homing with IPv4 and IPv6 increasingly common even with could in fact support multi-path transport (e.g. smart phones just a single ISP connection. Furthermore, the growing popularity with both 3G/4G and WLAN interface). However, the most of multi-path transport, especially Multi-Path TCP (MPTCP) that prominent transport protocol, i.e. TCP, is still single path. is the extension of the well-known Transmission Control Proto- col (TCP), leads to the question of whether this identity duality Multi-Path TCP (MPTCP) [12] is a major extension of TCP can be utilized for improving application performance in addition that supports multi-path transmission. Its design is motivated to providing resilience. In this paper, we first investigate the AS- by the need to be compatible with network middleboxes level congruency of IPv4 and IPv6 paths in the Internet. We find and hence, it is backward compatible with TCP. By pooling that more than 60% of the current IPv4 and IPv6 AS-paths are resources, MPTCP effectively increases end-to-end goodput non-congruent at the AS-level, which motivates us to explore how especially when the paths go over distinct bottlenecks [12], MPTCP can utilize the IPv4/IPv6 identity duality to improve data [14]. The performance gains come from aggregating the band- transfer performance. Our results show that MPTCP, even with width of the paths when the paths are completely incongruent a single dual-stack Internet connection, can significantly improve (i.e. two distinct paths), or when the bottleneck is different the end-to-end performance when the underlying paths are non- even if the paths share some hops. congruent. The extent of the improvement can reach up to the aggregate of the IPv4 and IPv6 bandwidths. This paper is the first to explore whether the current I. INTRODUCTION identity duality can be leveraged to improve performance. We first investigate the congruency of the IPv4 and IPv6 The free pool of IPv4 addresses is rapidly shrinking. paths by comparing paths between dual-stacked ASes using In February 2011 the Internet Assigned Number Authority BGP data. We find that a large fraction of paths are non- (IANA) assigned its last set of available addresses to the congruent at the AS level. We then explore how to leverage Regional Internet Registries (RIRs). In the following three this address duality to maximize resource usage with multi- years, three RIRs namely APNIC, RIPE, and LACNIC reached path transport. Particularly, we experiment with a new use their last /8 of free addresses [1]–[3]. ARIN and AFRINIC are case of MPTCP that considers a dual-stacked interface as projected to reach their last /8 in February 2015 and August two separate interfaces. This use case differs completely from 2019 respectively [4]. This impending runout has encouraged the conventional uses of MPTCP. The common use case for many networks to adopt IPv6. The adoption, though dismal, MPTCP requires having more than one network interface. is accelerating [5], [6]. The number of dual-stacked hosts that Alternatively, if there is only one network interface, MPTCP access popular Internet services over IPv6 is growing at a fast relies on load balancers in the network to provide performance pace. For instance, the number of users that access Google gains. However, the use case we consider requires only one over IPv6 has increased by five-folds in the past two years [7]. dual-stack network interface and takes advantage of the non- Many hosts in the Internet today exhibit an unprecedented congruency of the paths. To the best of our knowledge, this use identity duality that is likely to remain until IPv4 is phased out case has not been considered in the literature before, although completely. This duality presents new opportunities, as dual- MPTCP supports both IPv4 and IPv6. We measure a marked stacked hosts can choose either IPv4 or IPv6 to communicate increase in MPTCP goodput for IPv4 and IPv6 paths that with each other. The task of picking the right address, however, are not sharing a bottleneck; the MPTCP goodput can be the can be challenging. RFC 3484 recommends first trying IPv6 aggregate of IPv4 and IPv6 goodputs. Our results show that the and switching to IPv4 if the IPv6 connection times out [8], current identity duality and path incongruence can be leveraged which proved to be suboptimal for hosts with poor IPv6 to improve end-to-end performance for large bulk transfers. connectivity [9]. Currently, most popular operating systems and web browsers implement the Happy Eyeballs algorithm to help pick the best address [10]. For instance, Google Chrome on a dual- II. BACKGROUND AND RELATED WORK stacked host tries IPv4 and IPv6 simultaneously and selects the one with best latency. However, simultaneous use of IPv4 This section briefly describes the main building blocks of and IPv6 paths is not part of the algorithm. MPTCP and reviews the most related work. Application Layer Application benefit from path non-congruency to both increase resilience standard socket API and throughput. Transport Layer MPTCP send queue B. IPv4 and IPv6 MPTCP scheduler The impending runout of IPv4 addresses motivated several studies to measure and investigate different aspects of IPv6 TCP1 over IPv4 TCPn over IPv6 adoption, e.g., end-user IPv6 capabilities, AS-level topology send queue send queue and end-user performance. Huston [21] updates IPv6 statis- tics of the IPv6 topology and routing evolution. In [5], the Network Layer IPv4 IPv6 authors presented an in-depth analysis of the evolution of the IPv6 deployment in terms of AS-level topology, routing, and Figure 1: Multi-Path TCP over IPv4 and IPv6: Overview performance. Recently, Czyz et al. [6] presented a complete analysis of the IPv6 adoption process using multiple sources of A. Multi-Path TCP Background data, i.e. routing, traffic, naming and content data, and various metrics to characterize this process. Both studies showed an MPTCP is a major extension to TCP, allowing the use increase in IPv6 uptake, most of which takes place in the core of multiple paths simultaneously between two end-hosts for of the Internet. The former measured IPv4 and IPv6 AS-level the transmission of a single data stream [15]. By pooling congruency and concluded that there is a lack of congruency, available resources, MPTCP effectively increases the goodput but the gap is steadily shrinking. In this paper, we measure and as the paths may go over different interfaces with distinct analyze IPv4 and IPv6 congruency in more detail. We focus bottlenecks [12], [14]. The resource pooling is achieved by on assessing the AS-level congruency of the paths using BGP presenting a regular TCP socket to the application. However, data from a large set of vantage points. Further, we assess the below the socket, TCP connections are created for each path as router-level congruency for a selected set of paths. To this end, illustrated in Figure 1. Together, these subflows form a MPTCP we employ existing path discovery and bottleneck bandwidth connection that uses TCP options to signal the necessary estimation tools. control information between the end-hosts. Thus, these TCP subflows let MPTCP look like regular TCP to firewalls/mid- III. ARE IPV4 AND IPV6PATHS CONGRUENT? dleboxes and make it deployable on today’s Internet [12]. This section uses BGP routing data to investigate IPv4 and In addition to resource pooling, another goal of MPTCP IPv6 AS-level paths similarity from the perspective of a set of is to increase application resiliency. By design, the use of dual-stacked vantage points (VPs). multiple paths implicitly increases application resiliency; data transmission continues as long as one of the paths is still us- A. Data Set able. To further improve application resiliency, MPTCP allows senders to retransmit lost segments on different subflows. This We use Border Gateway Protocol (BGP) paths data derived retransmission strategy enables moving data from a path that from BGP routing table snapshots collected by the RouteViews fails during transmission [16]. project [22] and RIPE’s Routing Information Service (RIS) MPTCP also extends the standard TCP congestion control, [23]. The data consists of monthly snapshots of paths seen at since running existing TCP congestion control algorithms each VP in the first five days of the month. A subset of VPs independently would give MPTCP connections more than their are default-free, meaning that they have a route to almost all fair share of the capacity in case of a shared bottleneck destination ASes. As of June 2014, 119 of the VPs at Route by two or more of its subflows. MPTCP proposes the use Views and RIPE are dual-stacked i.e. they provide both IPv4 of coupled congestion control [17]–[19] that couples each and IPv6 BGP views. To identify the dual-stacked VPs that subflows’ congestion control and dynamically controls the are default-free, we computed the fraction of origin ASes to overall aggressiveness of the MPTCP connection. The coupled which each VP had a route.