* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download An Overlay Data Plane for PlanetLab
Survey
Document related concepts
Asynchronous Transfer Mode wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Net neutrality law wikipedia , lookup
Distributed firewall wikipedia , lookup
Internet protocol suite wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Network tap wikipedia , lookup
Deep packet inspection wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Computer network wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Airborne Networking wikipedia , lookup
Transcript
An Overlay Data Plane for PlanetLab Andy Bavier, Mark Huang, and Larry Peterson Princeton University Overlay networks Purpose-built virtual networks that use the existing Internet for transmission The Internet was once deployed as an overlay on top of the telephony network Choose “better” routes than the underlying Internet Route around failure, congestion Improve throughput and delay Extend network architecture E.g., multi-path routing, multicast, DHT-based routing, VoIP overlay Internet PlanetLab is… A platform for overlay network research • Worldwide consortium of universities and companies • Running 550 widely-distributed nodes • Supporting hundreds of simultaneous projects PlanetLab Slices Slice = set of distributed virtual machines (VMs) PlanetLab is a shared infrastructure PlanetLab Node View Each VM looks like a Linux account Limited root access Install software Raw sockets Initialization scripts VM is user-space only, shared kernel Node Local VM1 VM2 Mgr Admin … Linux-based VMM VMn Our vision: ROCK Routing Overlay Construction Kit (ROCK) State-of-the-art components Framework Build, debug, deploy, and maintain routing overlays… In a (user-space) slice on PlanetLab Embody our expertise with both PlanetLab and overlays Wrappers allow the components to work together Customize components using hooks Tools to configure, deploy, and monitor resulting overlays Goal: typing “make” deploys a fully-functional overlay on PlanetLab ROCK components 1. 2. 3. 4. 5. Information plane: network topology and conditions Forwarding engine: forward packets within Data the overlay plane Ingress point: where packets from clients enter the overlay Egress point: where packets exit the overlay Control plane: computes and adds routes to the forwarding engine Control plane Ingress point Fwd engine Egress point Information plane The Internet ROCK IP data plane Component: Click modular software router Click elements process, forward, queue, drop, schedule, and account IP packets Runs as a user process or kernel module We added Click elements for: Tunneling via UDP sockets and VPN (PPTP/GRE) connections Network address translation (NAT) using “safe raw sockets” Initializing the data plane 10.0.0.1 5.6.7.8 UDP tunnels VPN tunnel (e.g., PPTP) NAT PL1 PL2 PL3 Dest Next hop Interface Dest Next hop Interface Dest 5.6.7.8 PL2 UDP 5.6.7.8 PL3 UDP 5.6.7.8 VPN 10.0.0.1 PL1 UDP 10.0.0.1 10.0.0.1 Next hop Interface NAT PL2 UDP Applications Right now: network games Projects for CS networking class Plug in a dynamic control plane, build a useful service on PlanetLab Know locations of clients and server, network topology Create a static overlay, e.g., using low-latency, highbandwidth links Devise a way to find “better” routes Attract real users all around the world Crazy idea: Build a virtual ISP? Summary ROCK is a work-in-progress Click-based IP data plane released Still needed: Control plane examples Monitoring, visualization tools More users and feedback! PlanetLab: http://www.planet-lab.org ROCK: http://wiki.planet-lab.org WikiWord: OverlayToolkit PlanetLab performance Test data plane performance on PlanetLab using netperf All machines on a LAN Summary: Each overlay node adds about 1ms to RTT Throughput of about 4.5Mbps What’s the bottleneck on TCP throughput? PlanetLab machines are heavily loaded Most have outgoing bandwidth capped at 10Mbps Overlay hops RTT (ms) TCP thru (Mbps) None 2.4 13.1 One 3.7 4.9 Two 4.5 4.5 Three 5.5 4.5