単一のマシンでネットワークをシミュレートする

単一のマシンでネットワークをシミュレートする

単一のマシン上でネットワークをシミュレートしようとしています。

ソケットを介して通信する複数のノードがありますtcp

次のように、各ノードに 1 つのダミー インターフェイスを作成しようとしました。

ip link add name int1 type dummy 
ip address add 10.0.1.1 dev int1
ifconfig int1 up

すべてのノードはそれぞれのアドレスをバインドし、問題なく通信できます。ただし、実際の状況をシミュレートするために、遅延を追加し、各インターフェースの帯域幅を制限することも必要です。

私はtc add delay次のようなインターフェースを使用していました:

tc qdisc add dev int1 root netem delay 200ms

しかし、予想していたほど実行時間は増加しませんでした。

私の質問は次のとおりです:

  1. ダミーインターフェースでトラフィックシェーピングを行うことはできますか?できない場合、単一のマシンでネットワークをシミュレートする最良の方法は何ですか?

  2. また、作成されたインターフェースへの ping は、実際のインターフェースではなくループバックに送信されることにも気付きました。なぜでしょうか?

関連情報