Networking

傳入 TCP SYN 的可能性

  • September 25, 2017

這可能是一個一般的 TCP 問題。

我可以在連接或狀態連接上接收 TCPSYN數據包嗎?ESTABLISHED``TIME-WAIT

這可能嗎?

不應發生在 TCP 連接上SYN收到的消息。ESTABLISHED它可能是一個延遲的數據包,可以安全地靜默丟棄。

如果連接失去並且在客戶端而不是在伺服器上超時,或者如果客戶端重新啟動,則可能以伺服器處於ESTABLISHED狀態而客戶端處於狀態而結束。CLOSED在這種情況下嘗試打開新連接會導致在狀態SYN下接收數據包。ESTABLISHED期望的結果是關閉舊連接並打開新連接。

實現這一預期結果的方式如下:

  • 客戶端發送一個SYN來創建一個新的連接。
  • 伺服器發送一個ACK連接ESTABLISHED
  • 客戶端使用導致連接消失ACK的數據包響應。RST``ESTABLISHED
  • 客戶端重新傳輸SYN數據包以創建新連接。

在伺服器關閉連接並且客戶端打開具有相同埠號的新連接後,可能會SYN在狀態下接收數據包。TIME_WAIT這將導致打開一個新連接。

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