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标志的数据包给发送端,告诉它, ...
随机推荐
- mac怎么设置开机自启动项,mac选择开机启动项
转自 https://www.zhangshilong.cn/work/386853.html Login Items Mac OSX的当前用户成功登录后启动的程序,该类别的启动项配置文件存放在~/L ...
- 解决GitHub网页githubusercontent地址无法访问问题
问题 解决GitHub网页githubusercontent地址无法访问问题 解决方法: 参考链接:https://zhuanlan.zhihu.com/p/107691233 注意 安装有火绒的,可 ...
- xlwings.copy两种用法和匹配超链接
第一种复制整个sheet页,不能覆盖同名sheet,需先删除.name新sheet也名称 after复制后的位置wb.sheets('增量机会-体外刷新导入').copy(name='快照版本(勿动) ...
- 【C学习笔记】day2-3 求10 个整数中最大值
#include <stdio.h>#define n 10 int main() { int max=0; int a[n] = {12,15,16,546,165,654,612,23 ...
- C++实现单链表相关操作
#include<iostream>#include<cstdlib>//C++动态分配存储空间using namespace std;#define OK 1#define ...
- 暑假学习6 hdfs shell命令
命令行操作:cli Hadoop的命令shell : Hadoop fs -ls file: 操作 本地的文件系统 hadoop fs -ls hdfs://nod ...
- iOS用runtime给一个类动态添加方法 ---class_addMethod
先介绍下class_addMethod这个fangfa /** * Adds a new method to a class with a given name and implementat ...
- RStudio中有常用的快捷键
1.常用快捷键 转自:https://blog.csdn.net/swuteresa/article/details/8649067 2.RStudio中如何撤销上一步操作: 一般运行过的程序都会在H ...
- Debug --> 攻击方式
1.CSRF攻击概述: CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一. CSRF攻击原 ...
- 20201003--统计数字字符个数(奥赛一本通 P98 1--字符类型和字符数组)
输入一行字符,统计出其中数字字符的个数 输入:一行字符串,总长度不超过255 输出:一行,输出字符串里面数字字符的个数. 样例输入:Peking University is set up at 189 ...