Presentation is loading. Please wait.

Presentation is loading. Please wait.

Supporting Legacy Applications in Associative Overlay Networks Shelley Zhuang, Ion Stoica {shelleyz, Sahara Retreat January 16-18,

Similar presentations


Presentation on theme: "Supporting Legacy Applications in Associative Overlay Networks Shelley Zhuang, Ion Stoica {shelleyz, Sahara Retreat January 16-18,"— Presentation transcript:

1 Supporting Legacy Applications in Associative Overlay Networks Shelley Zhuang, Ion Stoica {shelleyz, istoica}@CS.Berkeley.EDU Sahara Retreat January 16-18, 2002 http://www.cs.berkeley.edu/~shelleyz/research/aon

2 Associative Overlay Networks Implements rendezvous-based communication abstraction Overlay network which consists of a set of servers that store triggers and forwards packets between end-points Sender Receiver (R) (ID, data) (ID, R)

3 AON Native Application Two types of triggers: public and private Server maintains a public trigger, ID P Client creates a private trigger identifier ID C Server creates a private trigger identifier ID S Client and server insert the private triggers (ID C, IP C ) and (ID S, IP S ) Server (S) Client (C) (ID C, C) 2 (ID P, S) 1 3 4 (ID S, S) 5 67 8 9

4 Legacy Applications Design goals –User should be able to choose between an AON-aware application or regular application –Should not require changes to existing infrastructure such as IP network routers, DNS Proposed solution –Configure existing applications to connect to a local AON proxy that translates and forwards packets transparently over AON –Run an AON proxy locally

5 Transparent Application Support Example: telnet client-server application TCP connection established via proxies: –Client (C)  Client Proxy (CP)  AON  Server Proxy (SP)  Server (S) –Private trigger identifiers (ID C, ID S ) exchanged in 3-way handshake Packets forwarded via proxies –Proxies rewrite TCP packets

6 Control Path Operations Server, S, runs telnet server Server Proxy, SP –ID P = Hash1(telnet.S.aon.net) –Inserts trigger (ID P, IP SP /P SP ) into AON –Inserts trigger (ID S, IP SP /P SP ) into AON Client, C, runs wrapper script “aon_telnet S” –ID P = Hash1(telnet.S.aon.net) –Send SETUP(ID P ) to CP –CP sends back ACCEPT(P’ CP = Hash2 (telnet.S.aon.net)) –Telnet 127.0.0.1 P’ CP Client Proxy, CP –Inserts trigger (ID C, IP CP /P CP ) into AON

7 Pros and Cons Advantages –Client can make multiple connections to the same service on S simultaneously –Client can use more than one service on S simultaneously –Client can use the same service on two different servers simultaneously –No changes to existing infrastructure Limitations –Per-application script –Not as general as solutions based on LD_PRELOAD, LD_LIBRARY, or system call trapping

8 Discussion End-to-end host mobility –Without changes to IP layer (Mobile IP) –Without changes to TCP protocol (MIGRATE) –Supports sender and receiver mobility Server load balancing Nearby server selection

9 TCP Three-Way Handshake Step[[IP HDR, TRANSPORT HDR], [AON HDR], [DATA]]Packet Type 1. C  CP [[IP C, IP CP, P’ C, P’ CP, SYN]]TCP 2. CP  AON [[x, x, x, x], [ID P ], [SYN, ID C ]]UDP 3. AON  SP [[x, x, x, x], [ID P ], [SYN, ID C ]]UDP 4. SP  S [[IP SP, IP S, P’ SP, P S, SYN]]TCP 5. S  SP [[IP S, IP SP, P S, P’ SP, SYN-ACK]]TCP 6. SP  AON [[x, x, x, x], [ID C ], [SYN-ACK, ID S ]]UDP 7. AON  CP [[x, x, x, x], [ID C ], [SYN-ACK, ID S ]]UDP 8. CP  C [[IP CP, IP C, P’ CP, P’ C, SYN-ACK]]TCP 9. C  CP [[IP C, IP CP, P’ C, P’ CP, SYN-ACK-ACK]]TCP 10. CP  AON [[x, x, x, x], [ID S ], [SYN-ACK-ACK]]UDP 11. AON  SP [[x, x, x, x], [ID S ], [SYN-ACK-ACK]]UDP 12. SP  S [[IP SP, IP S, P’ SP, P S, SYN-ACK-ACK]]TCP

10 Translation Table Client Proxy –IP CP /P’ CP  ID P –ID C  IP C /P’ C –ID C  IP C P /P’ CP –IP C /P’ C  ID S Server Proxy –ID P  IP S /P S –ID S  IP S /P S –ID S  IP SP /P’ SP –IP SP /P’ SP  ID C

11 Data Path Operations Step [[IP HDR, TRANSPORT HDR], [AON HDR], DATA]] Packet Type 1. C  CP [[IP C, IP CP, P’ C, P’ CP ], [data]]TCP 2. CP  AON [[x, x, x, x], [ID S ], [data]]UDP 3. AON  SP [[x, x, x, x], [ID S ], [data]]UDP 4. SP  S [[IP SP, IP S, P’ SP, P S ], [data]]TCP 5. S  SP [[IP S, IP SP, P S, P’ SP ], [ack]]TCP 6. SP  AON [[x, x, x, x], [ID C ], [ack]]UDP 7. AON  CP [[x, x, x, x], [ID C ], [ack]]UDP 8 CP  C [[IP CP, IP C, P’ CP, P’ C ], [ack]]TCP


Download ppt "Supporting Legacy Applications in Associative Overlay Networks Shelley Zhuang, Ion Stoica {shelleyz, Sahara Retreat January 16-18,"

Similar presentations


Ads by Google