Rapid IP redirection with SDN and NFV. Jeffrey Lai, Qiang Fu, Tim Moors December 9, 2015



Similar documents
Request rerouting for ISP operated CDNS

Data Center Content Delivery Network

Web Caching and CDNs. Aditya Akella

How To Understand The Power Of A Content Delivery Network (Cdn)

Content Delivery Networks

Content Delivery Networks

Measuring the Web: Part I - - Content Delivery Networks. Prof. Anja Feldmann, Ph.D. Dr. Ramin Khalili Georgios Smaragdakis, PhD

GLOBAL SERVER LOAD BALANCING WITH SERVERIRON

CHAPTER 4 PERFORMANCE ANALYSIS OF CDN IN ACADEMICS

SDN AND SECURITY: Why Take Over the Hosts When You Can Take Over the Network

DATA COMMUNICATOIN NETWORKING

Distributed Systems. 23. Content Delivery Networks (CDN) Paul Krzyzanowski. Rutgers University. Fall 2015

Application Description

Internet Content Distribution

Content Delivery Networks (CDN) Dr. Yingwu Zhu

CDN and Traffic-structure

Measuring CDN Performance. Hooman Beheshti, VP Technology

Request Routing, Load-Balancing and Fault- Tolerance Solution - MediaDNS

Distributed Systems. 25. Content Delivery Networks (CDN) 2014 Paul Krzyzanowski. Rutgers University. Fall 2014

Distributed Systems 19. Content Delivery Networks (CDN) Paul Krzyzanowski

Policy Based Forwarding

How To Orchestrate The Clouddusing Network With Andn

Software-Defined Networking for the Data Center. Dr. Peer Hasselmeyer NEC Laboratories Europe

Packet Matching. Paul Offord, Advance7

How To Connect To Bloomerg.Com With A Network Card From A Powerline To A Powerpoint Terminal On A Microsoft Powerbook (Powerline) On A Blackberry Or Ipnet (Powerbook) On An Ipnet Box On

High Availability HTTP/S. R.P. (Adi) Aditya Senior Network Architect

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015

CSC2231: Akamai. Stefan Saroiu Department of Computer Science University of Toronto

How To Understand The Power Of Icdn

First Midterm for ECE374 03/09/12 Solution!!

Content Distribu-on Networks (CDNs)

Securing Local Area Network with OpenFlow

Internet Protocol: IP packet headers. vendredi 18 octobre 13

20. Switched Local Area Networks

Hosting more than one FortiOS instance on. VLANs. 1. Network topology

WAN Traffic Management with PowerLink Pro100

ICP. Cache Hierarchies. Squid. Squid Cache ICP Use. Squid. Squid

ExamPDF. Higher Quality,Better service!

Software Defined Networking What is it, how does it work, and what is it good for?

What is SDN all about?

Bandwidth Aggregation, Teaming and Bonding

Assignment 3 Firewalls

Internet Content Distribution

PANDORA FMS NETWORK DEVICE MONITORING

Load Balancing in Data Center Networks

DNS ROUND ROBIN HIGH-AVAILABILITY LOAD SHARING

Smart Tips. Enabling WAN Load Balancing. Key Features. Network Diagram. Overview. Featured Products. WAN Failover. Enabling WAN Load Balancing Page 1

Global Server Load Balancing

From Internet Data Centers to Data Centers in the Cloud

How To - Configure Virtual Host using FQDN How To Configure Virtual Host using FQDN

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

Real-Time Analysis of CDN in an Academic Institute: A Simulation Study

HIGH-SPEED BRIDGE TO CLOUD STORAGE

Overview. Tor Circuit Setup (1) Tor Anonymity Network

Distributed Systems. 24. Content Delivery Networks (CDN) 2013 Paul Krzyzanowski. Rutgers University. Fall 2013

Deployment Guide Microsoft IIS 7.0

Akamai CDN, IPv6 and DNS security. Christian Kaufmann Akamai Technologies DENOG 5 14 th November 2013

SDN in the Public Cloud: Windows Azure. Albert Greenberg Partner Development Manager Windows Azure Networking

vcloud Air - Virtual Private Cloud OnDemand Networking Guide

Enabling ISP-CDN Collaboration: Turning Challenges into Opportunities

First Midterm for ECE374 02/25/15 Solution!!

Getting to know OpenFlow. Nick Rutherford Mariano Vallés

Introduction to Software Defined Networking (SDN) and how it will change the inside of your DataCentre

Single Pass Load Balancing with Session Persistence in IPv6 Network. C. J. (Charlie) Liu Network Operations Charter Communications

AKAMAI WHITE PAPER. Delivering Dynamic Web Content in Cloud Computing Applications: HTTP resource download performance modelling

VM-Series Firewall Deployment Tech Note PAN-OS 5.0

architecture: what the pieces are and how they fit together names and addresses: what's your name and number?

Sage ERP Accpac Online

Sage 300 ERP Online. Mac Resource Guide. (Formerly Sage ERP Accpac Online) Updated June 1, Page 1

Coyote Point Systems White Paper

APPLICATION-AWARE ROUTING IN SOFTWARE-DEFINED NETWORKS

TheGreenBow IPsec VPN Client. Configuration Guide Cisco RV325 v1. Website: Contact:

SMC7004ABR Barricade Broadband Router Installation Instructions

Avaya P333R-LB. Load Balancing Stackable Switch. Load Balancing Application Guide

Figure 41-1 IP Filter Rules

1 PC to WX64 direction connection with crossover cable or hub/switch

Immersion Day. Creating an Elastic Load Balancer. Rev

PANDORA FMS NETWORK DEVICES MONITORING

5 Easy Steps to Implementing Application Load Balancing for Non-Stop Availability and Higher Performance

VMware vcloud Air Networking Guide

Quick Note 53. Ethernet to W-WAN failover with logical Ethernet interface.

Ethernet-based Software Defined Network (SDN) Cloud Computing Research Center for Mobile Applications (CCMA), ITRI 雲 端 運 算 行 動 應 用 研 究 中 心

LifeSize Transit Deployment Guide June 2011

OpenFlow: Load Balancing in enterprise networks using Floodlight Controller

Guideline for setting up a functional VPN

Multi-layer switch hardware commutation across various layers. Mario Baldi. Politecnico di Torino.

Pushing CDN-ISP Collaboration to the Limit

1:1 NAT in ZeroShell. Requirements. Overview. Network Setup

Configuration Guide. BES12 Cloud

Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. G.Bianchi, G.Neglia, V.Mancuso

Teridion. Rethinking Network Performance. The Internet. Lightning Fast. Technical White Paper July,

8/25/14 SMORE : So)ware- Defined Networking Mobile Offloading Architecture

Transcription:

Rapid IP redirection with SDN and NFV Jeffrey Lai, Qiang Fu, Tim Moors December 9, 2015

Background Enabling ISP-CDN collaboration SDN, NFV, CDN Basics Client assumptions And breaking them The problem My research SDN concepts Implementing an SDN solution NFV concepts Testing procedure Results

Background 2/26

Enabling ISP-CDN collaboration Our work is mainly in the context of enabling and enhancing ISP-CDN collaboration Current examples include in-cache style collaborations (Akamai, netflix, google...) and ISP-operated CDNS (Telstra, Comcast, Verizon..) Recent enablers such as the prominence of SDN and NFV technologies provide a strong motivation to enhance these collaborations 3/26

SDN, NFV basics To keep things short, I ll assume you already know the basics of SDN and NFV Main important factors: Global knowledge and control (SDN), scalability and flexibility (NFV) 4/26

CDN Basics Content Delivery Networks (CDNs) generally utilise a DNS-based request rerouting scheme When clients want to access content, they perform a DNS request to associate an IP address to a hostname These users are typically load balanced/redirected according to geography, server load, etc. 5/26

CDN Basics Let s ping google from two different locations! # My VPS in Canada: root@debian:~ ping -c 2 www.google.com PING www.google.com (74.125.225.16) 56(84) bytes of data. 64 bytes from ord08s12-in-f16.1e100.net (74.125.225.16): icmp_req=1 ttl=56 time=19.2 ms 64 bytes from ord08s12-in-f16.1e100.net (74.125.225.16): icmp_req=2 ttl=56 time=19.2 ms # Here at the hilton: jeff@kanye:~ ping -c 2 www.google.com PING www.google.com (74.125.224.112) 56(84) bytes of data. 64 bytes from lax02s19-in-f16.1e100.net (74.125.224.112): icmp_req=1 ttl=56 time=13.9 ms 64 bytes from lax02s19-in-f16.1e100.net (74.125.224.112): icmp_req=2 ttl=56 time=14.2 ms 6/26

Ten minutes later Let s ping google from two different locations! # My VPS in Canada: root@debian:~ ping -c 2 www.google.com PING www.google.com (173.194.46.112) 56(84) bytes of data. 64 bytes from ord08s13-in-f16.1e100.net (173.194.46.112): icmp_req=1 ttl=56 time=19.4 ms 64 bytes from ord08s13-in-f16.1e100.net (173.194.46.112): icmp_req=2 ttl=56 time=19.1 ms # Here at the hilton: jeff@kanye:~ ping -c 2 www.google.com PING www.google.com (216.58.217.196) 56(84) bytes of data. 64 bytes from lax17s05-in-f4.1e100.net (216.58.217.196): icmp_req=1 ttl=55 time=15.7 ms 64 bytes from lax17s05-in-f4.1e100.net (216.58.217.196): icmp_req=2 ttl=55 time=15.5 ms 7/26

Client assumptions IP-server mappings are unlikely to change IP-hostname mappings are unlikely to change IP-hostname mappings are correct & ideal 8/26

And breaking them What happens when we break these assumptions? 9/26

And breaking them What happens when we break these assumptions? 9/26

The problem DNS caching is a thing! Browsers DNS prefetching Internal caching Operating systems Caching resolvers on the LAN Routers 10/26

The problem DNS is fundamentally pull-based Network operators can t push latest info to users, must wait for users to request it Round robin only uses one address at a time 11/26

My research

Getting around DNS limitations Network operators know the latest server details, users don t New server IP addresses Network load/status Server utilisation We want to enable/enhance CDN/ISP collborations 13/26

Implementing an SDN solution Why not perform DNAT/SNAT operations on packets passing through the network? 14/26

Implementing an SDN solution Why not perform DNAT/SNAT operations on packets passing through the network? A naive approach would be to install these rules in an SDN switch, with a separate rule for each TCP flow But this might be beyond the capacity of current SDN switches 1 1 A single host usually opens 6 or more TCP sessions per server, leading to ten or more rules per host, per server! 15/26

Sample flow rules Table miss flow that catches traffic from users (10.0.0.0/24) to the CDN replicas Priority In-port Protocol IP SRC IP DST SRC port DST port Actions 10 * TCP 10.0.0.0/24 10.0.1.0/24 * 80 Send packet to controller DNAT and SNAT flows to transparently redirect a user to a different CDN server Priority In-port Protocol IP SRC IP DST SRC port DST port Actions 20 * TCP 10.0.0.1 10.0.1.2 4444 80 DNAT DST IP from 10.0.1.2 to 10.0.1.3, send out switch port 3 20 * TCP 10.0.1.3 10.0.0.1 80 4444 SNAT SRC IP from 10.0.1.3 to 10.0.1.2, send out switch port 1 16/26

NFV concepts Instead of performing NAT in the switch, why not perform it in a separate device? We still want to maximise ISP-CDN collaboration, so we also want to bake in custom APIs and functionality Changing scale requirements as traffic demands change So why don t we spin up a customized NAT VNF, and perform our operations there? This way, state information is stored in the VNF and not in the switch, plus we get NFV benefits (Scalability, agility, flexibility). 17/26

Note: In this scheme, NAT VNF can be placed pretty much anywhere on the path between client and CDN. We suggest placing it in the same DC as the switch that directs traffic to the NAT VNF. 18/26

Sample flow rules Flow that catches traffic from users (10.0.0.0/24) to the CDN replicas Priority In-port Protocol IP SRC IP DST SRC port DST port Actions 10 * TCP 10.0.0.1/24 10.0.1.0/24 * 80 Send packet to NAT VM Flow that catches traffic back from the CDN replicas Priority In-port Protocol IP SRC IP DST SRC port DST port Actions 10 * TCP 10.0.1.0/24 10.0.0.1/24 80 * Send packet to NAT VM Only two rules need to be placed into SDN switch 2! 2 At this point, using an SDN switch isn t even entirely necessary... 19/26

Testing procedure We created a topology similar to the overview in mininet, and used the Click software routing framework to create our NAT VNF CDN surrogates hosted identical sets of test data Test data consisted of a series of websites that each contained data: Landing page ->Data set 1 ->Data set 2 ->Data set 3. Each data set contains 11 separate elements (The page manifest, and 10 data elements). An example can be seen at http://jeffl.ai/testpages An anomaly was injected during this page load sequence (Link failure, link congestion, flash crowd) Pages were automated via Javascript DNS TTL was set to 20 seconds, and browsers were set to have no content caches enabled; HTTP pipelining also disabled. 20/26

Results 150 144 Time (seconds) 100 50 95 123 83 85 26 27 27 27 22 Link failure Link congestion Reference With solution (Chrome) Without solution (Chrome) With solution (Firefox) Without solution (Firefox) 21/26

Results, traces for congested link These traces & results are from our further work on this project, and have been submitted as part of a journal paper. It uses a slightly different test methodology. 22/26

Results, traces for link failure 23/26

Results, adding extra CDN resources 24/26

Conclusions We have demonstrated a highly flexible architecture for enabling rapid, fine granularity redirection and server assignment of CDN flows We have performed thorough evaluation of our architecture, showing large gains over the current norm Also shown that DNS caching can potentially be a serious issue that needs to be addressed for agile networks Importantly, the architecture we have presented is highly compatible with pre-existing frameworks, allowing for simple rollouts and incremental implementation 25/26

Questions? Feel free to contact me at jeff@jeffl.ai Slides available at http://jeffl.ai/globepres.pdf Thanks! 26/26

What s the scalability like? SDN-only implementation demonstrably has terrible scaling, potential for many short lived flows. NFV scheme created to address SDN scalability issue, capability of scaling out - we have developed a consistency verification scheme for this Bandwidth scalability can be a concern since all traffic from host to CDN passes via NAT VNF. Currently addressing this in future work with a fake anycast methodology 27/26

What about anycast? Currently researching a fake anycast implementation, promising results. Native anycast has flapping/management/control issues, can t control behavior past controlled networks 28/26

What about HTTP redirect and similar methods? Increased RTT, time to first byte. Still prone to DNS issues What about non-http applications? 29/26

What about CDN strategies? Our system is agnostic to CDN surrogate selection strategies! The inputs/outputs our system cares about are IP endpoints, and network conditions; same as current CDN surrogate selection techniques. 30/26

What about different topologies? Our system should be agnostic to changes in topology. We perform redirection based on endpoint server IP addresses, so as to rely on an ISP s preexisting IP routing framework. Currently deploying a testbed in Amazon AWS, planetlab 31/26