当前位置:网站首页>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自动发送一个数据为空的报文给对方,如果对方回应了这个报文,说明对方还在线,连接可以继续保持,如果对方没有报文返回,并且重试了多次之后则认为连接丢失,没有必要保持连接。
边栏推荐
- Translating scientific and technological papers, how to translate from Russian to Chinese
- 【PCBA solution】Electronic grip strength tester solution she'ji
- Regular expression of shell programming and text processor
- Using SylixOS virtual serial port, serial port free implementation system
- 黑猫带你学Makefile第11篇:当头文件a.h改变时,如何将所有依赖头文件a.h的.c文件都重新编译
- 华为路由器旁挂引流实验(使用流策略)
- 直播课堂系统08补-腾讯云对象存储和课程分类管理
- APP UI自动化测试常见面试题,或许有用呢~
- 服务——DHCP原理与配置
- 什么是Jmeter?Jmeter使用的原理步骤是什么?
猜你喜欢
unusual understanding
C # Hex file transfer skills necessary article 】 【 bin file code implementation
APP UI自动化测试常见面试题,或许有用呢~
Exploration and practice of the "zero trust" protection and data security governance system of the ransomware virus of Meichuang Technology
Conditional Statements of Shell Programming (2)
mmpose关键点(一):评价指标(PCK,OKS,mAP)
Service - DHCP principle and configuration
新一代网络安全防护体系的五个关键特征
How to translate financial annual report, why choose a professional translation company?
【PCBA方案设计】蓝牙跳绳方案
随机推荐
shell编程之免交互
LeetCode-402 - Remove K digits
ENVI感兴趣区ROI文件由XML格式转为ROI格式
带着昇腾去旅行:一日看尽金陵城里的AI胜景
win系统下pytorch深度学习环境安装
Black cat takes you to learn Makefile Part 12: Summary of common Makefile problems
Redis 性能影响 - 异步机制和响应延迟
[Maui official version] Create a cross-platform Maui program, as well as the implementation and demonstration of dependency injection and MVVM two-way binding
Translating scientific and technological papers, how to translate from Russian to Chinese
SDP
华为HCIE云计算之Fusion Access桌面云
新一代网络安全防护体系的五个关键特征
Shell 编程--Sed
国内Gravatar头像的完美替代方案Cravatar
【PCBA scheme design】Bluetooth skipping scheme
QT笔记——用VS + qt 生成dll 和 调用生成的dll
Application of Spatial 3D Model Reconstruction Based on Pix4Dmapper - Spatial Analysis and Site Selection
阿里云贾朝辉:云XR平台支持彼真科技呈现国风科幻虚拟演唱会
翻译科技论文,俄译中怎样效果好
GAN CFOP