模擬單一大網路延遲和資料包突發

模擬單一大網路延遲和資料包突發

我正在測試 Opus 編解碼器和使用它的 VoIP 堆疊。我有綜合測試實用程序,它在環回介面上的兩個連接埠之間發送內部 Opus RTP 流量,並將生成的音訊寫入檔案以進行進一步分析。

使用 Linux 'tc' 實用程式我可以模擬各種網路障礙。

然而,我堅持模擬「突然的網路滯後」之類的事情。抱歉我的英文不好!

這看起來應該像網路停止 1 秒,然後所有延遲的資料包都盡快發送到目標。

是否可以使用“tc”實用程式來實現?

我嘗試在綜合測試過程中運行“tc”命令使延遲1000ms;但它沒有給我想要的效果。

有人可以給建議嗎?

謝謝 :)

答案1

這看起來應該像網路停止 1 秒,然後所有延遲的資料包都盡快發送到目標。

這實際上是可能的......來自man tc:

內特姆
網路模擬器是 Linux 流量控制工具的增強,允許為從選定網路介面傳出的封包添加延遲、封包遺失、重複和更多其他特徵。

……以及來自man tc-netem:

投幣口
延遲將累積的資料包傳送到一個時隙內。每個可用時隙都可以配置獲取的最小延遲和可選的最大延遲。

……所以,你可以這樣做:

sudo tc qdisc add dev interface root netem slot 1000ms 1000ms

....interface您想要的網路介面名稱在哪裡,如 的輸出所示ip a

這將保留指定介面上所有傳輸的資料包1000ms,然後立即釋放它們(突然)。

注意delay另一方面,這將為1000ms指定介面上傳輸的每個資料包增加 的延遲。

相關內容