三次握手
建立连接只能从客户端发起
1、客户端发送连接请求报文段(同步位SYN = 1),序号 seq = x;
2、服务端发送连接确认报文段(同步位SYN = 1,确认位 ACK = 1),确认号 ack = x+1,序号 seq = y;
3、客服端发送ACK确认报文(同步位SYN= 0,确认位ACK = 1),确认号 ack = x+1,序号 seq = x+1。
四次挥手
释放连接既可以客户端发起,也可以服务端发起
(假设是客户端发起的)
1、客户端发送连接释放报文(FIN = 1),序号 seq = u;
2、服务端发送确认报文(ACK = 1),序号 seq = w,确认号 ack = u+1;(此时客户端处于半关闭状态)
3、服务端发送连接释放报文(FIN = 1),序号 seq = v,确认号 ack = u+1;
4、客户端发送确认报文(ACK = 1),序号 seq = u+1,确认号 ack = v+1。