vini: virtual network infrastructure

41
1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University http://www.cs.princeton.edu/~jrex

Upload: gefen

Post on 12-Feb-2016

42 views

Category:

Documents


0 download

DESCRIPTION

VINI: Virtual Network Infrastructure. Jennifer Rexford Princeton University http://www.cs.princeton.edu/~jrex. The Internet: A Remarkable Story. Tremendous success From research experiment to global communications infrastructure The brilliance of under-specifying - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: VINI: Virtual Network Infrastructure

1

VINI: Virtual Network Infrastructure

Jennifer Rexford

Princeton Universityhttp://www.cs.princeton.edu/~jrex

Page 2: VINI: Virtual Network Infrastructure

2

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 3: VINI: Virtual Network Infrastructure

3

Internet is Showing Signs of Age• Security

– Weak notions of identity that are easy to spoof– Protocols that rely on good behavior

• Mobility– Hierarchical addressing closely tied with routing– Presumption that communicating hosts are connected

• Availability– Poor visibility into underlying shared risks– Multiple interconnected protocols and systems

• Network management– Many coupled, decentralized control loops

Page 4: VINI: Virtual Network Infrastructure

4

Variety of Architectural Solutions• Revisiting definition & placement of function

–Naming, addressing, and location–Routing, forwarding, and addressing–Management, control, and data planes–End hosts, routers, and operators

• Designing with new constraints in mind–Selfish and adversarial participants–Mobile hosts and disconnected operation–Large number of small, low-power devices–Ease of network management

Page 5: VINI: Virtual Network Infrastructure

5

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: VINI: Virtual Network Infrastructure

6

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: VINI: Virtual Network Infrastructure

7

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 receiver1 2 3

Page 8: VINI: Virtual Network Infrastructure

8

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: VINI: Virtual Network Infrastructure

9

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: VINI: Virtual Network Infrastructure

10

Three Projects: GENI, VINI, CABO

• Global Environment for Network Innovations–Large initiative for a shared experimental facility–Jointly between NSF CISE division & community–Distributed systems, wireless, optics, backbone

• VIrtual Network Infrastructure–Baby step toward the design of GENI–Systems research on network virtualization

• Concurrent Architectures Better than One–Clean-slate architecture based on virtualization–Economic refactoring for end-to-end services

See http://www.geni.net and http://www.vini-veritas.net

Page 11: VINI: Virtual Network Infrastructure

11

VINI Offers “Controlled Realism”

• Start with a controlled experiment

• Relax constraints, study effects

• Result: an operational virtual network that’s– Feasible– Valuable– Robust– Scalable, etc.

Topology

Actual network

Arbitrary, emulated

Traffic

Real clients, servers

Synthetic or traces

Network Events

Observed in operational network

Inject faults, anomalies

Page 12: VINI: Virtual Network Infrastructure

12

Fixed Infrastructure

Deployed VINI nodes in National Lambda Rail and Abilene, and PoPs in Seattle and Virginia

Page 13: VINI: Virtual Network Infrastructure

13

Shared Infrastructure

Experiments given illusion of dedicated hardware

Page 14: VINI: Virtual Network Infrastructure

14

Flexible Topology

VINI supports arbitrary virtual topologies

Page 15: VINI: Virtual Network Infrastructure

15

Network Events

VINI exposes, can inject network failures

Page 16: VINI: Virtual Network Infrastructure

16

External Connectivity

s

c

Experiments can carry traffic for real end-users

Page 17: VINI: Virtual Network Infrastructure

17

External Routing Adjacencies

s

c

BGP

BGP

BGP

BGP

Experiments can participate in Internet routing

Page 18: VINI: Virtual Network Infrastructure

18

Virtualizing the Computer• Starting with the PlanetLab software

–Simultaneous experiments in separate VMs–Each has “root” in its own VM, can customize–Reserve processing resources per VM

Virtual Machine Monitor (VMM)(Linux++)

NodeMgr

LocalAdmin VM1 VM2 VMn…

PlanetLab node

Page 19: VINI: Virtual Network Infrastructure

19

Creating the Virtual Topology

• Goal: real routing protocols on virtual network topologies

• Various routing protocols (BGP, OSPF, RIP, IP multicast)

• Run unmodified routing software in a PlanetLab VM

XORP(routing protocols)

PlanetLab VM

Page 20: VINI: Virtual Network Infrastructure

20

User-Mode Linux: Environment

• Interface ≈ network

• PlanetLab limitation:– Does not virtualize the

underlying network

• Level of indirection– Run routing software in

UML environment– Create virtual network

interfaces in UML

XORP(routing protocols)

UML

eth1 eth3eth2eth0

PlanetLab VM

Page 21: VINI: Virtual Network Infrastructure

21

Click: Data Plane• Interfaces tunnels

– Click UDP tunnels correspond to UML network interfaces

• Filters– “Fail a link” by blocking

packets at tunnel

• Forwarding packets– Avoid UML overhead– Around 200 Mbps– Not good enough

XORP(routing protocols)

UML

eth1 eth3eth2eth0

Click

PacketForwardEngine

Control

DataUmlSwitch

element

Tunnel table

Filters

PlanetLab VM

Page 22: VINI: Virtual Network Infrastructure

22

Operating System Extensions• Move data plane into the operating system

–Higher speed, lower jitter, and better scalability

• Virtualize the network data structures–Separate forwarding table per virtual host

• Virtual links inside the operating system–Terminate tunnels inside the operating system–No data copying leads to fast packet forwarding

• Resource isolation–Apply traffic shaping to control resource usage

Page 23: VINI: Virtual Network Infrastructure

23

Three-Level Design• Virtual host, in user space

–Experimenter’s software–Routing protocols, applications

• Virtual host, in the OS–Forwarding tables–Virtual Ethernet interfaces

• Shared substrate, in the OS–Tunnels between VINI nodes–Shaping to enforce rate limits

Researchexperiment

Forwarding table,Virtual interfaces

Traffic shaping,Tunnel interfaces

Network

Page 24: VINI: Virtual Network Infrastructure

24

Intra-domain Route Changes

s

c

1176

587 846

260

700

6391295

2095

902

548

233

1893

366

Watch OSPF route convergence on Abilene

856

Page 25: VINI: Virtual Network Infrastructure

25

Ping During Link Failure

70

80

90

100

110

120

0 10 20 30 40 50

Pin

g R

TT

(m

s)

Seconds

Link down Link up

Routes converging

Abilene RTT: 73ms

Page 26: VINI: Virtual Network Infrastructure

26

TCP Throughput

0

2

4

6

8

10

12

0 10 20 30 40 50

Meg

abyt

es t

rans

ferr

ed

Seconds

Packet receiv ed

Zoom in

Link down Link up

Page 27: VINI: Virtual Network Infrastructure

27

Arriving TCP Packets

2.1

2.15

2.2

2.25

2.3

2.35

2.4

2.45

17.5 18 18.5 19 19.5 20

Meg

abyt

es in

str

eam

Seconds

Packet receiv ed

Slow start

Retransmitlost packet

VINI enables a virtual networkto behave like a real network

Page 28: VINI: Virtual Network Infrastructure

28

Other Example VINI Experiments• Scaling Ethernet to a large enterprise

• Routing-protocol support for mobile hosts

• Network-layer support for overlay services

• Piggybacking diagnostic data on packets

• <Insert your prototype system here>

• Multiple solutions to multiple problems…

Page 29: VINI: Virtual Network Infrastructure

29

Theoretical Challenges

In collaboration with Mung Chiang

Page 30: VINI: Virtual Network Infrastructure

30

1. VINI Management Framework• Managing individual nodes

–Instantiates virtual nodes and virtual links–Configures the CPU and link schedulers–Monitors the behavior of the virtual nodes

• Instantiating virtual networks–Admission control

• Book-keeping of node and link resources–Topology embedding

• Finding available node and link resources

Page 31: VINI: Virtual Network Infrastructure

31

Theory Angle: Network Embedding

• Virtual network embedding problem–Given a set of virtual network topologies–With node and link constraints–Assign physical nodes and paths

Virtual network

VINI substrate

Page 32: VINI: Virtual Network Infrastructure

32

Theory Angle: Network Embedding

• Computationally intractable problem–Online problem, with node and link constraints

• Two possible approaches–Could work on effective heuristics–Or, change the problem to make it easier!

• Modifying the substrate to simply embedding–Splitting virtual link over multiple substrate paths–Migration of virtual links and virtual nodes

• With Mung Chiang, Yung Yi, and Minlan Yu

Page 33: VINI: Virtual Network Infrastructure

33

2. Virtualization as a Deployment Platform

• Moving beyond experimental facilities–Helping providers run their networks better

• Customized virtual networks–Security for online banking–Fast-convergence for VoIP and gaming–Anonymity and throughput for Web 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

Page 34: VINI: Virtual Network Infrastructure

34

Theory Angle: Virtualization• Theoretical foundation for virtualization

–Does running customized protocols in parallel make sense?

–Or, does it waste resources, or add complexity?

• Example: supporting two classes of traffic–Two applications with different utility functions–E.g., delay-sensitive vs. throughput-sensitive–Where should the traffic go (routing)?–What source rates to use (congestion control)?

• One architecture or two?

Page 35: VINI: Virtual Network Infrastructure

35

Theory Angles: Virtualization• Layering as optimization decomposition

–Formulate the joint optimization problem–Primal decomposition to generate the protocols

U1(xi1) +

i U2(xi

2) imax

R1x1 + R2x2 <= C

U1(xi1) i

max

R1x1 <= Y

U2(xi2) i

max

R2x2 <= C -Y

Master problem

Page 36: VINI: Virtual Network Infrastructure

36

Theory Angles: Virtualization• Primal decomposition == Virtualization

–Separable objectives for the two classes–Solve each subproblem independently–Dynamically adapt the share of resources

• Virtualization may indeed “make sense”–Design and run each protocol independently on

its own virtual network–With cooperation between virtual networks to

adapt the resource shares

• Ongoing work with Mung Chiang, Jiayue He, and Rui Zhang-Shen

Page 37: VINI: Virtual Network Infrastructure

37

2. Virtualization for Economic Refactoring

• 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 38: VINI: Virtual Network Infrastructure

38

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

NRT ATL

JFK

SFO

Page 39: VINI: Virtual Network Infrastructure

39

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 40: VINI: Virtual Network Infrastructure

40

3. Theory Angles: Many Questions

• Virtual network embedding–With multiple infrastructure providers–Auctions for virtual nodes and links?–Cooperation to create virtual links?

• Modeling of the economic landscape–Analogies to other fields can be dangerous–Does the economic factoring really make sense?–Appropriate incentives for service providers and

infrastructure providers alike

Page 41: VINI: Virtual Network Infrastructure

41

Conclusion• The Internet needs to change

–Security, mobility, availability, management, …

• We can overcome barriers to change–Enable realistic experimentation with new ideas–Enable multiple designs with different trade-offs–Enable end-to-end deployment of new services

• Network virtualization is the key–Run many research experiments in parallel–Offer customized end-to-end services in parallel

• VINI as an enabling experimental platform