Professional Documents
Culture Documents
Transport Layer
processes running on
different hosts
lo
gi
ca
transport protocols run in
l
en
d
end systems
-e
nd
tra
ns
more than one transport
po
rt
protocol available to apps
application
Internet: TCP and UDP transport
network
data link
physical
application
1. Multiplexing/Demultipl-
exing
acknowledgements:
sender sequence number space
seq # of next byte
expected from other side sent sent, not- usable not
ACKed yet ACKed but not usable
cumulative ACK (“in-flight”) yet sent
User
types
‘C’
Seq=42, ACK=79, data = ‘C’
host ACKs
receipt of
‘C’, echoes
Seq=79, ACK=43, data = ‘C’ back ‘C’
host ACKs
receipt
of echoed
‘C’ Seq=43, ACK=80
SendBase=92
Seq=92, 8 bytes of data Seq=92, 8 bytes of data
timeout
ACK=100
X
ACK=100
ACK=120
SendBase=120
X
ACK=120
cumulative ACK
Transport Layer 3-40
TCP fast retransmit
time-out period often
relatively long: TCP fast retransmit
long delay before if sender receives 3
resending lost packet ACKs for same data
detect lost segments (“ triple duplicate ACKs” ),
via duplicate ACKs. resend unacked
sender often sends segment with smallest
many segments back- seq #
to-back likely that unacked
if segment is lost, there segment lost, so don’t
will likely be many wait for timeout
duplicate ACKs.
ACK=100
timeout
ACK=100
ACK=100
ACK=100
Seq=100, 20 bytes of data
IP
flow control code
receiver controls sender, so
sender won’t overflow receiver’s
buffer by transmitting too much, from sender
too fast
receiver protocol stack
LAST_ACK
FINbit=1, seq=y
TIMED_WAIT can no longer
send data
ACKbit=1; ACKnum=y+1
timed wait
for 2*max CLOSED
segment lifetime
CLOSED
LastByteSent-
cwnd isLastByteAcked < of
dynamic, function cwnd
perceived network congestion
RTT
loss event:
initially cwnd = 1 MSS two segm
ents
double cwnd every RTT
done by incrementing
cwnd for every ACK four segm
ents
received
summary: initial rate is
slow but ramps up
exponentially fast time
Implementation:
variable ssthresh
on loss event, ssthresh
is set to 1/2 of cwnd just
before loss event
time
Transport Layer 3-57
TCP throughput
avg. TCP thruput as function of window size, RTT?
ignore slow start, assume always data to send
W: window size (measured in bytes) where loss occurs
avg. window size (# in-flight bytes) is ¾ W
avg. thruput is 3/4W per RTT
3 W
avg TCP thruput = bytes/sec
4 RTT
W
W/2