Professional Documents
Culture Documents
Transport
Layer
A note on the use of these PowerPoint slides:
We’re making these slides freely available to all (faculty, students,
readers). They’re in PowerPoint form so you see the animations; and
can add, modify, and delete slides (including this one) and slide content
to suit your needs. They obviously represent a lot of work on our part.
In return for use, we only ask the following:
If you use these slides (e.g., in a class) that you mention their source (after all,
we’d like people to use our book!)
If you post any slides on a www site, that you note that they are adapted from
(or perhaps identical to) our slides, and note our copyright of this material.
For a revision history, see the slide note for this page. Computer Networking: A
Thanks and enjoy! JFK/KWR Top-Down Approach
8th edition
All material copyright 1996-2020
J.F Kurose and K.W. Ross, All Rights Reserved Jim Kurose, Keith Ross
Pearson, 2020
*With some modifications by Dr. Abdullah bin Ali, Taibah University, Saudi Arabia
Transport Layer: 3-1
Ch3: Transport layer: roadmap
Transport-layer services
Multiplexing and demultiplexing
Connectionless transport: UDP
Principles of reliable data transfer
Connection-oriented transport: TCP
Principles of congestion control
TCP congestion control
log
ica
different hosts
le
transport protocols actions in end
nd
-e
systems:
nd
local or
tra
• sender: breaks application messages regional ISP
n sp
into segments, passes to network layer
ort
home network content
• receiver: reassembles segments into provider
network
messages, passes to application layer application
transport
datacenter
network
network
two transport protocols available to data link
physical
Sender:
application is passed an application- app. msg
application
layer message
transport
determines segment TTh htransport
app. msg
header fields values
network (IP)
creates segment network (IP)
link
passes segment to IP link
physical physical
link
passes segment to IP link
physical physical
Receiver:
application receives segment from IP application
checks header values
app. msg
transport extracts application-layer transport
message
network (IP) demultiplexes message up network (IP)
physical physical
Th app. msg
Receiver:
application receives segment from IP application
checks header values
app. msg
transport extracts application-layer transport
message
network (IP) demultiplexes message up network (IP)
physical physical
Th app. msg
log
• congestion control
ica
• flow control
nd le
• in-order delivery
-end
UDP: User Datagram Protocol local or
tra
regional ISP
• Connectionless oriented (= no connection setup)
n sp
• unreliable,
ort
home network content
• unordered delivery: provider
network
• no congestion control application
transport
datacenter
network
application
data to/from
UDP segment format application layer
transport
network
unreliable channel
sending receiving
process process
application data data
transport
sender-side of receiver-side
Complexity of reliable data reliable data
transfer protocol
of reliable data
transfer protocol
transfer protocol will depend
(strongly) on characteristics of transport
network
unreliable channel (lose, unreliable channel
corrupt, reorder data?)
reliable service implementation
sending receiving
process process
application data data
transport
Sender, receiver do not know the
“state” of each other, e.g., was a sender-side of receiver-side
reliable data of reliable data
message received? transfer protocol transfer protocol
unless communicated via a message
e.g.: receiver sends transport
network
“Acknowledgment (ACK)” unreliable channel
Example:
Calculate Utilization of sender if: t=.008 ms, RTT= 30 ms.
U L/R .008
sender = = = 0.00027 = 27/100,000. (Very bad utilization)
RTT + L / R 30.008
options (variable
C, E: congestion notification length)
TCP options
application data sent by an
RST, SYN, FIN: connection data application layer
management (variable length) protocol into TCP socket
350
RTT (milliseconds)
RTT (milliseconds) 250
200
150
sampleRTT
EstimatedRTT
100
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
SendBase=92
Seq=92*, rwnd= 8 bytes of data Seq=92, 8 bytes of data
timeout
ACK=100
X
ACK=100
ACK=120, rwnd=10 B
=100
timeout
ACK
CK =100
A
=100
Receipt of three duplicate ACKs ACK
from sender
TCP
code
receive window
flow control: # bytes
receiver willing to accept IP
code
from sender
application application
network network
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
RTT
• initially cwnd = 1 MSS two segm
ents
• double cwnd every RTT
• done by incrementing cwnd
for every ACK received four segm
ents