You are on page 1of 23

Network Virtualization

Jennifer Rexford
Advanced Computer Networks

http://www.cs.princeton.edu/courses/archive/fall08/cos561
/

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

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

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

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?

Hurdle #1: Deployment Dilemma


An unfortunate catch-22
Must deploy an idea to demonstrate feasibility
Cant get an undemonstrated idea deployed

A corollary: the testbed dilemma


Production network: real users, but cant
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

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 isnt good for


anyone

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

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

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

Pluralist Future

The Case for Pluralism


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

Maybe there isnt just one right answer


Maybe the problem is over-constrained
Too many goals, some of them conflicting

Maybe the goals change over time


And well always be reinventing ourselves
The only constant is change

So, perhaps we should design for change

Different Services, Different Goals


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

Security/privacy
High security: online banking and ecommerce
High privacy: Web surfing

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

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

Economic Refactoring in CABO


Infrastructure Providers

Service Providers

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
Today: ISPs try to play both roles, and cannot offer end-to-end services

Similar Trends in Other Industries


Commercial aviation
Infrastructure providers: Airports
Infrastructure: Gates, hands and eyes
support
Service providers: Airlines
JFK
SFO

PEK

ATL

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

Communications Networks, Too!

Two commercial examples in IP networks


Packet Fabric: share routers at exchange
points
FON: resells users wireless Internet
connectivity

Broker

FON economic refactoring


Infrastructure providers: Buy upstream connectivity
Service provider: FON as the broker (www.fon.com)

Enabling End-to-End Services


Secure routing protocols
Multi-provider Virtual Private Networks
Paths with end-to-end performance
guarantees
Today
Competing ISPs
with different goals
must coordinate

Cabo
Single service
provider controls
end-to-end path

Research Challenges

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)?

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

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 rollout

Example: bug-tolerant routers


Running multiple instances of routing software
and voting to protect the system from bugs

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

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

You might also like