tcp meets mobile code
play

TCP Meets Mobile Code Parveen Patel David Wetherall Jay Lepreau - PDF document

TCP Meets Mobile Code Parveen Patel David Wetherall Jay Lepreau Andrew Whitaker ( Univ. of Utah ) ( Univ. of Washington ) 1 The Key Idea ! Transport protocols, such as TCP, need a better upgrade mechanism ! Untrusted mobile code will work!


  1. TCP Meets Mobile Code Parveen Patel David Wetherall Jay Lepreau Andrew Whitaker ( Univ. of Utah ) ( Univ. of Washington ) 1 The Key Idea ! Transport protocols, such as TCP, need a better upgrade mechanism ! Untrusted mobile code will work! 2 1

  2. TCP is a work-in-progress ! A steady stream of TCP extensions and new transport protocols ! TCP SACK (1996) ! TCP Connection Migration (2000) ! ECN and ECN nonce (2001) ! TCP Nice (2002) ! TFRC (2000) ! DCCP (2002) ! SCTP (2002) ! … 3 Upgrading TCP takes forever ! Research and simulation ! Prototype ! Standards committee ! Implementation in OS 1 ! Implementation in OS 2 ! … ! Addition into standard build OS 1 ! Addition into standard build OS 2 ! … ! Enable by default ! Enable by default on peer 4 2

  3. Lousy fallback: one-ended change ! Immediate deployment for self benefit ! Does not always work " Can’t exchange new information ! Does not work very well " Lose the benefit of cooperation between both ends 5 Survey of transport extensions 18 16 14 Two-ended 12 10 Benefit from 8 two-ended 6 4 One-ended 2 0 Two- Benefit One- ended from two- ended ended 6 3

  4. Our Solution: XTCP ! Connection peers can upgrade each other with new transport protocols using mobile code ! Deployment at one end is all we need ! 7 Upgrading with XTCP is faster ! Research and simulation ! Prototype ! Standards committee ! Implementation to the XTCP API ! Implementation in OS 1 ! Implementation in OS 2 ! … ! Addition into standard build OS 1 ! Addition into standard build OS 2 ! … ! Enable by default ! Enable by default on peer 8 4

  5. XTCP usage scenario #1 ! A web server pushes a “high-performance” TCP to its clients the first time they connect Server Client (Download TCP-HP) 9 XTCP usage scenario #2 ! A mobile client pushes “TCP connection migration” [MobiCom ’00] to a server to allow itself to move Server Client (Download TCP-Migrate) 10 5

  6. XTCP usage scenario #3 ! A user installs “TCP nice” [OSDI ’02] to support background data transfer Host B Host A (With TCP-Nice) 11 Will it work ? ! XTCP sounds similar to the challenging domain of active networking ! Challenges can be met in this restricted domain 12 6

  7. XTCP Challenges Host safety – must isolate and limit 1. resource consumption Network safety – should not compete 2. unfairly or attack other nodes Performance – should not undermine 3. improvement due to extensions 13 XTCP Design Download manager Compiler APPLICATION 1 Sockets Layer TCP-A XTCP TCP-B XTCP API Network Layer XTCP SANDBOX 14 7

  8. 1. Host safety ! No shared state between extensions " Easy resource accounting " Easy termination ! Memory safety: type-safety of Cyclone ! CPU timer-based CPU protection 15 2. Network safety ! Well-defined notion of network safety " TCP-friendliness [RFC 2914] " TCP response function is mathematically defined [SIGCOMM ’98] ! Enforcement without trusting transports " Adapt ECN nonce mechanism is used for validation [ICNP ’01] 16 8

  9. Nonce Mechanism [unstrusted red, trusted green components] sender receiver TCP-A TCP-A send (seq_no) XTCP XTCP Datagram with nonce datagram with nonce 17 Nonce Mechanism sender receiver TCP-A TCP-A ack (seq_no, nonce) send_ack XTCP XTCP ack+nonce ack+nonce 18 9

  10. 3. Performance ! Connections proceed without delays " Code is downloaded out-of-band " Benefits later connections ! Efficient to share data between the C- based kernel and Cyclone code " No garbage collection " Lightweight runtime 19 Status ! Prototype in FreeBSD 4.7 ! Modest memory and CPU cost " CPU cost is 80% more than base TCP on the sender side, without any optimizations. ! Ported TCP Friendly UDP, TCP NewReno and TCP SACK to the XTCP API ! User-level version in progress 20 10

  11. It works! UDP 21 It works! TCP 22 11

  12. Open research issues ! TCP rate policing function " Quickly detect unresponsive extensions " Admit all responsive extensions ! XTCP API " Must be sufficient and portable 23 Conclusions ! Transport protocols need self upgrade mechanism ! Mobile code works ! " Constrained domain and recent advances ! Mathematical definition of TCP response function (1998) ! Cyclone (2002) 24 12

  13. END OF TALK …. BACKUP/DETAIL SLIDES 25 Policies ! Applications can use socket options ! Administrators can set policies ! Policy daemons can collaborate 26 13

  14. Granularity of extensions ! Transport protocols are written to the XTCP API ! Complete transport protocols are transferred over the network " Retains the way protocols are written now " Maximum flexibility " Maximum simplicity " Code is not large: 85K compressed source 27 Connection setup and code loading 28 14

  15. Network safety ! TCP friendly network access API " xtcp_net_send (seq_no) " xtcp_net_resend (seq_no) " xtcp_net_ack (seq_no, nonce) " xtcp_net_acksum (seq_no, nonce_sum) 29 A Fourth Challenge: Deployment of XTCP framework ! Benefits self ! Can only harm self ! Deployment only needed at end points ! TCP-friendliness is non-threatening 30 15

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend