TCP的三次握手和四次握手

 

TCP的三次握手和四次握手

***seq:记录数据段的顺序,为报文段的第一个字节的数据编号,由本地随机产生。

确认号ack:期望收到对方下一个报文段的第一个数据字节的编号。

同步SYN:链接建立时用于同步序号。

确认ACK:确认字段,ACK=1时,确认字段才有效

终止FIN:用于释放一个链接

 

TCP的三次握手和四次握手

三次握手的步骤:

1.客户端A请求链接,设SYN=1,seq = x;

2.服务器端回复连接请求,设置SYN=1,ACK=1,seq=y,ack=x+1;

3.客户端再回复,设置ACK=1,seq=x+1,ack=y+1

TCP的三次握手和四次握手

四次握手的步骤及状态:

1.客户端A发送连接释放报文,并停止发送数据。设置FIN=1,seq=u,此时,客户端进入FIN_WAIT1状态

2.服务器端发出确认报文,设置ACK=1,seq=v,ack = u+1,此时服务器端进入CLOSE_WAIT状态,此时服务器端还可以向客户端发送数据。

3.客户端收到确认报文后,进入FIN_WAIT2状态,此时连接处于半关闭状态。

4.服务器端发送完数据后,服务器端发送连接释放报文,设置FIN=1,ACK=1,seq = w,ack = u+1

5.客户端在收到报文后,进入TIME_WAIT状态,并发送确认报文,设置ACK=1,seq = u+1,ack = w+1

6.服务器端收到报文后,进入CLOSE状态