<<返回上一层>

tcp 三次握手,四次挥手

发布时间:2019-09-18    

三次握手:
在用 tcp 传输数据时,需要先建立连接,用三次握手建立传输数据的连接通道

其实是服务端端和客户端各自都在准备资源。

第一次握手:客户端向服务器发送连接请求包,标志位 SYN (同步序号)置为 seq = X;
第二次握手:服务器收到客户端发过来的报文,由 SYN = X 知道客户端要求建立联机,向客户端发送一个包含 SYN 和 ACK 的 TCP 报文,其中服务器向客户端发送连接请求包,标志位 SYN (同步序列)置为 Y=1;将确认序号(ACK)设置为客户的序列号加 1,即 X + 1
第三次握手:客户端收到服务器发来的包后检查确认序号(ACK)是否正确,即第一次发送的序号加1(X+1);若正确,服务器再次打算确认序号(ACK) = Y+1;服务器收到确认序号值 ACK=2 则连接成功,可以传送数据了。
四次挥手:
第一次挥手:客户端给服务器发送 TCP 包,用来关闭客户端到服务器的数据传送,将标志位 FIN 置为 X 和 ACK 置为 Y ;
第二次挥手:服务器收到 FIN 后,返回一个 ACK(标志位ACK=1)确认序号为收到的序号加1,即 X+1
第三次挥手:服务器关闭与客户端的连接,发送一个 FIN,标志位 FIN和 ACK 置为1,序号为 Y
第四次挥手:客户端收到服务器发送的 FIN 之后,发回 ACK 确认,确认序号为收到的序号加1,即Y+1,服务器手机 ACK 为 Y+1 后关闭
在第二次和第三次、第三次和第四次之间会有超时等待。

QQ截图20190918113939.png
QQ截图20190918114011.png
QQ截图20190918114031.png
QQ截图20190918114057.png