Wide-area information systems require protocols to exchange information. A variety of different protocols have evolved to meet the needs of information services (the web with HTTP, Gopher, Prospero, etc.), file sharing (FTP, NFS, AFS, CIFS, etc.), and RPCs (for example, ONC and DCE RPCs). What transport-layer options exist for these applications?
Roll your own transport layer. To avoid the overhead of a full TCP connection, many of these systems begin with UDP and add any missing characteristics such as reliability or flow control. This approach can be successful in a particular domain, but often such protocols fail to adapt across the full range of networks present in the Internet (from 14kbps dial-up modems to gigabit LANs). Such protocols also often suffer from portability and tuning problems when moved to different environments.
Build on TCP. UDP-based protocols often end up nearly as heavy as TCP by the time they are completed. Instead of rolling-your-own, one can also build on TCP, taking advantage of years of existing study and tuning. TCP has good WAN behavior, particularly for bulk traffic. TCP has some disadvantages, though: its robustness and safe wide-area behavior come at the cost of slower start-up performance.
TCP overhead for short messages is well known. Nagle corrected inefficiencies for single-byte-at-a-time data (see RFC 896). Braden's Transaction TCP (T/TCP) optimized single-packet requests in TCP by caching some connection information between pairs of hosts (see RFCs 1379 and 1644). Together optimizations made TCP performance competitive for terminal-style and single-packet exchanges.
Tune TCP. Unfortunately, modern web and RPC traffic exchanges don't match the domains where TCP is currently tuned (single-packet exchanges or bulk data transfer) Web responses often fall in the 5-20KB range. Too large for T/TCP to eliminate overhead, too small for quantity to make startup overhead insignificant. We propose TCP del Rey to optimize TCP performance over this range.
TCP del Rey is a set of backwards-compatible modifications to TCP to optimize performance for medium-sized transfers. Potential modifications we're investigating include:
By optimizing TCP's least-tuned range (mid-sized transfers) we allow TCP to transparently scale from 1-byte to multi-megabyte exchanges. Since our changes are backwards-compatible (and many are server-side only) they can be incrementally deployed by those needing improved performance in these areas.
We have papers describing TCP control block sharing, HTTP performance (for TCP and different possible transport layers), interactions between P-HTTP and TCP (touching on rate-based pacing) and rate based pacing.
A preliminary implementation of rate-based pacing is done; we are currently examining its performance.
Watch this page for more information, or contact the LSAM group for details or questions.
Page maintainer: John Heidemann
Last modified: Tue Dec 16 11:31:52 1997
Copyright © 1996 by USC/ISI