














Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An in-depth look into the tcp reliable data transfer process, focusing on tcp sender events and retransmission scenarios. It covers the creation and transmission of segments, handling of acknowledgements, and the use of timers for retransmission. The document also explains the concept of sendbase and its role in tracking acknowledged data.
Typology: Slides
1 / 22
This page cannot be seen from the preview
Don't miss anything!















Transport Layer 3-
TCP RELIABLE DATA TRANSFER
timeout events duplicate acks
ignore duplicate acks ignore flow control, congestion control
Transport Layer 3-
TCP SENDER EVENTS:
Three major events in TCP
Data rcvd from app:
Timeout:
Ack rcvd:
Transport Layer 3-
TCP: RETRANSMISSION SCENARIOS
Host A
time
premature timeout
Host B
Seq=92 timeout
Host A
loss
timeout
lost ACK scenario
Host B
X
time
SendBase^ Seq=92 timeout = 100
SendBase = 120
SendBase = 120
Sendbase = 100
Transport Layer 3-
TCP RETRANSMISSION SCENARIOS (MORE)
Host A
loss
timeout
Cumulative ACK scenario
Host B
X
time
SendBase = 120
DOUBLING THE TIMEOUT INTERVAL (RETRANSMISSION TIMOUT RTO)
Transport Layer 3-
FAST RETRANSMIT 1/
»Time-out period often relatively long:
»Detect lost segments via duplicate ACKs.
»If sender receives 3 ACKs for the same data, it supposes that
segment after ACKed data was lost:
Transport Layer 3-
CHAPTER 3 OUTLINE
»3.1 Transport-layer services
»3.2 Multiplexing and
demultiplexing
»3.3 Connectionless
transport: UDP
»3.4 Principles of reliable
data transfer
»3.5 Connection-oriented transport: TCP
»3.6 Principles of congestion control
»3.7 TCP congestion control
SLIDING WINDOW DIAGRAM (EXAMPLE FOR TCP FLOW)
Transport Layer 3-
TCP FLOW CONTROL
»receive side of TCP connection has a receive buffer:
»speed-matching service: matching the send rate to the receiving app’s drain rate
app process may be slow
at reading from buffer
flow control
Transport Layer 3-
TCP FLOW CONTROL: HOW IT WORKS
(Suppose TCP receiver discards
out-of-order segments)
»spare room in buffer
»Rcvr advertises spare room by including value of RcvWindow in segments
»Sender limits unACKed data to RcvWindow
Transport Layer 3-
TCP CONNECTION MANAGEMENT
Recall: TCP sender, receiver
Socket clientSocket = new Socket("hostname","port
number");
Socket connectionSocket = welcomeSocket.accept();
Three way handshake:
Transport Layer 3-
TCP CONNECTION MANAGEMENT (CONT.)
Closing a connection:
Step 1: client end system sends
Step 2: server receives FIN,
client (^) server
close
close
closed
timed wait