首页 > 试题广场 >

主机 A 向主机 B 连续发送了两个 TCP 报文段,其序号

[单选题]

主机 A 向主机 B 连续发送了两个 TCP 报文段,其序号分包是 70 100 ,如果 A 发送的第一个报文段丢失了,但第二个报文段达到了 B B 在第二个报文段到达后向 A 发送确认,那么这个确认号是多少?

  • 100
  • 101
  • 70
  • 71
答案是70,确认号指的是接收方想要接收的报文段的序号,比如我想要1-5的报文,
在接收过程中我收到了2-5,而1丢了,这时候我肯定跟你说,再发一遍1,就是这个意思。
在这里序号70的丢了,所以确认号就是70,和后面的没关系。

发表于 2017-08-14 14:38:42 回复(5)
    答案为70,收发两端各有两个字节流,TCP报文的序列号可以看作向对方发送字节流的起始位置,确认号可以看作他确认对方当前序号之前的字节已经全部接收。这道题是发端同时发送序号从70到99的字节流和从100到100+n的字节流,而收端只接受到了100到100+n的字节流,所以确认号是70,意思是我确认70之前的接收到了,而发端遇到这种情况会重发70到99的字节流(选择重传)或重发70到99以及100到100+n的字节流(退后n帧)。
发表于 2017-04-25 17:05:26 回复(3)
在这里,确认号是服务器期望收到的下一个报文序列号,所以是100+1=101
发表于 2016-12-30 19:32:54 回复(1)
答案错了,由于第一个没收到。确认序列号为70.
发表于 2017-02-13 16:17:39 回复(1)
tcp在没接收到完整的报文,会要求服务器从丢失的那个报文开始重发之后的所有报文
发表于 2022-04-05 07:06:26 回复(0)
序列号代表的是发送端发送字节流的起始位置,当接收方收到某个序列号时,说明这个序列号之前的字节流已经全部收到
发表于 2020-12-03 17:37:59 回复(0)
当TCP接收方收到一个具有这样序号的报文段时,即其序号大于下一个所期望的、按序的报文段,它检测到了数据中的一个间隔。因为TCP不使用否定确认,所以接收方不能向发送方发回一个显式的否定确认。相反,它只能对已经接收到的最后一个字节数据进行重复确认
发表于 2017-08-01 15:24:42 回复(0)
答案为70,收发两端各有两个字节流,TCP报文的序列号可以看作向对方发送字节流的起始位置,确认号可以看作他确认对方当前序号之前的字节已经全部接收。这道题是发端同时发送序号从70到99的字节流和从100到100+n的字节流,而收端只接受到了100到100+n的字节流,所以确认号是70,意思是我确认70之前的接收到了,而发端遇到这种情况会重发70到99的字节流(选择重传)或重发70到99以及100到100+n的字节流(退后n帧)。
发表于 2022-12-01 00:37:49 回复(0)
B发来的确认号是希望A接下来发送的序号
发表于 2021-12-10 16:55:58 回复(0)
TCP有重传机制,当接收方没有收到完整数据时,会要求发送方重新发。
发表于 2020-08-18 20:34:09 回复(0)
快重传吧,发三次70

发表于 2020-07-06 16:51:49 回复(0)
还是很懵逼,第一个报文没收到不应该等会会重发吗,第二个报文我记得是可以选择性接收SACK
发表于 2020-03-19 19:35:31 回复(0)
这道题的正确答案应该是101吧
发表于 2017-08-17 21:56:43 回复(0)
这道题目我觉得应该选D,ack = seq + 1 = 70 + 1 = 71
发表于 2017-04-26 21:03:56 回复(1)
答案不对。选项也没一个对的。第一个报文没到,明显要确认70,要求客户端重发70.
发表于 2017-03-15 12:39:05 回复(0)