TCP idle timeout 和TCP Keepalive 比较和分析
TCP idle timeout 和TCP Keepalive 是两个独立的功能。
TCP idle timeout
TCP idle timeout 是系统TCP配置文件中的空闲超时设置指定连接在符合删除条件之前处于空闲状态的时间长度。如果在空闲会话超时内未检测到流量,则系统可以删除该会话,默认300秒。
TCP Keep Alive Interval
TCP配置文件中的保持活动间隔设置用于调整系统向远程主机发送TCP保持活动数据包以进行连接验证的频率。如果系统没有收到三个连续TCP Keep Alive数据包的响应,则连接达到TCP Keep Alive超时,系统将删除连接。TCP Keep Alives(不要与HTTP Keep Alive标头混淆)是请求注释(RFC)1122中定义的可选TCP实现。默认值为1800秒。
table 1
| Scenario脚本 | Behavior行为 |
| The Keep Alive Interval is greater than the Idle Timeout (default)保持活动间隔大于空闲超时(默认值) | When the Keep Alive Interval is greater than the Idle Timeout, the system never sends TCP Keep-Alive packets as the connections are removed when reaching the TCP Idle Timeout .当保持活动间隔大于空闲超时时,系统从不发送TCP保持活动数据包,因为当达到TCP空闲超时时,连接被删除。 |
| The Keep Alive Interval is less than or equal to the Idle Timeout保持活动间隔小于或等于空闲超时 | In this scenario, the system can send the TCP Keep-Alive packets before the connections reach the TCP Idle Timeout defined in the TCP profile. When the client responds to the TCP Keep-Alive packets, the system resets the TCP idle time.在这种情况下,系统可以在连接达到TCP配置文件中定义的TCP空闲超时之前发送TCP保持活动数据包。当客户端响应TCP Keep Alive数据包时,系统重置TCP空闲时间。 |
TCP idle timeout 是系统为了维护连接的保护措施,删除失效的连接。
TCP Keep Alive Interval 是系统为了维护连接的的联通性和检测可用性。这种情况在业务属于长连接时是非常有效的,类似防火墙负载均衡这个有状态的设备会定期清理连接,
TCP Keep Alive 可以维护连接,那么他的时间应该配置的比idle timeout 的时间较小才行,请查看table 1.
TCP idle timeout 和TCP Keepalive 比较和分析的更多相关文章
- 从linux源码看socket(tcp)的timeout
从linux源码看socket(tcp)的timeout 前言 网络编程中超时时间是一个重要但又容易被忽略的问题,对其的设置需要仔细斟酌.在经历了数次物理机宕机之后,笔者详细的考察了在网络编程(tcp ...
- TCP连接探测中的Keepalive和心跳包
TCP连接探测中的Keepalive和心跳包 tcp keepalive 心跳 保活 Linuxtcp心跳keepalive保活1. TCP保活的必要性 1) 很多防火墙等对于空闲socket自动关闭 ...
- TCP连接探测中的Keepalive 和心跳包
采用TCP连接的C/S模式软件,连接的双方在连接空闲状态时,如果任意一方意外崩溃.当机.网线断开或路由器故障,另一方无法得知TCP连接已经失效,除非继续在此连接上发送数据导致错误返回.很多时候,这不是 ...
- linux上TCP connection timeout的原因查找
linux上TCP connection timeout的原因查找 好久没有写文章了, 今天解决了一个网络连接超时的问题, 记录以备查看. 最近在线上nginx经常出现输出connection tim ...
- TCP/IP具体解释--TCP首部的TimeStamp时间戳选项
TCP应该是以太网协议族中被应用最为广泛的协议之中的一个,这里就聊一聊TCP协议中的TimeStamp选项.这个选项是由RFC 1323引入的,该C建议提交于1992年.到今天已经足足有20个年头.只 ...
- 为什么多 TCP 连接比单 TCP 连接传输快
转自: 我观察到,客户端机器从单一服务器使用 HTTP 下载一个文件:1. 单连接下载,速度没有达到客户端网络的最大带宽:2. 多连接同时下载,传输速度有极大的提高,带宽被占满. 假设如下前提:1. ...
- TCP协议(包括TCP的连接过程,数据分段,TCP有关服务器优化)
Transmission Control Protocol/Internet Protocol 传输控制协议/因特网互联协议 TCP/IP是一个Protocol Stack(协议栈),包括TCP.IP ...
- Http 和TCP的关系,TCP长连接和短连接有什么区别?
HTTP 协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用.由于HTTP在 ...
- Cloudservice程序设置Idle timeout
部署的云服务程序,默认的idle timeout是4分钟,意味着如果你通过一个workerrole发布了wcf服务,客户端第一次调用服务方法后,再过4分钟尝试去重新调用服务,会报错,具体测试如下: 1 ...
- Tcp抓包以及tcp状态解释
tcp三次握手 发送端发送一个SYN=1,ACK=0标志的数据包给接收端,请求进行连接,这是第一次握手:接收端收到请求并且允许连接的话,就会发送一个SYN=1,ACK=1标志的数据包给发送端,告诉它, ...
随机推荐
- redis+token实现一个账号只能一个人登录
自己在闲着没事的时候,突然想到了这么一个小功能,于是决定练习一下,首先想到的是如果一个账号只能一个人登录,可能会出现两个情况,一种是后登录者把前者的账号顶替掉,还有一种就是后者登录的时候会有提示当前账 ...
- vue3 生成二维码 qrcodejs2-fix
1.安装qrcodejs2-fix npm install qrcodejs2-fix 2.引入qrcodejs2-fix import QRCode from 'qrcodejs2-fix'; 3. ...
- vue项目的两种构建工具Vue CLI和Vite
Vue CLI官方项目搭建工具,使用的打包器是webpack,webpack使用的模块化规范是commonjs模块: Vite主要特点是开发环境启动迅速,因为是使用的ES模块,这是在现代浏览器开始原生 ...
- Windows MFC HTTP POST请求 函数流程
Windows MFC HTTP POST请求 函数流程 1 CString m_strHttpUrl(_T("http://10.200.80.86:8090/course/upload& ...
- FFmpeg 命令行
FFmpeg命令行帮助 #>ffmpeg -h #>ffmpeg -h long #>ffmpeg -h full 将视频按照指定的宽高输出 #>ffmpeg -i input ...
- 为知笔记快速隐藏左侧 快捷键 Esc
为知笔记快速隐藏左侧 快捷键 Esc
- [2007年NOIP普及组] Hanoi双塔问题
给定A.B.C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为n=3的情形).现要将 这些国盘移到C柱上,在移动过 ...
- 我的第一周C语言作业
这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2 这个作业要求在哪里 https://edu.cnblogs.com/campus/zs ...
- kafka例子
<dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifact ...
- ios MJRefresh 上拉死循环刷新问题+git 图片
网上各种办法都试了,只有这种解决方法解决了我的问题,记录一下 通过延迟 1s后,再来请求接口 - (void)viewDidLoad { [super viewDidLoad]; // Do any ...