【运维面试】面试官问到tcp/ip三次握手,四次挥手,这么回答就对了

我之前面试过很多运维人员,每次都绕不开tcp/ip三次握手,四次挥手;
面试者的回答也是八仙过海各显神通

有讲故事的,有画图的,有把自己讲晕了的;

那这个该怎么回答呢?

我总结下来可以这么来说:
三次握手:
第一次握手是客户端为了建立连接,客户端发送SYN报文,且seq设置为零,并进入SYN_SEDN状态,等待服务器确认

第二次握手是服务器端对收到的SYN报文进行确认,同时发送ACK响应报文,且响应报文的ACK设置为1. 服务器端也需要发送SYN请求,SYN同样设置为0进行发送。 服务器这时候进入SYN_RECV状态

第三次握手是客户端收到了服务器端发来的ack和SYN, 确认完了之后将seq设置为1,ack设置为1, 向服务器发送ACK报文,这个报文发送完毕后,客户端和服务器端就都进入了ESTABLISHED状态,完成了三次握手

四次挥手的过程:

四次挥手也是客户端开始的

第一次挥手是客户端向服务器发送一个FIN报文段,将seq设置为160,ack设置为112, 此时客户端进入FIN_WAIT_1状态,表示客户单没有数据要发送了,请求关闭连接

第二次是服务器端收到了客户端发来的FIN报文,并向客户端回一个ACK报文,ack设置为1,seq设置为112; 服务器进入CLOSE_WAIT状态,客户端收到服务器返回的ACK报文后,进入FIN_WAIT_2状态

第三次挥手,服务器会观察自己是否还有数据没有发送给客户端的,如果没有,就发送FIN报文给客户端,请求关闭连

上一篇:遇到问题之-一次SYN***之战之Linux如何防SYN***


下一篇:微信小程序之一:动态添加view(view包含picker,input)