160 likes | 266 Views
OCALA O verlay C onvergence A rchitecture for supporting L egacy A pplications on O verlays. Dilip Antony Joseph 1 , Jayanth Kannan 1 , Ayumu Kubota 2 , Karthik Lakshminarayanan 1 , Ion Stoica 1 , Klaus Wehrle 3. 1 UC Berkeley, 2 KDDI Labs, 3 University of Tübingen. Motivation.
E N D
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!
Legacy Applications (ssh, firefox, explorer, …) Transport Layer (TCP, UDP, …) OC Independent (OC-I) Sublayer Overlay Convergence (OC) Layer OC Dependent (OC-D) Sublayer Overlay (DOA, DTN, HIP, i3, RON, …) Solution: Overlay Convergence Architecture for Legacy Applications (OCALA) Interpose an Overlay Convergence Layer between transport layer and overlay networks
Simultaneous access to multiple overlays Host B Host C ssh Host A IRC OC-I Firefox IRC ssh OC-I … RON … OC-I i3 … OC-D IP i3 RON RON www.cnn.com i3 Internet
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 Host A Host C (foo.ron) Appl. Appl. Host B (bar.i3) OC-I OC-I OC-I OC-D i3 RON i3 RON RON i3 tunnel tunnel path
Legacy Client Gateways – Demo • Clients need not run OCALA locally • Gateway has special Legacy Client IP (LCIP) module Overlay server (dilip.i3) Legacy gateway Appl. OC-I Legacy Client OC-I OV OV LCIP Internet Overlay (OV) 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 Overlay client Legacy gateway Appl. Legacy server (www.nasa.gov) OC-I OC-I OV LSIP OV Overlay (OV) Internet *.gov OV … Configuration file
Legacy Client Gateways – Demo • Can access following links: • http://ionhome.pli3.ocalaproxy.net:8040/ifconfig.html • http://rodrigo.pli3.ocalaproxy.net:8040/gallery/albums.php • http://dilip.pli3.ocalaproxy.net:8040/april/april8_10_Vodafone_UIUC/index.html
Legacy Applications (ssh, firefox, explorer, …) Transport Layer (TCP, UDP, …) OC Independent (OC-I) Sublayer Overlay Convergence (OC) Layer OC Dependent (OC-D) Sublayer Overlay (DOA, DTN, HIP, i3, RON, …) Overlay Convergence Architecture for Legacy Applications (OCALA) Interpose an Overlay Convergence Layer between transport layer and overlay networks
DNSreq(foo.ov) DNSresp(oc_handle = IPAB) OCI-Setup (pdAB) 1 7 8 Name Res. Service (local addrbook, DNS, OpenDHT…) tunnel_d = tdAB setup(foo.ov) 2 6 resolve(foo.ov) 3 IDB 4 overlay specific setup protocol 5 Setting up a new connection Host A Legacy App. 1.x.x.x Transport Layer Host B (foo.ov, IDB) OC-I Layer OC Layer … Overlay (DTN, i3, RON) i3 RON
data IPAB data IPBA tdAB, data data pdAB IPAB pdAB IPAB IDB pdAB IPAB data Data Flow Host A (IDA) Host B (foo.ov, IDB) Legacy App. Legacy App. Transport Layer Transport Layer “foo.ov” pdAB OC-I pdAB↔ IPBA OC-I pdAB↔ IPAB pdAB tdAB pdAB tdBA Overlay (DTN, i3, RON) OC-D tdABIDB tdBAIDA OC-D
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