序列号: Seq 序列号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记
确认序列: Ack 序号,占32位,只有ACK标志位为1时,确认序列号字段才有效,ACK = seq + 1
标志位: 共有6个分别是,URG, ACK, PSH, RST, SYN, FIN 等
URG, 紧急指针有效
ACK 确认序号有效
PSH 接收方应该尽快将这个报文交给应用层
RST 重置连接
SYN 发起一个新的连接
FIN 释放一个连接
三次握手过程
所谓三次握手,即建立TCP连接,就是指建立TCP连接时,需要客户端和服务器总共发送3个包以确认连接的建立,在socket变成中,有connect来触发
客户端发起,发送 SYN = 1 Seq = j
服务端回报, SYN= 1 ACK= 1 Ack = Seq + 1 seq=K
客户端再回报 ACK=1 ack = K+1
当服务端收到SYN 并发送SYN 请求后,建立了半链接,如果此时大量的客户端发送SYN包的话,可以造成DDOS攻击
4次挥手过程
所谓四次挥手,即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开,在socket中,有close来触发
客户端先发送一个: FIN m
服务端 ack m + 1
服务端再发送一个 fin N
客户端再确认 ack= n+1 ACK=1