Tcp

TCP流控制誤讀的原因是什麼?

  • September 9, 2015

客戶端無法連接到我們的 Web 伺服器。我嗅探了客戶端和 Web 伺服器,卻發現客戶端認為 TCP 連接成功,而伺服器認為 TCP 連接失敗。這個問題的可能原因是什麼?客戶端向伺服器發送的 ACK 數據包在通過網路時是否損壞。

兩者的螢幕截圖顯示在下面的連結中。

客戶 在此處輸入圖像描述

伺服器 http://postimg.org/image/c089q8hrt/

這兩個設備之間肯定有一些東西正在重寫數據包。客戶端從它自己的 TCP/58055 埠打開一個到 TCP/80 的連接。伺服器看到來自 TCP/5822 的 SYN 數據包。只有在某些網路設備(例如 NAT 設備或某些防火牆)重寫數據包時才會發生這種情況。

客戶端視圖中存在的“SACK_PERM=1”進一步支持了這一點。那是選擇性確認,並且是 TCP 選項。伺服器看到的 SYN 數據包在某處被剝離。這是一個經典的防火牆設置,因為 SACK 被視為不安全或能夠被 DDoSed。

您在這兩者之間的某個地方有一個設備妨礙了您。您無法在終點解決此問題。

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