【运维面试】面试官问到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报文给客户端,请求关闭连
文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。
原文链接:zmedu.blog.csdn.net/article/details/115875414
- 点赞
- 收藏
- 关注作者
评论(0)