我看到內部網上兩臺主機之間連接失敗(稱爲客戶端和服務器)。TCP在傳輸中丟失時可以重新傳輸握手嗎?
在兩臺機器上使用netstat,我看到相應的端口號,其中服務器端處於SYN_RECV狀態,並且客戶端處於SYN_SENT中。
我的理解是服務器已經用SYN,ACK響應客戶端的SYN,但是這個數據包已經丟失。握手中斷,套接字連接處於未完成狀態,並在20-45秒後看到客戶端超時。
我的問題是,TCP是否爲服務器提供了一段時間後重傳SYN,ACK的方法?這是個好主意還是壞主意?
更多有關係統詳情:兩端RHEL5,ssh成功,ping失敗100%,traceroute成功。客戶端建立在OpenOrb(Java)上,服務器是Mico(C++)。