Routing-Independent Anycast for Ipv6 Content Delivery Networks
Total Page:16
File Type:pdf, Size:1020Kb
ROUTING-INDEPENDENT ANYCAST FOR IPV6 CONTENT DELIVERY NETWORKS by YINHANG CHENG Submitted in partial fulfillment of the requirements for the degree of Master of Science Department of Electrical Engineering and Computer Science CASE WESTERN RESERVE UNIVERSITY August 2019 CASE WESTERN RESERVE UNIVERSITY SCHOOL OF GRADUATE STUDIES We hereby approve the thesis of Yinhang Cheng candidate for the degree of Master of Science Committee Chair Michael Rabinovich Committee Member Michael Rabinovich Committee Member Vincenzo Liberatore Committee Member An Wang Date of Defense 06/21/2019 *We also certify that written approval has been obtained for any proprietary material contained therein. Table of Contents List of Tables...................................................................................................................V List of Figures................................................................................................................ VI Abstract.......................................................................................................................VII 1. Introduction................................................................................................................8 2. Background...............................................................................................................11 2.1 DNS-based Request Routing in CDN................................................................11 2.2 IPv6 Mobility....................................................................................................13 3. Related Work............................................................................................................18 3.1 Anycast Request Routing in CDN.....................................................................18 3.2 Load-aware Anycast Routing...........................................................................20 3.3 ECS Extension to DNS...................................................................................... 21 3.4 TCP Connection Forwarding............................................................................ 23 3.5 IPv6 Anycast for CDNs..................................................................................... 24 4. Overview of the Routing-Independent Anycast for TCP Communication............... 26 4.1 TCP Connection Establishment........................................................................27 4.2 Ongoing Connection........................................................................................ 30 4.3 Binding Management and Connection Termination.......................................32 4.4 Security Consideration.....................................................................................34 4.5 Benefits............................................................................................................36 5. Implementation........................................................................................................36 5.1 Anycast Server................................................................................................. 38 5.2 Unicast Server..................................................................................................39 III 5.2.1 Control State.......................................................................................... 39 5.2.2 Unicast Server Operation.......................................................................41 5.3 Client................................................................................................................45 5.3.1 Control State.......................................................................................... 45 5.3.2 Client Operation.....................................................................................46 5.4 An Alternative for Handling SYN-ACK Packets.................................................49 5.5 An Alternative for Supporting Multiple Anycast Servers................................ 54 5.6 Corner Cases.................................................................................................... 57 6. Evaluation.................................................................................................................62 6.1 Environment.................................................................................................... 62 6.2 Overhead of RIA under Ideal Conditions.........................................................64 6.3 Comparison with Other Request Routing Methods........................................ 66 6.4 Experimental Results....................................................................................... 69 6.4.1 Comparison with DNS-based Request Routing......................................79 6.4.2 Comparison with HTTP Redirect............................................................ 80 7. Summary...................................................................................................................81 Bibliography..................................................................................................................84 IV List of Tables Table 1 . The overhead of the prototype.............................................................. 65 Table 2 . Time for downloading a file with certain size using RIA (ms).................70 Table 3 . Time for downloading a file with certain size using DNS-based request routing (ms).....................................................................................................70 Table 4 . Time for downloading a file with certain size using HTTP redirect (ms) 70 V List of Figures Figure 1 . An example of DNS-based request routing........................................... 12 Figure 2 . Home address option header format....................................................16 Figure 3 . Format of mobility header.....................................................................16 Figure 4 . Format of type 2 routing header........................................................... 17 Figure 5 . An example of Anycast request routing................................................ 19 Figure 6 . Establishment of TCP connection using Routing-Independent Anycast mechanism......................................................................................................29 Figure 7 . Packet manipulation for an established connection.............................31 Figure 8 . Select structures in unicast server.........................................................41 Figure 9 . Format of Binding Update message...................................................... 42 Figure 10 . Select structures in client.................................................................... 46 Figure 11 . Handling SYN-ACK in the prototype and its potential problem.......... 50 Figure 12 . An alternative for handling SYN-ACK...................................................51 Figure 13 . Testbed................................................................................................ 63 Figure 14 . Network topology of our testbed........................................................67 Figure 15 . Operations for testing DNS-based request routing.............................68 Figure 16 . Operations for testing HTTP redirect.................................................. 69 Figure 17 . Comparison among RIA, DNS-based request routing and HTTP redirect under different conditions. (a)-(d): Bandwidth = 10Mbps. (e)-(h): Bandwidth = 20Mbps. (i)-(l): Bandwidth = 100Mbps..................................... 76 VI Routing-Independent Anycast For IPv6 Content Delivery Networks Abstract by YINHANG CHENG Content delivery networks (CDNs) become increasingly popular due to the demands for high performance of web content delivery. The key factor for CDNs to improve user experiences is to direct user requests to the ‘best’ edge server that is the nearest to the users. Several request routing methods are employed by CDNs, such as DNS-based request routing, anycast, and HTTP redirect. However, these approaches all have their own limitations. In this thesis, we propose a Routing-Independent Anycast (RIA) for CDN request routing, which addresses the drawbacks in traditional request routing solutions. Our mechanism is based on IPv6 Mobility. We describe RIA design, implement a prototype, and use this prototype to conduct performance evaluation of our approach. Our performance evaluation reveals inefficiencies of our implementation and shows that even our unoptimized prototype can outperform DNS-based request routing and HTTP redirect in some circumstance. VII 1. Introduction The increasing demands for web content delivery with high performance and high availability have led to the popularity of the content delivery networks (CDNs). A content delivery network is a geographically distributed network of servers designed to provide optimal online experiences for users [1]. With the rapid growth of the web traffic such as media and live stream, the content providers tend to employ CDNs to improve the availability and reduce the response time. According to [2], over 52% of the top one million websites are utilizing a CDN. When it comes to the top 10000 websites, the ratio becomes 81%. With no doubt, CDNs have become key component of the overall Internet infrastructure. The CDN servers, also called the edge servers, cache web contents from the content providers’ origin servers and deliver them to the users. The performance of a CDN largely depends on the ability to redirect the client requests to the