首先先看下TCP的报头格式
发现在中间有一个6位的标志位(红色标出)
标志位字段 | 含义 |
---|---|
URG | 紧急指针是否有效;置为1表示要优先处理 |
ACK | 确认号是否有效;设为1表示为确认应答报文(通常情况下会设为1,但是第一次的TCP不会设为1) |
PSH | 提示接收端应用程序立刻从TCP缓冲区把数据读走(若接收端缓冲区数据长时间未处理,那么发送端将强制将数据交付) |
RST | 复位报文段,对方要求重新建立连接;置为1表示要复位 |
SYN | 同步报文段,请求建立连接;置为1表示连接请求报文,其他类型置为0 |
FIN | 结束报文,通知对方,本端要关闭了(是根据五元组(源IP,目的IP,源端口号,目的端口号,协议号)进行关闭) |
TCP建立连接和断开连接流程
1 三次握手
1.1 三次握手过程
首先服务端和客户端都处于CLOSED状态
1.1.1 第一次握手
客户端:客户端发送请求建立连接,想要请求连接,需要发送S