数据包注入率(Packet/Cycle/Router)怎么定义的

测试片上网络平均延迟的时候,数据包注入率(Packet/Cycle/Router)怎么算,如果固定一个一周期发送一个微片,一个数据包由头微片、尾微片构成,发送一个数据包至少3个周期,那注入率是0.1的时候是每节点每10个周期发送一个包,那注入率是0.5的时候,每节点每周期发5个包,平均一个包两个周期,而一个数据包至少三个周期,这不是有矛盾吗,所以注入率究竟是怎么算的

我将问题具体化一下:例如我现在一个数据包有6个微片,每发送一个微片需要一个周期,注入率为0.2的时候,每10个周期发送2个数据包,而两个数据包占用的周期为12,已经超过10了,在实际注入时,应该怎么注入数据? 另外,我在拓扑结构中采用的是握手协议,只有下一跳准备好才会注入数据包,很难把控注入数据包的时间,这应该怎么办?

下图是别人论文里的注入率

img

数据包注入率(Packet/Cycle/Router)一般指的是每个路由器在一个时钟周期内能够注入的数据包数。在网络测试中,通常是将不同的数据包注入率应用于网络中的路由器,来测试网络的性能表现。在你的情况下,如果假设一个数据包由头微片和尾微片构成,每个微片都需要一个周期发送,那么一个数据包至少需要2个周期。如果将数据包注入率定义为每个节点在一个时钟周期内可以发送的数据包数,那么在注入率为0.1的情况下,每个节点每10个周期发送一个数据包;而在注入率为0.5的情况下,每个节点每个周期发送5个数据包,平均每个数据包需要2个周期发送。

数据包注入率(Packet/Cycle/Router)通常定义为单位时间内每个路由器(或交换机)收到的数据包数量。在测试片上网络平均延迟时,可以将注入率定义为发送到网络的数据包数量与网络周期数之比。

在你的例子中,如果假设每个周期只发送一个微片,并且数据包由3个微片组成,那么注入率0.1表示在10个周期内共有1个数据包被发送到网络。而注入率0.5表示每个周期内有5个数据包被发送到网络。因此,注入率不会影响数据包的构成和传输所需的最小周期数,但是它会影响在单位时间内网络中数据包的数量。

数据包注入率(Packet/Cycle/Router)是指每个节点每个周期发送的数据包数量,而不是每个数据包发送的周期数量。因此,当注入率为0.1时,每个节点每10个周期发送一个数据包;当注入率为0.5时,每个节点每周期发送5个数据包。

以下答案基于ChatGPT与GISer Liu编写:

数据包注入率(Packet/Cycle/Router)是指在单位时间内,每个路由器平均注入多少个数据包。通常用以下公式计算:

Packet/Cycle/Router = Number of Packets Injected / Number of Cycles / Number of Routers

其中,Number of Packets Injected表示注入的数据包总数,Number of Cycles表示总周期数,Number of Routers表示路由器的数量。

对于你提到的固定一个周期发送一个微片,一个数据包由头微片、尾微片构成,发送一个数据包至少3个周期的情况,如果注入率是0.1,每个节点每10个周期才注入一个数据包,那么平均每个周期只有0.1个数据包被注入。如果注入率是0.5,每个节点每个周期注入5个数据包,那么平均每个周期有2.5个数据包被注入。这个注入率指的是在单位时间内平均注入的数据包数量,具体周期的长度和数据包的构成方式并不影响这个定义。

在当前的情况下,可以采用分片方案来解决这个问题。具体做法是将一个数据包拆分成多个小片段,然后逐个发送。比如,当你有6个微片段时,你可以把它们拆分成3组,每组2个微片段,然后每10个周期发送一组2个微片段的数据包,最后把它们在接收端重新组装起来,即可实现高注入率的目的。

此外,也可以使用一些负载均衡的算法来优化数据的注入,比如可以使用轮询算法或者其他类似的算法,将数据平均分配给多个下一跳,从而减少数据注入的时间。