如图,有如下TCP连接。主机V通过三次握手与主机U建立一个TCP连接
1.有三个TCP 段(标号为A、B、C) 被传送, 请在下面括号中填入各段的SYN标志位、序号(seq)、确认号(ack)
段A: SYN=( 1 ), seq=500
段B: SYN=( 1 ),seq=600,ack=( 501 )
段C: SYN=( 0 ),seq=( 501 ),ack=( 601 )
2.阐述关闭TCP连接的过程
1.第一次挥手:
当主机V(客户端)没有数据需要发送时,会发送一个FIN(结束)报文段给主机U(服务器),并进入FIN_WAIT1状态。这个FIN报文段中,V的序列号seq=前面已传送过的数据的最后一个字节的序号加一。
2.第二次挥手:
主机U收到V的FIN报文段后,会发送一个ACK报文段给V,并进入CLOSE_WAIT状态。这个ACK报文段中,U的ack=V的seq+1,表示对V的FIN的确认。此时,TCP连接处于半关闭状态,U可以继续发送数据给V,但V不再接收U的数据。
3.第三次挥手:
当主机U没有数据需要发送时,会发送一个FIN报文段给V(FIN=1),这个FIN报文段中,U的序列号seq也会基于之前的数据流进行增加,还必须重复上次已发送的确认号ack, 这时B就进入LAST_ACK状态。
4.第四次挥手:
主机V收到U的FIN报文段后,会发送一个ACK报文段给U(ACK=1),这个ACK报文段中,V的ack=U的seq+1,自己的序号是原来的加一,表示对U的FIN的确认。并进入TIME_WAIT状态。此时,U收到V的ACK后,会进入CLOSED状态,连接关闭。而V在TIME_WAIT状态等待一段时间后(通常是2MSL,即最长报文段寿命的两倍),也进入CLOSED状态,连接彻底关闭。
标签:seq,ACK,主机,报文,ack,详解,例题,FIN From: https://blog.csdn.net/m0_74258307/article/details/141128415