tCP is the most
and it meets the
desire: it offers a
ability is often a requirement, and congestion control is important to permit
fair sharing of network resources.
Many applications choose to layer
protocols on top of UDP, such as RTP
Real Time Protocol (RTP) in tandem
with Real Time Control Protocol
10 primarily intended for carrying time-sensitive real-time traffic
able to handle small amounts of loss.
These protocols suit applications
such as VoIP that do not require 100%
reliability and find delay incurred by
head-of-line blocking detrimental.
RTCP permits coarse-grained congestion control and allows real-time
applications to modify their usage by
choosing different quality settings for
the live stream, but congestion control is not built in per se.
DCCP4 is a message-oriented, best-effort transport-layer protocol that
does not enforce strict ordering on
data delivery, does not handle datagram retransmission, but does perform congestion control to conserve
network resources. DCCP is useful for
a similar set of applications as RTP and
RTCP, but the addition of congestion
control without potential datagram duplication is important, permitting RTP
to run over DCCP with fewer concerns
for network resource consumption.
SCTP11 is also a message-oriented
transport, where each message is delivered to the application in-order. Strict
message ordering, however, is optional, and so the transport can be more responsive for application traffic. SCTP
also caters for partial reliability.
Note that bufferbloat is endemic,
and other transport protocols are affected in the same way as TCP, but
relaxing strict ordering constraints at
the transport layer is one approach to
improving performance by removing
the additional response time incurred
when the stream is blocked waiting
for missing data. Active queue management (AQM) techniques7 are being
deployed in new Linux kernels to help
further alleviate bufferbloat without
modification to applications.
TCP is the most commonly used
transport-layer protocol today, and
it meets the requirements that many
applications desire: it offers a reli-
able bytestream and handles con-
cerns of retransmissions and con-
gestion avoidance. TCP’s semantics
can mean that there is a large dis-
crepancy between the RTT measured
at the transport layer and the RTT
measured by the application read-
ing the bytestream. Thus, TCP is not
always the most applicable transport
for time-critical applications, but the
TCP RTT measurement mechanism
that is enabled in most TCP stacks
today achieves measurements very
close to the ICMP “ground truth” and
performs substantially better than a
similar echo-based protocol embed-
ded within the TCP bytestream.
Bufferbloat: Dark Buffers in the Internet
Jim Gettys and Kathleen Nichols
TCP Offload to the Rescue
1. brosh, e., baset, s., misra, V., rubenstein, D. and
schulzrinne, h. the delay-friendliness of tCP
for realtime traffic. IEEE/ACM Transactions on
Networking 18, 5 (2010), 478-491.
2. he, y., Faloutsos, m., krishnamurthy, s. and huffaker,
b. on routing asymmetry in the Internet. In
Proceedings of IEEE Global Telecommunications
Conference (GLOBECOM) 2005.
3. Jacobson, V., braden, r. and borman, D. tCP
extensions for high performance. rFC 1323.
4. kohler, e., handley, m. and Floyd, s. Datagram
Congestion Control Protocol. rFC 4340 (2006).
5. kühlewind, m., neuner, s. and trammell, b. 2013. on
the state of eCn and tCP options on the Internet.
Passive and Active Measurement. m. roughan and r.
Chang, eds. Lecture Notes in Computer Science 7799
(2013). springer berlin heidelberg, 135–144.
6. nagle, J. Congestion control in IP/tCP internet works.
rFC 896 (1984).
7. nichols, k. and Jacobson, V. Controlling queue delay.
Queue 10, 5 (2012); http://queue.acm.org/detail.
8. Paxson, V., allman, m., Chu, J. and sargent, m.
Computing tCP’s retransmission timer. rFC 6298
9. Postel. J. user Datagram Protocol. rFC 768 (1980).
10. schulzrinne, h., Casner, s. Frederick, r. and Jacobson,
V. rtP: a transport protocol for real-time applications.
rFC 3550 (2003).
11. stewart, r. stream Control transmission Protocol.
rFC 4960 (2007).
12. stewart, r., ramalho, m., Xie, Q., tuexen, m., Conrad, P.
stream Control transmission Protocol (sCtP) Partial
reliability extension. rFC 3758 (2004).
13. Zhang, l. Why tCP timers don’t work well. In
Proceedings of 1986 SIGCOMM.
Stephen Strowes is a senior engineer at boundary Inc.,
where he works on network measurement metrics and
tools. he has previously studied scalable inter-domain
routing protocols, nat traversal protocols, and peer-to-peer protocols for real-time content.
© 2013 aCm 0001-0782/13/10 $15.00