tcp为什要三次握手
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tcp为什要三次握手相关的知识,希望对你有一定的参考价值。
准备知识:
单工:信息只能单向传递。发送-->接收,单向,不能返回响应。
双工:指的是信息可双向发送。
全双工:信息可同时双向传递。
半双工:不能同时,单行道,一边传输完了,另一边才能发起传输。
由于IP协议是不可靠的,为了在不可靠信道上传输可靠数据,就要进行三次握手,准确的说是发送三次预备信息,这样就完成了信息传递的双工准备。(HTTP协议是需要双向传递的)。
双方都需要确认自己的发信和收信功能正常,收信功能通过接收对方信息得到确认,发信功能需要发出信息—>对方回复信息得到确认。
第一次发信息: CLIENT --> SERVER
第二次发信息: SERVER --> CLIENT 客户端接收到了,确信自己可以收,并且收到的信息里有上一步发过去信息里的内容,说明也是可以发送的。
第三次发信息: CLIENT --> SERVER 同理,服务端也确信了可以收和发的能力。
如果没有第三次发信息,只是保证了一个单向的连接畅通。客户端可以大胆地单向给服务端发信息。服务端由于没收到过“回音”,不能确定对方能不能收到,tcp协议是保证了传输可靠性的,不允许这种不确定性存在,就不允许服务器给客户端发送响应了。
当然UDP协议就不保证输出的可靠性了,就算没有收到过“回音”也敢发出信息。
-------------------------------连接断开的时候为什么要四次呢-----------------
以上是关于tcp为什要三次握手的主要内容,如果未能解决你的问题,请参考以下文章
tcp 为什么要三次握手,两次不行吗?(未完成)为什么?(未完成)