该题发送时延为什么要乘八

img

img


上面是写的答案,下面是写的我认为的发送时延,主机A算上八个路由器,一共是发送九次,所以乘九,那括号内的八又是从何而来呢?求解惑

单位换算,1B等于8b,一个字节等于8位是所以乘8

一共是发送9次没错
问题是如果A直连B的话,还有排队等待时延吗
换句话说,就是A往路由器发的时候也有时延吗

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/877535
  • 除此之外, 这篇博客: 快手工程笔试题A卷 部分知识点总结中的 网络层协议: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 1、网际协议IP、

    2、Internet互联网控制报文协议ICMP、

    3、Internet组织管理协议IGMP、

    4、地址解析协议ARP。

    路由器会根据下IP协议的包头信息来转发数据包,因为路由器属于网络层器件,跟IP协议有关;

    互联网控制消息协议(英语:Internet Control Message Protocol,缩写:ICMP)是互联网协议族的核心协议之一。它用于TCP/IP网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈,通过这些信息,使管理者可以对所发生的问题作出诊断,然后采取适当的措施解决

  • 以下回答由chatgpt基于相关博客总结生成:

    答案:

    发送时延为数据从发送方传输到接收方的时间延迟,包括数据经过每个中间路由器所需的时间,以及在路由器缓存中排队等待传输所需的时间。计算该题的发送时延需要乘以八是因为经过八个路由器,每个路由器都需要一定的时间用于处理和传输数据包。这里要注意的是,对于计算传输时延,需要考虑的是所有传输过程的时间,而不仅仅是路由器的数量,所以总的发送次数要乘以九。具体来说,我们可以按照以下步骤计算:

    1. 首先需要确定数据包的大小,假设该数据包大小为M bytes,同时假设每个路由器都有一个缓存队列,队列的大小为K bytes。

    2. 在数据传输过程中,每个路由器需要将数据包从输入端口传输到输出端口。此外,如果该路由器的缓存队列已满,则该数据包需要在队列中排队等待传输。因此,每个路由器的传输时间包括两部分:输入时间和输出时间。其中,输入时间为数据包从输入端口进入缓存队列的时间,即输入缓存时间;输出时间为数据包从缓存队列输出到输出端口的时间,即输出缓存时间。

    3. 假设输入缓存时间为T1,输出缓存时间为T2,则单个路由器的传输时间为T = T1 + T2,其中T1和T2可以用以下公式计算:

    T1 = M / bandwidth # 带宽为数据包从输入端口到缓存队列的传输速度 T2 = (K - M) / bandwidth + (M / link_speed) # link_speed为从缓存队列到输出端口的传输速度

    1. 因为数据包需要经过8个路由器,所以总的传输时间为8T。

    2. 最后,我们还需要考虑数据在发送方和接收方之间传输的时间,即传输延迟。传输延迟包括传输时间和排队等待传输的时间,可以通过以下公式计算:

    D = L / bandwidth + q / link_speed # L为数据包的大小,q为排队等待传输的时间

    1. 将传输延迟与8个路由器的传输时间相加,即可计算出总的发送时延。因此,总的发送时延为:

    total_delay = D + 8T

    需要注意的是,在计算传输时间和传输延迟时需要考虑带宽和传输速度等因素,这些因素都会对数据包的传输产生影响。此外,在具体的实现过程中,还需要考虑路由器之间的连接方式、数据包的优先级等因素,以便更加准确地计算出发送时延。如果在具体操作中需要更多帮助,可以结合参考资料进一步了解。