生成数据包中所有位所需的时间...为什么数据包大小除以数据大小?

时间:2018-10-09 11:24:01

标签: network-programming

我正在学习数据包交换系统并试图了解此问题 从一本教科书中。这大约是生成数据包中所有位所需的时间。到目前为止,我们了解到的是计算延迟时间,该延迟时间是在制作数据包后发生的,因此使制作数据包的时间感觉很新。谁能帮助我理解为什么他们在解决方案中将数据包大小除以数据大小?

信息) “主机A在主机上将模拟语音转换为数字64 kpbs位流 飞。 然后,主机A将这些位分组为56 byte个数据包。”

回答)56*8 / 64*1000 = 7msec

1 个答案:

答案 0 :(得分:0)

他们正在计算生成数据包中所有位所需的时间

每个新位都添加到数据包中,直到数据包已满。满包 然后将按其方式发送,并且将创建一个新的空数据包来保存 下一组位。一旦填满,它也将被发送。

这意味着每个数据包将包含从全新的比特到 一直等待约7ms的位。 (最古老的年龄段 数据包很重要,因为它有助于观察到的延迟 应用程序。)

您的位正在流中创建,固定速率为每位64 * 1000位 第二。一秒钟内将产生64,000位。因此,一位是 每1 / 64,000 = 0.016毫秒生成一次。

这些位被组装成数据包,其中每个数据包都包含 56 * 8位。如果每个位花费0.016毫秒来创建,那么所有56 * 8位 将在大约7毫秒内创建。

我喜欢通过查看单位(位/秒)来检查这种公式。

56 * 8位/ 0.007秒= 66,286位/秒,大约是您的比特率。

如果BITRATE = BITS / BITRATE,那么用简单的代数,SECONDS = BITS / BITRATE