Documente Academic
Documente Profesional
Documente Cultură
813
1.
This
Introduction
These mechanisms
possible,
while
bad
performance.
Happily,
in
lack
this
area,
and
we
certainly
any
different
implementors
reasonable algorithms
which
document
particular
presents
might
interact
otherwise
poorly
experience
in
this
area,
choose superficially
with
each
other.
This
testing in the field, and which appear to work properly with each other.
With more experience, these algorithms may become
specification:
part
of
the
formal
2.
The Mechanisms
data
of
data
are
sequentially
numbered,
received,
which
also
acknowledges
the
data
should
byte
previous
that
the
that
Very simply,
of
data
it
has
bytes (actually, it
not
yet
received,
but
be
sent,
or
how
Whenever appropriate,
less) the size of the buffer which the receiver currently has
for
additional
data.
some
available
additional
window.
transmit
until
the
receiver
circumstances,the
protocol
requires
the
window
Under
is
accepted.
no
response
requires
to
close
the
the
sender
connection.
Again,
from
there
the
is
receiver,
very
little
the
protocol
performance
information
in
the
sender
should
respond
to
CPU
utilizations
fractional increase.
occur
in
is
easy
to
throughput
avoid
if
SWS.
Happily
The most
which
describes
performance
acknowledgement,
will
and
prevent
of
the
its
and
occurrence.
enhancing
discusses
problem,
algorithms
the
way
to
describe
relate
acknowledgement
to
and
window
new
terms.
3.
define
two
there is a number,
we
of this number.
call
the
"offered
window".
In
simple
sender.
correspondence
is
value
which
we
will
available
in
the
receiver.
It
is
the
offered
window
which
is
actually
transmitted
which
is
to
the
unacknowledged data.
compute
different
value,
The sender
the
"usable
or
equal
to
the
Consider
the
following
simple
example.
sending
five
segments
an
updated
segments,
returns
window value.
an
by
which
also
the data has removed the first 200 bytes from the buffer,
receiver once again has 1,000 bytes of available buffer.
so
that
the
Therefore, the
on
receipt
of
this
first
which
The
In
fact,
of
the
1,000
assume
arises.
To
continue
point.
previous
the
until
it
reaches
will
arrive
at
the recipient, which will process and remove the 50 bytes and once again
return
an
compute
that there are 950 bytes in transit in the network, so that the
50
byte
segment,
even
though
there
once
again
is no longer a natural
of
small
segment
comes
back, the useable window associated with that acknowledgement will cause
another
segment
of
the
same
small
because
natural
size
to
It is easy to see
be
boundaries
sent,
how
small
some
segments
until
up
between
two
up
Thus,
SWS
when
receiver.
data
by
ever
stops,
the
the
outstanding
sender
for
will
data,
that
the
useable
window
full
have
healed,
over
the
equal
so
the
transmission
performance.
massive retransmission.
SWS
further
However, in
can
cause
many
which
and
as
acknowledge all
computed
If the sender
small
in
turn
segments,
and
an
equal
number
of
in
which
the
average
segment
were prepared to deal with, and the average number of retransmission per
successful segments sent was five.
algorithms,
one
executed
implementation
describe
which
has
failed
taken
protect
to
together
host
from
problem.
The
two
algorithms
produce
an
additional
reduction
in
CPU
factor of four.
4.
it
SWS.
the
useable
window computed by the sender does not permit the sending of any further
data.
At
some
later
time,
when
the
receiver
has
processed
the
offered
window
limitation
small
jumps
in
At
this
level,
the
algorithm
is
to
look
opened
up
again,
it
is
Depending
develop.
The
one
we
have
already
the
window
is
only
opened
infrequently,
the
of data in the network between the sender and the receiver may
have emptied out while the sender was being held off, so that a delay is
introduced before additional data arrives from the sender.
This
delay
does reduce throughput, but it does not consume network resources or CPU
resources
in
the
thumb
that
rule
offered window until the reduction constitutes one half of the available
space, at which point increase the window to advertise the entire
space
again.
In any event, one ought to make the chunk by which the window is
opened
at
sort
of high throughput.)
There
is
Michael
Greenwald
described
window to compute a useable window, and then compares the useable window
to the offered window, and refrains from sending anything if
of
the
ratio
offered
Clearly, if the
window,
this
in
the
pipeline
from
future.
Until
the
useable
window
in
Simple experiments suggest that the exact value of the ratio is not
very important, but that a value of about 25 percent
avoid
SWS
and
sufficient
to
is
An
additional
enhancement
which
might
help
hold
the
necessary
to
postponing the
arrive,
will
set
send
operation.
Further
acknowledgements,
at
the
receiver,
useable
acknowledgements
catanet
this
algorithm
has
that
equal
each
other.)
If
the
to
they
pipeline
as
(To see this, note that when all the data in the
arrived
Notice that it is
It is
simple
percent,
sets
the
useable
window to zero.
should
be
without
this
simple
piece
of
insurance.
5.
TCP
for
every
acknowledgement
was
one
recipient
segment
of
the
of
data
sent
that it received.
causes
of
separate
This compulsive
SWS,
because
each
acknowledgement provided some new useable window, but even if one of the
algorithms
described
above
is
substantial
problem,
which
is
that
Measurement
most
of
the
overhead
of
dealing
indicate
acknowledges
the
A steady dribble of
for
retransmission.
unnecessary
of
it
acknowledgement.
One
is
to
retransmission
promptly
prompt
is
is
occurring.
The
other
reason
always
one
However,
desirable
to send a little bit of data, even though the receiver may have room for
10
it.
Therefore,
one
can
state
general
not,
acknowledge
rule
and
for
that
under normal
efficiency
reasons
prevent
retransmission
or
is
being
sent
as
part
in
order
of a reverse
We will consider an
Once
the
an
data
can
control
acknowledgement
has
the
generation
been
of
Although
the
control.
must
to
postpone
timer.
systems
it
is
is
that
on
many
large
operating
the
have
Clearly, if
the
receiver
the data, in order to avoid extra overhead at the sender end, spends
benefit
has been achieved, for efficiency at the sender end is achieved by great
thrashing
at
the
receiver end.
11
will
refrain
from
sending
an
acknowledgement
under
to be sent later.
will
certain
cause
the
only where it is a reasonable guess that some other event will intervene
and prevent the necessity of the timer
event
on
which
interrupt.
conditions
hold.
acknowledgement
First,
the
push
in
obvious
subsequent
segment.
if
So, if a
both
of
the
most
The
there
is
more
data
The
interval
of
the
which
the
data
seldom
is
flowing.
of
the
particular
network
Appendix A
describes
an
and
sender
algorithm,
extremely
simple,
and
useful
receipt
If
then of necessity
segment.
is
an
acknowledgement
will
be
sent
for
every
data
12
receiver
determines
need
sent.
the
When
the
receiver
window
used
acknowledgement
algorithm
will
together,
sending
an
events.
it
and
will
be
not
be
receiver
seen
that
Third,
the
window
has
been
In the beginning of this section, it was pointed out that there are
two
reasons
why
must
be
an
acknowledgement
whenever
the
that
selected
precise
by
the
However,
determination
sender,
there
is
when
rough
to
do
so
would
the
of
failure
It is
receiver
the
acknowledgement
rule
the
sender
must
can
be
use
sent.
to
avoid
in
the
TCP
specification,
Retransmission
average
by
some
factor.
exceeds
the
algorithm
of
segment
arrivals
at
the
The goal of our strategy was that the sender should send off
13
at
receiver.
sender
The
acknowledgement
will
be
generated
by
the
the time that the last segment in the burst arrives at the
could
return
of
the
acknowledgement,
the
and
the
receipt
time
holding
time
at
will
measure
in
delay
the
burst.
arise
if
the
maximum delay
threshold
and
average
for
the
delay
is
algorithm
triggering retransmission.
will
twice
the
occur
average
the
smoothing
the
burst.
Problems
has
very
small
when
network
The
smoothing
will
receiver.
Thus,
the
of
transit
time
is
been
roundtrip
burst
delay,
as
acknowledgement,
well
as
the
delay
due
to
withholding
the
has
for
test
the
roundtrip
estimate
is
not
14
In
our
experiments
with
this
algorithm,
retransmission due to
of
the
when
sent.
taking
into
account
the
last
two
or
three
ones
whose
holding
time
at
the
receiver is minimal, so the resulting total estimate was much lower than
appropriate.
number
of
segments
in
approximately
twice
when
sending
over
6.
According
prepared
correspondence.
to receive.
the
receiver
is
describe
the case where the offered window is precisely no larger than the actual
buffering
available.
that they can produce very low throughput in long delay situations.
It
one
bufferfull
every
roundtrip
delay
updated
window/acknowledgement
15
In
certain
cases,
it
may
be
possible
"optimistic
window" strategy.
Such a strategy we
will
process
the
call
that
it
If the receiver is faster than the sender, one could, with luck,
permit
and the window is too optimistic, then some segments will cause a buffer
overflow,
and
will
be
discarded.
start to be lost.
the
segment
is
increase
the
window
size
until
In
some
cases,
it
is
easy
to
do,
cause
elsewhere
in the net.
window strategy unless one is certain that the algorithm can detect
resulting
lost
segments.
the
the
merit
of
optimistic
windows.
The
selection
are
not
discussion
presented
with
suggests.
the
intention
The
that
following
they be
16
incorporated
in
current
respond
to
his
TCP
characteristics.
sent.
or
sender
long-term
cannot
buffer
exceed
overflow
the
Clearly, the
average
will
rate
occur.
that
burstiness
is
most
cost
the
The advantage of
Burstiness
This
the
reduces
the
of
it
of
Second, they
data
buffers
between
it
may
that
problem
ignored
in
excessive
burstiness,
of
the
not
data
which
in
requested
the
stream
soon
into
small
and
excessive
segments,
which
we
described
above
in
will
have
the
achieve
a
network,
adequate
predictable
none
of
the
throughput.
throughput
limit,
17
which
nature
cause
buffer
overflows
and
intersegment
to
the
due
means
the
roundtrip
but
which
arrive
One could
the
sender
to
the
receiver.
The
control
burstiness
of
the
To
treatment.
Second,
the
kind
this
Just as buses on a
single
route tend to bunch up, bursts which start out equally spaced could
well end up piling into each other, and forming the single
which
the
TCP,
large
burst
It is important to understand
understand
the
limits
beyond
deliver
throughput
which
is
18
7.
Conclusions
This
paper
describes
three
simple
algorithms
for
performance
enhancement in TCP, one at the sender end and two at the receiver.
sender
algorithm
is
to
The
The receiver
algorithms
are first, to artificially reduce the offered window when processing new
data
if
the
resulting
reduction
does
not
from
to
hold.
Silly
Syndrome, and when these algorithms are used together, they will
eliminating
the
Preliminary
experiments
shown
to
with
these
eliminate
SWS,
even
when
The Multics
talking
mailer,
to
in
fairly
have
silly
particular,
had
hosts.
has
eliminated
Implementation
every
of
the
known
case
receiver
of
side
SWS
detected
algorithm
in
our
produced substantial
typical
large
mailer.
Multics
processing
time
for
protocol
handlers.
19
Tests were done sending from Multics to a host which implemented the SWS
suppression
algorithm,
and
which
could
either
refrain
or not from
at
all,
data
However,
the CPU time required to process the data at the Multics end was cut
a
factor
of
four
(In
by
segments.
Thus,
the
number
of
An
important
recommendations
All
doing
something
even
though
the
protocol
refrains from doing something now one may never get to do it later,
both
of
and
ends will halt, even though it would appear superficially that the
One
of
the
defects
prevent
liveness.
as
to
interact
this paper are always live, and that is one of the reasons why there
is
The
argument
20
First,
to
acknowledge
As
However,
as
the
receiver
long
notice
sender
must
continue
to
operation
this
algorithm
can
prevent
liveness.
What
we
to refrain from acknowledging, will do so only for a short time, and not
forever.
achieve
this
goal:
event
that
was
intended
to
was
timer.
The
another segment, which essentially reset the timer, and started it going
again.
been received.
as
no
data
has
up-to-date
designed
to
acknowledgement.
be
more
robust
In
than
fact,
this,
transmission
of
an
value.
This
is
the
condition
which
will
normally
trigger
the
21
APPENDIX A
The
text
sending
of
suggested
an
milliseconds
that
when
acknowledgement,
would
work
setting
properly
fixed
in
interval
practice.
of
200
This
to
300
very
slow
net
is
dynamically
(rather
than
manually)
to
changing
to
network
because
it
which
runs
until
the
next
bit
segment
relegated
on
in
arrives.
decay
to
an
Whenever a
it,
start
Average these
smoothing
function
to take into account perhaps the last ten or twenty segments that
for
interarrival
period,
or
the
network
the
two
or
22
burst.
The number need not be exact, since the timer which triggers
trouble
with
the
senders
estimate
of
the
this
without
retransmission