当前位置:网站首页>TCP连接过程中如果拔掉网线会发生什么?
TCP连接过程中如果拔掉网线会发生什么?
2022-08-10 21:48:00 【TABE_】
TCP连接过程中如果拔掉网线会发生什么?
针对这个问题,要分场景来讨论:
- 拔掉网线后,有数据传输;
- 拔掉网线后,没有数据传输;
拔掉网线后,有数据传输
在客户端拔掉网线后,服务端向客户端发送的数据报文会得不到任何的响应,在等待一定时长后,服务端就会触发超时重传机制,重传未得到响应的数据报文。
如果在服务端重传报文的过程中,客户端刚好把网线插回去了。由于拔掉网线并不会改变客户端的 TCP 连接状态,并且还是处于 ESTABLISHED 状态,所以这时客户端是可以正常接收服务端发来的数据报文的,然后客户端就会回 ACK 响应报文。此时,客户端和服务端的 TCP 连接依然存在的,就感觉什么事情都没有发生。
但如果如果在服务端重传报文的过程中,客户端一直没有将网线插回去。服务端超时重传报文的次数达到一定阈值后,内核就会判定出该 TCP 有问题,然后通过 Socket 接口告诉应用程序该 TCP 连接出问题了,于是服务端的 TCP 连接就会断开。等客户端插回网线后,如果客户端向服务端发送了数据,由于服务端已经没有与客户端相同四元祖的 TCP 连接了,因此服务端内核就会回复 RST 报文,客户端收到后就会释放该 TCP 连接。此时,客户端和服务端的 TCP 连接都已经断开了。
拔掉网线后,没有数据传输
- 如果双方都没有开启 TCP keepalive 机制,那么在客户端拔掉网线后,如果客户端一直不插回网线,那么客户端和服务端的 TCP 连接状态将会一直保持存在。
- 如果双方都开启了 TCP keepalive 机制,那么在客户端拔掉网线后,如果客户端一直不插回网线,TCP keepalive 机制会探测到对方的 TCP 连接没有存活,于是就会断开 TCP 连接。而如果在 TCP 探测期间,客户端插回了网线,那么双方原本的TCP 连接还是能正常存在。
KeepAlive机制:当连接超过一段时间没有数据传输之后,TCP自动发送一个数据为空的报文给对方,如果对方回应了这个报文,说明对方还在线,连接可以继续保持,如果对方没有报文返回,并且重试了多次之后则认为连接丢失,没有必要保持连接。
边栏推荐
猜你喜欢
QT笔记——QT工具uic,rcc,moc,qmake的使用和介绍
一篇文章教你Pytest快速入门和基础讲解,一定要看
camera preview process --- from HAL to OEM
shell (text printing tool awk)
服务——DNS正向反向域名解析服务
win系统下pytorch深度学习环境安装
直播课堂系统09--腾讯云点播管理模块(一)
Black cats take you learn Makefile article 13: a Makefile collection compile problem
高数_复习_第5章:多元函数微分学
什么是Jmeter?Jmeter使用的原理步骤是什么?
随机推荐
阿里巴巴、蚂蚁集团推出分布式数据库 OceanBase 4.0,单机部署性能超 MySQL
华为HCIE云计算之Fusion Access桌面云
VLAN huawei 三种模式
Likou 215 questions, the Kth largest element in an array
Self-organization is a two-way journey between managers and members
基于Pix4Dmapper的空间三维模型重建应用——空间分析选址
美创科技勒索病毒“零信任”防护和数据安全治理体系的探索实践
Service - DHCP principle and configuration
Why general company will say "go back messages such as" after the end of the interview, rather than just tell the interviewer the result?
黑猫带你学Makefile第11篇:当头文件a.h改变时,如何将所有依赖头文件a.h的.c文件都重新编译
Exploration and practice of the "zero trust" protection and data security governance system of the ransomware virus of Meichuang Technology
ArcMap创建镶嵌数据集、导入栅格图像并修改像元数值显示范围
Shell编程之条件语句(二)
shell编程之免交互
HighTec快捷键(Keys)设置位置
FPGA - Memory Resources of 7 Series FPGA Internal Structure -03- Built-in Error Correction Function
阿里云架构师金云龙:基于云XR平台的视觉计算应用部署
华为路由器旁挂引流实验(使用流策略)
自组织是管理者和成员的双向奔赴
H3C S5130 IRF做堆叠