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标志的数据包给发送端,告诉它, ...
随机推荐
- vw与百分比%的区别
单位, vw:只和设备宽度有关系 %:有继承关系
- 【性能监控】nmon和pyNmonAnalyzer的搭建和使用
1,安装nmon 二进制安装:暂时空着,没有FQ,访问不了nmon的官网. 下载对应操作系统的文件,直接运行: 下载地址:https://pan.baidu.com/s/1gTBh10-ark5gbe ...
- pyhon_元组(tuple)
定义: 元组中可以存储不一样类型的数据,使用小括号存储数据,中间用逗号进行分割. 元组中的数据定义好后,无法进行修改,有保护数据的目的. 格式化字符串定义多个值的时候,本质上也是元组. 测试: inf ...
- pytorch学习笔记(9)--损失函数
1.损失函数的作用: (1)计算实际输出和目标输出之间的差距: (2)为我们更新输出提供一定的依据(也就是反向传播) 官网链接:https://pytorch.org/docs/1.8.1/nn.ht ...
- linux 安装 sysbench 和 使用
安装 执行 下载命令 curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | su ...
- HCIP-ICT实战进阶03-OSPF高级特性
HCIP-ICT实战进阶03-OSPF高级特性 1 ospf的快速收敛 ospf快速收敛是为了提高路由的手来你熟读而做的扩展特性, 包括PRC(Partial Route Calculation, 部 ...
- <四>JMeter数据库连接/后置处理器/断言简介
一.数据库连接 1.右键线程组添加--配置元件--JDB Cconnection Configuration 2.配置如下: URL为数据路连接地址,用户名密码为数据库用户名和密码 3.添加一个JDB ...
- centos7的mysql主从
互为主从关闭两台虚拟机的防火墙1.yum -y install mariadb-server mariadb2.Systemctl start mariadb3.进入配置文件:vi /etc/my.c ...
- 使用php为本地html文件生成url
1. 查看你是不是有php which php 2. 假设你的Demo.html 路径为 /Users/Sheron/Downloads/Demo.html cd /Users/Sheron/Dow ...
- std::unique_ptr release的使用
在c++中,动态内存管理是通过new/delete 运算符来进行的.由于确保在正确的时间释放内存是很困难的,为了避免内存泄漏,更加容易,安全地使用动态内存,C++11标准库提供了两种智能指针类型来管理 ...