Linuxのアプリケーションでテスト中の遅延とパケット損失シミュレーション


これはRHCAの中の1つのBDPのテストで、これも会社がよく使う1種の遅延とかばんをなくすシミュレーションで、今みんなに分かち合います.
私达のした応用ソフト、またTCP/UDPの対比をテストして、BDPがTCP/IPに対する影响をテストする时、私达はすべていくつかのネットの中の遅延とパケットを失うシミュレーションが必要で、多くの商业のソフトウェアはこの事をすることができて、実は完璧なLinux自身はTCを使ってこの机能を実现することができます.TC内のNetemは,遅延,パケット損失,繰返しパケット,乱順などの機能をシミュレートできる.
テストする場合は、tcを中間のルータとして使用して、2つのネットワークカードを接続し、ルーティング機能を開いてテストすることをお勧めします.
tcの最も基本的な使用
1
2
3
4 tc qdisc show     # tc qdisc  add dev eth0 root ...... # tc qdisc  change  dev eth0 root ...... # qdisc , , change tc qdisc del dev eth0 root   #
Linuxでの遅延シミュレーション
遅延3 sの設定:
1 tc qdisc add dev eth0 root netem delay 3000ms
3000 msの後に、例えば「3000 ms 200 ms」は3000 ms±200 msを表す、2800~3200の範囲の遅延を加えることができる.結果は次のように表示されます.
Linuxでのパケット損失シミュレーション
パケットロス50%を設定し、iptablesでもこれをシミュレートできますが、覚えていないコマンドは、次のようにします.
1 tc qdisc change dev eth0 root netem loss 50%
以上のように、後の50%のパケット損失率を「50%80%」に変更すると、この場合と上の遅延とは異なる、パケット損失率が50-80%の間であることを意味する.次のように表示されます.
変換元:http://www.php-oa.com/2010/12/31/linux-tc-delay-less.html