TCP终止连接过程
TCP终止连接的过程需要四个过程,称为四次握手。
一:主要字段解释:
Seq:序号占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。
Ack:确认序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。
同步SYN:同步SYN=1 表示这是一个连接请求或连接接受报文。
终止FIN :用来释放 一个连接。FIN=1表明此报文段的发送端的数据已发送完毕,并要求释放传输连接。
二:四次握手过程。
数据传输结束后,通信的双方都可以释放连接。
第一次握手:现在A的应用进程先向其TCP发出连接释放报文段,并停止再发送数据,主动关闭TCP连接。A把连接释放报文段首部的FIN = 1 ,其序号seq = U,等待B的确认。
第二次握手:B发出确认,确认号ack=u+1,而这个报文段自己的序号seq = V。TCP服务器进程通知高层应用进程。从A到B这个方向的连接就释放了, TCP连接处于半关闭状态。B若发送数据, A仍要接收。
第三次握手:若B已经没有要向A发送的数据,其应用进程就通知TCP释放连接。FNI=1,seq=w,ACK=1,ack=u+1,A收到连接释放报文段后,必须发出确认。
第四次握手:A收到连接释放报文段后,必须发出确认。在确认报文段中ACK = 1 ,确认号ack=w+1,自己的序号seq= u+1。