Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

1. Why TCP uses a 3-way connection establishment process rather than simple conn

ID: 3587341 • Letter: 1

Question

1. Why TCP uses a 3-way connection establishment process rather than simple connection request and response (2-way protocols)?

2. Assume TCP congestion control based on Reno/Tahoe protocol. Initial ssthreshold = 32.

a. First segment loss occurs at the 7th transmission. Loss is indicated by timeout. What is the current congestion window (CWND) and ssthreshold before the 8th transmission starts?

b. After 3 more transmissions (8th, 9th and 10th) at the 10th transmission, segment loss happens. This time, loss is indicated by 3-DUPACKs. What is the current congestion window (CWND) and ssthreshold before the 11th transmission starts?

c. After this 2 more transmissions happen (11th and 12th) without any loss and the transmission process is completed. What will be the current congestion window (CWND) and ssthreshold value after the 12th transmission?

Show your steps through X-Y plot.

Explanation / Answer

TCP is a bi-directional communication protocol, which means either end ought to be able to send data reliably. Both parties need to establish an ISN, and both parties need to acknowledge the other's ISN.

Client ------SYN-----> Server
Client <-----ACK/SYN---- Server
Client ------ACK-----> Serve
r

In TCP, the two parties keep track of what they have sent by using a Sequence number (ISN). Effectively it ends up being a running byte count of everything that was sent. The receiving party can use the opposite speaker's sequence number to acknowledge what it has received.


But the sequence number doesn't start at 0. It starts at the ISN (Initial Sequence Number), which is a randomly chosen value. And since TCP is a bi-directional communication, both parties can "speak", and therefore both must randomly generate an ISN as their starting Sequence Number. Both parties need to notify the other party of their starting ISN.

Why not just a two-way handshake?

The answer is because a two way handshake would only allow one party to establish an ISN, and the other party to acknowledge it. Which means only one party can send data.