openwrtを使用して、すべてのネットワークパケットに2000msの遅延を導入しました。ネテム基準寸法。
# This is run on the terminal of the OpenWRT router
tc qdisc add dev wlan1 root netem delay 2000ms
ネットワーク上のデバイスにpingを送信すると、これがどのように影響するかを明確に確認できます。
# ping 192.168.10.164
PING 192.168.10.164 (192.168.10.164): 56 data bytes
64 bytes from 192.168.10.164: seq=0 ttl=64 time=2001.956 ms
64 bytes from 192.168.10.164: seq=1 ttl=64 time=2010.677 ms
64 bytes from 192.168.10.164: seq=2 ttl=64 time=2004.216 ms
64 bytes from 192.168.10.164: seq=3 ttl=64 time=2001.451 ms
64 bytes from 192.168.10.164: seq=4 ttl=64 time=2005.981 ms
しかし、交換を介してメッセージを配信するときにこれらの遅延に気づきようとすると無視されるnc
ようです。
|---------------------|--------------------------------|
| Terminal 1 | Terminal 2 |
| (192.168.10.164) | 192.168.10.186 |
|---------------------|--------------------------------|
| # nc -l 2389 | |
| | # nc 192.168.10.164 2389 |
| | Hello |
| # NO 2s DELAY | |
| # ALMOST INSTANT | |
| Hello | |
|---------------------|--------------------------------|
私の質問は次のとおりです
- これがモジュールが正しく設定されていない場合、
netem
すべてのIPパケットに遅延を適用する正しいモジュールは何ですか?
修正する これはnetemモジュールのバグが原因であるようです。ルータが再起動し、コマンドに応答した後に予想される遅延が発生しました。
ベストアンサー1
ICMPとTCPは異なるプロトコルであり、コマンドがICMPパケットに影響を与える場合、TCPパケットには影響しません。