为何TCP采用随机序列号

五迷三道 提交于 2020-03-15 10:39:04

为何TCP采用随机序列号

TCP采用随机序列号,主要是基于如下两个原因:

  1. 防止接受网络上粘滞的TCP包,如果都从0开始的话,极其容易接受之前断开连接发送的粘滞包。虽然可以采用每次TCP会话都使用一个UUID作为标记,但是考虑到每次都要携带UUID,比较浪费流量,所以就采用随机序列号的方法。

  2. 防止Hack猜测序列号,然后伪装TCP报文,当然这种防御其实很弱。

TCP总的来说,提供了一种可靠的流数据传输方式,但是还是有各种坑。比如说,超时检测,粘包,安全性等问题。

在一定程度上,可以把TCP连接,看成能保证从FIRST_ACK到LAST_ACK的流协议

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!