0

为什么 TCP 中的序列号使用数据包大小。为什么它不能是数据包号。如果以 100 字节发送 seq 号为 10 的数据包,则下一个数据包的 seq 号将为 111。为什么不能像 10 ,11,12 等 除了数据包丢失之外的任何特定原因

4

2 回答 2

1

它是一个字节数,因为它基本上是一个字节流协议。

于 2012-11-08T23:49:00.480 回答
0

这比简单的算术和按顺序选择数字要复杂得多。通常出于安全原因,ISN(初始序列号)是使用高级伪随机机制生成的。

还有像 SYN cookie 这样的机制,例如在 ISN 中编码 TCP 会话参数。因此,除了使用“随机”数之外,还有很多不同的算法可以选择合适的序列号。

更重要的是,每个操作系统都有自己的生成 ISN 的方法。如上所述,所有这些都是出于安全原因,不允许潜在的攻击者猜测 TCP 数据包的序列号。

于 2012-11-08T10:16:47.317 回答