Error Control in TCP
Error Control in TCP
Error Control:
The goal of each of the control mechanisms is different. But the implementation is combined
A
ACK 0 ACK 1 ACK 0 t Packe 1 t Packe 0 t Packe t Packe 1
B
7
3 2
ACK2 packets received
1 2 3 2 3 4 2 3 4
In Go-back-N, if packets are correctly delivered, they are delivered in the correct sequence Therefore, the receiver does not need to keep track of `holes in the sequence of delivered packets
t Packe
t Packe
B
Packets 5 and 6 are discarded
10
ACK 3
AC K 6
Packe t4
t Packe 5
Packe t6
t Packe 6
11
1 2 3 2 3 4 2 3 4 5
Frames received
Receiver must keep track of `holes in the sequence of delivered packets Sender must maintain one timer per outstanding packet
3
ACK4
1 3 4
12
t4
t6
ACK 6
ACK 4
ACK 7
AC K 5
B
Packets 5 and 6 are buffered
13
ACK 2
ACK 3
ACK 0
ACK 1
ACK 1
14
15
RTT #1
The RTT is based on time difference between segment transmission and ACK But: TCP does not ACK each segment Each connection has only one timer
Segment 2 Segment 3
RTT #2 RTT #3
ACK for Segment 4 ACK for Segment 5
Segment 4
16
Karns Algorithm
If an ACK for a retransmitted segment is received, the sender cannot tell if the ACK belongs to the original or the retransmission.
segment
T im e o u t !
retransmission of segment
Karns Algorithm: Dont update srtt on any segments that have been retransmitted. Each time when TCP retransmits, it sets: RTOn+1 = max ( 2 RTOn, 64) (exponential backoff)
RTT ? RTT ?
ACK
18
Web client
Web server
Transfer file from Argon to neon Unplug Ethernet of Argon cable in the middle of file transfer
19
THANK YOU
21