tcp为什要三次握手

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tcp为什要三次握手相关的知识,希望对你有一定的参考价值。

准备知识: 

单工:信息只能单向传递。发送-->接收,单向,不能返回响应。

双工:指的是信息可双向发送。

全双工:信息可同时双向传递。

半双工:不能同时,单行道,一边传输完了,另一边才能发起传输。

 

由于IP协议是不可靠的,为了在不可靠信道上传输可靠数据,就要进行三次握手,准确的说是发送三次预备信息,这样就完成了信息传递的双工准备。(HTTP协议是需要双向传递的)。

双方都需要确认自己的发信和收信功能正常,收信功能通过接收对方信息得到确认,发信功能需要发出信息—>对方回复信息得到确认。

第一次发信息: CLIENT --> SERVER 

第二次发信息:  SERVER --> CLIENT     客户端接收到了,确信自己可以收,并且收到的信息里有上一步发过去信息里的内容,说明也是可以发送的。

第三次发信息: CLIENT --> SERVER     同理,服务端也确信了可以收和发的能力。

 

如果没有第三次发信息,只是保证了一个单向的连接畅通。客户端可以大胆地单向给服务端发信息。服务端由于没收到过“回音”,不能确定对方能不能收到,tcp协议是保证了传输可靠性的,不允许这种不确定性存在,就不允许服务器给客户端发送响应了。

当然UDP协议就不保证输出的可靠性了,就算没有收到过“回音”也敢发出信息。

 

-------------------------------连接断开的时候为什么要四次呢-----------------

以上是关于tcp为什要三次握手的主要内容,如果未能解决你的问题,请参考以下文章

tcp为什么要三次握手,tcp为什么可靠

tcp为什么要三次握手,两次不行吗?为什么?

TCP三次握手原理

tcp 为什么要三次握手,两次不行吗?(未完成)为什么?(未完成)

面试官:TCP 为什么要三次握手与四次分手?大部分人答不上来!

TCP协议为什么要三次握,要四次分手