題 高速下載大文件時無線流量停止:數據包丟失(Linksys WRT120N路由器)


問題

注意:首先,我想了解為什麼會發生這種情況。當然,解決方案也會很好。 :)

當通過HTTP高速下載大文件時,我的無線流量基本停止:我無法打開網頁,下載本身也會暫停。它在啟動後立即暫停;有時為800 KB,有時為幾MB。一段時間後,下載(和其他流量)恢復,但問題在同一下載期間重複出現。

通過同一路由器(Linskys WRT120N)使用有線連接時不會發生此問題。還要注意連接是  發生這種情況時會掉線只是流量停止,我無法瀏覽網頁等(發送SYN數據包但沒有收到任何內容,等等)

使用Wireshark進行檢查表明發生了以下情況:

  1. 服務器發送客戶端確認的數據包
  2. 服務器發送數據包,但SEQ表示丟失了一些數據包(一次發生6個數據包)。
  3. 服務器發送更多數據包,客戶端使用“選擇性確認”確認這些數據包
  4. 服務器停止發送數據一段時間(因為丟失的數據包未被確認 要么 路由器停止轉發它們?)
  5. 最終,服務器執行“重新傳輸”並且流量恢復正常。

當發生丟包時,這對我來說似乎都是正常的行為。 這是整個大型高速下載中一致的數據包丟失讓我感到困惑。

可能是什麼原因導致的

我自己的想法如下:我的互聯網非常快(100 mbps),所以當開始大文件下載時,路由器緩衝輸入數據(因為無線引入了一些輕微的延遲/降低速度,部分原因是由於其他網絡) ,但緩衝區溢出,路由器丟棄數據包以調節流量(因為它沒有選擇)。

但那怎麼可能發生呢? TCP窗口大小是否限制了未確認的數據量?那麼如果只有64 KB等待被確認,路由器的緩衝區如何溢出呢?

注意: 我已禁用TCP窗口縮放和動態窗口大小 netsh 選項,試圖解決這個問題,但似乎並不重要。

也, Wireshark顯示服務器發送2個數據包(1514字節)並且客戶端發送ACK的模式,這樣可以排除可能的緩衝區溢出嗎?還有一些後續的數據包  收到...

我在這裡不知所措。感謝您的任何見解。

事情(可能)不是原因/我已經嘗試過

  • 瀏覽器
  • Windows 7中的各種TCP選項(netsh 等等。)
  • 路由器設置,如MTU,信標間隔,UPnP,......

3
2018-05-31 17:22


起源




答案:


解決方案

解決方案很簡單 禁用WMM支持 在路由器配置中。顯然,Linksys WRT120N WMM支持由於某種原因與Windows 7無線不兼容。

更多細節

通常當問題發生時,流量最終會恢復(對於相同的連接),就像數據包被路由器排隊一段時間一樣。這些暫停通常持續40秒或更長時間。老實說,這仍然讓我感到困惑。

在此期間,不能建立其他(TCP)連接:當嘗試瀏覽網頁時,筆記本電腦會發送SYN數據包,但沒有響應。但是,DNS和ARP請求  正常處理。


3
2018-06-01 09:44



這也固定了我的Medialink路由器。非常感謝您在找到問題時將解決方案發佈到您自己的問題中! - Spike