以下几行来自RFC6528. S3
建议的初始序列号生成算法。
TCP应该使用以下表达式生成其初始序列号:
ISN = M + F(localip, localport, remoteip, remoteport, secretkey)
其中M是4微秒计时器
4微秒计时器究竟是什么意思?
(请不要因下面的内容偏离问题的主要焦点。这只是为了澄清我的一条评论)
这是一个困扰我的形象。
(MD5已经从内核3.1取代了MD4。但我不确定是否可以避免重新键入。 重启计数器在启动时设置为零(如果仍然使用)
答案 0 :(得分:2)
为了避免因早期的TCP连接问题而收到过时段的麻烦,相关的RFC提出了一系列措施。
其中一项措施是以比实时连接允许的带宽更快的速度单调递增ISN,因此下次使用相同的打开连接(源IP,dest ip,源端口,dest端口)元组,使用的序列号与早期连接的TCP段中使用的序列号不一致。
在RFC1185的附录中讨论了这个和其他机制。
显然,4μs定时器适用于2Mb / s网络。 Linux使用64 ns计时器。