Bean Network Tester

Windows 上的 netem 與 Network Link Conditioner

Linux 上有 tc netem,Mac 上有 Network Link Conditioner。Windows 沒有任何內建工具能增加延遲和掉包。本頁把你已經熟悉的東西對應到 Bean Network Tester,並指出哪些數字不能照搬。

netem 選項逐項對照

這裡的每條指令都要加上 --target 和 --duration,否則會影響整台電腦。

netem視窗中的設定參數
delay 100msLatency--latency 100
delay 100ms 20msLatency, Jitter--latency 100 --jitter 20
loss 5%Loss--loss 5
loss 5% 25%Loss, Losses in a row (burst)--loss 5 --loss-burst 4
duplicate 1%Duplication--dup 1
corrupt 0.1%Corruption--corrupt 0.1
reorder 25%Spike chance, Spike size--spike-prob 5 --spike-ms 200
rate 1mbitDownload, Upload--down 122 --up 122
limit 1000Buffer--buffer 1000

需要注意的三點差異

方向。netem 延遲的是離開網路卡的資料,回覆則原樣返回。本工具預設擷取雙向流量,所以 --latency 100 會讓 ping 增加約 200 毫秒:去程 100,回程 100。要得到 netem 的效果,只擷取出站流量:

BeanNetworkTester.exe --filter out --latency 100 --jitter 20 --target myapp.exe --duration 120

單位。netem 的速率以位元每秒計。速度限制欄位以 KB/s 計,其中 K = 1024。百萬位元的換算如下:

netem 速率速度限制欄位,單位 KB/s
1mbit122
5mbit610
10mbit1221
50mbit6104
100mbit12207

範圍。tc 作用於整個網路介面,並且需要 root 權限。本工具用 --target 只針對一個程式,需要系統管理員權限。

如果你熟悉 Network Link Conditioner

蘋果的工具以命名的設定檔為基礎。這裡最接近的對應項:

Network Link Conditioner這裡最接近的
100% Loss把Loss設為 100
3G3G network
DSLHome DSL (VDSL)
LTELTE / 4G
WiFiGood WiFi
Very Bad NetworkTerrible network
Edge沒有對應的設定檔。請自行填寫速度限制與延遲,然後用「Save...」按鈕儲存為自己的設定檔。

這些數值不是蘋果的,所以請把設定檔當作起點。每個設定檔所設定的數值都列在參考頁上。

在 Windows 上你還能得到什麼

在 Linux 或 macOS 上,請使用原版工具。本工具只能在 Windows 上執行。

接下來

準備好故意搞壞自己的網路了嗎?

下載 Windows 版