160 likes | 261 Vues
Interpose an Overlay Convergence Layer to support legacy applications over new network architectures, enabling users to utilize new network functionalities using favorite applications. Allow simultaneous access to multiple overlays. Bridge communication across overlays. Enhance legacy client and server gateways with OCALA. Configuration and setup facilitate seamless operation for unmodified legacy applications. Improve network architecture functionality for real users.
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