【问题标题】:Packet Loss ratio in VEINS/Omnet++VEINS/Omnet++ 中的丢包率
【发布时间】:2017-10-25 02:50:27
【问题描述】:

我是 VEINS/Omnet++ 的新手,正在尝试各种广播抑制技术,想计算丢包率。我想我必须使用这个公式:

丢包率 = TotalLostPackets / SentPackets

但是由于某些节点发送 0 个数据包,有没有一种简单的方法可以在 Omnet++ .anf 配置文件中指定它,或者在 VEINS 中指定它而无需手动调整?否则,如果任何节点发送一个 0 数据包,则所有图都显示为无穷大。

谢谢!

【问题讨论】:

    标签: networking omnet++ veins sumo


    【解决方案1】:

    这并不能直接回答您的问题,但我会警告不要在模拟中使用此等式,因为并非所有节点都可能发送相同数量的数据包或发送广播。作为广播发送的每个数据包都可能被许多其他节点接收,这意味着即使仅发送 1 个数据包的模拟也可能记录 7 次成功接收和 5 次数据包丢失。您的方程式会将损失率计算为 5/1=500%,而我会发现 5/12=42% 的损失率更合理。

    作为“失败/(成功+失败)”计算丢失率的副作用,您无需特别注意未发送/接收数据包的节点。

    【讨论】:

    • 谢谢!只是为了确认 - 在 VEINS SentPackets == 成功接收 - 正确吗?
    • 不!仅仅因为一个数据包被发送并不意味着它被成功接收。如果您想知道收到了多少数据包,请检查名称中带有“received”的指标之一。您可以在源代码github.com/sommer/veins/blob/veins-4.6/src/veins/modules/mac/…中找到概述
    • 谢谢萨默博士。我很抱歉造成混乱,但我的意思是从发件人的角度来看 SentPackets。据我了解,receivedBroadcasts 意味着该节点从其他节点接收到那么多广播,但除了 SentPackets - 我是否必须实施自定义 ack 方案才能准确计算 VEINS 中的丢包率?非常感谢你。请让我知道我是否应该将其作为一个单独的问题来解决。
    • 您可以在此处看到 SentPackets 计数器正在增加:github.com/sommer/veins/blob/veins-4.6/src/veins/modules/mac/… - 这意味着该指标计算已发送到通道的数据包数量 - 而不是成功接收的数据包数量。请注意,Veins 4.6 还会计算 MAC 层检测到但无法解码的帧数。从这个(以及检测到并成功解码 - 即接收到 - 帧的数量),您也可以计算丢失率
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多