netem en Network Link Conditioner onder Windows
Onder Linux heb je tc netem en op een Mac heb je Network Link Conditioner. Windows heeft niets ingebouwd dat vertraging en verlies toevoegt. Deze pagina zet wat je al kent om naar Bean Network Tester en wijst aan waar de getallen niet overgaan.
De netem-opties, een voor een
Voeg --target en --duration toe aan elk commando hier, anders werkt het op de hele computer.
| netem | Instelling in het venster | Vlag |
|---|---|---|
delay 100ms | Latency | --latency 100 |
delay 100ms 20ms | Latency, 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 1mbit | Download, Upload | --down 122 --up 122 |
limit 1000 | Buffer | --buffer 1000 |
- Verlies in reeksen. De correlatiewaarde in netem is geen reekslengte. Losses in a row (burst) is het gemiddelde aantal pakketten dat achter elkaar verloren gaat, het dichtstbijzijnde equivalent.
- Herordenen. Er is geen herordeningspercentage. Een piek vertraagt een enkel pakket zodat de pakketten die erna zijn verzonden het inhalen, en de teller voor herordende pakketten op de pagina Statistics laat zien of dat echt gebeurde.
- Wachtrijgrootte. De limit van netem telt pakketten. Buffer is een tijd in milliseconden.
Drie verschillen om te kennen
Richting. netem vertraagt wat een interface verlaat, en het antwoord komt onaangeroerd terug. Deze tool vangt beide richtingen op, dus --latency 100 voegt ongeveer 200 ms toe aan een ping: 100 heen en 100 terug. Om te krijgen wat netem doet, vang je alleen uitgaand verkeer op:
BeanNetworkTester.exe --filter out --latency 100 --jitter 20 --target myapp.exe --duration 120
Eenheden. Een netem-rate is in bits per seconde. De velden voor de snelheidslimiet zijn in KB/s, met K = 1024. Omrekening van megabits:
| netem-rate | Veld voor de snelheidslimiet, in KB/s |
|---|---|
1mbit | 122 |
5mbit | 610 |
10mbit | 1221 |
50mbit | 6104 |
100mbit | 12207 |
Bereik. tc vormt een hele netwerkinterface en heeft root nodig. Deze tool richt zich met --target op een programma en heeft beheerdersrechten nodig.
Als je Network Link Conditioner kent
Het gereedschap van Apple werkt met benoemde profielen. De dichtstbijzijnde hier:
| Network Link Conditioner | Dichtstbij hier |
|---|---|
| 100% Loss | Loss ingesteld op 100 |
| 3G | 3G network |
| DSL | Home DSL (VDSL) |
| LTE | LTE / 4G |
| WiFi | Good WiFi |
| Very Bad Network | Terrible network |
| Edge | Daar is geen profiel voor. Typ de snelheidslimiet en de vertraging zelf in en bewaar ze als eigen profiel met de knop Save.... |
De getallen zijn niet van Apple, zie een profiel dus als beginpunt. Elke waarde die een profiel instelt, staat op de referentiepagina.
Wat je onder Windows erbij krijgt
- Een programma, niet de hele computer. Richt de verstoring op een enkele app terwijl de rest van de machine normaal blijft.
- Een tijdlijn in plaats van een shellscript. Scenario's op tijd veranderen de instellingen op vaste seconden, wat onder Linux een script van
tcensleepdoet. - Een pipeline kan het draaien. Hetzelfde uitvoerbare bestand draait in CI en rapporteert met exitcodes.
Gebruik onder Linux of macOS de originelen. Deze tool draait alleen onder Windows.