首页 > 其他 > 详细

TCP面试题之四次挥手过程

时间:2019-03-04 22:05:22      阅读:157      评论:0      收藏:0      [点我收藏+]

 

TCP四次挥手过程:

  1、第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态;

  2、第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态;

  3、第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态;

  4、第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到的序号+1,Server进入CLOSED状态,完成四次挥手;

 

技术分享图片

为什么会有TIME_WAIT状态:

  1、确保有足够的时间让对方收到ACK包,一来一去就是2MSL;

  2、避免新旧连接混,即不会跟后面的新连接混淆;

服务器出现大量CLOSE_WAIT状态的原因:

原因:没有及时关闭连接

解决方案:

  1、检查代码,特别是释放资源的代码;

  2、检查配置,特别是处理请求的线程配置;

 

TCP面试题之四次挥手过程

原文:https://www.cnblogs.com/hujinshui/p/10473364.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!