【网络协议】TCP连接断连问题
一个TCP连接在完成三次握手之后便建立完毕;此后,连接的两端即可进行信息的相互传递。TCP连接一旦建立,只要通信双方的中间节点(网卡、交换机、路由器等网络设备)工作正常,那么在通信双方中的任意一方主动关闭连接之前,TCP连接都将被一直保持下去。
TCP连接的这种特性,使得一个长期不交换任何信息的空闲连接可以长期保持数小时、数天、甚至数月。中间路由器可以崩溃、重启,网线可以被拔掉再接通,只要两端的主机没有重启,TCP连接就可以一直保持下来。
对于一个TCP连接两端的主机来说,创建TCP连接需要耗费一定的系统资源。如果不再使用某个连接,我们总是希望进行通信的两个主机能够主动关闭相应的连接,以便释放所占用的系统资源。然而,如果由于客户端出现异常(例如崩溃或者异常重启)而导致连接未能正常关闭,这将导致服务器端的连接断连。
探测TCP连接是否正常工作的原理比较简单:定期向连接的远程通信节点发送一定格式的信息并等待远程通信节点的反馈,如果在规定的时间内收到远程节点正确的反馈信息,那么该连接就是正常的,否则该连接已经断连。目前常用的探测方法有以下三种:
- 最常用的探测方法就是利用TCP协议层提供的保活探测功能即TCP连接保活定时器。
- 在服务器节点上安装第三方应用程序来探测该节点上所有的TCP连接是否正常或者已经断连。
- 应用程序本身附带其自身建立的TCP连接的功能。
参考:https://blog.csdn.net/liangyuannao/article/details/8133146
【网络协议】TCP连接断连问题相关推荐
- TCP 连接断连问题剖析
在官方的正式文档中,TCP/IP 协议簇也称为国际互联网协议簇.TCP/IP 协议簇是目前使用最为广泛的全球互联网技术,其分层结构如图 1 所示: 图 1. TCP/IP 协议簇分层结构 如图 1 ...
- 网络协议-TCP和UDP最完整的区别介绍
网络协议-TCP和UDP最完整的区别介绍 前言:为了方便后期翻看,公众号在慢慢整理所发文章,关于Java网络编程内容的文章,可以在菜单栏-文章整理-进阶篇模块中查看. TCP与UDP基本区别 1. ...
- 网络协议 TCP 数字编号和重传机制
网络协议 TCP 数字编号和重发 1. TCP 的数字编号 2. TCP 确认机制的特点 2.1 TCP一次可发送多个数据包 2.2 仅对连续接收的数据段进行确认 2.3 不连续的数据将先缓存 3. ...
- 网络原理 | 传输层重点协议之TCP协议(TCP连接的三次握手与四次挥手、TCP的安全机制与效率机制)
目录 TCP协议 安全机制 确认应答机制 超时重传机制 连接管理机制 三次握手 四次挥手 流量控制机制 编辑拥塞控制机制 效率机制 滑动窗口机制 延迟应答机制 捎带应答机制 TCP协议 · 传输层的 ...
- 网络协议-TCP协议详解
本文转载自:https://www.pdai.tech/md/develop/protocol/dev-protocol-tcpip.html 重点:TCP滑动窗口,TCP握手,TCP重传机制. 简述 ...
- TCP协议-TCP连接管理
一.TCP概述 TCP协议是 TCP/IP 协议族中一个非常重要的协议.它是一种面向连接.提供可靠服务.面向字节流的传输层通信协议. TCP(Transmission Control Protocol ...
- 网络协议-TCP、IP协议和互联网协议群
目录 TCP/IP协议群简介(互联网协议群)(Internet Protocol Suite) 应用层(Application)(合并简化了展示层,会话层) 传输层(Transport) 网络层(In ...
- linux网络编程-----TCP连接及相关问题
c/s模型在建立连接时的流程如下 //服务器端 int sockfd = socket(AF_INET, SOCK_STREAM, 0);struct sockaddr_in servaddr; bz ...
- 网络分层,网络协议TCP/IP模型,OSI模型
TCP\IP模型是多种协议的综合,4层模型(也有说5层的). 其中最重要的就是分层结构和主要协议. 1.应用层(SMTP,HTTP,FTP) 2.传输层(TCP,UDP) 3.网络互联层(IPv4,I ...
最新文章
- 如何挑选靠谱的Java培训机构
- Oracle 10GR2+ASM在OEL上的安装(VMware Server 1.0)
- boost::mismatch相关的测试程序
- 通向架构师的道路(第十七天)IBM Websphere集群探秘-WASND
- yolov3-tiny神经网络FPGA(ZYNQ7020)实现
- SQLServer 维护脚本分享(08)临时数据库(tempdb)
- android执行main函数,AndroidStudio执行main方法报错
- Sqli-labs less 29
- prism v2之旅(7)
- python后端程序例子_Python MR程序示例
- 安卓手机作为中继器-连接Wifi共享该Wifi给PC和手机
- ecplise和lomboz和tomcat配置
- android webview 慢,Android Webview的性能问题
- java堆和栈 常量池_Java中栈、堆和常量池
- premiere pro 2020 pr 快捷键
- 成一单亏一单,医疗电商的苦涩现状
- 熵增定律与人际关系-整理
- 历年考研计算机专业国家线,历年工学考研国家线一览_考研国家线公布时间
- 服务器紧急维修,Hypixel服务器紧急维护
- 线段树 (更新区间查询点)秋实大哥与小朋友
热门文章
- 这所院校23年分数线暴涨45分,临时扩招69人!!
- HTML radio 实现性别的单选按钮用法
- 前端3D技术起源与发展
- django authentication_classes自定义权限验证类 authenticate
- 前端学习笔记之——组织内容
- Seate 1.4.2运行seata-server.bat数据库连接失败解决方案
- 1+X 云计算运维与开发(中级)案例实战——使用 Mycat 构建读写分离的数据库集群
- 电子白板使用寿命一般是多长?
- PaddleOCR文字识别C#部署-1
- UBIFS文件系统分析六之wear-leveling