TCP 超时的性质

网络工程 tcp 协议论 安全 传输协议 第 4 层
2022-03-02 10:05:22

TCP 中的超时本质上是序列号的一部分,还是 TCP 数据包的完全不同的组成部分?

我了解超时为数据流提供了一定程度的可靠性,因为它可以防止过度传输流量——这可能是由于 MITM 攻击;通过确保数据按顺序发送来提供安全性的序列号并列 - 检测重放攻击。

1个回答

计时器和序列号是为了 TCP 提供的可靠性,与安全性无关。请参阅RFC 793,传输控制协议

当 TCP 传输包含数据的段时,它会将副本放入重传队列并启动计时器;当收到对该数据的确认时,将从队列中删除该段。如果在定时器用完之前没有收到确认,则重传该段。

TCP 可以而且经常会乱序接收段,但是,使用序列号,它会在将数据呈现给应用程序之前重新排序段。TCP 保证按顺序传送数据。无序接收段不会检测或阻止 MiTM 或重放攻击。

初始序列号是随机选择的,有助于安全性,但序列号的原因是关于可靠性而不是安全性。您使用某种类型的加密(VPN 隧道、SSH 等)来提供安全性。未加密的流量根本不安全。


请记住,在创建 TCP 的时候,我们还没有公共 Internet,而且事情要可靠得多。安全并不是任何人真正想到的。知识产权是一项政府/学术实验,您必须成为合作伙伴之一才能参与。