TCP连接建立,必须经历三次握手的简易理解

我们知道Tcp建立连接必须要建立三次握手,那么为什么两次握手就不行能呢?为什么又不是四次呢?下面我们就来以易于理解的方式简单分析下

 

 

 

一次连接的建立双方需要确认对方是否处于可连接状态。这里的双方我们用A和B来进行标示:

1.如果A需要确认B是否可连接,A端需要发送请求信息,B收到后然后回复给A。请求,回复按序进行,期间涉及到两次消息的发送,这点我们没有任何疑问。

2.然后B确认A是否可连接,同理也会涉及到两次消息的发送。这样连接才会建立起来。

 

那么有同学会问TCp建立连接只需要三次握手啊,你这里不是四次吗?为了保证效率,我们要使用尽可能少的发送消息次数建立连接,如何少呢!那当然是复用啦!

我们发现B给A回复确认消息的时候,也可以当作B的请求消息。一次发送,具有两个功能。至此我们就成功减少了一次握手。

成为了我们的三次握手

 

至于两次为什么不行,这个就不要解释了吧(只能A确认B可连接,B无法知道A是否可连接)

TCP四次挥手

因为当服务端收到客户端的 FIN 数据包后(第一次挥手),服务端不会立即close,为什么不立即close?因为可能还有数据没发完,服务端会先将 ACK 发过去告诉客户端我收到你的断开请求了(第二次挥手),但请再给我一点时间,这段时间用来发送剩下的数据报文,发完之后再将 FIN 包发给客户端表示现在可以断了(第三次挥手)。客户端收到 FIN 包后发送 ACK 确认断开信息给服务端(第四次挥手)。


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值