没有合适的资源?快使用搜索试试~ 我知道了~
TCP状态迁移,CLOSE_WAIT & FIN_WAIT2 的问题解决
4星 · 超过85%的资源 需积分: 50 36 下载量 162 浏览量
2014-02-18
21:29:35
上传
评论
收藏 63KB DOCX 举报
温馨提示
试读
8页
对于服务器挂起中的CLOSE_WAIT & FIN_WAIT2 解决方案。
资源推荐
资源详情
资源评论
TCP 状态迁移,CLOSE_WAIT & FIN_WAIT2 的问题
TCP 状态迁移
大家对 命令很熟悉,但是,你有没有注意到 一栏呢,基本上显示着
等,这些到底是 什么意思呢,在这篇文章,我将会详细的阐
述。
大家很明白 初始化连接三次握手吧:发 包,然后返回 包,再发 包,
连接正式建立。但是这里有点出入,当请求者收到 包后,就开始建立连接了,而被
请求者第三次握手结束后才建立连接。但是大家明白关闭连接的工作原理吗?关闭连接要四次
握手:发 包,包, 包, 包,四次握手!!为什么呢,因为 连接是全双
工,我关了你的连接,并不等于你关了我的连接。
客户端 状态迁移:
!""#$!"%&"%'"(%
" !
服务器 状态迁移:
!"" 收到 "#$!" %"" !
当客户端开始连接时,服务器还处于 ),
客户端发一个 包后,他就处于 状态服务器就处于 收到状态
然后互相确认进入连接状态 #$!*
当客户端请求关闭连接时客户端发送一个 包后客户端就进入 %& 状态等待对方
的确认包
服务器发送一个 包给客户客户端收到 包后结束 %& 状态进入
%' 状态等待服务器发过来的关闭请求
服务器发一个 包后进入 % 状态
当客户端收到服务器的 包%' 状态就结束然后给服务器端的 包给以一个确
认包客户端这时进入 (%
当服务器收到确认包后 % 状态结束了
这时候服务器端真正的关闭了连接*但是客户端还在 (% 状态下
什么时候结束呢*我在这里再讲到一个新名词+'( 等待状态其实 (% 就是 '( 等待
状态
为什么要设置这个状态原因是有足够的时间让 包到达服务器端如果服务器端没收到
包,超时了,然后重新发一个 包,直到服务器收到 包*
(% 状态等待时间是在 重新启动后不连接任何请求的两倍*
大家有没有发现一个问题+如果对方在第三次握手的时候出问题如发 包的时候不知道什么
原因丢了这个包然而这边一直处在 %' 状 态而且 并没有设置这个状态的过
期时间那他一直会保留这个状态下去越来越多的 %' 状态会导致系统崩溃*
上面我碰到的这个问题主要因为 的结束流程未走完,造成连接未释放。现设客户端主动断
开连接,流程如下
资源评论
- karljack2017-07-31对原因诠释比较详细。
u011685884
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功