0
我應該在Stop-and-wait
協議中模擬10^-2的數據包丟失率,即0.01,這意味着100個數據包中有1個會丟失。假設我發送了1000個數據包,如何從傳輸過程中發送的100個數據包中正好丟棄1個隨機數據包?在python中模擬UDP中的數據包丟失
我應該在Stop-and-wait
協議中模擬10^-2的數據包丟失率,即0.01,這意味着100個數據包中有1個會丟失。假設我發送了1000個數據包,如何從傳輸過程中發送的100個數據包中正好丟棄1個隨機數據包?在python中模擬UDP中的數據包丟失
速率爲0.01並不意味着100個數據包中只有1個被丟棄。這意味着每個數據包有1%的機會迷路。在假設損失彼此獨立的情況下,丟失的數據包的實際數量將遵循binomial distribution。
對於您生成的每個數據包,檢查隨機均勻(0,1)是否小於或等於損失比例p
,在您的情況下爲0.01。如果是這樣,那個數據包就會丟失,否則會通過。如果您增加或減少數據包總數N
,則此方法會縮放。預計的損失數量將爲N * p
,但如果您多次重複實驗,則會出現變化。