2013-08-28 25 views
1

建立一個Windows TCP對等體發送一個TCP數據包,並且遠程對等體不確認它沒有重置連接(內核崩潰,電源/硬件故障等)排除發送重試計數器後,TCP對等方是否重置連接?

窗口對等體是否在排空後重置連接發送重試計數器?

TCP RFC對此有何評論?閱讀下面的句子(在本頁面http://support.microsoft.com/kb/169292/en-us的「重新傳輸行爲」款)後

我產生疑問:

後計算機「X的」重試次數耗盡,你可能看不到一個「復位」 馬上。如果計算機「Y」最終響應,則計算機「X」可能會重置連接。

在此先感謝和原諒我的基本英語。

問候

回答

2

在沒有對整個發送窗口的ACK時,發送者假定的是,對等體是否消失並且默默地清理重試之後的連接(沒有在這個階段發送翅片或的RST)。

如果對等方實際上是活着的並在舊連接上發送一個數據包,發送方會發送一個RST。

+0

非常感謝jman。我有另一個問題!如果我嘗試使用同一進程的另一個線程中的同一個套接字(沒有收到ACK),會發生什麼情況。謝謝! – user1720902

+0

如果舊連接仍然存在於服務器上,但客戶端嘗試使用相同的4元組建立新連接,則SYN將被拒絕,並且服務器以預期序列號的ACK作出響應。客戶將發送RST。請參閱RFC中的圖10:http://www.faqs.org/rfcs/rfc793.html。 – jman

+0

如果您嘗試重新使用未能獲取ACK的套接字,則會從您自己的一方獲得ECONNRESET。 – EJP

相關問題