tcp三次握手我感觉和hashMap是属于一个性质的烂大街问题,如果问到你数据结构就绕不开hashMap,问到你网络协议就绕不开三次握手,因为大部分面试官可能也就只懂这两个或者说只知道这两个的所谓的答案。
关于tcp三次握手的原因网上有很多人有很多说法,我考虑来考虑去加上自我的一点理解,我认为是双方各自要一次请求和一次回复,第二次握手是服务端的请求和回复放在一起。
用我自己想的一个奇怪的场景就是:
A:吃饭吗?
B:吃,几点?
A:5点。
第一次提问就是所谓的seq=x
第二次回复的吃就是所谓的ack=x+1,几点就是seq=y
第三次回复的5点就是ack=y+1。
那么为什么不能两次握手,很简单,因为不知道几点吃饭。
个人的一点奇怪的解读方式,读者当个段子就好了,实际原因还要自行体会。