TCP迷途
Posted bzaq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP迷途相关的知识,希望对你有一定的参考价值。
迷途是指, 当数据传输途中的某个路由器崩溃或者某两个路由器之间的某条链路断开, 路由协议需要花费一段时间来找到零一条通路, 在这个过程中可能会出现从路由器A发送给路由器B的分组又经由B发送回A这种循环情况, 在这个过程中, 发送端可能因为超时而重传了分组, 而这时这个分组经由正确的路径到达了接收端, 又过了一会儿之前迷失在循环中的分组也到了接收端, 这个分组称为迷途重复分组或漫游重复分组
我们假设有这样一种情况, 我们在192.168.1.11主机的5555端口和192.168.1.12的6000端口上建立了连接, 然后我们关闭了这个连接, 紧接着我们又重新在相同的地址和端口上建立了连接, 这后一次连接成为前一次连接的化身, 如果在前一次连接断开前有了迷途现象, 并且迷途重复分组在这次连接中到达了, 那么这个问题不是会很严重吗?
TCP为了解决迷途问题, 用到了TIME_WAIT状态, 当建立连接的两方中某一方发起了断开连接的请求后, 在第三次挥手时, 主动关闭端进入TIME_WAIT状态, 这个状态会持续2MSL 的时间, 之所以是2MSL, 主要是某一方的分组最多存活MSL秒即被丢弃, 而另一方的应答也最多存活MSL秒, 这样经过2MSL秒之后, 迷途分组一定会消失, 这样只要保证在这段时间过后才在同一个端口和地址上建立连接, 就可以避免前一次连接的迷途分组在本次连接中出现
以上是关于TCP迷途的主要内容,如果未能解决你的问题,请参考以下文章