* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Internet In A Slice - Princeton University
Dynamic Host Configuration Protocol wikipedia , lookup
Network tap wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Deep packet inspection wikipedia , lookup
Distributed operating system wikipedia , lookup
Distributed firewall wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Airborne Networking wikipedia , lookup
Computer network wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Internet In A Slice Andy Bavier CS461 Lecture Internet in a slice (IIAS) Goal: run multiple “virtual” internets on PlanetLab Experimentally evaluate proposed changes to the Internet’s core software Demonstrate scalability and robustness Carry real traffic on behalf of real users worldwide Handle real-world instability and failures Overlays A network built on top of a network Key idea: tunneling Examples VPN Multicast Resilient Overlay Network (RON) How to build an overlay? Requirements Packet forwarding engine Allow clients to opt-in to overlay (overlay ingress) Communicate with servers that don’t participate in the overlay (overlay egress) Routing scheme (control plane) First three form overlay’s data plane User Opt-in Client NAT Server IIAS data plane First step towards IIAS vision Built using the Click modular router project You plug in your own control plane to make it all work Click modular router Open-source, standards-compliant software router from MIT Click elements Process, forward, schedule packets Written in C++ Arrange elements into a graph using a simple configuration language Click example Destination 1.2.0.0/16 3.4.5.0/24 default Out 0 1 2 ToSocket(UDP, 1.2.3.4, 4700) 0 FromSocket(UDP, 0.0.0.0, 4700) LinearIPLookup 2 Discard 1 ToSocket(UDP, 5.6.7.8, 4700) Example overlay Build an overlay that carries traffic over Internet2 as far as possible Internet2 connects most universities Ingress: local I2 node Egress: I2 node close to destination By default, traffic between ingress and egress will be carried by I2 Example Overlay NAT PPTP tunnel WinXP laptop UDP tunnels Princeton PlanetLab node NAT NAT Internet2 PlanetLab nodes at other universities Servers Overlay ingress 10.0.0.1 PPTP tunnel WinXP laptop Princeton PlanetLab node Overlay = VPN PPTP = Microsoft’s proprietary VPN protocol Client connects to ingress using GRE/PPTP tunnel Ingress assigns a private IP address to client All of the client’s packets are sent into the overlay Overlay routing Route within overlay based on destination UDP tunnels Princeton PlanetLab node Internet2 PlanetLab nodes at other universities Server -> egress Client -> ingress IP packets tunneled over I2 using UDP In example, every node is an ingress or egress Overlay egress NAT Egress nodes use NAT NAT NAT PlanetLab nodes at other universities Servers Rewrite source IP address, UDP/TCP port Reply from server to egress, routed through overlay back to client Note: switching egress nodes breaks connections IIAS control plane Where do the overlay routes come from? Static configuration Edit a config file, type “make” Assumes clients, servers, and routes all known in advance Better: dynamically add nodes, routes based on changing network conditions Resilient overlay network Utah Utah Company MIT Cable Modem RON Strategy Measure all links between nodes Compute path properties Determine best route Forward traffic over that path Potential projects Plug in an interesting control plane Measurement, visualization tools RON, one-hop source routing, ESM, … Show the control plane in action SpecOverlay05 Performance, robustness, adapting to changing network conditions, … More information IIAS paper Wiki: https://wiki.planet-lab.org/ Topic: InternetInASlice Feel free to add to it Click: http://www.pdos.lcs.mit.edu/click/ RON: http://nms.lcs.mit.edu/ron/