TCP协议为啥是三次握手?

最近在学习网络方面的知识,突然想到了这个经典的问题。同时这也是个面试网络相关岗位的热门面试问题,从这个问题就可以知道你对网络协议的理解程度咋样。CSDN上有很多大佬都对这个问题做出了深刻的理解,我从一个小白出发,帮助大伙稍微理解一下这个问题

首先我们先来回顾一下TCP是哪三次握手,下面放一张图最简单的示意图给大伙看看。

简述TCP三次握手和四次挥手_三次握手和四次挥手简述-CSDN博客

ok,我相信上过《计算机网络》这门课的同胞们都对这个协议有比较完备的理解,老师肯定也问过:”大家想一想TCP为啥是三次握手而不是两次或者是四次?”反正对我而言我们老师当时解释过的原理因为太”官方“,太难理解,我早就忘得一干二净了。后来的时候我在学H3C的时候又遇到这个问题,第二次遇到这个问题,我有了自己更简单的理解。

给大伙讲个段子:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

ok!这是一个完美的结局,我们的TCP连接就像这次的爱情一样的完美!但是各位想想如果是两次握手会发生什么情况?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

各位看懂没有。如果小明是个只会玩弄别人感情的渣男,如果只有两次握手的话,小美就永远不会知道小明的本性!
​扯回到我们要聊的三次握手上面来,各位对这个”三“应该有了更清新脱俗的理解了吧!​要是没有第三次握手,小美就不知道小明收到消息没,一直会追问小明,不知道小明是否收到了消息。所以两次握手是不具备可靠性的,他只能确认客户端的发送能力,并不能知道接受能力是否是好的。

总结

​ 所以我觉得为什么是三次,主要是有两个最主要的原理!

  1. 确认客户端和服务端的发送和接收能力正常
  2. 避免资源浪费
  3. 至于为什么不是4次,因为三次是能建立可靠连接的最少握手次数,你当然可以说4次,你也可以说的更多,100次,10000次…没有意义。因为我们追求的是最少次数就可以建立最稳定的连接。

突发奇想写的一些东西,感觉内容不是很完善,其中也有不准确和要补充的地方,欢迎各位大佬补充和指正。0v0

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值