假设此前发送的数据报已正确接收,主机A向主机B连续发送了两个TCP报文段,其序号分别是70和100。试问:
主机B收到第二个报文段后发回的确认中的确认号是180,试问A发送的第二个报文段中的数据有多少个字节?
【正确答案】:
A发送的第二个报文段后的数据长度为:179-100+1=80(字节)。
【题目解析】:
TCP的序号是对每个应用层数据的每个字节进行编号,因此每个TCP报文段的序号是该段所封装的应用层数据的第一个字节的序号。确认序号是期望从对方接收数据的字节序号,即该序号对应的字节尚未收到,该序号之前的字节已全部正确接收,也就是说,TCP采用累积确认机制。将已连续接收到的应用层数据的最后一个字节的序号加1,作为确认序号,向发送方发送确认段。第二个报文段最后一个字节是确认序号减1为179,已知第二个报文段的第一个字节的序号是100,故长度是179-100+1=80个字节。