TCP的保活定时器

在开始这边文章之前,我问了自己几个问题,如下所示:

  1. 为什么我们需要保活消息?

  2. 保活消息有什么优缺点?

  3. 保活消息是怎么使用的?

下面我们来一个个问题看下去。

1. 为什么我们需要保活消息?

对于TCP链接来说,他们之间一旦建立了连接,那么可以一直没有消息通讯。TCP连接的双方都没有向对方发送数据,则在两个TCP模块之间不交换任何信息。

只要两端的主机没有被重启,则连接依然保持建立,不管中间路由器可以崩溃和重启,还是电话线被挂断再连通。这意味着我们可以启动一个客户与服务器建立一个连接,然后离去数小时、数天、数个星期或者数月,而连接依然保持。

这对于客户端来说,倒还好一点,毕竟不会有那么多的连接被占用,对于服务器来说,就是一个很糟糕的事情,这种连接无疑是一种僵尸连接,平白无辜的占用着服务器的资源,一旦这种连接非常多,服务器往往会因为连接数量的限制,导致没有办法接入新的客户端。

这个时候,其实就需要一种定时探测对端连接是否还存活的机制存在,如此以来彼此都能知道对方的状态,是否还能继续使用。

这种机制,对于TCP来说,就是TCP的保活机制。

2. 保活消息有什么优缺点?

优点:

1.在连接两个端系统的网络出现临时故障的时候,保活选项会引起一个 实际上很好的连接终止 。
例如,如果在一个中间路由器崩溃并重新启动时发送保活探查,
那么TCP会认为客户的主机已经崩溃,而实际上所发生的并非如此。
2.保活功能主要是为服务器应用程序提供的。
服务器应用程序希望知道客户主机是否崩溃,从而可以代表客户使用资源,及时回收这些资源。

缺点:

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值