面试官:tcp三次握手能不能改为两次?
答:不能,能改早改了,下一题。
面试官:分析的不错,了不起了不起,您是出于什么原因而去了解学习这种与实际工作并没什么关系的知识呢。
答:因为面试会被问。
面试官:好,好,辛苦了,给您暂定级p40pro。
tcp链接三次握手是确认双方通信状态的
- 客户端发送正常
- 服务端接收正常
- 服务端发送正常
- 客户端接收正常
- 第一次握手:client发送:你好,server
- server收到了client请求
- server知道了
- 客户端发送正常
- 服务端接收正常
- 服务端发送正常
- 客户端接收正常
- client知道了(什么也不知道)
- 客户端发送正常
- 服务端接收正常
- 服务端发送正常
- 客户端接收正常
- server知道了
- server收到了client请求
- 第二次握手:server发送:你好,client
- client收到了server的请求
- server知道了(状态不变)
- 客户端发送正常
- 服务端接收正常
- 服务端发送正常
- 客户端接收正常
- client知道了(知道全部通信状态了)
- 客户端发送正常
- 服务端接收正常
- 服务端发送正常
- 客户端接收正常
- server知道了(状态不变)
- client收到了server的请求
- 第三次握手:client发送:你好,server
- server收到了client的请求
- server知道了
- 客户端发送正常
- 服务端接收正常
- 服务端发送正常
- 客户端接收正常
- client知道了
- 客户端发送正常
- 服务端接收正常
- 服务端发送正常
- 客户端接收正常
- server知道了
- server收到了client的请求
为什么这种八股文会频繁的出现在面试中呢
TCP展开是一个很大的面板,知道的可以滔滔不绝的介绍,不知道的也能说出个一二。大部分人被企业聘去也并不是去设计通信协议,而是产品系统开发设计,关键是抽象能力,把TCP三次握手从复杂的脉络中抽象出最主要的去介绍,抽象能力,这是软件开发人员要求的最重要的能力。