希望有朋友能回答我的问题呀

主机A向主机B连续发送了两个TCP报文段,其序号(seq)分别是70和100,那么:

(1)第一个报文段携带了_个字节的数据。

(2)主机B接收到第一个报文段后发回的确认中的确认号(ack)是_。

(3)如果主机B收到第二个报文段后,发回的确认中的确认号是180,试问主机A发送的第二个报文段中的数据有_个字节。

(4)如果主机A发送的第一个报文段丢失了,但第二个报文段到达了B。B在第二个报文段到达后向A发送确认,那么该确认的确认号是_。

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7754818
  • 除此之外, 这篇博客: 《计算机网络》谢希仁第七版课后答案完整版中的 1-19 长度为100字节的应用层数据交给传输层传送,需加上20字节的TCP首部。再交给网络层传送,需加上20字节的IP首部。最后交给数据链路层的以太网传送,加上首部和尾部工18字节。试求数据的传输效率。数据的传输效率是指发送的应用层数据除以所发送的总数据(即应用数据加上各种首部和尾部的额外开销)。若应用层数据长度为1000字节,数据的传输效率是多少? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 解:(1)100/(100+20+20+18)=63.3%
    (2)1000/(1000+20+20+18)=94.5%

  • 以下回答由chatgpt基于相关博客总结生成:
    1. 第一个报文段携带了多少个字节的数据? 根据参考资料中的段落3,TCP报文段需要加上20字节的TCP首部,因此第一个报文段总共的大小应该是(70+20=90)个字节。但是,报文段实际携带的数据大小需要减去TCP头部的大小,因此第一个报文段携带的数据大小为(90-20=70)个字节。

    2. 主机B接收到第一个报文段后发回的确认中的确认号(ack)是多少? 根据TCP协议的机制,当主机B接收到第一个报文段后,应该向主机A发送一个确认报文段,这个确认报文段的ack字段应该是下一次期望接受的数据的序号,也就是71。因此,主机B接收到第一个报文段后发回的确认中的确认号(ack)应该是71。

    3. 如果主机B收到第二个报文段后,发回的确认中的确认号是180,那么主机A发送的第二个报文段中的数据有多少个字节? 根据TCP协议的机制,主机B发送确认报文段的ack字段应该是下一次期望接受的数据的序号。因此,如果主机B收到第二个报文段后发回的确认中的确认号是180,那么主机A发送的第二个报文段中的数据的序号应该是101,即第一个报文段的序号+第一个报文段携带的数据大小。而第二个报文段携带的数据大小就是第二个报文段的序号101到180之间的字节数,即(180-101=79)个字节。

    4. 如果主机A发送的第一个报文段丢失了,但第二个报文段到达了B。B在第二个报文段到达后向A发送确认,那么该确认的确认号是多少? 根据TCP协议的机制,当主机B成功接收到第二个报文段后,应该向主机A发送一个确认报文段,这个确认报文段的ack字段应该是下一次期望接受的数据的序号,也就是第二个报文段的序号+第二个报文段携带的数据大小。因为第一个报文段丢失了,所以主机A应该会重新发送第一个报文段,其序号为70。因此,第二个报文段的序号为100,携带的数据大小为79字节,所以主机B发送确认报文段的ack值应该是(100+79=179)。