1

下面是取自RFC6528 的几行代码。S3

提出的初始序列号生成算法。

TCP 应该使用以下表达式生成其初始序列号:

  ISN = M + F(localip, localport, remoteip, remoteport, secretkey)

其中 M 是 4 微秒计时器

4微秒计时器到底是什么意思?

(请不要被下面的东西偏离问题的主要焦点。这只是为了澄清我的评论之一)

这是一个让我困惑的图像。

MD5 已经从内核 3.1 中替换了一半的 MD4,但我不确定是否可以避免重新键入!

(MD5 已经从内核 3.1 中替换了 MD4。但我不确定是否可以避免重新键入。重新键入计数器在启动时设置为零,如果它仍然使用)

4

1 回答 1

2

为了避免从早期的 TCP 连接接收过时的数据段带来麻烦,相关的 RFC 提出了一系列措施。

其中一项措施是以比实时连接所允许的带宽更快的速率单调递增 ISN,因此下次使用相同的(源 ip、目标 ip、源端口、目标端口)元组打开连接时,使用的序列号与先前连接的 TCP 段中使用的序列号不一致。

RFC1185的附录中讨论了这种机制和其他机制。

显然 4 µs 定时器适用于 2Mb/s 网络。Linux 使用 64 ns 计时器。

于 2012-09-08T19:44:47.547 回答