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.
- A. Aggarwal, S. Savage, and T. Anderson. Understanding the Performance of TCP Pacing. In Proc. of IEEE INFOCOM, pages 1157--1165, Mar. 2000.]]Google ScholarCross Ref
- M. Allman. TCP Congestion Control with Appropriate Byte Counting. RFC 3465, IETF, Feb. 2002.]] Google ScholarDigital Library
- M. Allman, H. Balakrishnan, and S. Floyd. Enhancing TCP's Loss Recovery Using Limited Transmit. RFC 3042, IETF, Jan. 2001.]] Google ScholarDigital Library
- M. Allman, D. Glover, and L. Sanchez. Enhancing TCP Over Satellite Channels using standard Mechanisms. RFC 2488, IETF, Jan. 1999.]] Google ScholarDigital Library
- M. Allman, V. Paxson, and W. Stevens. TCP Congestion Control. RFC 2581, IETF, Apr. 1999.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- D. J. Bernstein and E. Schenk. TCP Syn Cookies. 1996, 2002; http://cr.yp.to/syncookies.html.]]Google Scholar
- E. Biagioni. A Structured TCP in Standard ML. In Proc. of ACM SIGCOMM, pages 36--45, Aug. 1994.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- R. Braden. T/TCP -- TCP Extensions for Transactions Functional Specification. RFC 1644, IETF, July 1994.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- S. Floyd. The NewReno Modification to TCP's Fast Recovery Algorithm. RFC 2582, IETF, Apr. 1999.]] Google ScholarDigital Library
- S. Floyd. Congestion Control Principles. RFC 2914, IETF, Sept. 2000.]] Google ScholarDigital Library
- S. Floyd. Questions about TCP deployment, 2000. http://www.icir.org/floyd/questions.html.]]Google Scholar
- S. Floyd. HighSpeed TCP for Large Congestion Windows, July 2003. IETF, Internet Draft.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- M. Handley, S. Floyd, J. Padhye, and J. Widmer. TCP Friendly Rate Control (TFRC): Protocol Specification. RFC 3448, IETF, Jan. 2003.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- V. Jacobson. Congestion Avoidance and Control. In Proc. of ACM SIGCOMM, pages 314--329, Aug. 1988.]] Google ScholarDigital Library
- V. Jacobson. 4BSD TCP Header Prediction. ACM Computer Communication Review, 20(2):13--15, Apr. 1990.]]Google Scholar
- V. Jacobson, R. Braden, and D. Borman. TCP Extensions for High Performance. RFC 1323, IETF, May 1992.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- C. Jin, D. X. Wei, and S. H. Low. FAST TCP for High-Speed Long-Distance Networks, June 2003. IETF, Internet Draft.]]Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- E. Kohler, M. Handley, S. Floyd, and J. Padhye. Datagram Congestion Control Protocol (DCCP), Oct. 2002. http://www.icir.org/kohler/dccp/.]]Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- M. Mathis and J. Mahdavi. Forward Acknowledgement: Refining TCP Congestion Control. In Proc. of ACM SIGCOMM, pages 281--291, Aug. 1996.]] Google ScholarDigital Library
- M. Mathis, J. Mahdavi, S. Floyd, and A. Romanow. TCP Selective Acknowledgement Options. RFC 2018, IETF, Oct. 1996.]] Google ScholarDigital Library
- S. O'Malley and L. Peterson. TCP Extensions Considered Harmful. RFC 1263, IETF, Oct. 1991.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- J. Padhye and S. Floyd. On Inferring TCP Behavior. In Proc. of ACM SIGCOMM, pages 287--298, Aug. 2001.]] Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- V. Paxson. End-to-end Internet Packet Dynamics. IEEE/ACM Transactions on Networking, 7(3):277--292, June 1999.]] Google ScholarDigital Library
- Pittsburgh Supercomputing Center. The TCP-Friendly Website, 2003. http://www.psc.edu/networking/tcp friendly.html.]]Google Scholar
- J. Postel. Transmission Control Protocol. RFC 793, IETF, Sept. 1981.]]Google ScholarDigital Library
- K. Ramakrishnan, S. Floyd, and D. Black. The Addition of Explicit Congestion Notification (ECN) to IP. RFC 3168, IETF, Sept. 2001.]] Google ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- L. Rizzo. Dummynet: a simple approach to the evaluation of network protocols. ACM Computer Communication Review, 27(1), Jan. 1997.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- W. Stevens. TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms. RFC 2001, IETF, Jan. 1997.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- J. Stone, R. Stewart, and D. Otis. Stream Control Transmission Protocol (SCTP) Checksum Change. RFC 3309, IETF, Sept. 2002.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- J. Widmer. Equation-based Congestion Control, 2000. Diploma Thesis. University of Mannheim.]]Google Scholar
- 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 Scholar
Index Terms
- Upgrading transport protocols using untrusted mobile code
Recommendations
Upgrading transport protocols using untrusted mobile code
SOSP '03In 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, ...
Implementation of stateless transport protocols in ns-3
WNS3 '15: Proceedings of the 2015 Workshop on ns-3Development of transport protocols has received a great deal of attention of network research community at several past decades. One of the general directions of such an effort was to improve a congestion control mechanism of the TCP (Transmission ...
Retransmission policies for multihomed transport protocols
We evaluate three retransmission policies for transport protocols that support multihoming (e.g. SCTP). The policies dictate whether retransmissions are sent to the same peer IP address as the original transmission, or sent to an alternate peer IP ...
Comments