跳到主要内容

主机 A 和主机 B 已建立 TCP 连接。已知 B 已接收到 A 端序号为下列范围的报文段:100—199、200—299、300—399、500—599,当 B 收到 600—699 的报文段时,B 发送的确认报文段的确认号字段的值为 700 ?

参考答案:

在TCP协议中,确认号(Acknowledgment Number)是TCP接收端用来告诉发送端下一个期望接收的字节的序号。确认号并不是指已经收到的最后一个字节的下一个字节,而是指下一个期望收到的字节。

现在,我们来看主机B的情况。根据题目描述,主机B已经接收到了序号范围为100—199、200—299、300—399、500—599的报文段。接下来,当B收到600—699的报文段时,我们需要确定B发送的确认报文段的确认号字段的值。

因为B已经接收到了序号直到599的报文段,那么下一个期望接收的字节序号应该是600。但是,由于TCP的确认机制是累计的,并且确认的是下一个期望接收的字节序号,所以当B收到600—699的报文段时,它会发送一个确认报文段,其中的确认号字段的值应该是下一个期望接收的字节序号,即700。

因此,答案是:当B收到600—699的报文段时,B发送的确认报文段的确认号字段的值为700。这个结论是基于TCP协议中确认号字段的定义和工作原理得出的。