微秒計時器初始序列號生成下面是從RFC6528. S34在Linux中
建議初始序列號生成算法採取幾行。
TCP應當產生它的初始序列號用所述表達:
ISN = M + F(localip, localport, remoteip, remoteport, secretkey)
其中,M是4微秒計時器
恰好由4微秒計時器的意思?
(請不要誤會從下面的東西,問題的主要焦點偏離。這只是爲了澄清我的意見之一)
這其中我感到困惑的圖像。
(MD5已經取代MD4從內核3.1.But我不知道更換鑰匙是否是可以避免的。 重新鑰匙計數器設置爲零的引導,如果仍然用它)
每4ms增加一個計時器? – rekire
@rekire:如果是這樣,生成的第一個序列號應該被添加到一個全爲0的32位值,因爲定時器在開始時被初始化爲0。情況並非如此,因爲初始序列號在開始時只有24位(在密鑰計數器和計時器均爲零的情況下),即ISN的前8位將爲零。 如果我錯了,那麼定時器必須有一些其他的初始值。 – sjsam
爲什麼24位?我認爲'F'的輸出是32位。 – ninjalj