新闻资讯

新闻资讯 媒体报道

老背题却记不住TCP为什么三次握手?

编辑:016     时间:2020-02-19

对于学习的一些思考

在计算机原理、网络、编译原理、数据结构与算法等标配计算机知识上,我们经常遇到的问题是,学了面试完就忘,下次面试又要重新“背”题,这样就会导致时间成本过大。因此这段时间肥朝也在思考如何学习这个问题。因为这些标配的知识点,往往晦涩难懂,需要一定的功力和工作年限才能做到理解性记忆。我在思考,学习知识的过程,能否也像架构演进一样,从0到1,从1到10,从10到100这样呢?具体是什么意思呢?

就像架构演进一样,我们先用最简单的单机应用快速搭建业务抢占市场,而不是一上来就直接分布式、高可用,容器化。

同理我们理解一个知识点,是不是一开始并不一定要这么权威,而是先粗略了解他的大致基本思路,等工作经验、知识体系逐步丰满完善,我们再回过头,再进一步学习,这样效果是否会更好?

回到主题

要说TCP为什么是三次握手,那么其实换个角度而言,就是要证明2次太少,4次又没必要。

所谓的三次握手,他的本质是什么?TCP是可靠传输协议,他的本质其实就是要确定客户端和服务端,他们的发送和接收能力是没有问题的。也就是客户端要考察服务端的发送和接收能力,服务端也要考察客户端的发送和接收能力。

第一次握手


肥朝小声逼逼:第一次握手服务端收到了数据包,确定了客户端的发送能力是没有问题的(如图)

第二次握手


肥朝小声逼逼:第二次握手客户端收到了数据包,这个时候,就能证明服务端的发送能力是没有问题的。但是服务端的接收能力有没有问题呢?第一次握手的时候,我们提出的问题是“怎么找到肥朝的公众号?”,收到的回答是“公众号搜索名称肥朝就可以了,你试下可以了告诉我”。回答正好是我们刚才问的,那就说明,服务端的接收能力是没有问题的(如图)

那么,回到刚开始的问题,为啥两次握手不行,因为这个时候,客户端已经确定了服务端的发送和接收能力都没有问题,但是服务端,却没有确定,客户端的接收能力,到底有没有问题。

第三次握手


肥朝小声逼逼:第三次握手,服务端收到了数据包,发现确实是刚才提问的答案,那么,就确定了客户端的接收能力是没有问题的。

再次回到刚才的问题,3次,是完成双方考察发送和接收能力的最少次数。这也就是为啥不是2次,也不是4次。


作者:肥朝
链接:https://juejin.im/post/5e4ca85ef265da572e4f2227
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

回复列表

相关推荐