tcp meets mobile
play

TCP Meets Mobile ! Transport protocols, such as TCP, need a Code - PDF document

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


  1. The Key Idea TCP Meets Mobile ! Transport protocols, such as TCP, need a Code better upgrade mechanism ! Untrusted mobile code will work! Parveen Patel David Wetherall Jay Lepreau Andrew Whitaker ( Univ. of Utah ) ( Univ. of Washington ) 1 2 Upgrading TCP takes forever TCP is a work-in-progress ! Research and simulation ! Prototype ! A steady stream of TCP extensions and new ! Standards committee transport protocols ! Implementation in OS 1 ! TCP SACK (1996) ! Implementation in OS 2 ! TCP Connection Migration (2000) ! … ! ECN and ECN nonce (2001) ! Addition into standard build OS 1 ! TCP Nice (2002) ! Addition into standard build OS 2 ! TFRC (2000) ! … ! DCCP (2002) ! Enable by default ! SCTP (2002) ! Enable by default on peer ! … 3 4 Survey of transport extensions Lousy fallback: one-ended change ! Immediate deployment for self benefit 18 16 14 Two-ended ! Does not always work 12 10 " Can’t exchange new information 8 Benefit from two-ended 6 4 One-ended ! Does not work very well 2 0 " Lose the benefit of cooperation between both ends Two- Benefit One- ended from two- ended ended 5 6 1

  2. Upgrading with XTCP is faster Our Solution: XTCP ! Research and simulation ! Connection peers can upgrade each other ! Prototype with new transport protocols using mobile ! Standards committee ! Implementation to the XTCP API code ! Implementation in OS 1 ! Implementation in OS 2 ! Deployment at one end is all we need ! ! … ! Addition into standard build OS 1 ! Addition into standard build OS 2 ! … ! Enable by default ! Enable by default on peer 7 8 XTCP usage scenario #2 XTCP usage scenario #1 ! A mobile client pushes “TCP connection ! A web server pushes a “high-performance” migration” [MobiCom ’00] to a server to allow TCP to its clients the first time they connect itself to move Server Client Server Client (Download TCP-HP) (Download TCP-Migrate) 9 10 XTCP usage scenario #3 Will it work ? ! A user installs “TCP nice” [OSDI ’02] to support background data transfer ! XTCP sounds similar to the challenging domain of active networking Host B Host A ! Challenges can be met in this restricted domain (With TCP-Nice) 11 12 2

  3. XTCP Design XTCP Challenges Download manager Host safety – must isolate and limit 1. resource consumption Compiler APPLICATION 1 Network safety – should not compete 2. Sockets Layer unfairly or attack other nodes TCP-A XTCP TCP-B Performance – should not undermine 3. XTCP API improvement due to extensions Network Layer XTCP SANDBOX 13 14 1. Host safety 2. Network safety ! Well-defined notion of network safety ! No shared state between extensions " TCP-friendliness [RFC 2914] " Easy resource accounting " TCP response function is mathematically " Easy termination defined [SIGCOMM ’98] ! Memory safety: type-safety of Cyclone ! Enforcement without trusting transports " Adapt ECN nonce mechanism is used for validation [ICNP ’01] ! CPU timer-based CPU protection 15 16 Nonce Mechanism Nonce Mechanism [unstrusted red, trusted green components] sender receiver sender receiver TCP-A TCP-A TCP-A TCP-A ack (seq_no, nonce) send_ack send (seq_no) XTCP XTCP XTCP XTCP ack+nonce Datagram with nonce datagram with nonce ack+nonce 17 18 3

  4. Status 3. Performance ! Prototype in FreeBSD 4.7 ! Connections proceed without delays ! Modest memory and CPU cost " Code is downloaded out-of-band " Benefits later connections " CPU cost is 80% more than base TCP on the sender side, without any optimizations. ! Efficient to share data between the C- ! Ported TCP Friendly UDP, TCP NewReno based kernel and Cyclone code and TCP SACK to the XTCP API " No garbage collection " Lightweight runtime ! User-level version in progress 19 20 It works! UDP It works! TCP 21 22 Open research issues Conclusions ! Transport protocols need self upgrade ! TCP rate policing function mechanism " Quickly detect unresponsive extensions " Admit all responsive extensions ! Mobile code works ! " Constrained domain and recent advances ! XTCP API ! Mathematical definition of TCP response function " Must be sufficient and portable (1998) ! Cyclone (2002) 23 24 4

  5. Policies END OF TALK ! Applications can use socket options ! Administrators can set policies …. ! Policy daemons can collaborate BACKUP/DETAIL SLIDES 25 26 Granularity of extensions Connection setup and code loading ! 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 28 A Fourth Challenge: Network safety Deployment of XTCP framework ! TCP friendly network access API ! Benefits self ! Can only harm self " xtcp_net_send (seq_no) ! Deployment only needed at end points " xtcp_net_resend (seq_no) ! TCP-friendliness is non-threatening " xtcp_net_ack (seq_no, nonce) " xtcp_net_acksum (seq_no, nonce_sum) 29 30 5

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