网络通信的传输握手次数,基本都在三次以上,三次或四次是最常见的次数,为什么这么设计呢?原因在于握手次数对传输的保障,我们来看一下。
一、三次握手
1、直播软件APP的TCP服务器进程先创建传输控制块TCB,时刻准备接受客户进程的连接请求,此时服务器就进入了监听状态
2、TCP客户进程也是先创建传输控制块TCB,然后向服务器发出连接请求报文,这是报文首部中的同部位,同时选择一个初始序列号,此时,TCP客户端进程进入了同步已发送状态,TCP规定,SYN报文段不能携带数据,但需要消耗掉一个序号
3、直播软件APP的TCP服务器收到请求报文后,如果同意连接则发出确认报文,同时也要为自己初始化一个序列号,此时TCP服务器进程进入了同步收到状态,这个报文也不能携带数据,但是同样要消耗一个序号
4、TCP客户进程收到确认后,还要向服务器给出确认,此时TCP连接建立,客户端进入已建立连接状态,TCP规定,ACK报文段可以携带数据,如果不携带数据则不消耗序号
5、当服务器收到客户端的确认后,也进入已建立连接状态,此后双方就可以开始通信了
二、四次握手
1、客户端进程发出连接释放报文,并且停止发送数据,释放数据报文首部,此时直播软件APP进入终止等待状态
2、服务器收到连接释放报文,发出确认报文,此时服务端进入关闭等待状态,TCP服务器通过高层的应用进程,客户端向服务器的方向进行释放,这时候处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然接受
3、客户端收到服务器的确认请求后,客户端进入终止等待状态,等待直播软件APP服务发送连接释放报文
4、服务器将最后的数据发送完毕后,就像客户端发送连接释放报文
5、客户端收到服务器的连接释放报文后,必须发出确认,直播软件APP客户端进入到时间等待状态,必须经过长报文段寿命后,客户端才会撤销相应的TCB
6、服务器只要受到了直播软件APP客户端发出的确认,立即进入状态,在撤销TCB后,就结束了这次TCP连接
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任
领取专属 10元无门槛券
私享最新 技术干货