Programmability: Network Virtualization

23
Network Virtualization Jennifer Rexford Jennifer Rexford Advanced Computer Networks Advanced Computer Networks http://www.cs.princeton.edu/courses/archive/ http://www.cs.princeton.edu/courses/archive/ fall08/cos561/ fall08/cos561/ Tuesdays/Thursdays 1:30pm-2:50pm Tuesdays/Thursdays 1:30pm-2:50pm

Transcript of Programmability: Network Virtualization

Page 1: Programmability: Network Virtualization

Network Virtualization

Jennifer RexfordJennifer Rexford

Advanced Computer NetworksAdvanced Computer Networkshttp://www.cs.princeton.edu/courses/archive/fall08/http://www.cs.princeton.edu/courses/archive/fall08/

cos561/cos561/Tuesdays/Thursdays 1:30pm-2:50pmTuesdays/Thursdays 1:30pm-2:50pm

Page 2: Programmability: Network Virtualization

Introduction

• Motivation for network virtualization– Deployment dilemma, too many design

goals, and coordination constraint

• Pluralist networks– Economic refactoring– Infrastructure and service providers

• Research challenges– Systems challenges – Resource allocation

Page 3: Programmability: Network Virtualization

The Internet: A Remarkable Story

• Tremendous success– From research experiment to global

communications infrastructure• The brilliance of under-specifying

– Best-effort packet delivery service– Key functionality at programmable end

hosts• Enabled massive growth and innovation

– Ease of adding hosts and link technologies– Ease of adding services (Web, P2P, VoIP, …)

• But, change is easy only at the edge…

Page 4: Programmability: Network Virtualization

Rethinking the Network Architecture

• But, the Internet is showing signs of age– Security, mobility, availability, manageability, …

• Challenges rooted in early design decisions– Weak notion of identity, tying address & location– Not just a matter of redesigning a single protocol

• Revisit definition and placement of function– What are the types of nodes in the system?– What are their powers and limitations?– What information do they exchange?

Page 5: Programmability: Network Virtualization

Hurdle #1: Deployment Dilemma

• An unfortunate catch-22– Must deploy an idea to demonstrate feasibility– Can’t get an undemonstrated idea deployed

• A corollary: the testbed dilemma – Production network: real users, but can’t

change– Research testbed: easy changes, but no users

• Bad for the research community– Good ideas sit on the shelf– Promising ideas do not grow up into good ones

Page 6: Programmability: Network Virtualization

Hurdle #2: Too Many Design Goals

• Many different system-engineering goals– Scalability, reliability, security, privacy,

robustness, performance guarantees, …– Perhaps we cannot satisfy all of them at

once

• Applications have different priorities– Online banking: security– Web surfing: privacy, high throughput– Voice and gaming: low delay and loss

• Compromise solution isn’t good for anyone

Page 7: Programmability: Network Virtualization

Hurdle #3: Coordination Constraint

• Difficult to deploy end-to-end services– Benefits only when most networks deploy– No single network wants to deploy first

• Many deployment failures– QoS, IP multicast, secure routing, IPv6,…– Despite solving real, pressing problems

• Increasing commoditization of ISPs

sender receiver

1 2 3

Page 8: Programmability: Network Virtualization

Virtualization to the Rescue

• Multiple customized architectures in parallel– Multiple logical routers on a single platform– Isolation of resources, like CPU and bandwidth– Programmability for customizing each “slice”

Page 9: Programmability: Network Virtualization

Overcoming the Hurdles

• Deployment Dilemma– Run multiple experimental networks in parallel– Some are mature, offering services to users– Isolated from others that are works in progress

• Too Many Design Goals– Run multiple operational networks in parallel– Customized to certain applications and users

• Coordination Constraint– Run multiple end-to-end services in parallel– Over equipment owned by different parties

Page 10: Programmability: Network Virtualization

Pluralist Future

Page 11: Programmability: Network Virtualization

The Case for Pluralism

• Suppose we can break down the barriers…– Enable realistic evaluation of new ideas– Overcome the coordination constraint

• Maybe there isn’t just one right answer– Maybe the problem is over-constrained– Too many goals, some of them conflicting

• Maybe the goals change over time– And we’ll always be reinventing ourselves– The only constant is change

• So, perhaps we should design for change

Page 12: Programmability: Network Virtualization

Different Services, Different Goals

• Performance– Low delay/jitter: VoIP and online gaming– High throughput: bulk file transfer

• Security/privacy– High security: online banking and e-

commerce– High privacy: Web surfing

• Scalability– Very scalable: global Internet reachability– Not so scalable: communication in small

groups

Page 13: Programmability: Network Virtualization

Applications Within an Single ISP

• Customized virtual networks– Security for online banking– Fast-convergence for VoIP and gaming– Specialized handling of suspicious traffic

• Testing and deploying new protocols– Evaluate on a separate virtual network– Rather than in a dedicated test lab– Large scale and early-adopter traffic

• Leasing virtual components to others– ISPs have unused node and link capacity– Can allow others to construct services on

top

Page 14: Programmability: Network Virtualization

Economic Refactoring in CABO

• Infrastructure providers: Maintain routers, links, data centers, and other physical infrastructure

• Service providers: Offer end-to-end services (e.g., layer 3 VPNs, SLAs, etc.) to users

Infrastructure Providers Service Providers

Today: ISPs try to play both roles, and cannot offer end-to-end services

Page 15: Programmability: Network Virtualization

Similar Trends in Other Industries

• Commercial aviation– Infrastructure providers: Airports– Infrastructure: Gates, “hands and eyes”

support– Service providers: Airlines

E.g.: airplanes, auto industry, and commercial real estate

PEKATL

JFK

SFO

Page 16: Programmability: Network Virtualization

Communications Networks, Too!

• Two commercial examples in IP networks– Packet Fabric: share routers at exchange

points– FON: resells users’ wireless Internet

connectivity

• FON economic refactoring– Infrastructure providers: Buy upstream connectivity

– Service provider: FON as the broker (www.fon.com)

Broker

Page 17: Programmability: Network Virtualization

Enabling End-to-End Services

• Secure routing protocols• Multi-provider Virtual Private Networks• Paths with end-to-end performance

guarantees

Today Cabo

Competing ISPs with different goals must coordinate

Single service provider controls end-to-end path

Page 18: Programmability: Network Virtualization

Research Challenges

Page 19: Programmability: Network Virtualization

Virtualized and Programmable Routers

• Multiple routers on a single substrate– Multiple control planes– Multiple data planes

• Design trade-offs– Speed: aggregate forwarding performance

• Getting close to raw forwarding speed

– Isolation: avoiding interference• Avoiding jitter and resource contention

– Customization: programmability of the data plane• Moving beyond IPv4 packets and Ethernet frames• Software (e.g., Click) vs. hardware (e.g., NetFPGA)?

Page 20: Programmability: Network Virtualization

Control Frameworks

• Embedding virtual topology in physical one– Finding suitable physical nodes and physical

links– With enough CPU, bandwidth, and memory – … and satisfying geographic and delay

constraints

• Instantiating the virtual network– Creating each virtual node and virtual link– Reserving the necessary resources

• Monitoring the running system– Detecting and diagnosing problems– Providing measurement data to virtual network

Page 21: Programmability: Network Virtualization

Ways to Exploit Router Virtualization

• Exploiting the new capabilities in routers– Separation of the physical from the logical– Ability to run multiple routers in parallel

• Example: virtual router migration– Moving router from one physical node to

another– E.g., for planned maintenance or service roll-

out

• Example: bug-tolerant routers– Running multiple instances of routing software– … and “voting” to protect the system from

bugs

Page 22: Programmability: Network Virtualization

Discussion: Internet vs. Pluralism

• Internet architecture– End-to-end argument– Best-effort packet-delivery service– Narrow waist of IP– Separation of intradomain from interdomain

• Virtualized programmable networks– Complete control within a virtual network– Programmable functionality inside the

network– Different (virtual) networks for different

services

Page 23: Programmability: Network Virtualization

Discussion: Experimental Infrastructure

• How to evaluate research ideas?– Analysis– Simulation– Prototyping– Deployment studies

• Importance of wide-area deployment?– Realistic traffic and network conditions– Real users and participation in experiments

• How real does real need to get?• Will researchers bother to build and

deploy?– Incentives for conducting this kind of research