skip to main content
article

Structured streams: a new transport abstraction

Published:27 August 2007Publication History
Skip Abstract Section

Abstract

Internet applications currently have a choice between stream and datagram transport abstractions. Datagrams efficiently support small transactions and streams are suited for long-running conversations, but neither abstraction adequately supports applications like HTTP that exhibit a mixture of transaction sizes, or applications like FTP and SIP that use multiple transport instances. Structured Stream Transport (SST) enhances the traditional stream abstraction with a hierarchical hereditary structure, allowing applications to create lightweight child streams from any existing stream. Unlike TCP streams, these lightweight streams incur neither 3-way handshaking delays on startup nor TIME-WAIT periods on close. Each stream offers independent data transfer and flow control, allowing different transactions to proceed in parallel without head-of-line blocking, but all streams share one congestion control context. SST supports both reliable and best-effort delivery in a way that semantically unifies datagrams with streams and solves the classic "large datagram" problem, where a datagram's loss probability increases exponentially with fragment count. Finally, an application can prioritize its streams relative to each other and adjust priorities dynamically through out-of-band signaling. A user-space prototype shows that SST is TCP-friendly to within 2%, and performs comparably to a user-space TCP and to within 10% of kernel TCP on a WiFi network.

References

  1. William Aiello et al. Just Fast Keying: Key Agreement In A Hostile Internet. TISSEC, 7(2):1--32, May 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Allman, V. Paxson, and W. Stevens. TCP congestion control, April 1999. RFC 2581. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Hari Balakrishnan et al. TCP behavior of a busy Internet server: Analysis and improvements. In IEEE INFOCOM, March 1998.Google ScholarGoogle Scholar
  4. Hari Balakrishnan, Hariharan S. Rahul, and Srinivasan Seshan. An integrated congestion management architecture for Internet hosts. In ACM SIGCOMM, September 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Bellovin. Defending against sequence number attacks, May 1996. RFC 1948. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jon C. R. Bennett, Craig Partridge, and Nicholas Shectman. Packet reordering is not pathological network behavior. Transactions on Networking, 7:789--798, December 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Jon C. R. Bennett and Hui Zhang. Hierarchical packet fair queueing algorithms. In ACM SIGCOMM, pages 143--156, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. T. Berners-Lee, R. Fielding, and H. Frystyk. Hypertext transfer protocol - HTTP/1.0, May 1996. RFC 1945. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Andrew D. Birrell and Bruce Jay Nelson. Implementing remote procedure calls. Transactions on Computer Systems, 2(1):39--59, February 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. E. Blanton and M. Allman. On making TCP more robust to packet reordering. Computer Communications Review, 32(1), January 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. Braden. Towards a transport service for transaction processing applications, September 1985. RFC 955. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. R. Braden. T/TCP - TCP extensions for transactions, July 1994. RFC 1644. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. David R. Cheriton. VMTP: A transport protocol for the next generation of communication systems. Computer Communications Review, 16(3):406--415, August 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. D. Clark and D. L. Tennenhouse. Architectural considerations for a new generation of protocols. In ACM SIGCOMM, pages 200--208, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. David D. Clark. Window and acknowledgement strategy in TCP, July 1982. RFC 813. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Yogen K. Dalal. More on selecting sequence numbers. SIGOPS Operating Systems Review, 9(3):25--36, July 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. T. Dierks and C. Allen. The TLS protocol version 1.0, January 1999. RFC 2246. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Theodore Faber, Joe Touch, and Wei Yue. The TIME-WAIT state in TCP and its effects on busy servers. In IEEE INFOCOM, volume 3, pages 1573--1583, March 1999.Google ScholarGoogle ScholarCross RefCross Ref
  19. R. Fielding et al. Hypertext transfer protocol - HTTP/1.1, June 1999. RFC 2616. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Floyd, J. Mahdavi, M. Mathis, and M. Podolsky. An extension to the selective acknowledgement (SACK) option for TCP, July 2000. RFC 2883. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Bryan Ford. Scalable Internet routing on topology-independent node identities. Technical Report 926, MIT LCS MIT Laboratory for Computer Science, October 2003.Google ScholarGoogle Scholar
  22. Bryan Ford et al. Persistent personal names for globally connected mobile devices. In 7th OSDI USENIX Symposium on Operating Systems Design and Implementation, November 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Jim Gettys. Simple MUX protocol specification, October 1996. W3C Working Draft.Google ScholarGoogle Scholar
  24. V. Gurbani and S. Lawrence. Handling large User Datagram Protocol responses in the Session Initiation Protocol, October 2006. Internet-Draft (Work in Progress).Google ScholarGoogle Scholar
  25. M. Handley, S. Floyd, J. Padhye, and J. Widmer. TCP friendly rate control (TFRC): Protocol specification, January 2003. RFC 3448. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. M. Holdrege and P. Srisuresh. Protocol complications with the IP network address translator, January 2001. RFC 3027. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. The internet traffic archive. http://ita.ee.lbl.gov/.Google ScholarGoogle Scholar
  28. Janardhan R. Iyengar, Paul D. Amer, and Randall Stewart. Concurrent multipath transfer using SCTP multihoming over independent end-to-end paths Transactions on Networking, 14(5):951--964, October 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. V. Jacobson, R. Braden, and D. Borman. TCP extensions for high performance, May 1992. RFC 1323. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. S. Kent. IP encapsulating security payload (ESP), December 2005. RFC 4303. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. S. Kent and K. Seo. Security architecture for the Internet Protocol, December 2005. RFC 4301. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. E. Kohler, M. Handley, and S. Floyd. Datagram congestion control protocol (DCCP), March 2006. RFC 4340.Google ScholarGoogle Scholar
  33. Venkat Kudallur et al. IE7 networking improvements in content caching and decompression. IEBlog, October 2005.Google ScholarGoogle Scholar
  34. M. Mathis, J. Mahdav, S. Floyd, and A. Romanow. TCP selective acknowledgment options, October 1996. RFC 2018. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. M. Mathis and J. Mahdavi. Forward acknowledgement: Refining TCP congestion control. In ACM SIGCOMM, August 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. R. Moskowitz and P. Nikander. Host identity protocol (HIP) architecture, May 2006. RFC 4423.Google ScholarGoogle Scholar
  37. Mozilla.org. Firefox tips & tricks: Pipelining. http://www.mozilla.org/support/firefox/tips#oth_pipelining.Google ScholarGoogle Scholar
  38. H. F. Nielsen et al. Network performance effects of HTTP/1.1, CSS1, and PNG, June 1997. W3C NOTE-pipelining-970624.Google ScholarGoogle Scholar
  39. C. Partridge and R. Hinden. Version 2 of the reliable data protocol (RDP), April 1990. RFC 1151. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Craig Partridge. Implementing the reliable data protocol (RDP). In USENIX Summer Conference, June 1987.Google ScholarGoogle Scholar
  41. J. Postel. User datagram protocol, August 1980. RFC 768. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. J. Postel and J. Reynolds. File transfer protocol (FTP), October 1985. RFC 959. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. E. Rescorla and N. Modadugu. Datagram transport layer security, April 2006. RFC 4347.Google ScholarGoogle Scholar
  44. M. Rose. The blocks extensible exchange protocol core, March 2001. RFC 3080. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. J. Rosenberg et al. SIP: session initiation protocol, June 2002. RFC 3261. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. H. Schulzrinne et al. RTP: A transport protocol for real-time applications, July 2003. RFC 3550. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Alex C. Snoeren and Hari Balakrishnan. An end-to-end approach to host mobility. In 6th MOBICOM ACM/IEEE International Conference on Mobile Computing and Networking, August 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Alex C. Snoeren, Hari Balakrishnan, and M. Frans Kaashoek. Reconsidering Internet mobility. In HotOS-VIII 8th Workshop on Hot Topics in Operating Systems, May 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. R. Stewart et al. Stream control transmission protocol, October 2000. RFC 2960.Google ScholarGoogle Scholar
  50. Lakshminarayanan Subramanian et al. OverQoS: An overlay based architecture for enhancing Internet QoS. In 1st NSDI USENIX/ACM Symposium on Networked Systems Design and Implementation (NSDI '04), San Francisco, CA, March 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Carl A. Sunshine and Yogen K. Dalal. Connection management in transport protocols. Computer Networks, 2(6):454--473, December 1978.Google ScholarGoogle Scholar
  52. Transmission control protocol, September 1981. RFC 793.Google ScholarGoogle Scholar
  53. Raymond S. Tomlinson. Selecting sequence numbers. SIGOPS Operating Systems Review, 9(3):11--23, July 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. J. Touch. TCP control block interdependence, April 1997. RFC 2140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. T. Ylonen and C. Lonvick, Ed. The secure shell protocol architecture, January 2006. RFC 4251.Google ScholarGoogle Scholar
  56. Hui Zhang and Srinivasan Keshav. Comparison of rate-based service disciplines. In ACM SIGCOMM, pages 113--121, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Structured streams: a new transport abstraction

      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

      Full Access

      • Published in

        cover image ACM SIGCOMM Computer Communication Review
        ACM SIGCOMM Computer Communication Review  Volume 37, Issue 4
        October 2007
        420 pages
        ISSN:0146-4833
        DOI:10.1145/1282427
        Issue’s Table of Contents
        • cover image ACM Conferences
          SIGCOMM '07: Proceedings of the 2007 conference on Applications, technologies, architectures, and protocols for computer communications
          August 2007
          432 pages
          ISBN:9781595937131
          DOI:10.1145/1282380

        Copyright © 2007 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: 27 August 2007

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader