TCPs中的超时本质上是序列号的一部分,还是TCP数据包的一个完全不同的组件?
我理解超时为数据流提供了一定程度的可靠性,因为它可以防止通信量的过度传输--这可能是由于MITM攻击造成的;将通过确保按顺序发送数据来提供安全性的序列号并列在一起可以检测重放攻击。
发布于 2021-01-18 01:57:03
定时器和序列号是为了TCP提供的可靠性,实际上与安全性无关。请参见RFC 793,传输控制协议:
当TCP发送包含数据的段时,它将副本放在重传队列上并启动计时器;当接收到对该数据的确认时,该段被从队列中删除。如果在计时器耗尽之前未收到确认,则重新发送该段。
TCP可以而且经常按顺序接收段,但是,使用序列号,它将在向应用程序显示数据之前重新排序这些段。TCP保证按顺序传送数据.接收无序段不会检测或防止MiTM或重播攻击。
初始序列号是随机选择的帮助安全,但序号的原因是可靠性,而不是安全性。您使用某种类型的加密(VPN隧道、SSH等)提供安全保障。未加密的通信量根本不安全。
请记住,当TCP创建时,我们没有公共Internet,而且事情更值得信赖。安全其实并不是任何人所想的。IP是一个政府/学术实验,你必须成为合作伙伴之一才能参与其中。
https://networkengineering.stackexchange.com/questions/72108
复制相似问题