TCP三次握手四次挥手以及为什么三次握手
2020-08-22 22:42
357 查看
TCP三次握手
假设有两个主机A和B要传输数据
第一次握手:主机A向主机B发送含有序列号标志位的数据段SYN,向主机B请求简历连接,数据段包含了两个信息,一是请求建立连接,二是主机B的回复应以哪个序列号作为起始数据段;
第二次握手:主机B收到请求,回复一个带有确认应答ACK和同步序列号标志位SYN数据段,该数据段同样包含两个信息,一是已经收到请求可以开始传输数据,二是规定了起始数据段的序列号;
第三次握手:主机A向主机B发送一个确认应答,告知主机B已收到响应,开始发送正式的数据。
三次握手完成,开始传输数据
为什么不能是两次握手
假如是两次握手,在网络不稳定或其他意外情况下,虽然客户端发送的连接请求已经到达服务端,但是服务端的同意连接应答还未到达客户端,这时,客户端会重复发送连接请求,服务端收到后会认为这是新的连接请求,并开启新的进程提供服务,这就造成了资源的浪费。三次握手机制防止了已失效的连接再次传送,从而避免了这种资源的浪费。
四次挥手
传输数据完毕后,主机AB需要断开连接
第一次挥手:主机A将控制位FIN置1,并向主机B发出停止该方向上的连接的请求;
第二次挥手:主机B收到请求,并确认该方向上的连接关闭,ACK置1;
第三次挥手:主机B向主机A发出反方向连接断开的请求,并将FIN置1;
第四次挥手:主机A收到请求,确认关闭并将ACK置1;
经过四次挥手,两个方向上的连接都已关闭。
相关文章推荐
- TCP的三次握手和四次挥手,以及为什么要三次握手,而不是二次?
- TCP/UDP相关-三次握手四次挥手以及为什么三次握手-如何实现可靠UDP传输
- TCP三次握手和四次挥手过程以及连接为什么使用三次连接,释放使用四次
- TCP的三次握手和四次挥手,以及两次握手为什么不行?
- TCP的三次握手和四次挥手以及为什么
- TCP的三次握手/四次挥手以及状态变迁图
- TCP为什么要进行三次握手四次挥手
- TCP/IP之间的三次握手以及四次挥手
- 为什么TCP要三次握手和四次挥手?
- 为什么TCP是三次握手而不是两次握手,为什么是四次挥手
- 【转】TCP三次握手和四次挥手全过程及为什么要三次握手解答
- TCP为什么要三次握手?为什么要有四次挥手的TIME_WAIT?
- TCP的三次握手以及四次挥手
- TCP三次握手以及四次挥手图解
- TCP建立连接为什么需要三次握手和结束连接为什么需要四次挥手
- TCP的三次握手/四次挥手以及状态变迁图
- TCP 与 UDP 对比,以及 TCP 的三次握手与四次挥手
- TCP协议 ,UDP协议,TCP三次握手,TCP四次挥手,以及协议端口号简单介绍
- TCP为什么要三次握手 四次挥手
- TCP协议的三次握手和四次挥手以及断开时各阶段的状态分析