180 likes | 315 Views
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
E N D
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 Server NAT
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
ToSocket(UDP, 1.2.3.4, 4700) ToSocket(UDP, 5.6.7.8, 4700) Click example Destination Out 1.2.0.0/16 0 3.4.5.0/24 1 default 2 0 FromSocket(UDP, 0.0.0.0, 4700) LinearIPLookup 1 2 Discard
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
NAT NAT NAT PlanetLab nodes at other universities Servers Example Overlay PPTP tunnel UDP tunnels Princeton PlanetLab node WinXP laptop Internet2
10.0.0.1 PPTP tunnel Princeton PlanetLab node WinXP laptop Overlay ingress • 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
UDP tunnels Princeton PlanetLab node Internet2 PlanetLab nodes at other universities Overlay routing • Route within overlay based on destination • Server -> egress • Client -> ingress • IP packets tunneled over I2 using UDP • In example, every node is an ingress or egress
NAT NAT NAT PlanetLab nodes at other universities Servers Overlay egress • Egress nodes use NAT • 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 MIT Utah Utah Company 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 • RON, one-hop source routing, ESM, … • Measurement, visualization tools • 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/