TCP的连接建立
1.客户端发送连接请求报文段,无应用层数据,只是用来请求;
SYN=1,Seq=x(随机)
2.服务端为该TCP连接分配缓存和变量,并向客户端返回确认报文段,允许连接,无应用层数据;
SYN=1,ACK=1,Seq=y(随机),ack=x+1
3.客户端为该TCP连接分配缓存和变量,并向服务器端返回确认的确认,可以携带数据;
SYN=0,ACK=1,seq=x+1,ack=y+1
TCP的连接释放
tcp连接的两个进程的任意一个都能终止该连接。
1.客户端发送连接释放报文段,停止发送数据,主动关闭TCP连接。
FIN=1,,seq=u
2.服务器端回送一个确认报文段,客户到服务器这个方向的连接就释放了——半关闭状态(只是客户停止发数据)。
ACK=1,seq=v,ack=u+1
3.服务端发完数据,就发出连接释放报文段,主动关闭TCP连接。
FIN=1,ACK=1,seq=w,ack=u+1
4.客户端回送一个确认报文段,再等到时间等待计时器设置的2MSL(最长报文段寿命)后,连续彻底关闭。
ACK=1,seq=u+1,ack=w+1