码迷,mamicode.com
首页 > 其他好文 > 详细

tcp为什要三次握手

时间:2016-01-31 02:51:17      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

准备知识: 

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

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

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

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

 

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

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

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

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

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

 

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

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

 

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

tcp为什要三次握手

标签:

原文地址:http://www.cnblogs.com/onlywujun/p/5172267.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!