skip to main content
10.1145/945445.945447acmconferencesArticle/Chapter ViewAbstractPublication PagessospConference Proceedingsconference-collections
Article

Upgrading transport protocols using untrusted mobile code

Published:19 October 2003Publication History

ABSTRACT

In this paper, we present STP, a system in which communicating end hosts use untrusted mobile code to remotely upgrade each other with the transport protocols that they use to communicate. New transport protocols are written in a type-safe version of C, distributed out-of-band, and run in-kernel. Communicating peers select a transport protocol to use as part of a TCP-like connection setup handshake that is backwards-compatible with TCP and incurs minimum connection setup latency. New transports can be invoked by unmodified applications. By providing a late binding of protocols to hosts, STP removes many of the delays and constraints that are otherwise commonplace when upgrading the transport protocols deployed on the Internet. STP is simultaneously able to provide a high level of security and performance. It allows each host to protect itself from untrusted transport code and to ensure that this code does not harm other network users by sending significantly faster than a compliant TCP. It runs untrusted code with low enough overhead that new transport protocols can sustain near gigabit rates on commodity hardware. We believe that these properties, plus compatibility with existing applications and transports, complete the features that are needed to make STP useful in practice.

References

  1. A. Aggarwal, S. Savage, and T. Anderson. Understanding the Performance of TCP Pacing. In Proc. of IEEE INFOCOM, pages 1157--1165, Mar. 2000.]]Google ScholarGoogle ScholarCross RefCross Ref
  2. M. Allman. TCP Congestion Control with Appropriate Byte Counting. RFC 3465, IETF, Feb. 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Allman, H. Balakrishnan, and S. Floyd. Enhancing TCP's Loss Recovery Using Limited Transmit. RFC 3042, IETF, Jan. 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Allman, D. Glover, and L. Sanchez. Enhancing TCP Over Satellite Channels using standard Mechanisms. RFC 2488, IETF, Jan. 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Allman, V. Paxson, and W. Stevens. TCP Congestion Control. RFC 2581, IETF, Apr. 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Andersen, D. Bansal, D. Curtis, S. Seshan, and H. Balakrishnan. System Support for Bandwidth Management and Content Adaptation in Internet Applications. In Proc. of the Fourth Symposium on Operating Systems Design and Implementation, pages 213--226, Oct. 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. G. Back, W. C. Hsieh, and J. Lepreau. Processes in KaffeOS: Isolation, Resource Management, and Sharing in Java. In Proc. of the Fourth Symposium on Operating Systems Design and Implementation, pages 333--346, Oct. 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. H. Balakrishnan, H. S. Rahul, and S. Seshan. An Integrated Congestion Management Architecture for Internet Hosts. In Proc. of ACM SIGCOMM, pages 175--187, Sept. 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. J. Bernstein and E. Schenk. TCP Syn Cookies. 1996, 2002; http://cr.yp.to/syncookies.html.]]Google ScholarGoogle Scholar
  10. E. Biagioni. A Structured TCP in Standard ML. In Proc. of ACM SIGCOMM, pages 36--45, Aug. 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Birrell, G. Nelson, S. Owicki, and E. Wobber. Network Objects. Software--Practice and Experience, 25(S4):87--130, Dec. 1995. Also available as Digital Systems Research Center Research Report 115.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. H. Bos and B. Samwel. Safe Kernel Programming in the OKE. In Proc. of the Fifth IEEE Conference on Open Architectures and Network Programming, June 2002.]]Google ScholarGoogle ScholarCross RefCross Ref
  13. R. Braden. T/TCP -- TCP Extensions for Transactions Functional Specification. RFC 1644, IETF, July 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. L. S. Brakmo and L. L. Peterson. TCP Vegas: End to End Congestion Avoidance on a Global Internet. IEEE Journal on Selected Areas in Communication, 13(8):1465--1480, Oct. 1995.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. C. Castelluccia, W. Dabbous, and S. O'Malley. Generating Efficient Protocol Code from an Abstract Specification. In Proc. of ACM SIGCOMM, pages 60--71, Aug. 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. D. Dean, E. W. Felten, and D. S. Wallach. Java security: from HotJava to Netscape and beyond. In Proc. of the IEEE Symposium on Security and Privacy, pages 190--200, May 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. D. Ely, N. Spring, D. Wetherall, S. Savage, and T. Anderson. Robust Congestion Signaling. In Proc. of the 9th IEEE International Conference on Network Protocols, pages 332--341, Nov. 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. K. Fall and S. Floyd. Simulation-based Comparisons of Tahoe, Reno and SACK TCP. ACM Computer Communication Review, 26(3):5--21, July 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. E. Fiuczynski and B. N. Bershad. An Extensible Protocol Architecture for Application-Specific Networking. In Proc. of the USENIX Annual Technical Conference, pages 55--64, Jan. 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Floyd. The NewReno Modification to TCP's Fast Recovery Algorithm. RFC 2582, IETF, Apr. 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. S. Floyd. Congestion Control Principles. RFC 2914, IETF, Sept. 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. S. Floyd. Questions about TCP deployment, 2000. http://www.icir.org/floyd/questions.html.]]Google ScholarGoogle Scholar
  23. S. Floyd. HighSpeed TCP for Large Congestion Windows, July 2003. IETF, Internet Draft.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. S. Floyd, M. Handley, J. Padhye, and J. Widmer. Equation-based Congestion Control for Unicast Applications. In Proc. of ACM SIGCOMM, pages 43--56, Aug. 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. Floyd, J. Mahdavi, M. Mathis, and M. Podolsky. An Extension to the Selective Acknowledgement (SACK) Option for TCP. RFC 2883, IETF, July 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. D. Grossman, G. Morrisett, T. Jim, M. Hicks, Y. Wang, and J. Cheney. Region-based Memory Management in Cyclone. In ACM Conference on Programming Language Design and Implementation, June 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. M. Handley, S. Floyd, J. Padhye, and J. Widmer. TCP Friendly Rate Control (TFRC): Protocol Specification. RFC 3448, IETF, Jan. 2003.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. N. C. Hutchinson and L. L. Peterson. The x-kernel: An Architecture for Implementing Network Protocols. IEEE Transactions on Software Engineering, 17(1):64--76, Jan. 1991.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. V. Jacobson. Congestion Avoidance and Control. In Proc. of ACM SIGCOMM, pages 314--329, Aug. 1988.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. V. Jacobson. 4BSD TCP Header Prediction. ACM Computer Communication Review, 20(2):13--15, Apr. 1990.]]Google ScholarGoogle Scholar
  31. V. Jacobson, R. Braden, and D. Borman. TCP Extensions for High Performance. RFC 1323, IETF, May 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. T. Jim, G. Morrisett, D. Grossman, M. Hicks, J. Chene, and Y. Wang. Cyclone: A Safe Dialect of C. In Proc. of USENIX Annual Technical Conference, June 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. C. Jin, D. X. Wei, and S. H. Low. FAST TCP for High-Speed Long-Distance Networks, June 2003. IETF, Internet Draft.]]Google ScholarGoogle Scholar
  34. A. D. Joseph, A. F. deLespinasse, J. A. Tauber, D. K. Gifford, and M. F. Kaashoek. Rover: A Toolkit for Mobile Information Access. In Proc. of the 15th ACM Symposium on Operating Systems Principles, pages 156--171, Dec. 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. E. Jul, H. Levy, N. Hutchinson, and A. Black. Fine-grained Mobility in the Emerald System. ACM Transactions on Computer Systems, 6(1):109--133, Feb. 1988.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. P. Karn and C. Partridge. Improving Round-Trip Time Estimates in Reliable Transport Protocols. ACM Transactions on Computer Systems, 9(4):364--373, Nov. 1991.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. E. Kohler, M. Handley, S. Floyd, and J. Padhye. Datagram Congestion Control Protocol (DCCP), Oct. 2002. http://www.icir.org/kohler/dccp/.]]Google ScholarGoogle Scholar
  38. E. Kohler, F. Kaashoek, and D. Montgomery. A Readable TCP in the Prolac Protocol Language. In Proc. of ACM SIGCOMM, pages 3--13, Sept. 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. R. Ludwig and R. H. Katz. The Eifel Algorithm: Making TCP Robust Against Spurious Retransmissions. ACM Computer Communication Review, 30(1):30--36, Jan. 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. M. Mathis and J. Mahdavi. Forward Acknowledgement: Refining TCP Congestion Control. In Proc. of ACM SIGCOMM, pages 281--291, Aug. 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. M. Mathis, J. Mahdavi, S. Floyd, and A. Romanow. TCP Selective Acknowledgement Options. RFC 2018, IETF, Oct. 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. S. O'Malley and L. Peterson. TCP Extensions Considered Harmful. RFC 1263, IETF, Oct. 1991.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. J. Padhye, V. Firoiu, D. Towsley, and J. Kurose. Modeling TCP Throughput: A Simple Model and its Empirical Validation. In Proc. of ACM SIGCOMM, pages 303--314, Sept. 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. J. Padhye and S. Floyd. On Inferring TCP Behavior. In Proc. of ACM SIGCOMM, pages 287--298, Aug. 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. P. Patel and J. Lepreau. Hybrid Resource Control for Active Extensions. In Proc. of the Sixth IEEE Conference on Open Architectures and Network Programming, pages 23--31, Apr. 2003.]]Google ScholarGoogle ScholarCross RefCross Ref
  46. P. Patel, D. Wetherall, J. Lepreau, and A. Whitaker. TCP Meets Mobile Code. In Proc. of the Ninth Workshop on Hot Topics in Operating Systems. IEEE Computer Society, May 2003.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. V. Paxson. End-to-end Internet Packet Dynamics. IEEE/ACM Transactions on Networking, 7(3):277--292, June 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Pittsburgh Supercomputing Center. The TCP-Friendly Website, 2003. http://www.psc.edu/networking/tcp friendly.html.]]Google ScholarGoogle Scholar
  49. J. Postel. Transmission Control Protocol. RFC 793, IETF, Sept. 1981.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. K. Ramakrishnan, S. Floyd, and D. Black. The Addition of Explicit Congestion Notification (ECN) to IP. RFC 3168, IETF, Sept. 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. K. Ratnam and I. Matta. WTCP: An Efficient Transmission Control Protocol for Networks with Wireless Links. In Proc. of the Third IEEE Symposium on Computers and Communications, pages 74--78, June 1998.]]Google ScholarGoogle Scholar
  52. R. Rejaie, M. Handley, and D. Estrin. RAP: An End-to-End Rate-Based Congestion Control Mechanism for Realtime Streams in the Internet. In Proc. of IEEE INFOCOM, pages 1337--1345, Mar. 1999.]]Google ScholarGoogle ScholarCross RefCross Ref
  53. L. Rizzo. Dummynet: a simple approach to the evaluation of network protocols. ACM Computer Communication Review, 27(1), Jan. 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. A. C. Snoeren and H. Balakrishnan. An End-to-End Approach to Host Mobility. In Proc. of the Sixth Annual International Conference on Mobile Computing and Networking, pages 155--166, Aug. 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. W. Stevens. TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms. RFC 2001, IETF, Jan. 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. R. Stewart, Q. Xie, K. Morneault, C. Sharp, H. Schwarzbauer, T. Taylor, I. Rytina, M. Kalla, L. Zhang, and V. Paxson. Stream Control Transmission Protocol. RFC 2960, IETF, Oct. 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. J. Stone, R. Stewart, and D. Otis. Stream Control Transmission Protocol (SCTP) Checksum Change. RFC 3309, IETF, Sept. 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. D. L. Tennenhouse, J. M. Smith, W. D. Sincoskie, D. J. Wetherall, and G. J. Minden. A Survey of Active Network Research. IEEE Communications Magazine, 35(1):80--86, Jan. 1997.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. A. Venkataramani, R. Kokku, and M. Dahlin. TCP Nice: A Mechanism for Background Transfers. In Proc. of the Fifth Symposium on Operating Systems Design and Implementation, Dec. 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. R. Wahbe, S. Lucco, T. E. Anderson, and S. L. Graham. Efficient Software-Based Fault Isolation. In Proc. of the 14th ACM Symposium on Operating Systems Principles, pages 203--216, Dec. 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. R. Wang, M. Valla, M. Y. Sanadidi, and M. Gerla. Adaptive Bandwidth Share Estimation in TCP Westwood. In Proc. of IEEE Globecom, Nov. 2002.]]Google ScholarGoogle Scholar
  62. D. Wetherall. Active network vision and reality: lessons from a capsule-based system. In Proc. of the 17th ACM Symposium on Operating System Principles, pages 64--79, Dec. 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. B. White, J. Lepreau, L. Stoller, R. Ricci, S. Guruprasad, M. Newbold, M. Hibler, C. Barb, and A. Joglekar. An Integrated Experimental Environment for Distributed Systems and Networks. In Proc. of the Fifth Symposium on Operating Systems Design and Implementation, pages 255--270, Dec. 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. J. Widmer. Equation-based Congestion Control, 2000. Diploma Thesis. University of Mannheim.]]Google ScholarGoogle Scholar
  65. M. Zhang, B. Karp, S. Floyd, and L. Peterson. RR-TCP: A Reordering-Robust TCP with DSACK. TR 006, International Computer Science Institute, July 2002.]]Google ScholarGoogle Scholar

Index Terms

  1. Upgrading transport protocols using untrusted mobile code

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          SOSP '03: Proceedings of the nineteenth ACM symposium on Operating systems principles
          October 2003
          338 pages
          ISBN:1581137575
          DOI:10.1145/945445
          • cover image ACM SIGOPS Operating Systems Review
            ACM SIGOPS Operating Systems Review  Volume 37, Issue 5
            SOSP '03
            December 2003
            329 pages
            ISSN:0163-5980
            DOI:10.1145/1165389
            Issue’s Table of Contents

          Copyright © 2003 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 19 October 2003

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          SOSP '03 Paper Acceptance Rate22of128submissions,17%Overall Acceptance Rate131of716submissions,18%

          Upcoming Conference

          SOSP '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader