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.
- William Aiello et al. Just Fast Keying: Key Agreement In A Hostile Internet. TISSEC, 7(2):1--32, May 2004. Google Scholar
Digital Library
- M. Allman, V. Paxson, and W. Stevens. TCP congestion control, April 1999. RFC 2581. Google Scholar
Digital Library
- Hari Balakrishnan et al. TCP behavior of a busy Internet server: Analysis and improvements. In IEEE INFOCOM, March 1998.Google Scholar
- Hari Balakrishnan, Hariharan S. Rahul, and Srinivasan Seshan. An integrated congestion management architecture for Internet hosts. In ACM SIGCOMM, September 1999. Google Scholar
Digital Library
- S. Bellovin. Defending against sequence number attacks, May 1996. RFC 1948. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Jon C. R. Bennett and Hui Zhang. Hierarchical packet fair queueing algorithms. In ACM SIGCOMM, pages 143--156, 1996. Google Scholar
Digital Library
- T. Berners-Lee, R. Fielding, and H. Frystyk. Hypertext transfer protocol - HTTP/1.0, May 1996. RFC 1945. Google Scholar
Digital Library
- Andrew D. Birrell and Bruce Jay Nelson. Implementing remote procedure calls. Transactions on Computer Systems, 2(1):39--59, February 1984. Google Scholar
Digital Library
- E. Blanton and M. Allman. On making TCP more robust to packet reordering. Computer Communications Review, 32(1), January 2002. Google Scholar
Digital Library
- R. Braden. Towards a transport service for transaction processing applications, September 1985. RFC 955. Google Scholar
Digital Library
- R. Braden. T/TCP - TCP extensions for transactions, July 1994. RFC 1644. Google Scholar
Digital Library
- David R. Cheriton. VMTP: A transport protocol for the next generation of communication systems. Computer Communications Review, 16(3):406--415, August 1986. Google Scholar
Digital Library
- D. D. Clark and D. L. Tennenhouse. Architectural considerations for a new generation of protocols. In ACM SIGCOMM, pages 200--208, 1990. Google Scholar
Digital Library
- David D. Clark. Window and acknowledgement strategy in TCP, July 1982. RFC 813. Google Scholar
Digital Library
- Yogen K. Dalal. More on selecting sequence numbers. SIGOPS Operating Systems Review, 9(3):25--36, July 1975. Google Scholar
Digital Library
- T. Dierks and C. Allen. The TLS protocol version 1.0, January 1999. RFC 2246. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- R. Fielding et al. Hypertext transfer protocol - HTTP/1.1, June 1999. RFC 2616. Google Scholar
Digital Library
- S. Floyd, J. Mahdavi, M. Mathis, and M. Podolsky. An extension to the selective acknowledgement (SACK) option for TCP, July 2000. RFC 2883. Google Scholar
Digital Library
- Bryan Ford. Scalable Internet routing on topology-independent node identities. Technical Report 926, MIT LCS MIT Laboratory for Computer Science, October 2003.Google Scholar
- 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 Scholar
Digital Library
- Jim Gettys. Simple MUX protocol specification, October 1996. W3C Working Draft.Google Scholar
- V. Gurbani and S. Lawrence. Handling large User Datagram Protocol responses in the Session Initiation Protocol, October 2006. Internet-Draft (Work in Progress).Google Scholar
- M. Handley, S. Floyd, J. Padhye, and J. Widmer. TCP friendly rate control (TFRC): Protocol specification, January 2003. RFC 3448. Google Scholar
Digital Library
- M. Holdrege and P. Srisuresh. Protocol complications with the IP network address translator, January 2001. RFC 3027. Google Scholar
Digital Library
- The internet traffic archive. http://ita.ee.lbl.gov/.Google Scholar
- 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 Scholar
Digital Library
- V. Jacobson, R. Braden, and D. Borman. TCP extensions for high performance, May 1992. RFC 1323. Google Scholar
Digital Library
- S. Kent. IP encapsulating security payload (ESP), December 2005. RFC 4303. Google Scholar
Digital Library
- S. Kent and K. Seo. Security architecture for the Internet Protocol, December 2005. RFC 4301. Google Scholar
Digital Library
- E. Kohler, M. Handley, and S. Floyd. Datagram congestion control protocol (DCCP), March 2006. RFC 4340.Google Scholar
- Venkat Kudallur et al. IE7 networking improvements in content caching and decompression. IEBlog, October 2005.Google Scholar
- M. Mathis, J. Mahdav, S. Floyd, and A. Romanow. TCP selective acknowledgment options, October 1996. RFC 2018. Google Scholar
Digital Library
- M. Mathis and J. Mahdavi. Forward acknowledgement: Refining TCP congestion control. In ACM SIGCOMM, August 1996. Google Scholar
Digital Library
- R. Moskowitz and P. Nikander. Host identity protocol (HIP) architecture, May 2006. RFC 4423.Google Scholar
- Mozilla.org. Firefox tips & tricks: Pipelining. http://www.mozilla.org/support/firefox/tips#oth_pipelining.Google Scholar
- H. F. Nielsen et al. Network performance effects of HTTP/1.1, CSS1, and PNG, June 1997. W3C NOTE-pipelining-970624.Google Scholar
- C. Partridge and R. Hinden. Version 2 of the reliable data protocol (RDP), April 1990. RFC 1151. Google Scholar
Digital Library
- Craig Partridge. Implementing the reliable data protocol (RDP). In USENIX Summer Conference, June 1987.Google Scholar
- J. Postel. User datagram protocol, August 1980. RFC 768. Google Scholar
Digital Library
- J. Postel and J. Reynolds. File transfer protocol (FTP), October 1985. RFC 959. Google Scholar
Digital Library
- E. Rescorla and N. Modadugu. Datagram transport layer security, April 2006. RFC 4347.Google Scholar
- M. Rose. The blocks extensible exchange protocol core, March 2001. RFC 3080. Google Scholar
Digital Library
- J. Rosenberg et al. SIP: session initiation protocol, June 2002. RFC 3261. Google Scholar
Digital Library
- H. Schulzrinne et al. RTP: A transport protocol for real-time applications, July 2003. RFC 3550. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- R. Stewart et al. Stream control transmission protocol, October 2000. RFC 2960.Google Scholar
- 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 Scholar
Digital Library
- Carl A. Sunshine and Yogen K. Dalal. Connection management in transport protocols. Computer Networks, 2(6):454--473, December 1978.Google Scholar
- Transmission control protocol, September 1981. RFC 793.Google Scholar
- Raymond S. Tomlinson. Selecting sequence numbers. SIGOPS Operating Systems Review, 9(3):11--23, July 1975. Google Scholar
Digital Library
- J. Touch. TCP control block interdependence, April 1997. RFC 2140. Google Scholar
Digital Library
- T. Ylonen and C. Lonvick, Ed. The secure shell protocol architecture, January 2006. RFC 4251.Google Scholar
- Hui Zhang and Srinivasan Keshav. Comparison of rate-based service disciplines. In ACM SIGCOMM, pages 113--121, 1991. Google Scholar
Digital Library
Index Terms
- Structured streams: a new transport abstraction
Recommendations
Structured streams: a new transport abstraction
SIGCOMM '07: Proceedings of the 2007 conference on Applications, technologies, architectures, and protocols for computer communicationsInternet 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 ...
Performance sensitivity and fairness of ECN-aware 'modified TCP'
The paper discusses how explicit congestion notification (ECN) can be used to devise an Internet congestion control mechanism that is more rapidly reactive and allows best-effort flows to rapidly adjust to fluctuations in available capacity. Our ECN-mod ...
Performance comparison of TCP, UDP and TFRC in static wireless environment
Instantaneous communication is the need of the hour. Wireless networks enable instantaneous communication. Since the application interacts with the transport protocol, the services of a transport protocol are of significant importance. All the ...






Comments