對TCP三次而不是兩次握手的理解

TCP是一種面向連接的、可靠地通信方式,三次握手機制也是爲了保證通信的可靠性。至於爲什麼需要三次握手,而不是兩次,我的理解如下:

 

第一種理解:(串門)

1、client連接server成功後,server端要分配資源與client建立連接。這就好比你到鄰居家串門,鄰居要開門迎接並且給你安排個坐的地兒。

2、當你真的要到鄰居家串門,你首先要跟鄰居打個招呼,問:嗨,你有沒有空,我去你們家玩吧?(第一次握手)

3、鄰居收到你的請求後,會回覆你說:好啊,(不完整的第二次握手)

4、到此爲止,兩次握手已畢,你能不能完成這次串門的行爲呢?其實也能。你只管過去,鄰居也只要開門迎接即可。但問題是,鄰居一方面不能確定你串門的時

     間,另一方面不能確定你聽到了自己給你的應答。如果由於種種原因,你確實沒有聽到,肯定是不會去的,而鄰居卻做好飯菜、準備好桌椅,開門迎接,豈不是

     浪費了時間和精力。

5、所以最好是,鄰居給你應答的時候順便問一下:好啊,你啥時候來呀?(完整的第二次握手)

6、你收到應答後,回覆鄰居:我這就去(第三次握手)

7、這樣,鄰居一方面可以確定你拜訪的時間,另一方面也確定你收到了應答,再開門迎接(連接建立)

 

第二章理解:(全雙工通信)

在全雙工通信中,爲了確保通信的可靠性,必須保證通信的雙方收、發機工作是正常的。特別是server一方,因爲server是建立連接的實施者

1、client向server發送連接請求,且server接到請求,server可以判定,對方的發送機和自己的接收機正常,但不能判斷自己的發送機和對方接收機是否正常;(第一次握手)

2、server應答client且client接到應答,此時client可以判定自己和對方的收、發機全部正常,但建立連接的一方是server,所以client仍需發送應答;(第二次握手)

3、client發送應答至server且server收到,此時server可以判斷自己和對方收、發機正常,可以建立連接;(第三次握手)

4、server分配資源,同client建立連接。

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章