前言
网络协议TCP恐怕大家再熟悉不过了,我举手,我知道,三次握手,四次挥手,面试问这个简直不要太多,可是很多人总是说不清楚,或者明明知道,但是不知道怎么形象的来表达出来,心里那个着急呀。。。
正文
这能不着急么,我就想看看到底是怎样的另类解析,如果说的不好,提着手上的40米长刀就是一顿砍。。。兄爹,憋冲动。。。接下来娓娓道来,先上两张正常的图吧(图片来自网上,如若侵权,请联系删除)
好,本篇到此结束。。。逗你玩呢
怎么可能,说好的另类解释,怎能辜负,上面的两张图其实已经能够说明问题了,但是看到这些花里胡哨的,总是让人丈二和尚摸不着头脑,接下来就用我的场景跟大家说说,赶紧搬起小板凳,看好戏。。。那是一个月黑风高的夜晚。。。哎。。。画风不对呀。。。
好好,正经说,前面正好说到了这个是面试常问题的题目,那么以面试的场景来说下三次握手吧,TCP连接其实是一个虚拟连接,那符合场景的面试应该电话面试。。。电话通了。。。
面试官:你好,我是xxx公司的面试官,请问现在方便接受面试么?(第一次握手)
小驰:可以的,现在很方便(第二次握手)
面试官:ok,接下来我们开始咯(第三次握手)
面试官:火箭的建造原理知道么?
小驰:what?面试造火箭???
看了上面的一段对话是不是似曾相识,好了不扯淡了,上面的面试官就好比是客户端,小驰好比是服务端(怎么样,小驰的逼格一下子就上去了哈),面试先问小驰可方便面试,是输出,等到小驰回复方便,就是输入,其实第二次握手之后对于面试官来说输入和输出都没有问题了,但是对于小驰来说,他回复了方便,是输出,但是他并不知道面试官可听到这个信息了,等到面试官回答ok之后(第三次握手),小驰才能确定自己的输入和输出都没有问题,接下来才能正常的面试(数据传输)。看了这个解释,我们不仅会想其实三次挥手的三是最小值而已,也可以四次、五次、六次。。。只不过浪费资源罢了。。。没必要。。。
终于小驰的一通火箭造完了,如愿以偿的进入了xxx公司,一个月之后,小驰不干了,说什么面试造火箭,进来拧螺丝,于是提出了辞职,下面是hr小姐姐找他的谈话
hr小姐姐:小驰,不想干了,走之前可要把工作交接好,才能放你走(第一次挥手)
小驰:好的,我明白(第二次挥手)
小驰(三天后):我的工作都交接好了(第三次挥手)
hr小姐姐:ok,那你可以滚了。。。(第四次挥手)
小驰:。。。
看了上面的一段对话忽然想到真是人走茶凉呀,还是说说四次挥手吧,其实四次挥手的道理都是一样的,但是多了一次,为啥呢,没有办法,来的时候可以说来就来,因为是个新人,走的时候手里的任务总得缓冲一下吧,所以小驰先回复的hr小姐姐好的,紧接着交接完手头的工作,又回复hr小姐姐工作都交接好了,这个时候hr小姐姐才同意小驰滚蛋的,没有收到小驰第二次回复的信息,是绝对不会同意他滚蛋的,不然留下一手的坑谁来填。按照上面的思路我们可以知道挥手也可以是五次、六次、七次。。。只不过四次是最节省资源的。
后记
不知道,这样说下来大家对TCP的三次握手和四次挥手是否已经了解了,如果想了解更多的知识,请关注下面的公众号,我是驰说,人狠话也多。