390 likes | 539 Views
In VINI Veritas Realistic and Controlled Network Experimentation. Andy Bavier Nick Feamster* Mark Huang Larry Peterson Jennifer Rexford. Princeton University *Georgia Tech. Introduction. VINI. Emulation. Runs real routing software Exposes realistic network conditions
E N D
In VINI VeritasRealistic and Controlled Network Experimentation Andy Bavier Nick Feamster* Mark Huang Larry Peterson Jennifer Rexford Princeton University *Georgia Tech
Introduction VINI Emulation • Runs real routing software • Exposes realistic network conditions • Gives control over network events • Carries traffic on behalf of real users • Shared among many experiments Simulation Small-scale experiment Live deployment
Realism has 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 • Discover unanticipated interactions • Can only simulate / emulate known properties • Build richer models • Test robustness and scalability of ideas
Traffic Synthetic or traces Real clients, servers Arbitrary, emulated Synthetic or traces Actual network Real clients, servers Topology Traffic Inject faults, anomalies Observed in operational network Network Events “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
Overview • VINI requirements • Fixed, shared infrastructure • Flexible network topology • Expose/inject network events • External connectivity and routing adjacencies • PL-VINI: prototype on PlanetLab • Experimental results • Ongoing work
Fixed Infrastructure VINI nodes embedded in Abilene
Shared Infrastructure Experiments given illusion of dedicated hardware
Shared Infrastructure Experiments given illusion of dedicated hardware
Flexible Topology VINI supports arbitrary virtual topologies
Flexible Topology VINI supports arbitrary virtual topologies
Network Events VINI can inject network failures
Network Events virtual link fails real link fails VINI can expose network failures (coming soon)
External Connectivity c s Experiments can carry traffic for real end-users
BGP BGP c BGP BGP External Routing Adjacencies s Experiments can participate in Internet routing
Node Mgr Local Admin VM1 VM2 VMn … Virtual Machine Monitor (VMM) (Linux++) PL-VINI: Prototype on PlanetLab • PlanetLab: testbed for planetary-scale services • Simultaneous experiments in separate VMs • Each has “root” in its own VM, can customize • Can reserve CPU, network capacity per VM PlanetLab node
PL-VINI: Prototype on 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
XORP: Control Plane XORP (routing protocols) • BGP, OSPF, RIP, PIM-SM, IGMP/MLD • Goal: run real routing protocols on virtual network topologies
User-Mode Linux: Environment UML XORP (routing protocols) • Interface ≈ network • PlanetLab limitation: • Slice cannot create new interfaces • Run routing software in UML environment • Create virtual network interfaces in UML eth0 eth1 eth2 eth3
Click: Data Plane UML XORP (routing protocols) • Performance • Avoid UML overhead • Move to kernel, FPGA eth0 eth1 eth2 eth3 Control Data Packet Forward Engine Click
Click: Data Plane UML XORP (routing protocols) • Performance • Avoid UML overhead • Move to kernel, FPGA eth0 eth1 eth2 eth3 Control Data Packet Forward Engine UmlSwitch element Click
Click: Data Plane UML XORP (routing protocols) • Performance • Avoid UML overhead • Move to kernel, FPGA • Interfaces tunnels • Click UDP tunnels correspond to UML network interfaces eth0 eth1 eth2 eth3 Control Data Packet Forward Engine UmlSwitch element Tunnel table Click
Injecting Link Failures UML XORP (routing protocols) • 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 eth0 eth1 eth2 eth3 Control Data Packet Forward Engine UmlSwitch element Tunnel table Click Filters
Resource Isolation • Issue: Forwarding packets in user space • PlanetLab sees heavy use • CPU load affects virtual network performance
Intra-domain Route Changes s 2095 856 700 260 233 1295 c 639 548 366 846 587 902 1893 1176 Watch OSPF route convergence on Abilene
Intra-domain Route Changes s 2095 856 700 260 233 1295 c 639 548 366 846 587 902 1893 1176 Watch OSPF route convergence on Abilene
Intra-domain Route Changes s 2095 856 700 260 233 1295 c 639 548 366 846 587 902 1893 1176 Watch OSPF route convergence on Abilene
Intra-domain Route Changes s 2095 856 700 260 233 1295 c 548 366 846 587 902 1893 1176 Watch OSPF route convergence on Abilene
Intra-domain Route Changes s 2095 856 700 260 233 1295 c 639 548 366 846 587 902 1893 1176 Watch OSPF route convergence on Abilene
Link down Ping During Link Failure
Link down Link up Ping During Link Failure
Routes converging Link down Link up Ping During Link Failure
Link down TCP Throughput
Link down Link up TCP Throughput
Link down Link up Zoom in TCP Throughput
Slow start Arriving TCP Packets
2.45 Packet received 2.4 2.35 Slow start 2.3 Megabytes in stream 2.25 2.2 Retransmit lost packet 2.15 2.1 17.5 18 18.5 19 19.5 20 Seconds Arriving TCP Packets
Slow start Retransmit lost packet Arriving TCP Packets PL-VINI enables a user-space virtual network to behave like a real network on PlanetLab
Attracting Real Users • Could have run experiments on Emulab • Goal: Operate our own virtual network • Carrying traffic for actual users • We can tinker with routing protocols • Q: Why would users participate? • A: They won’t. Long-running services (e.g., CDNs) will subscribe to network architectures to access Gb/s bandwidth.
Conclusion • VINI: Virtual Network Infrastructure • Controlled and realistic experimentation • New routing, forwarding, and addressing • Initial experiment • Intradomain routing convergence in XORP • Later, perhaps run commercial router code? • Long term goal • Shared platform for networking experiments • Real user traffic and upstream ISP connections