最后更新:2022-04-07 23:20:54 手机定位技术交流文章
大家好,我是小林。
今天的话题很有意思:你还有TCP的最初连接吗?
可能有的同学会说,网线都被拔掉了,这表明物理层已经暴露了也预期它会被切断 与传输的顶层。因此,最初的TCP连接将不复存在。就好像,当我们联系电缆公司时如果有一条电话线断开因此,这一呼吁不再活跃。
真的是这样吗?
论点中有一个缺陷。缺陷在于不正确的假设,即移除电线将影响传输层,并不影响电线层。
实际上,在Linux内核中,TCP连接通过一个称为Struct区块的结构得到代表。结构包含信息,如TCP连接状态。当拔掉网线的时候,操作系统不会改变结构的任何部分。因此,TCP连接状态将保持不变。
我在个人电脑上做了个快速测试为了连接到云服务器,我使用了 Ssh 控制台。所以,我模仿Wifi情况 通过断开互联网。观看 TCP 连接状态目前尚未改变 。地位仍在确定之中。

我们从这个实验中知道,删除电网对TCP连接没有影响。
接下来我们看看网没了后 两队都干了些什么
因此,为了回答这个问题,我们必须将其分为以下几节:
一旦客户与网络断开联系,服务向客户发送数据电文而未收到回复,在具体时间过后,服务启动一个时间发布机制,重新发送无响应的数据电文。
如果电文在服务端再次发送,客户刚刚重新连接到互联网上政府无法这样做,因为解除网络的连接并不改变客户的 TCP 连接状态。并且它仍然牢固地建立起来。因此,客户此时可以正确接收服务处的数据电文。然后客户发送回 ACK回复信息。
目前,客户和服务TCP连接仍然活跃,似乎没有任何变化。
但是,如果如果电文在服务端再次发送,客户无法与互联网重新连接。一旦服务达到耗费时间的再分配人员的具体水平,就无从摆脱困境。内核将查明存在TCP问题。然后使用Socket 界面通知程序 TCP 连接不正确 。因此,将终止服务终端TCP连接。
在客户与网络重新连接后,如果客户向服务提供数据,客户将发布TCP连接,由于服务与同一客户没有四美元的TCP连接,服务核心将响应RST信息。
客户与服务之间的TCP联系目前已被切断。
TCP的数据报告被退回多少次了?
在 Linux 中, 名为 tcp_retries2 的配置选项默认值为 15, 如下所示:

当形成 TCP 连接时由此内核选项控制时,超时的最大次数会重复。
然而,tcp_restries2 已被设定15次,这并不意味着在提醒申请终止TCP连接之前,TCP已被再次发送15次,而内核也由“最长使用时间”决定。
每轮工作花费的时间都在增加,因此第一次在两点后触发加班转播,第二次在四点后,第三次在八点后,等等。

根据tcp_retries2中设定的值,内核确定最大超时。
当报告再次转交而另一方没有答复时,即满足了“最大再传送”或“最大额外时间”的两项要求之一,并终止了再传送,切断了TCP连接。
针对一旦网格消失,就没有数据传输。的场景,还得看是否开启了 TCP keepalive 机制 (TCP 保活机制)。
如果TCP保存机制无法启用,即使客户已撤回网格,而且双方都没有完成数据传输,客户和服务TCP连接仍将保持活跃。
如果TCP保存机制被启用, 一旦客户与网络断开联系, 即使两边都没有传输数据, TCP也会发出检测信息:
因此,在双方没有数据联系时,通过确认报告,TCP生存机制可以评估另一方与TCP联系的存续情况。
究竟什么是TCP保存机制?
这一进程的理由如下:
定义一个时间段,在这个时间段内,如果没有与连接相关的活动,将启动TCP安全机制。每隔一个时间间隔,发送一个探测报文,报告提供的信息很少。如果对几份检测报告没有答复,据认为,目前的TCP连接无法运作。无法关闭临时文件夹:%s。
Linux 的内核可以有以下默认指定时间以设定活的时间、要探测的活次数和要探测的活间隔:
net.ipv4.tcp_keepalive_time=7200
net.ipv4.tcp_keepalive_intvl=75
net.ipv4.tcp_keepalive_probes=9
“死亡”连接至少需要2小时11分15秒 才能在Linux系统中发现

图片
要有效,想要使用 TCP 生存机制的程序必须通过套接合器选项设置 SO_KEEPALive; 如果不设置此选项, 无法使用 TCP 生存机制 。
TCP的保存方法探测时间是不是太长了?
对的,是有点长。
TCP 保存是所有TCP传播协议的自下而上的解决办法,在TCP层(内核州)实现。
在现实中,我们可以自己在申请一级建立一个检测机制,我们可以在相当短的时间内发现另一方的生存。
比如,通常,网络服务软件包括一个指定的超时参数。此属性指定长 HTTP 连接的超时 。如果您将 HTTP 长连接的超时时间设定为 60 秒,网络服务程序将启动计时器 。如果客户遵循最新的HTTP要求,60秒后,没有提出新的查询。定时器的时间一到,,它导致回声函数被调用,以便断开连接。

客户端删除网络而不直接更改 TCP 连接状态。 TCP 连接是否在网格被撤回后仍然保留,取决于在网格被删除后数据是否被传输,而不直接改变 TCP 连接状态。TCP 连接在网格被撤回后是否仍然保留,取决于是否在网格被删除后数据被传输。
有数据传输的情况:
没有数据传输:
除了客户删除网络的现场之外,还有两场客户“裂缝和杀人程序”的场景。
第一个场景,客户的机器和互联网正在退役这一事实一样不可知。因此,如果没有数据传输,如果TCP-keepelive功能没有被激活,服务端 TCP 连接将停留在已建立状态 。直到服务器重新启动此进程 。
在没有TCP生存机制的情况下,如果双方都没有提供数据,一方的TCP连接在被确定为ED状态期间是正常的,另一方的TCP连接没有反映另一方。
在第二种情况下,当客户被害时,内核将FIN的讯息发送给服务处,并与客户进行四次波浪。
所以,即使TCP没有启用,双方之间没有数据交换,而且双方之间没有数据交换。如果一方的进程失败,这一过程的操作系统是显而易见的。最后,他们将相互发送FIN的讯息。然后玩家互相挥手四次。
原文链接:
https://mp.weixin.qq.com/s/Q7byo3-3c7P81XarTx2PYw小林编码是作者。
如果你相信这些材料对你有益, 你可以把注意力放在它上。
本文由 在线网速测试 整理编辑,转载请注明出处。