TCP半关闭过程
简介
tcp半关闭是指在一端发送完数据后,关闭发送通道,而保持接收通道继续接收数据。
过程
这里设序号为Seq=x,确认号为Ack=y
- 客户端(也可以是服务端发起)发送 [FIN,ACK] 报文段,其中Seq=x,Ack=y
- 服务端返回ACK报文段,其中Seq=y,Ack=x+1
- 服务端返回数据报文段(可能会有多个)
- 客户端发送ACK报文段,其中Seq=y,ACK=x+n
- 服务端返回[FIN,ACK]报文段,其中Seq=y,ACK=x+1
- 客户端发送ACK报文段,其中Seq=y,ACK=x+1
如果你熟悉tcp四次挥手,可以发现其实就多了步骤3和步骤4。
说明
这一步主要说明一下步骤中的含义,以步骤2为例:
服务端返回ACK报文段,其中Seq=y,Ack=x+1
这里的意思是指返回的序号是客户端传来报文段中的确认号,返回的确认号是客户端传来报文段中的序号加1