In the process of TCP 3-Way Handshake, we can see this diagram often.
We can notice that, client socket state change to [established]
after received the 2nd package.
What happens if the 3rd package (client ACK) is missing?
in client:
int client_fd=connect(a,b);
Does connect()
return after receive the 2nd package?
What if the 2nd package is missing? Does it keep SYN-SENT
?
And why does the server need to receive the 3rd package then change state to [established]
? Why not change state to [established]
after receiving the 1st package?
I program for a few years now, but I can not understand this.
sto_user_asd is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
1