TCP三次握手是什么?为什么要进行三次握手?两次,四次握手可以吗?

本文的主体博客解释

https://www.cnblogs.com/xiaofei1/p/10676699.html

本文的详体博客讲解

https://blog.csdn.net/u013344815/article/details/72134950

本文的三次握手的程序部分讲解。

https://network.51cto.com/art/201909/602931.htm

TCP和UDP的最全区别

https://www.cnblogs.com/williamjie/p/9390164.html

有关三次握手的三个问题:

1.如题,保证TCP发包顺序和三次握手有关吗?

保证传输顺序是因为发包的包头里面有每个包的顺序的标志,和几次握手没有关系。这个和窗口协议有关。

2.三次握手发生在connect()的时候,四次握手发生在什么时候,在执行那个函数时?还是确认接收完了自己执行的。

3.三次握手是发生在客户端执行connect()时候发生,整个TCP的传输过程中只有1次三次握手吗?还是执行多次?四次握手是执行多少次?

TCP怎么知道传输完了该断开了?


三次握手和四次挥手在一次TCP传输过程时个执行一次,三次握手执行1次在connect()的时候,四次握手是发生在传输完之后,知道传输完成时因为包中有完成的标志。

第一个sys包的包号决定了后面的包号要在这个基础上递增。

原文地址:https://www.cnblogs.com/littleswan/p/12510684.html