OCALA O verlay C onvergence A rchitecture for supporting L egacy A pplications on O verlays
description
Transcript of OCALA O verlay C onvergence A rchitecture for supporting L egacy A pplications on O verlays
OCALAOverlay Convergence Architecture for
supporting Legacy Applications on Overlays
Dilip Antony Joseph1, Jayanth Kannan1, Ayumu Kubota2, Karthik Lakshminarayanan1, Ion Stoica1, Klaus
Wehrle3
1UC Berkeley, 2KDDI Labs, 3University of Tübingen
Motivation• Many attempts to improve the Internet:
– i3 : mobility, NAT traversal, anycast, multicast– DOA: middlebox support– OverQoS: quality of service– SIFF: resilience against DDoS attacks
• But still no widespread deployment…
• Problem: rewriting/porting popular applications for new architectures a daunting task!
Goal
• Support legacy applications (e.g. ssh, Firefox, IE) over new network architectures and overlays– Enable users to take advantage of new network
functionality using their favorite applications!
Solution: Overlay Convergence Architecture for Legacy Applications (OCALA)
Overlay Convergence (OC) LayerOverlay Convergence (OC) Layer
Overlay(DOA, DTN, HIP, i3, RON, …)
Overlay(DOA, DTN, HIP, i3, RON, …)
Legacy Applications(ssh, firefox, explorer, …)
Legacy Applications(ssh, firefox, explorer, …)
Transport Layer(TCP, UDP, …)Transport Layer(TCP, UDP, …)
OC Independent (OC-I) Sublayer
OC Dependent (OC-D) Sublayer
Interpose an Overlay Convergence Layer between transport layer and overlay networks
Interpose an Overlay Convergence Layer between transport layer and overlay networks
Simultaneous access to multiple overlays
OC-IOC-I
i3
FirefoxFirefox
OC-IOC-I
RON
sshssh
www.cnn.comRON
IRCIRC sshssh
…
OC
-D
i3RON
Internet
…OC-IOC-I
i3
IRCIRC
…
Host A
Host B
Host C
IP
Which overlay to use?
• IP address and port number : – Eg: Forward all packets sent to 128.32.132.223 port 22 over RON
• DNS name: – Eg: Forward all packets sent to berkeley.edu.ron over RON
– Eg: Forward all packets sent to berkeley.edu.i3 over i3
Bridging Multiple Architectures
• Communication across overlays
• Stitch together functionality
OC-I
Host A
Appl.
OC-I
Host C (foo.ron)
Appl.
OC-I
Host B (bar.i3)
i3
OC
-D
i3 RONi3 RON
RON
tunnel tunnel
path
Legacy Client Gateways – Demo
• Clients need not run OCALA locally• Gateway has special Legacy Client IP (LCIP)
module
OC-I
Appl.
OC-I
LCIP OV
Legacy gateway
Overlay (OV)Internet
Legacy Client
OV
Overlay server (dilip.i3)
DNSreq(dilip.i3.ocalaproxy.net)
Legacy Server Gateways• Server need not run OCALA locally• Special OC-D module called Legacy Server IP (LSIP) at gateway• LSIP behaves like a software NAT box
OC-I
Appl.
OC-I
OV LSIP
Legacy gateway
Overlay (OV) Internet
Overlay client
OV
Legacy server(www.nasa.gov)
*.gov OV…
Configuration file
Legacy Client Gateways – Demo
• Can access following links:– http://ionhome.pli3.ocalaproxy.net:8040/ifconfi
g.html
– http://rodrigo.pli3.ocalaproxy.net:8040/gallery/albums.php
– http://dilip.pli3.ocalaproxy.net:8040/april/april8_10_Vodafone_UIUC/index.html
Overlay Convergence Architecture for Legacy Applications (OCALA)
Overlay Convergence (OC) LayerOverlay Convergence (OC) Layer
Overlay(DOA, DTN, HIP, i3, RON, …)
Overlay(DOA, DTN, HIP, i3, RON, …)
Legacy Applications(ssh, firefox, explorer, …)
Legacy Applications(ssh, firefox, explorer, …)
Transport Layer(TCP, UDP, …)Transport Layer(TCP, UDP, …)
OC Independent (OC-I) Sublayer
OC Dependent (OC-D) Sublayer
Interpose an Overlay Convergence Layer between transport layer and overlay networks
Interpose an Overlay Convergence Layer between transport layer and overlay networks
Setting up a new connection
Legacy App.
Transport Layer
OC-I LayerOC-I Layer
OC LayerOC Layer
1 DNSreq(foo.ov)
Name Res. Service (local addrbook,
DNS, OpenDHT…)
Host A
Host B (foo.ov, IDB)
Overlay(DTN, i3, RON)
i3 RON …
2 setup(foo.ov)
3 resolve(foo.ov)
4 IDB5 overlay specific
setup protocol
DNSresp(oc_handle = IPAB)8
tunnel_d = tdAB6
1.x.x.x
OCI-Setup (pdAB)7
Data Flow
Overlay(DTN, i3, RON)
pdAB ↔ IPAB
pdAB tdAB
tdAB IDB
Legacy App.
Transport Layer
IPAB data
pdAB dataIPABtdAB,
pdAB dataIPABIDB
pdAB ↔ IPBA
tdBAIDA
Legacy App.
Transport Layer
IPBA data
pdAB dataIPAB
Host A (IDA) Host B (foo.ov, IDB)
OC-I
OC-D OC-D
OC-I“foo.ov” pdAB
pdAB tdBA
Implementation
• Implemented as a proxy to be run by the user.– tun device used to capture packets
• Works on Linux and Windows XP/2000– Mac almost done…
• OC-D modules– Dynamically loadable libraries.– Implemented RON, i3, DOA, HIP OC-D modules.
• 250 lines of glue code in case of RON.• HIP/DOA OC-D modules implemented by HIP/DOA researchers
• Configuration GUI
Common functionality
• Functionality required by multiple overlays implemented in the OC-I layer
• Example: Security– Similar to SSL– Modifications for supporting middleboxes
Conclusion
• Enables unmodified legacy applications to simultaneously access multiple overlays
• Stitch together functionality of different overlays
• Helps network researchers bring functionality of new network architectures to real users