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包的包号决定了后面的包号要在这个基础上递增。