Http

Web伺服器HTTP傳輸隨機死亡,TCP封包遺失?

  • November 18, 2020

做一些從 Web 伺服器到瀏覽器的基本 HTTP 傳輸。通常可以正常工作,但很少有網頁資源(如 javascript 文件)無法載入。調查顯示,在數據的 TCP 流傳輸過程中,Len隨機變化,一切都變得鬆散(問題發生時 100% 一致)。我不知道Len變化是否是問題,但它總是先於問題。真正的問題似乎是直接失去數據,但我的 TCP 知識太低了。我在 seq/ack/len 和弄清楚誰在確認什麼等之間感到困惑。我附上了一個說明問題的螢幕截圖,並想知道是否有人可以提供一些見解。

我的網路朋友說瀏覽器在這裡搞砸了(Firefox),但我不知道..

線鯊擷取

如果您繼續進行此擷取,大約還有 30 多個 DUP ACK,而 Web 伺服器繼續將文件的其餘部分發送回正常鏡頭。但是瀏覽器似乎不再接收數據了。

這與數據包長度無關。根據您顯示的數據包擷取的一小部分,只是失去了數據包。收到的最後一個序列是 65793,然後擷取中的下一個數據包以 67956 開頭。這就是它反复確認序列 65793 的原因。伺服器應該在一段時間後意識到這一點並重新發送失去的數據包。

引用自:https://serverfault.com/questions/1043116