TCP/IP学习笔记11-如何理解tcp层面的keepalive

背景

TCP/IP协议是当前网络时代的基础,所有的网络产品,或者是开发语言、开发框架都是基于tcp/ip协议的,所以说,学好tcp/ip对个人以后从事互联网行业会有巨大的帮助。

但是这是一个基础理论课程,就像操作系统这门课一样,学完之后可能不会对你产生太大的影响,不会让你立马拥有能够投入工作中的技能。但正是因为这是一个基础理论课,所有的互联网技术都是基于它的。所以如果你了解tcp/ip协议,将会对你未来发展或者在工作中排查问题产生积极的作用。

tcp层面的KeepAlive

tcp层面的keepalivehttp层面的keepalive不太一样。

试想这样一个场景,连接的一方因为网络故障或者宕机,导致连接失败。由于tcp并不是一个轮训的协议,在下一个数据包到达之前,对方对连接失效的情况一无所知。

这个时候就出现了keepalive,它的作用就是探测对端的连接有么有失效

对应的内核参数如下:

//每隔 7200s 探测一次
net.ipv4.tcp_keepalive_time=7200

//一次最多重传9个包
net.ipv4.tcp_keepalive_probes=9

//每个包重传间隔75s
net.ipv4.tcp_keepalive_intvl=75

不过现状是大部分的应用并没有开发tcpkeepalive,为什么呢?
站在应用的角度来看:

  • 7200s也就是2h检测一次,时间太长
  • 时间再短一些, 也难以体现其设计的初衷:检测长时间的无效连接

所以个人感觉这个功能有点鸡肋,哈哈哈!!

总结

这是tcp/ip系列的第十一篇,主要探讨了下tcp层面的keepalive功能。关于http的相关知识,后面也会专门斜斜文章来讲解。

这是关于tcp/ip的最后一篇,把之前的学习笔记整理完了。但是我知道,这几篇文章肯定没有把tcp/ip的所有功能讲完。后面接着再写。先告一段落。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值