栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

TCP的三次握手与四次断开

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

TCP的三次握手与四次断开


三次握手是为了确认连接状态是客户端与服务端进入ESTABLISHED(连接)状态
第一次握手:客户端会发一个SYN报文,指明客户端的初始化序列号ISN,同时客户端进入  SYN_SEND (接收)状态
第二次握手:服务端收到SYN报文后,会向客户端发送一个SYN报文作为应答,指明自己的初始化序列号ISN,表示自己收到客户端发送的报文,同时自己进入SYN_REVD(接受)状态
第三次握手:客户端在接收到SYN报文的后,会发送一个ACK报文,表示已经收到服务端的SYN报文,此时客户端已进入ESTABLISHED (链接)状态,服务端收到ACK报文后,服务端也进入ESTABLISHED (连接)状态


四次挥手是为了确认关闭在服务端关闭后,客户端再关闭
第一次挥手:客户端发送一个FIN报文,客户端进入FIN_WAIT1(终止等待1)状态,等待服务端确认
第二次挥手:服务端收到FIN报文后,服务端进入CLOSE_WAIT(关闭等待)状态,TCP进入版关闭状态,客户端收到服务端的确认后,进入FIN_WAIT2(终止等待2)状态
第三次挥手:如果服务端此时也想断开,则发送一个FIN报文,此时服务端处于LAST_ACK (最后确认)状态,等待客户端回复
第四次挥手:客户端收到FIN报文后,会发送一个ACK报文作为应答,此时客户端进入 TIME_WAIT 状态,确保服务端收到自己的ACK报文后,进入CLOSED 状态,服务端收到ACK报文后就断开连接,处于 CLOSED 状态
       只收到一个FIN只意味着在这一方向上没有数据流动。客户端执行主动关闭并进入TIME_WAIT是正常的,服务端通常执行被动关闭,不会进入TIME_WAIT状态。

 总结: 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/630701.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号