023tcp保活计时器.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载 第23章 TCP 的保活定时器 23.1 引言 许多T C P / I P 的初学者会很惊奇地发现可以没有任何数据流通过一个空闲的 T C P连接。也 就是说,如果T C P连接的双方都没有向对方发送数据,则在两个T C P模块之间不交换任何信息。 例如,没有可以在其他网络协议中发现的轮询。这意味着我们可以启动一个客户与服务器建 立一个连接,然后离去数小时、数天、数个星期或者数月,而连接依然保持。中间路由器可 以崩溃和重启,电话线可以被挂断再连通,但是只要两端的主机没有被重启,则连接依然保 持建立。 这意味着两个应用进程—客户进程或服务器进程—都没有使用应用级的定时器来检 测非活动状态,而这种非活动状态可以导致应用进程中的任何一个终止其活动。回想在第 1 0 . 7节末尾曾提到过的B G P每隔3 0秒就向对端发送一个应用的探查,就是独立于 T C P 的保活定 时器之外的应用定时器。 然而,许多时候一个服务器希望知道客户主机是否崩溃并关机或者崩溃又重新启动。许 多实现提供的保活定时器可以提供这种能力。 保活并不是T C P规范中的一部分。Host Requirements RFC提供了3个不使用保活定 时器的理由:(1) 在出现短暂差错的情况下,这可能会使一个非常好的连接释放掉; (2 )它们耗费不必要的带宽;(3 )在按分组计费的情况下会在互联网上花掉更多的钱。 然而,许多实现提供了保活定时器。 保活定时器是一个有争论的功能。许多人认为如果需要,这个功能不应该在 T C P 中提供, 而应该由应用程序来完成。这是应当认真对待的一些问题之一,因为在这个论题上有些人表 达出了很大的热情。 在连接两个端系统的网络出现临时故障的时候,保活选项会引起一个实际上很好的连接 终止。例如,如果在一个中间路由器崩溃并重新启动时发送保活探查,那么 T C P会认为客户 的主机已经崩溃,而实际上所发生的并非如此。 保活功能主要是为服务器应用程序提供的。服务器应用程序希望知道客户主机是否崩溃, 从而可以代表客户使用资源。许多版本的 R l o g i n和Te l n e t服务器默认使用这个选项。 一个说明现在需要使用保活功能的常见例子是当个人计算机用户使用 T C P / I P 向一个使用 Te l n e t 的主机注册时。如果在一天结束时,他们仅仅关闭了电源而没有注销,那么便会留下一 个半开放的连接。在图 1 8 - 1 6中,我们看到通过一个半开放连接发送数据会导致返回一个复位, 但那是在来自正在发送数据的客户端。如果客户已经消失了,使得在服务器上留下一个半开 放连接,而服务器又在等待来自客户的数据,则服务器将永远等待下去。保活功能就是试图 在服务器端检测到这种半开放的连接。 252使用TCP/IP详解,卷1:协议 下载 23.2 描述 在这个描述中,我们称使用保活选项的一端为服务器,而另一端则为客户。并没有什么 使客户不能使用这个选项,但通常都是服务器设置这个功能。如果双方都特别需要了解对方 是否已经消失,则双方都可以使用这个选项(在 2 9章我们将看到N F S使用T C P时,客户和服务 器都设置了这个选项。但在第 2 6章讲到Te l n e t和R l o g i n 时,只有服务器设置了这个选项,而客 户则没有)。 如果一个给定的连接在两个小时之内没有任何动作,则服务器就向客户发送一个探查报 文段(我们将在随后的例子中看到这个探查报文段看起来像什么)。客户主机必须处于以下 4 个状态之一。 1) 客户主机依然正常运行,并从服务器可达。客户的 T C P 响应正常,而服务器也知道对 方是正常工作的。服务器在两小时以后将保活定时器复位。如果在两个小时定时器到时间之 前有应用程序的通信量通过此连接,则定时器在交换数据后的未来 2小时再复位。 2) 客户主机已经崩溃,并且关闭或者正在重新启动。在任何一种情况下,客户的 T C P都 没有响应。服务器将不能够收到对探查的响应,并在 7 5秒后超时。服务器总共发送 1 0个这样 的探查,每个间隔7 5秒。如果服务器没有收到一个响应,它就认为客户主机已经关闭并终止 连接。 3) 客户主机崩溃并已经

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档