当前位置:网站首页>问题来了!拔掉网线几秒,再插回去,原本的 TCP 连接还存在吗?
问题来了!拔掉网线几秒,再插回去,原本的 TCP 连接还存在吗?
2022-07-16 14:27:00 【InfoQ】

- 拔掉网线后,有数据传输;
- 拔掉网线后,没有数据传输;
拔掉网线后,有数据传输


拔掉网线后,没有数据传输
- 如果对端是正常工作的。当 TCP 保活的探测报文发送给对端, 对端会正常响应,这样 TCP 保活时间会被重置,等待下一个 TCP 保活时间的到来。
- 如果对端主机崩溃,或对端由于其他原因导致报文不可达。当 TCP 保活的探测报文发送给对端后,石沉大海,没有响应,连续几次,达到保活探测次数后,TCP 会报告该 TCP 连接已经死亡。
net.ipv4.tcp_keepalive_time=7200
net.ipv4.tcp_keepalive_intvl=75
net.ipv4.tcp_keepalive_probes=9
- tcp_keepalive_time=7200:表示保活时间是 7200 秒(2小时),也就 2 小时内如果没有任何连接相关的活动,则会启动保活机制
- tcp_keepalive_intvl=75:表示每次检测间隔 75 秒;
- tcp_keepalive_probes=9:表示检测 9 次无响应,认为对方是不可达的,从而中断本次的连接。


总结
- 在客户端拔掉网线后,如果服务端发送了数据报文,那么在服务端重传次数没有达到最大值之前,客户端就插回了网线,那么双方原本的 TCP 连接还是能正常存在,就好像什么事情都没有发生。
- 在客户端拔掉网线后,如果服务端发送了数据报文,在客户端插回网线之前,服务端重传次数达到了最大值时,服务端就会断开 TCP 连接。等到客户端插回网线后,向服务端发送了数据,因为服务端已经断开了与客户端相同四元组的 TCP 连接,所以就会回 RST 报文,客户端收到后就会断开 TCP 连接。至此, 双方的 TCP 连接都断开了。
- 如果双方都没有开启 TCP keepalive 机制,那么在客户端拔掉网线后,如果客户端一直不插回网线,那么客户端和服务端的 TCP 连接状态将会一直保持存在。
- 如果双方都开启了 TCP keepalive 机制,那么在客户端拔掉网线后,如果客户端一直不插回网线,TCP keepalive 机制会探测到对方的 TCP 连接没有存活,于是就会断开 TCP 连接。而如果在 TCP 探测期间,客户端插回了网线,那么双方原本的 TCP 连接还是能正常存在。
边栏推荐
- 2022 latest Tianjin Construction Safety Officer simulation question bank and answers
- 自己第一次正畸情况(持续更新中)
- STM32 - timer interrupt experiment
- 华为设备射频资源管理命令
- nn.BCEWithLogisticLoss() & nn.BCELoss()的区别 ,nn.CrossEntropyLoss() & nn.NLLLoss()的区别
- pycuda 安装完毕,验证步骤
- 腾讯四面面经,问傻了
- 业务类库中的老门店类封装和调用
- [dynamic programming]dp20 calculation string editing distance - medium
- scrapy-redis分布式爬虫部署
猜你喜欢
随机推荐
让我们自定义反射系统
STL string
《遥远的救世主》遵守客观规律(七)——文化属性
两栈实现队列和两队列实现栈(js)
【Ucos-III源码分析】——软件定时器
剑指 Offer 52. 两个链表的第一个公共节点
P1789 [MC survival] torch [introduction]
canvas绘制的线条位置错乱
js二分查找伪代码
Halcon and C # detect surface defects - ROI interaction (II) (functions such as synchronous scaling and clipping with pictures)
C # basic practice of network application programming and asynchronous programming
图扑软件构建源网荷储用体系 打造循环经济2.0版本
MyQL数据库突然不见了,该如何进行恢复?
【毕业设计】基于情感分析的网络舆情热点分析系统
三面头条+四面阿里+五面腾讯拿offer分享面经总结,最终入职阿里
[graduation project] network public opinion hotspot analysis system based on Emotional Analysis
鸿湖万联致远开发板正式合入OpenHarmony主干
golang中的读写锁原理
华为设备配置射频调优
[product people Wei Peng] 13 design websites necessary for product people in 2022 (version 1.0)









