2016 - 2024

感恩一路有你

keepalive自动切换原理 keepalive默认保持多久?

浏览量:2648 时间:2023-04-20 13:27:33 作者:采采

keepalive默认保持多久?

K

设置移动网络“始终连接数据业务”什么意思?

应用层设置周期性心跳keepalives,被TCP视为应用数据。毫无疑问,一旦这些生活不 如果在超时时间内没有收到来自另一个TCP的ACK,它们将继续重新传输。至于最大重传次数,取决于具体TCP协议的实现。一般至少会重传8次,重传间隔会越来越长,以避免网络融合对TCP连接的短期影响。

上面最后一句有点难以理解。意味着即使当前使用的路径断开,路由协议也会动态选择新的物理链路,因此后续的TCP重传消息会使用新的链路到达目的地,从而避免TCP超时断线的风险。

所以不是说只有TCP断开再重新连接才会选择更好的路径。移动网络的IP层将实时更新最新和最佳路径。这是TCP消息所依赖的IP网络平台的特性。不管你喜不喜欢,一直都是这样的表现!

接下来的一些内容将有助于读者理解TCP长连接。

TCP长连接的存在可以优化客户端访问服务器的访问效率。没有长TCP连接,客户端每次访问服务器都需要三次握手,增加了1.5RTT时延。

但是,如果存在长TCP连接,客户端在建立TCP连接时可以节省1.5RTT。

但是,凡事有利有弊。长TCP连接的存在,如果没有数据刷新,至少有一个风险:移动网络使用NAT技术。换句话说,到NAT设备的长TCP连接作为NAT条目存在,它有一个生命周期。如果没有数据刷新,2-20分钟后删除。

一旦删除,当客户端和服务器的数据到达NAT设备时,是否会重新创建NAT条目?

不要!

如何处理NAT设备?

扔过来。

为了避免超时删除NAT条目,可以通过定期保持应用层的心跳来避免这种糟糕的情况。

但是周期性的心跳并不代表一切,例如,下面的情况就发生在:。

(1)

网络拥塞

重新传输的心跳消息被一次又一次无情地丢弃。

(2)

NAT设备重启

NAT条目消失。

(3)

服务器重启

TCP四元组消失。

(4)

网络环路

心跳消息永远无法到达服务器。

(5)

网络收敛缓慢

TCP消息已经丢失,直到TCP被重置。

TCP长连接配置了heartbeat,也没有逃脱被重置的命运。你可以从上面找到原因。

TCP 网络 消息 数据 心跳

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。