1 vini: virtual network infrastructure jennifer rexford princeton university jrex

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

Post on 19-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

1

VINI: Virtual Network Infrastructure

Jennifer Rexford

Princeton University

http://www.cs.princeton.edu/~jrex

Page 2: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

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: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

3

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 4: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

4

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 5: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

5

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 6: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

6

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 7: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

7

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 8: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

8

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 9: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

9

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 10: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

10

VINI: VIrtual Network Infrastructure

Page 11: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

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: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

12

Fixed Infrastructure

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

Page 13: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

13

Shared Infrastructure

Experiments given illusion of dedicated hardware

Page 14: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

14

Flexible Topology

VINI supports arbitrary virtual topologies

Page 15: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

15

Network Events

VINI exposes, can inject network failures

Page 16: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

16

External Connectivity

s

c

Experiments can carry traffic for real end-users

Page 17: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

17

External Routing Adjacencies

s

c

BGP

BGP

BGP

BGP

Experiments can participate in Internet routing

Page 18: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

18

VINI Platform Design

Page 19: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

19

Virtualizing the Computer

• Starting with the PlanetLab software–Each experiment has its own virtual machine –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 20: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

20

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 virtual machine

XORP(routing protocols)

VM

Page 21: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

21

Virtual Network Abstraction

• PlanetLab limitation:– Does not virtualize the

underlying network

• For each VM we want– Interfaces, bound to

tunnels to other nodes– Networking stack (e.g.,

forwarding table)– Packet forwarding in OS

• Across VMs we want– Independent topologies– Resource isolation

XORP(routing protocols)

eth1 eth3eth2eth0

FIB

Control

Data

User space

OS

tunnels

Page 22: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

22

Network Name Spaces (NetNS)

• NetNS extension to Linux–Virtualizes the network stack–Each network stack bound to user process(es)

• Provides us with –Separate forwarding table (FIB)–Separate interfaces

• But, a few challenges remain–Connecting interfaces to tunnels–Supporting non-IP protocols–Providing isolation between virtual nodes

Page 23: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

23

Connecting Interfaces to Tunnels

• Ethernet switch– Linux bridge module– Connects all interfaces– And all tunnels

• Short bridge – No MAC learning– No forwarding look-up– No frame header copying

• EGRE tunnels– Carry Ethernet frames– Support non-IP protocols

XORP(routing protocols)

eth1 eth3eth2eth0

Short Bridge

etun3etun2etun1FIB

User space

OS

Page 24: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

24

Isolation Between Virtual Networks

• Virtual host (user space)– Experimenter’s software– Protocols, applications

• Virtual host (OS)– Forwarding tables– Virtual Ethernet interfaces

• Shared substrate (OS)– Tunnels between nodes– Enforcing rate limits

XORP(routing protocols)

eth1 eth3eth2eth0

Short Bridge

etun3etun2etun1FIB

User space

OS

OS

Page 25: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

25

Ongoing Work on Packet Forwarding

• Tension between three goals–High-speed packet forwarding–Customization of the data plane–Sharing of the data plane

• Step #1: Greater flexibility–Customized data planes in the kernel–Virtualizing Click to support different virtual hosts

• Step #2: Greater speed–Customized data planes in an FPGA–Virtualizing the NetFPGA board from Stanford

Page 26: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

26

Example Experiment on VINI

Page 27: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

27

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 28: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

28

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 29: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

29

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 30: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

30

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 31: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

31

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 32: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

32

Where does all this experimentation lead us?

Page 33: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

33

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 34: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

34

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 35: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

35

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 36: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

36

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 37: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

37

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 38: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

38

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 39: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

39

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 40: 1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University jrex

40

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