《TCP IP 详解卷1:协议》阅读笔记

  • 时间:
  • 浏览:2
  • 来源:大发快3官方直播—彩神UU快三代理

变量保活时间、保活时间间隔和保活探测数的设置是可不时需变更的。或多或少系统允许用户在每次建立连接时设置哪几种变量,或多或少系统规定才能在系统启动时才能设置。比如在linux中,哪几种变量分别对应net.ipv4.tcp_keepalive_time、net.ipv4.tcp_keepalive_intvl、net.ipv4.tcp_keepalive_probes,默认设置是7200秒、75秒和9次探测。

TCP连接的任何一端都可不时需请求打开你这种 功能,且可不时需设置在连接的一端、两端不可能 两端都这样 。

保活探测报文为另一三个空报文段(只暗含1字节)。它的序列号等于对方主机发送的ACK报文的最大序列号减1,不可能 你这种 序列号的数据段不可能 被成功接收,就说 不让对到达的报文段造成影响,但探测报文返回的响应可不时需选着连接算不算仍在工作。时需注意的是,探测及其响应报文丢失时不让进行重传。

但会 保活机制仍位于争议,或多或少人认为你这种 功能不应该在TCP协议中提供,而应在程序中实现;反之全部都是人认为大多数程序时需该功能,应该在TCP协议中实现。但会 ...现在所有主流TCP版本都实现了保活功能,就说 该功能在默认清况 下是关闭的,是另一三个可选着激活的功能。

(案例一:正常连接 -> 另一端老是奔溃,本例中将保活时间设置为7000ms/7s,保活时间间隔设置为1s,在确认连接断开就说 (62.120s),客户端会发送10个间隔为1秒的保活探测报文,最后连接断开)

TCP保活机制是有并算不算在不影响数据流内容的清况 下探测对方的最好的措施。它由另一三个保活计时器实现,当计时器被激发,连接一端将发送另一三个保活探测(简称保活)报文,另一端接收报文的同全部都是发送另一三个ACK作为响应。

  1. 在冒出短暂的网络错误的就说 ,保活机制会使另一三个好的连接断开

第十七章:TCP保活机制

  3. 客户主机奔溃但会 已重启。请求端会受到另一三个对其保活探测报文的响应,但你这种 响应是另一三个重置报文段,请求端不可能 断开连接。

TCP协议中不位于轮询机制,这因为着分析加入启动另一三个客户端程序,与服务器建立连接后,但会 一蹶不振 几小时、几天、甚至好多个月,连接依然会保持着。理论上,里面路由器可不时需崩溃和重启,数据线可不时需断开再连接,我希望连接两端的主机这样 被重新启动(不可能 更改IP地址),这样 它们仍会保持连接清况 。

TCP保活功能的规则过程中,开启该功能的一端会发现对方位于以下有并算不算清况 之一:

TCP保活机制

书中的另一三个案例:

(案例三:另一端不可达,本例中将保活时间设置为12000ms/2min,到达保活探测数后仍未收到响应,连接断开)

保活功能的操作如下:不可能 在一段时间(保活时间)内连接位于非活动清况 ,开启保活功能的一端将向对方发送另一三个保活探测报文。不可能 发送端这样 收到响应报文,这样 经过另一三个不可能 提前配置好的保活时间间隔后继续发送另一三个保活探测报文,直到发送探测报文的次数达到保活探测数,这时对方主机将被确认为不可到达,连接也将被中断。

  1. 对方主机仍在工作,但会 可不时需到达。请求端将保活计时器重置(重新设定为保活时间值)。不可能 在计时器超时前有程序通过该连接传输数据,这样 计时器将再次被设定为保活时间值。

保活机制并全部都是TCP规范中的一帕累托图,对此[RFC1122]给出另一三个理由:

 

  4. 对方主机仍在工作,但会 不可能 或多或少因为着才能到达请求端。你这种 清况 与清况 2相同,不可能 TCP才能区分清况 2和清况 4,结果全部都是这样 受到探测报文的响应。

(案例二:另一端奔溃后重启,本例中将保活时间设置为12000ms/2min,最后是另一端重启后响应另一三个RST报文段,连接断开)

  3. 在按流量计费的清况 下会产生更多经济开销

  2. 对方主机不可能 奔溃,包括不可能 关闭不可能 正在重新启动。请求端接收才能响应报文,并在经过保活时间间隔指定的时间后超时。超时前,请求端会持续发送探测报文,一共发送保活探测数指定次数为止,不可能 请求端没收到任何探测报文响应,这样 它将认为对方主机不可能 关闭,连接也将被断开。

  2. 保活机制会占用未必要的速率

阅读须知:笔记为阅读《TCP IP 详解卷1:协议》后摘抄的或多或少知识点,其间全部都是加入或多或少根据英文原版的另一方翻译和结合网上知识后的理解,就说 或多或少段落之间未必才能串联上不可能 知识点与书上略有差别(基本差别不大,参考的资料属RFC官方文档)。