面试笔记(二):TCP/IP协议(tcp三次握手四次挥手,time_wait)

1.三次握手

https://blog.csdn.net/xingerr/article/details/72834303


2.四次挥手

https://blog.csdn.net/xingerr/article/details/72845941


3.time_wait(转自:http://blog.51cto.com/benpaozhe/1767612)


time_wait产生条件:主动关闭方在发送四次挥手的最后一个ACK会变为TIME_WAIT状态,保留次状态的时间为两个MSL(Max Segment Lifetime数据包在网络中最大生存时间;linux里一个MSL30s,是不可配置的)。

time_wait产生原因:为实现TCP全双工连接的可靠释放。如果没有time_wait,主动方发送的最后一个ACK若在传输途中丢失,被动方会对FIN开启TCP重传,如果有后续tcp连接,fin会对后续连接产生干扰。如果有time_wait,被动方对FIN开启TCP重传时,会发送多个FIN包,在这时尚未关闭的TIME_WAIT就会把这些尾巴问题处理掉,不至于对新连接及其它服务产生影响。

time_wait占用资源:少量内存(查资料大概4K)和一个fd。

time_wait危害:time_wait表示socket可以进入和留存相当长一段时间。如果系统中很多socket处于time_wait状态,创建新的socket会受到影响。

如何避免:增加本地端口的范围;缩短2MSL的时间。









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值