主机甲向主机乙发送了一个 TCP 连接建立请求,主机乙给主机甲的响应报文中,标志字段正确的是( )。

2023-09-01

A.SYN=1,ACK=1,FIN=0
B.SYN=1,ACK=1,FIN=1
C.SYN=0,ACK=1,FIN=0
D.SYN=1,ACK=0,FIN=0

参考答案:A

双方通信之前均处于CLOSED状态。
1)第一次握手。
源主机发送一个同步标志位SYN=1的TCP数据段。此段中同时标明初始序号(Initial Sequence Number,ISN)。ISN是一个随时间变化的随机值,即SYN=1,SEQ=x。源主机进入SYN-SENT状态。
2)第二次握手。
目标主机接收到SYN包后发回确认数据报文。该数据报文ACK=1,同时确认序号字段表明目标主机期待收到源主机下一个数据段的序号,即ACK=x+1(表明前一个数据段已收到且没有错误)。
此外,在此段中设置SYN=1,并包含目标主机的段初始序号y,即ACK=1,确认序号ACK=x+1,SYN=1,自身序号SEQ=y。此时目标主机进入SYN-RCVD状态,源主机进入ESTABLISHED状态。
3)第三次握手。
源主机再回送一个确认数据段,同样带有递增的发送序号和确认序号(ACK=1,确认序号ACK=y+1,自身序号SEQ+1),TCP会话的三次握手完成。接下来,源主机和目标主机可以互相收发数据。