对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建立连接。

 

 

 

 

 

 

 

 

 

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