VINI: Virtual Network Infrastructure Nick Feamster Georgia Tech Andy Bavier, Mark Huang, Larry Peterson, Jennifer Rexford Princeton University.

Slides:



Advertisements
Similar presentations
VINI and its Future Directions
Advertisements

Symantec 2010 Windows 7 Migration Global Results.
Network Layer Delivery Forwarding and Routing
Building Fast, Flexible Virtual Networks on Commodity Hardware Nick Feamster Georgia Tech Trellis: A Platform for Building Flexible, Fast Virtual Networks.
Using Network Virtualization Techniques for Scalable Routing Nick Feamster, Georgia Tech Lixin Gao, UMass Amherst Jennifer Rexford, Princeton University.
Bringing External Connectivity and Experimenters to GENI Nick Feamster.
Path Splicing with Network Slicing
Network Virtualization Nick Feamster, Georgia Tech Lixin Gao, UMass Amherst Jennifer Rexford, Princeton NSF NeTS-FIND PI Meeting.
VINI: Virtual Network Infrastructure
Building Virtual Networks for Experimentation and Profit Nick Feamster, Georgia Tech Andy Bavier, Lixin Gao, Mark Huang, Murtaza Motiwala, Jennifer Rexford,
Cabo: Concurrent Architectures are Better than One Nick Feamster, Georgia Tech Lixin Gao, UMass Amherst Jennifer Rexford, Princeton.
VINI Overview. PL-VINI: Prototype on PlanetLab PlanetLab: testbed for planetary-scale services Simultaneous experiments in separate VMs –Each has root.
Multihoming and Multi-path Routing
Virtual Links: VLANs and Tunneling
DTunnels Year 1 Summary Nick Feamster. Overview Two pieces –DTunnels: Mechanism for creating appearance of layer 2 links between virtual nodes –BGP Mux:
1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster.
Cabo: Concurrent Architectures are Better than One Nick Feamster, Georgia Tech Lixin Gao, UMass Amherst Jennifer Rexford, Princeton.
Network Operations Nick Feamster
Building Virtual Networks for Experimentation and Profit Nick Feamster, Georgia Tech Andy Bavier, Lixin Gao, Mark Huang, Murtaza Motiwala, Jennifer Rexford,
Path Splicing with Network Slicing Nick Feamster Murtaza Motiwala Santosh Vempala.
Identifying MPLS Applications
© Tally Solutions Pvt. Ltd. All Rights Reserved Shoper 9 License Management December 09.
Floating Cloud Tiered Internet Architecture Current: Rochester Institute of Technology, Rensselaer Polytechnic Institute, University of Nevada, Reno Level.
Chapter 1: Introduction to Scaling Networks
All Rights Reserved © Alcatel-Lucent 2009 Enhancing Dynamic Cloud-based Services using Network Virtualization F. Hao, T.V. Lakshman, Sarit Mukherjee, H.
Seungmi Choi PlanetLab - Overview, History, and Future Directions - Using PlanetLab for Network Research: Myths, Realities, and Best Practices.
PlanetLab: An Overlay Testbed for Broad-Coverage Services Bavier, Bowman, Chun, Culler, Peterson, Roscoe, Wawrzoniak Presented by Jason Waddle.
Operating Systems Operating Systems - Winter 2010 Chapter 3 – Input/Output Vrije Universiteit Amsterdam.
Virtual Switching Without a Hypervisor for a More Secure Cloud Xin Jin Princeton University Joint work with Eric Keller(UPenn) and Jennifer Rexford(Princeton)
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 1 v3.1 Module 9 TCP/IP Protocol Suite and IP Addressing.
Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
Performance Evaluation of Open Virtual Routers M.Siraj Rathore
Xen , Linux Vserver , Planet Lab
1 In VINI Veritas: Realistic and Controlled Network Experimentation Jennifer Rexford with Andy Bavier, Nick Feamster, Mark Huang, and Larry Peterson
1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University
VROOM: Virtual ROuters On the Move Jennifer Rexford Joint work with Yi Wang, Eric Keller, Brian Biskeborn, and Kobus van der Merwe
Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers Author: Jing Fu, Jennifer Rexford Publisher: ACM CoNEXT 2008 Presenter:
An Overlay Data Plane for PlanetLab Andy Bavier, Mark Huang, and Larry Peterson Princeton University.
VROOM: Virtual ROuters On the Move Jennifer Rexford Joint work with Yi Wang, Eric Keller, Brian Biskeborn, and Kobus van der Merwe (AT&T)
1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University
1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University
1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University Joint with Andy Bavier, Nick Feamster, Lixin.
A Routing Control Platform for Managing IP Networks Jennifer Rexford Princeton University
In VINI Veritas Realistic and Controlled Network Experimentation Andy Bavier Nick Feamster* Mark Huang Larry Peterson Jennifer Rexford Princeton University.
COS 461: Computer Networks
The Future of the Internet Jennifer Rexford ’91 Computer Science Department Princeton University
Backbone Support for Host Mobility: A Joint ORBIT/VINI Experiment Jennifer Rexford Princeton University Joint work with the ORBIT team (Rutgers) and Andy.
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Software Stack COS 597E: Software Defined Networking.
Container-based OS Virtualization A Scalable, High-performance Alternative to Hypervisors Stephen Soltesz, Herbert Pötzl, Marc Fiuczynski, Andy Bavier.
Hash, Don’t Cache: Fast Packet Forwarding for Enterprise Edge Routers Minlan Yu Princeton University Joint work with Jennifer.
Microsoft Virtual Academy Module 4 Creating and Configuring Virtual Machine Networks.
1 MASTERING (VIRTUAL) NETWORKS A Case Study of Virtualizing Internet Lab Avin Chen Borokhovich Michael Goldfeld Arik.
Christopher Bednarz Justin Jones Prof. Xiang ECE 4986 Fall Department of Electrical and Computer Engineering University.
Networking Virtualization Using FPGAs Russell Tessier, Deepak Unnikrishnan, Dong Yin, and Lixin Gao Reconfigurable Computing Group Department of Electrical.
Hosting Virtual Networks on Commodity Hardware VINI Summer Camp.
Tutorial: Bringing Experimenters to GENI with the Transit Portal Vytautas Valancius, Hyojoon Kim, Nick Feamster Georgia Tech.
Routing protocols Basic Routing Routing Information Protocol (RIP) Open Shortest Path First (OSPF)
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
1 Cabo: Concurrent Architectures are Better than One Jennifer Rexford Princeton University Joint work with Nick Feamster.
Objectives: Chapter 5: Network/Internet Layer  How Networks are connected Network/Internet Layer Routed Protocols Routing Protocols Autonomous Systems.
Evaluation Strategies Nick Feamster CS 7260 February 26, 2007.
Vytautas Valancius, Nick Feamster, Akihiro Nakao, and Jennifer Rexford.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 1: Introduction to Scaling Networks Scaling Networks.
Module 1: Configuring Routing by Using Routing and Remote Access.
Bringing External Connectivity and Experimenters to GENI Nick Feamster Georgia Tech.
XCAST team report Yuji IMAI (WIDE Project) 1.Experimental Deployment Method for Router Supported ALM using PlanetLab draft-muramoto-irtf-sam-exp-testbed-00.txt.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
Container-based Operating System Virtualization: A scalable, High-performance Alternative to Hypervisors Stephen Soltesz, Herbert Potzl, Marc E. Fiuczynski,
Planning and Troubleshooting Routing and Switching
Reconciling Zero-conf with Efficiency in Enterprises
Presentation transcript:

VINI: Virtual Network Infrastructure Nick Feamster Georgia Tech Andy Bavier, Mark Huang, Larry Peterson, Jennifer Rexford Princeton University

VINI Overview Runs real routing software Exposes realistic network conditions Gives control over network events Carries traffic on behalf of real users Is shared among many experiments Simulation Emulation Small-scale experiment Live deployment ? VINI Bridge the gap between lab experiments and live experiments at scale.

Goal: Control and Realism Control –Reproduce results –Methodically change or relax constraints Realism –Long-running services attract real users –Connectivity to real Internet –Forward high traffic volumes (Gb/s) –Handle unexpected events Topology Actual network Arbitrary, emulated Traffic Real clients, servers Synthetic or traces Traffic Real clients, servers Synthetic or traces Network Events Observed in operational network Inject faults, anomalies

Overview VINI characteristics –Fixed, shared infrastructure –Flexible network topology –Expose/inject network events –External connectivity and routing adjacencies PL-VINI: prototype on PlanetLab Preliminary Experiments Ongoing work

Fixed Infrastructure

Shared Infrastructure

Arbitrary Virtual Topologies

Exposing and Injecting Failures

Carry Traffic for Real End Users s c

Participate in Internet Routing s c BGP

PL-VINI: Prototype on PlanetLab First experiment: Internet In A Slice –XORP open-source routing protocol suite (NSDI 05) –Click modular router (TOCS 00, SOSP 99) Clarify issues that 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

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 Virtual Machine Monitor (VMM) (Linux++) Node Mgr Local Admin VM 1 VM 2 VM n … PlanetLab node

XORP: Control Plane BGP, OSPF, RIP, PIM- SM, IGMP/MLD Goal: run real routing protocols on virtual network topologies XORP (routing protocols)

User-Mode Linux: Environment Interface network PlanetLab limitation: –Slice cannot create new interfaces Run routing software in UML environment Create virtual network interfaces in UML XORP (routing protocols) UML eth1eth3eth2eth0

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 eth1eth3eth2eth0 Click Packet Forward Engine Control Data UmlSwitch element Tunnel table Filters

Intra-domain Route Changes s c

Ping During Link Failure Link down Link up Routes converging

Close-Up of TCP Transfer Slow start Retransmit lost packet PL-VINI enables a user-space virtual network to behave like a real network on PlanetLab

Challenge: 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 Attracting real users

Conclusion VINI: Controlled, Realistic Experimentation Installing VINI nodes in NLR, Abilene Download and run Internet In A Slice

TCP Throughput Link down Link up Zoom in

Ongoing Work Improving realism –Exposing network failures and changes in the underlying topology –Participating in routing with neighboring networks Improving control –Better isolation –Experiment specification

Resource Isolation Issue: Forwarding packets in user space –PlanetLab sees heavy use –CPU load affects virtual network performance PropertyDepends OnSolution ThroughputCPU% receivedPlanetLab provides CPU reservations LatencyCPU scheduling delay PL-VINI: boost priority of packet forward process

Performance is bad User-space Click: ~200Mb/s forwarding

VINI should use Xen

Experimental Results Is a VINI feasible? –Click in user-space: 200Mb/s forwarded –Latency and jitter comparable between network and IIAS on PL-VINI. –Say something about running on just PlanetLab? Dont spend much time talking about CPU scheduling…

Low latency for everyone? PL-VINI provided IIAS with low latency by giving it high CPU scheduling priority

Internet In A Slice XORP Run OSPF Configure FIB Click FIB Tunnels Inject faults OpenVPN & NAT Connect clients and servers S C S C C S

PL-VINI / IIAS Router Blue: topology –Virtual net devices –Tunnels Red: routing and forwarding –Data traffic does not enter UML Green: enter & exit IIAS overlay UML XORP eth1eth3eth2 UmlSwitch element FIB Encapsulation table eth0 Control Data Click tap0

PL-VINI Summary Flexible Network Topology Virtual point-to-point connectivityTunnels in Click Unique interfaces per experimentVirtual network devices in UML Exposure of topology changesUpcalls of layer-3 alarms Flexible Routing and Forwarding Per-node forwarding tableSeparate Click per virtual node Per-node routing processSeparate XORP per virtual node Connectivity to External Hosts End-hosts can direct traffic through VINIConnect to OpenVPN server Return traffic flows through VININAT in Click on egress node Support for Simultaneous Experiments Isolation between experimentsPlanetLab VMs and network isolation CPU reservations and priorities Distinct external routing adjacenciesBGP multiplexer for external sessions

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 eth1eth3eth2eth0 Click Packet Forward Engine Control Data UmlSwitch element Tunnel table

33 Trellis Same abstractions as PL-VINI –Virtual hosts and links –Push performance, ease of use Full network-stack virtualization Run XORP, Quagga in a slice –Support data plane in kernel Approach native Linux kernel performance (15x PL-VINI) Be an early adopter of new Linux virtualization work kernel FIB virtual NIC application virtual NIC user kernel bridge shaper EGRE tunnel bridge shaper EGRE tunnel Trellis virtual host Trellis Substrate

34 Virtual Hosts Use container-based virtualization –Xen, VMWare: poor scalability, performance Option #1: Linux Vserver –Containers without network virtualization –PlanetLab slices share single IP address, port space Option #2: OpenVZ –Mature container-based approach –Roughly equivalent to Vserver –Has full network virtualization

35 Network Containers for Linux Create multiple copies of TCP/IP stack Per-network container –Kernel IPv4 and IPv6 routing table –Physical or virtual interfaces –Iptables, traffic shaping, sysctl.net variables Trellis: marry Vserver + NetNS –Be an early adopter of the new interfaces –Otherwise stay close to PlanetLab

36 Virtual Links: EGRE Tunnels Virtual Ethernet links Make minimal assumptions about the physical network between Trellis nodes Trellis: Tunnel Ethernet over GRE over IP –Already a standard, but no Linux implementation Other approaches: –VLANs, MPLS, other network circuits or tunnels –These fit into our framework kernel FIB virtual NIC application virtual NIC user kernel EGRE tunnel EGRE tunnel Trellis virtual host Trellis Substrate

37 Tunnel Termination Where is EGRE tunnel interface? Inside container: better performance Outside container: more flexibility –Transparently change implementation –Process, shape traffic btw container and tunnel –User cannot manipulate tunnel, shapers Trellis: terminate tunnel outside container

38 Glue: Bridging How to connect virtual hosts to tunnels? –Connecting two Ethernet interfaces Linux software bridge –Ethernet bridge semantics, create P2M links –Relatively poor performance Common-case: P2P links Trellis –Use Linux bridge for P2M links –Create new shortbridge for P2P links

39 Glue: Bridging How to connect virtual hosts to EGRE tunnels? –Two Ethernet interfaces Linux software bridge –Ethernet bridge semantics –Support P2M links –Relatively poor performance Common-case: P2P links Trellis: –Use Linux bridge for P2M links –New, optimized shortbridge module for P2P links kernel FIB virtual NIC application virtual NIC user kernel bridge* shaper EGRE tunnel bridge* shaper EGRE tunnel Trellis virtual host Trellis Substrate

40 IPv4 Packet Forwarding 2/3 of native performance, 10X faster than PL-VINI Forwarding rate (kpps)

41 Virtualized Data Plane in Hardware Software provides flexibility, but poor performance and often inadequate isolation Idea: Forward packets exclusively in hardware –Platform: OpenVZ over NetFPGA –Challenge: Share common functions, while isolating functions that are specific to each virtual network

42 Accelerating the Data Plane Virtual environments in OpenVZ Interface to NetFPGA based on Stanford reference router

43 Control Plane Virtual environments –Virtualize the control plane by running multiple virtual environments on the host (same as in Trellis) –Routing table updates pass through security daemon –Root user updates VMAC-VE table Hardware access control –VMAC-VE table/VE-ID controls access to hardware Control register –Used to multiplex VE to the appropriate hardware

44 Virtual Forwarding Table Mapping

45 Share Common Functions Common functions –Packet decoding –Calculating checksums –Decrementing TTLs –Input arbitration VE-Specific Functions –FIB –IP lookup table –ARP table

46 Forwarding Performance

47 Efficiency 53K Logic Cells 202 Units of Block RAM Sharing common elements saves up to 75% savings over independent physical routers.

48 Conclusion Virtualization allows physical hardware to be shared among many virtual networks Tradeoffs: sharing, performance, and isolation Two approaches –Trellis: Kernel-level packet forwarding (10x packet forwarding rate improvement vs. PL-VINI) –NetFPGA-based forwarding for virtual networks (same forwarding rate as NetFPGA-based router, with 75% improvement in hardware resource utilization)

Accessing Services in the Cloud 49 Cloud Data Center Data Center Router Interactive Service Bulk transfer Internet Routing updates Packets ISP1 ISP2 Hosted services have different requirements –Too slow for interactive service, or –Too costly for bulk transfer!

Cloud Routing Today Multiple upstream ISPs –Amazon EC2 has at least 58 routing peers in Virginia data center Data center router picks one route to a destination for all hosted services –Packets from all hosted applications use the same path 50

Route Control: Cloudless Solution Obtain connectivity to upstream ISPs –Physical connectivity –Contracts and routing sessions Obtain the Internet numbered resources from authorities Expensive and time-consuming! 51

Routing with Transit Portal (TP) 52 Cloud Data Center Interactive Service Bulk transfer Internet ISP1 ISP2 Virtual Router B Virtual Router A Transit Portal Routes Packets Full Internet route control to hosted cloud services!

Outline Motivation and Overview Connecting to the Transit Portal Advanced Transit Portal Applications Scaling the Transit Portal Future Work & Summary 53

Connecting to the TP Separate Internet router for each service –Virtual or physical routers Links between service router and TP –Each link emulates connection to upstream ISP Routing sessions to upstream ISPs –TP exposes standard BGP route control interface 54

Transit Portal Virtual BGP Router Basic Internet Routing with TP 55 Cloud client with two upstream ISPs –ISP 1 is preferred ISP 1 exhibits excessive jitter Cloud client reroutes through ISP 2 ISP 1 ISP 2 Interactive Cloud Service BGP Sessions Traffic

Current TP Deployment Server with custom routing software –4GB RAM, 2x2.66GHz Xeon cores Three active sites with upstream ISPs –Atlanta, Madison, and Princeton A number of active experiments –BGP poisoning (University of Washington) –IP Anycast (Princeton University) –Advanced Networking class (Georgia Tech) 56

TP Applications: Fast DNS Internet services require fast name resolution IP anycast for name resolution –DNS servers with the same IP address –IP address announced to ISPs in multiple locations –Internet routing converges to the closest server Available only to large organizations 57

TP Applications: Fast DNS ISP1 ISP2 ISP3 ISP4 Transit Portal AsiaNorth America Anycast Routes 58 Name Service TP allows hosted applications use IP anycast

TP Applications: Service Migration Internet services in geographically diverse data centers Operators migrate Internet users connections Two conventional methods: –DNS name re-mapping Slow –Virtual machine migration with local re-routing Requires globally routed network 59

TP Applications: Service Migration ISP1 ISP2 ISP3 ISP4 Transit Portal AsiaNorth America Tunneled Sessions 60 Active Game Service Internet

Scaling the Transit Portal Scale to dozens of sessions to ISPs and hundreds of sessions to hosted services At the same time: –Present each client with sessions that have an appearance of direct connectivity to an ISP –Prevented clients from abusing Internet routing protocols 61

Conventional BGP Routing Conventional BGP router: –Receives routing updates from peers –Propagates routing update about one path only –Selects one path to forward packets Scalable but not transparent or flexible 62 ISP1 ISP2 BGP Router Updates Client BGP Router Packets

Bulk Transfer Routing Process Scaling BGP Memory Use Store and propagate all BGP routes from ISPs –Separate routing tables Reduce memory consumption –Single routing process - shared data structures –Reduce memory use from 90MB/ISP to 60MB/ISP 63 ISP1 ISP2 Virtual Router Routing Table 1 Routing Table 2 Interactive Service

Bulk Transfer Routing Process Scaling BGP CPU Use Hundreds of routing sessions to clients –High CPU load Schedule and send routing updates in bundles –Reduces CPU from 18% to 6% for 500 client sessions 64 ISP1 ISP2 Virtual Router Routing Table 1 Routing Table 2 Interactive Service

Forwarding Table Scaling Forwarding Memory for TP Connecting clients –Tunneling and VLANs Curbing memory usage –Separate virtual routing tables with default to upstream –50MB/ISP -> ~0.1MB/ISP memory use in forwarding table 65 ISP1 ISP2 Virtual BGP Router Forwardin g Table 1 Forwardng Table 2 Bulk Transfer Interactive Service