35
In VINI Veritas Realistic and Controlled Network Experimentation Andy Bavier Nick Feamster* Mark Huang Larry Peterson Jennifer Rexford Princeton University *Georgia Tech

In VINI Veritas Realistic and Controlled Network Experimentation

Embed Size (px)

DESCRIPTION

In VINI Veritas Realistic and Controlled Network Experimentation. Andy Bavier Nick Feamster* Mark Huang Larry Peterson Jennifer Rexford. Princeton University *Georgia Tech. How to Validate an Idea?. Emulation. VINI. Fixed, shared among many experiments - PowerPoint PPT Presentation

Citation preview

Page 1: In VINI Veritas Realistic and Controlled Network Experimentation

In VINI VeritasRealistic and Controlled Network Experimentation

Andy Bavier Nick Feamster* Mark Huang

Larry Peterson Jennifer Rexford

Princeton University *Georgia Tech

Page 2: In VINI Veritas Realistic and Controlled Network Experimentation

How to Validate an Idea?

Fixed, shared among many experiments Runs real routing software Exposes realistic network conditions Gives control over network events Carries traffic on behalf of real users

Simulation

Emulation

Small-scaleexperiment

Livedeployment

VINI

Page 3: In VINI Veritas Realistic and Controlled Network Experimentation

Scientific Value

The most exciting phrase to hear in science, the one that heralds new discoveries, is not ‘Eureka!’ (I found it!) but ‘That’s funny …’ -- Isaac Asimov

Move off the emulator, into the wild Opportunity for more ‘that’s funny’ moments

Avoid “Fallacy of Misplaced Concreteness” Simulation and emulation are important tools Modeling abstracts general properties from reality

Philosophy: the devil may be in the details… But insights and soundness are found there too

Page 4: In VINI Veritas Realistic and Controlled Network Experimentation

“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 5: In VINI Veritas Realistic and Controlled Network Experimentation

Overview VINI requirements

Fixed, shared infrastructure Flexible network topology Expose/inject network events External connectivity and routing adjacencies

Strategy for building VINI PL-VINI: prototype on PlanetLab Experimental results Timeline

Page 6: In VINI Veritas Realistic and Controlled Network Experimentation

Fixed Infrastructure

Deploying VINI nodes in National LambdaRail, Abilene with Gigabit links

Page 7: In VINI Veritas Realistic and Controlled Network Experimentation

Shared Infrastructure

Experiments given illusion of dedicated h/w

Page 8: In VINI Veritas Realistic and Controlled Network Experimentation

Flexible Topology

VINI supports arbitrary virtual topologies

Page 9: In VINI Veritas Realistic and Controlled Network Experimentation

Network Events

VINI exposes, can inject network failures

Page 10: In VINI Veritas Realistic and Controlled Network Experimentation

External Connectivity

s

c

Experiments can carry traffic for real end-users

Page 11: In VINI Veritas Realistic and Controlled Network Experimentation

External Routing Adjacencies

s

c

BGP

BGP

BGP

BGP

Experiments can participate in Internet routing

Page 12: In VINI Veritas Realistic and Controlled Network Experimentation

PlanetLab VINI

Build VINI from PlanetLab, a global testbed for distributed servicesBegun in 2002700 nodes at 336 sites in 35 countries 600 projects and 2500 researchersServes 3-4 TB/day to ~1M clients

MyPLC: PlanetLab software distributionAnyone can run their own private PlanetLab

Page 13: In VINI Veritas Realistic and Controlled Network Experimentation

PlanetLab Experiments

Simultaneous experiments in separate VMs Each has “root” in its own VM, can customize

Reserve CPU, network capacity per experiment

Virtual Machine Monitor (VMM)(Linux++)

NodeMgr

LocalAdmin

VM1 VM2 VMn…PlanetLab node

Page 14: In VINI Veritas Realistic and Controlled Network Experimentation

PL-VINI: Prototype on PlanetLab

Feasible? prototype on public PlanetLab Enable experiment: Internet In A Slice

XORP open-source routing protocol suite (NSDI ’05) Click modular router (TOCS ’00, SOSP ’99)

Clarify issues that a VINI must address Unmodified routing software on a virtual topology Forwarding packets at line speed Illusion of dedicated hardware Injection of faults and other events

Page 15: In VINI Veritas Realistic and Controlled Network Experimentation

XORP: Control Plane

Goal: real routing protocols on virtual network topologies

BGP, OSPF, RIP, PIM-SM, IGMP/MLD

XORP can run in a PlanetLab VM

XORP(routing protocols)

PlanetLab VM

Page 16: In VINI Veritas Realistic and Controlled Network Experimentation

User-Mode Linux: Environment

Interface ≈ network PlanetLab limitation:

Experiments cannot create new interfaces

Run routing software in UML environment

Create virtual network interfaces in UML

XORP(routing protocols)

UML

eth1 eth3eth2eth0

PlanetLab VM

Page 17: In VINI Veritas Realistic and Controlled Network Experimentation

Click: Data Plane

Performance Avoid UML overhead Move to kernel, FPGA

Interfaces tunnels Click UDP tunnels

correspond to UML network interfaces

Filters “Fail a link” by blocking

packets at tunnel

XORP(routing protocols)

UML

eth1 eth3eth2eth0

Click

PacketForwardEngine

Control

DataUmlSwitch

element

Tunnel table

Filters

PlanetLab VM

Page 18: In VINI Veritas Realistic and Controlled Network Experimentation

Resource Isolation

Issue: Forwarding packets in user space PlanetLab sees heavy use CPU load affects virtual network performance

Property Depends On Solution

Throughput CPU% received PlanetLab provides CPU reservations

Latency CPU scheduling delay

PL-VINI: boost priority of packet forward process

Page 19: In VINI Veritas Realistic and Controlled Network Experimentation

Intra-domain Route Changess

c

1176

587 846

260

700

6391295

2095

902

548

233

1893

366

Watch OSPF route convergence on Abilene

856

Page 20: In VINI Veritas Realistic and Controlled Network Experimentation

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 21: In VINI Veritas Realistic and Controlled Network Experimentation

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 22: In VINI Veritas Realistic and Controlled Network Experimentation

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

PL-VINI enables a user-space virtual networkto behave like a real network on PlanetLab

Page 23: In VINI Veritas Realistic and Controlled Network Experimentation

Attracting Real Users

Could have run experiments on Emulab Goal: Operate our own virtual network

Carrying traffic for actual usersWe can tinker with routing protocols

We expect that:PlanetLab services will subscribe to VINI

network architectures to access Gb/s Experiments will advertise routes via BGP

Page 24: In VINI Veritas Realistic and Controlled Network Experimentation

Timeline

PL-VINI• PlanetLab• Resource resv• CPU priority

You arehere

NLR-VINIAbilene-VINIJapan-VINI• PCs• VINI OS• MyVINI• Xen• Exchange traffic with ISPs

2007

NLR-VINIAbilene-VINI• PCs• PlanetLab OS• MyPLC• Gigabit layer 2• eBGP uplinks to friendly ISPs

Fall 2006 2008

NLR-VINIAbilene-VINIJapan-VINI???-VINI• Other GREN• PC + FPGAs, NPs• Create layer 2 “on the fly”

Other features?

Page 25: In VINI Veritas Realistic and Controlled Network Experimentation

The End

Questions?

Page 26: In VINI Veritas Realistic and Controlled Network Experimentation

The End

URL: http://www.vini-veritas.net Questions?

Page 27: In VINI Veritas Realistic and Controlled Network Experimentation

Backup slides

Page 28: In VINI Veritas Realistic and Controlled Network Experimentation

Conclusion

VINI = evolution of PlanetLab Installing VINI nodes in NLR, Abilene Download and run Internet In A Slice MyPLC MyVINI as code diverges

Build, run, modify your own VINIWe expect there to be many VINIs

http://www.vini-veritas.net

Page 29: In VINI Veritas Realistic and Controlled Network Experimentation

Timeline

Conclude with a timeline instead? Like the one for Gibson.

Experiments on the top, infrastructure on the bottom, “You are here.”

Today: IIAS, PL-VINI Next: RCP, VINI-NLR What other experiments?

Page 30: In VINI Veritas Realistic and Controlled Network Experimentation

Ongoing Work

Improving realismExposing network failures and changes in the

underlying topologyParticipating in routing with neighboring

networks Improving control

Better isolationExperiment specification

Page 31: In VINI Veritas Realistic and Controlled Network Experimentation

Performance is bad

User-space Click: ~200Mb/s forwarding Can do a lot with 200Mb/s

20 experiments can have dedicated 10Mb/s nationwide networks

Improving performance is ongoing workAllow experiments to load custom Click

modules into the VINI kernel

Page 32: In VINI Veritas Realistic and Controlled Network Experimentation

PL-VINI SummaryFlexible Network Topology

Virtual point-to-point connectivity Tunnels in Click

Unique interfaces per experiment Virtual network devices in UML

Exposure of topology changes Upcalls of layer-3 alarms

Flexible Routing and Forwarding

Per-node forwarding table Separate Click per virtual node

Per-node routing process Separate XORP per virtual node

Connectivity to External Hosts

End-hosts can direct traffic through VINI Connect to OpenVPN server

Return traffic flows through VINI NAT in Click on egress node

Support for Simultaneous Experiments

Isolation between experiments PlanetLab VMs and network isolation

CPU reservations and priorities

Distinct external routing adjacencies BGP multiplexer for external sessions

Page 33: In VINI Veritas Realistic and Controlled Network Experimentation

PL-VINI / IIAS Router

XORP: control plane UML: environment

Virtual interfaces

Click: data plane Performance

Avoid UML overhead Move to kernel, FPGA

Interfaces tunnels “Fail a link”

XORP(routing protocols)

UML

eth1 eth3eth2eth0

Click

PacketForwardEngine

Control

DataUmlSwitch

element

Tunnel table

Page 34: In VINI Veritas Realistic and Controlled Network Experimentation

What’s New with VINI?

Integration of routing w/Internet Better isolation Real topologies Inject events

Page 35: In VINI Veritas Realistic and Controlled Network Experimentation

“Controlled Realism” Control:

Reproduce results Methodically change or

relax constraints

Realism: Long-running services

attract real “customers” Forward high traffic

volumes (Gb/s) Robustly handle

unexpected events

Topology

Actual network

Arbitrary, emulated

Traffic

Real clients, servers

Synthetic or traces

Network Events

Observed in operational network

Inject faults, anomalies