我应该在Stop-and-wait
协议中模拟丢包率为10 ^ -2,即0.01,这意味着传输的100个数据包中有1个会丢失。假设我正在发送1000个数据包,如何从整个传输过程中发送的100个数据包中丢弃1个随机数据包?
答案 0 :(得分:1)
速率为0.01并不意味着100个数据包中只有1个被丢弃。这意味着每个数据包丢失的可能性为1%。假设损失相互独立,实际丢失的数据包数将遵循binomial distribution。
对于您生成的每个数据包,检查随机统一(0,1)是否小于或等于损失的比例p
,在您的情况下为0.01。如果是,则该数据包丢失,否则它将通过。如果增加或减少数据包总数N
,此方法将进行扩展。预期的损失数量为N * p
,但如果您多次重复实验,则会出现变异。