TCP三次握手和四次挥手
&esmp; 作为技术岗人员,那么面试一定会遇到这样高频面试题,怎样理解TCP三次握手和四次挥手问题呢?
今天就让我们深入剖析这个问题。
文章参考于力扣大佬总结的知识点,原文在这里
1.TCP三次握手过程和状态转换过程
TCP的连接建立
使用TCP前必须先建立,正常情况下,TCP需要经历三次握手建立连接
服务端:
- 【CLOSED->LISTEN】开始时,客户端和服务端都处于
CLOSED
状态,服务端调用listen,处于LISTEN
状态,等待客户端连接; - 【LISTEN->SYN_RCVD】监听到连接请求
SYN
后,就将连接放入内核等待队列当中,并向客户端发送SYN
确认报文; - 【SYN_RCVD->ESTABLISHED】服务端收到客户端的确认报文,就进入
ESTABLISHED
状态可以发送数据;
客户端:
- 【CLOSED->SYS_SENT】客户端调用connect,发送同步报文段
SYN
; - 【SYS_SENT->ESTABLISHED】connect调用成功,进入
ESTABLISHED
状态,可以发送数据;
2.查看TCP状态的方法
Linux下查看TCP状态命令为:netstat -napt