M. Mellia, M. Meo, L. Muscariello,and D. Rossi,
Passive Analysis of TCP Anomalies,
Computer Networks,
October 2008.
Return to
[Sally Floyd].
"This memo specifies options that enable TCP to detect corruption in
the presence of link layers which hand over known-corrupt data to
upper layers."
"This paper explores a technique, called
Cumulative Explicit Transport Error Notification (CETEN),
that uses information provided by the network to ensure
TCP's long-term average sending rate is dictated by only losses
due to network congestion."
"If the TCP sender can distinguish packets that are lost due to
congestion from ones that are lost due to errors, a better performance
can be achieved."
Master's Thesis, December 2000.
"Our largest group of tests is with random errors on a link...
TCP with SACK performed significantly better than other
modifications under all conditions...
The increased initial window gives slightly better throughput...
We found that RED worsens the performance when only a single TCP
connection is present... For two concurrent TCP connections,
RED improves the throughput and the fairness ..., but only for large
buffer sizes... We have collected some empirical evidence suggesting
that the
more careful version of the "bug fix" for preventing multiple
fast retransmits should be implemented in all TCPs."
This paper proposes Explicit Loss Notification to improve performance
when a mobile host is the TCP sender.
Presents "TCP-Aware" that aims to distinguish corruption losses
from congestion losses based on packet inter-arrival times at
receiver. The best accuracy rates of the algorithm can be achieved
when the wireless link has the lowest bandwidth on the communication
path.
"This document describes a modification to TCP's standard
retransmission scheme that improves performance across intermittently
connected paths... This extension
causes additional, speculative retransmission attempts upon receiving
external triggers."
"A smart link layer employing repetition of selected packets
at reconnection time is shown to improve TCP's utilization
of a disconnecting network."
"This note methodically sketches the behavior of the mitigations
and presents the tradeoffs of various schemes."
"Pacing offers better fairness, throughput, and lower drop rates
in some situations. However, ... pacing often has significantly
worse throughput than regular TCP because it is susceptible to
synchronized losses and it delays congestion signals."
"We have provided simulation data showing that pacing can significantly
improve the performance of TCP."
The simulations use Drop-Tail queue management and small-scale
statistical
multiplexing.
The Rate-Halving algorithm adjusts the congestion window
during Fast Recovery by spacing the transmissions over the
entire recovery period.
This RFC describes a specific algorithm for responding to partial
acknowledgments, referred to as NewReno. This response to partial
acknowledgments was first proposed by Janey Hoe in [Hoe95].
"In this paper, we compare the throughputs of two
different TCP NewReno variants, namely Slow-but-Steady and Impatient....
Our results show that the
Impatient variant is superior only under very extreme network
conditions (i.e., low loss event rates, but many packet drops
per loss event). The Slow-but-Steady variant is superior to
Impatient, or comparable to Impatient, in all other operating
regimes, although RED queues diminish the performance
differences observed."
"The debate between Loss-based Congestion Avoidance (LCA) and
Delay-based Congestion Avoidance (DCA) is almost as old as
TCP congestion control itself...
Our objective in this short note is to suggest possible reasons
for the weak correlations between delays and losses, and to identify
conditions under which DCA schemes can fail to provide
robust congestion control."
Delay-based Congestion Avoidance algorithms (DCA)
"will react unnecessarily to RTT variation that is not associated with
packet loss. The result is degraded throughput as compared to a similar
flow that does not support DCA."
"The
Limited Transmit algorithm calls for sending a new data segment in
response to each of the first two duplicate acknowledgments that
arrive at the sender."
TBIT tests show roughly 25% of the web servers tested in early 2004
use Limited Transmit.
"Rather than the traditional method of
increasing the congestion window by a constant amount for each
arriving acknowledgment, the document suggests basing the increase on
the number of previously unacknowledged bytes each ACK covers."
"This draft outlines an optional Quick-Start mechanism for transport
protocols to determine an optional allowed initial congestion window
or initial sending rate at the start of a data transfer."
This paper proposes a restricted byte-counting algorithm (instead of TCP's
current ACK-counting algorithm) for use with TCP's
window increase mechanism.
This paper compares acking-every-packet and delayed-ack mechanisms
with three alternate mechanisms: acking-every-packet only during
slow-start; unlimited byte-counting; and limited byte-counting.
With unlimited byte-counting, the sender increases its congestion
window based on the number of bytes covered by each ack.
With limited byte-counting, the increase of the congestion window
for each ack is limited to two segments.
This paper proposes mechanisms for decaying TCP's congestion window
after periods when the sender is idle or application-limited.
This paper proposes that the sender caches network parameters,
and uses higher drop priority for packets sent during
Fast Start.
This paper proposes the use of packet pacing in the initial
slow-start, and proposes a method for conservatively estimating
the initial ssthresh.
This paper also proposes decoupling the clock granularity used for
measuring the roundtrip time from that used for scheduling events,
allowing for
shorter retransmission timeouts.
This paper proposes pacing packets during a restart of an idle
TCP connection until the "ACK clock" can be restarted.
"The Eifel detection algorithm allows a TCP sender to detect a
posteriori whether it has entered loss recovery unnecessarily."
The Eifel detection algorithm requires timestamps.
"This document describes the F-RTO detection algorithm
for detecting spurious TCP retransmission timeouts."
The F-RTO algorithm does not require timestamps.
"Based on an appropriate detection algorithm, the Eifel response
algorithm provides a way for a TCP sender to respond to a detected
spurious timeout."
This paper proposes a new TCP retransmission timer mechanism,
the Eifel retransmission timer.
This paper proposes mechanisms to eliminate the retransmission
ambiguity from TCP, in part to prevent the
unnecessary retransmissions that can result from a spurious
retransmit timeout. Eliminating the retransmission
ambiguity requires using either timestamps or new
flags in the TCP header to distinguish between original and
retransmitted data packets.
"Wireless links have intrinsic characteristics that affect the performance of
transport protocols; these include variable bandwidth, corruption, shared
links, channel allocation delays, and asymmetry. In this paper we consider the
interplay between wireless links and transport protocols, and review
simulation models for cellular, WLAN and satellite links used in transport
design."
Web page on
Modeling Wireless Links.
"The performance of NewReno is worse than the performance of Tahoe in
many situations."
"The performance of Sack is always seen to be the best and the most
robust, thereby arguing for the implementation of TCP-Sack over the
wireless channel."
"This article discusses the problems arising when the
TCP/IP protocol suite is used to provide Internet connectivity over
existing and emerging wireless links."
Master's Thesis, February 2001.
This paper explores TCP over slow wireless links, and considers the
effects of RED at the last-hop router. The paper also proposes using
the advertised window to limit the number of outstanding packets
and to share the window space among parallel connections.
Master's Thesis, February 2001.
This paper explores TCP over slow wireless links, and considers
the effects of Sack TCP, larger initial windows,
and limitations on the receiver's advertised window.
This paper compares the performance of various TCP implementations
in a satellite environment, and discusses the use of a satellite gateway,
proxy, or web cache to "split" transport connections in
a manner transparent to users. The paper proposes a new transport
protocol, Satellite Transport Protocol (STP), optimized for the
asymmetric bandwidth and high latency of satellite environments.
H. Balakrishnan and V. Padmanabhan,
How Network Asymmetry Affects TCP,
IEEE Communications, April 2001.
"In
this article we study the effects of bandwidth and
media access asymmetry on the performance of
the TCP protocol."
This paper proposes techniques for decreasing the frequency of
ACKs on the constrained reverse channel ("ACK congestion control"
and "ACK filtering"), techniques to reduce source burstiness
when ACKs are infrequent ("sender adaptation via traffic
shaping" and "ACK reconstruction"), and algorithms for
scheduling data and ACKs at the reverse bottleneck router.
This paper studies out-of-sequence and duplicate segments.
"It was demonstrated how a TCP connection, when mixed with self-similar
traffic in a bottleneck buffer, takes on its statistical second
order self-similarity, propagating scaling phenomena to other parts
of the network."
TCP and DiffServ
"I suspect that in the
not too distant future, it will become clear that the TCP-
friendly paradigm was an untenable long term position."
"In this document, we describe the various mechanisms for reliable data
delivery and congestion control implemented in TCP, discuss their
evolution, and present a survey of the main TCP-related research areas."
This paper discusses issues in the evaluation of TCP performance.
This paper proposes proper sizing of TCP socket buffers, an initial
window of two packets (as opposed to one packet), smaller MSS values
to counterack problems with delayed ACKs and ACK losses,
a finer granularity for TCP timers, and Fast Retransmit triggered by
a single dup ACK.
This internet draft describes two methods
for avoiding the accumulation of TCP
TIME_WAIT states at a network server, including a TCP modification that
causes clients rather than servers to enter TIME_WAIT state.
This informational RFC proposes interdependent TCP control blocks for
sharing TCP state among concurrent connections or across similar
connection instances.
The Commercial World: Selected Pointers
Again, an arbitrary and incomplete set of pointers to
things that I have run across.
Other pointers
Last modified: May 2009.
Links updated: October 2008.