Internet In A Slice - Princeton University

Download Report

Transcript Internet In A Slice - Princeton University

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/