【发布时间】:2017-03-26 02:06:25
【问题描述】:
我应该在Stop-and-wait协议中模拟10^-2的丢包率,即0.01,这意味着传输的100个数据包中有1个会丢失。假设我要发送 1000 个数据包,如何在整个传输过程中发送的 100 个数据包中准确丢弃 1 个随机数据包?
【问题讨论】:
标签: python random packet-loss
我应该在Stop-and-wait协议中模拟10^-2的丢包率,即0.01,这意味着传输的100个数据包中有1个会丢失。假设我要发送 1000 个数据包,如何在整个传输过程中发送的 100 个数据包中准确丢弃 1 个随机数据包?
【问题讨论】:
标签: python random packet-loss
速率为 0.01 并不意味着每 100 个数据包中就有 1 个被丢弃。这意味着每个数据包有 1% 的丢失机会。在丢包相互独立的假设下,丢包的实际数量将遵循binomial distribution。
对于您生成的每个数据包,检查随机 Uniform(0,1) 是否小于或等于损失比例p,在您的情况下为 0.01。如果是,则该数据包丢失,否则它通过。如果您增加或减少数据包总数N,则此方法会扩展。预期的损失数将是N * p,但如果您多次重复实验,则会存在可变性。
【讨论】: