Networking 如何从延迟和带宽计算数据包时间

Networking 如何从延迟和带宽计算数据包时间,networking,communication,latency,switching,packets,Networking,Communication,Latency,Switching,Packets,我有一个主机和交换机之间的链接 链路具有带宽和延迟。如何计算2个数据包(大小为1KB)从主机A传输到交换机1的时间 这是图表(我说的是第一个链接) 注:我只想手动计算这些值,我想知道计算这些问题的原则/法则 Propagation time = (Frame Serialization Time) + (Link Media Delay) + (Queueing Delay) +

我有一个主机和交换机之间的链接

链路具有带宽和延迟。如何计算2个数据包(大小为1KB)从主机A传输到交换机1的时间

这是图表(我说的是第一个链接)

注:我只想手动计算这些值,我想知道计算这些问题的原则/法则

Propagation time = (Frame Serialization Time) 
                  + (Link Media Delay) 
                  + (Queueing Delay) 
                  + (Node Processing Delay - if known)
公式:
  • 帧序列化时间=S/R
  • 链路媒体延迟=D/p
  • 排队延迟=Q/R
  • 通常指定或测量节点处理延迟
可变解码器:
  • R:链路数据速率(位/秒)
  • S:数据包大小(位)
  • D:链路距离(米)
  • P处理延迟(秒)
  • p:中等传播速度(米/秒)
    • 铜的速度为210*10**6
    • 光纤中的速度为300*10**6
  • Q:队列深度(位);注意:如果链路不拥挤,则没有队列深度
适用于您的问题:

我将仅计算主机A和交换机1之间链路的信息:


大致来说,公式是:

LATENCY + SIZE / THROUGHPUT<br>
In your example:<br>
LATENCY = 40ms = 0.04<br>
SIZE = 1000*2<br>
THGOUGHPUT = 2Mbps = 250,000 Bytes/second<br>
延迟+大小/吞吐量
在您的示例中:
延迟=40ms=0.04
尺寸=1000*2
THGOUGHPUT=2Mbps=250000字节/秒
底线:

0.04 + 2000 / 250000 = 0.048 = 48ms<br>
0.04+2000/250000=0.048=48ms
请注意,我将所有单位转换为字节和秒,因此计算是有意义的。

这对于大数据包更准确。对于小数据包,实数更大。

您想用什么技术堆栈或语言?我只想手动计算这些值,我想知道计算这些问题的原理/定律,但我没有这些parameters@MhdSyrwan,您没有哪些参数?排队延迟?处理延迟与处理延迟属于同一类别。如果您没有参数,请将公式中的值设为零。我可以将给定的延迟放在哪里?这是链路媒体延迟吗?为什么我们要简单地将节点处理延迟添加到总时间中?假设文件非常大,甚至是一个数据流,我们不能假设路径中有任何缓冲区,发送方只能以min(链接数据速率、节点处理速率)的速率发送。@MikePennington是否有与您的答案相关的研究论文?我需要在我的工作中加入这个公式的引用。请在这方面提供帮助。所以您使用带宽作为吞吐量?@MhdSyrwan,使用此答案的风险由您自己承担。它不考虑帧序列化时间。但我没有链接数据速率,如何计算它?我的答案确实非常简单,没有考虑所有因素。它对于大帧应该是相当准确的,但对于小帧则过于乐观了。@MikePennington,我知道字节数=位。这就是为什么2Mbps=250000字节/秒。在进行计算之前,必须将所有内容都转换为通用单位,因此我选择使用字节和秒。
0.04 + 2000 / 250000 = 0.048 = 48ms<br>