Networking

為什麼我在 LAN 中連接時的 TCP 連接延遲很長(通過交叉!)?

  • December 9, 2009

我正在測量連接到同一個 Cisco 交換機的兩台 Linux 電腦之間從發送 TCP SYN 到獲得 SYN/ACK 大約 100-150 毫秒的時間。考慮:

  • 這些機器非常強大,它們和交換機都不是很重。
  • 通過分析兩台機器上的 tcpdumps 日誌,我發現問題不在於端點,而在於網路本身(客戶端看到 100-150 毫秒的延遲,但伺服器在大約 10 毫秒內處理響應)。
  • 只有 SYN 請求很慢。之後,正常的 TCP 數據包會立即收到 ACK。

所以,我的問題是:

  • 我認為這是正確的,太多了嗎?
  • 我應該瞄準什麼延遲?
  • 我可以做些什麼來進一步診斷和解決問題?

編輯- 我們已將開關從等式中移除。兩台電腦現在通過交叉電纜連接,我們仍然看到問題。兩者都是全雙工,100 MBPS。

嗯,廢話。看來我誤讀了 tcpdump 和 wireshark 日誌。我得到的延遲是 100 微秒,而不是毫秒!

替代文字 http://ironicsurrealism.blogivists.com/files/2009/10/homer-simpson-doh.gif

普通嫌疑犯:

  • 雙工不匹配

    • 檢查開關是否有衝突或錯誤
    • 檢查主機是否存在衝突或錯誤如果你看到衝突,那一端是半雙工的,應該設置為全雙工。如果您看到錯誤,請檢查另一端是否存在衝突。如果兩端都有錯誤,則可能是電纜損壞。
  • DNS 超時

    • 登錄到一台主機,使用 nslookup 查找另一台主機的 IP。你應該很快得到一個名字或一個錯誤

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