Outline TCP connection setup/data transfer TCP reliability Lecture 18: TCP Details
11 Lecture 18: TCP Details Outline • TCP connection setup/data transfer • TCP reliability
Reliability Challenges Congestion related losses Variable packet delays What should the timeout be? Reordering of packets How to tell the difference between a delayed packet and a lost one? Lecture 18: TCP Details
12 Lecture 18: TCP Details Reliability Challenges • Congestion related losses • Variable packet delays • What should the timeout be? • Reordering of packets • How to tell the difference between a delayed packet and a lost one?
TCP Go-Back-N Variant Sliding window with cumulative acks Receiver can only return a single"ack"sequence number to the sender Acknowledges all bytes with a lower sequence number Starting point for retransmission Duplicate acks sent when out-of-order packet received But: sender only retransmits a single packet Reason??? Only one that it knows is lost Network is congested shouldnt overload Error control is based on byte sequences, not packets Retransmitted packet can be different from the original lost packet Why Lecture 18: TCP Details
13 Lecture 18: TCP Details TCP = Go-Back-N Variant • Sliding window with cumulative acks • Receiver can only return a single “ack” sequence number to the sender. • Acknowledges all bytes with a lower sequence number • Starting point for retransmission • Duplicate acks sent when out-of-order packet received • But: sender only retransmits a single packet. • Reason??? • Only one that it knows is lost • Network is congested → shouldn’t overload it • Error control is based on byte sequences, not packets. • Retransmitted packet can be different from the original lost packet – Why?