【问题标题】:Simulate packet loss in UDP in python在python中模拟UDP中的数据包丢失
【发布时间】:2017-03-26 02:06:25
【问题描述】:

我应该在Stop-and-wait协议中模拟10^-2的丢包率,即0.01,这意味着传输的100个数据包中有1个会丢失。假设我要发送 1000 个数据包,如何在整个传输过程中发送的 100 个数据包中准确丢弃 1 个随机数据包?

【问题讨论】:

    标签: python random packet-loss


    【解决方案1】:

    速率为 0.01 并不意味着每 100 个数据包中就有 1 个被丢弃。这意味着每个数据包有 1% 的丢失机会。在丢包相互独立的假设下,丢包的实际数量将遵循binomial distribution

    对于您生成的每个数据包,检查随机 Uniform(0,1) 是否小于或等于损失比例p,在您的情况下为 0.01。如果是,则该数据包丢失,否则它通过。如果您增加或减少数据包总数N,则此方法会扩展。预期的损失数将是N * p,但如果您多次重复实验,则会存在可变性。

    【讨论】:

      猜你喜欢
      • 2015-06-30
      • 1970-01-01
      • 2016-07-04
      • 2018-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多