私は Python でネットワーク プログラミングを学びます。TCP、UDP、ICMP、ARP などのプロトコルを使用して、クライアント サーバーおよびクライアント クライアント ソフトウェアを作成します。
次の機能を備えた N 個のホストでネットワークをエミュレートするためのツールが必要です。
N (2、5、10、...) のホストをそれぞれに Python インタープリターで作成できる軽量ソフトウェア (すべて私のコンピューター上にあります!)。Virtualbox のような仮想マシンは重すぎるように見え、信じられないほどの RAM 要件を課します。Python インタープリターとネットワーク スタックのサポートだけが必要です。
「パケットの 10% をドロップする」または「信号遅延を 500 ミリ秒にする」など、ネットワーク全体の品質を構成する機能
各ホストの特定の要求に対する応答を個別に構成する機能。たとえば、「ホスト #5 から google.com に ping を実行すると、「リモート ネットワークに到達できません」が返されますが、「ホスト #5 から yahoo.com に ping を実行する」は問題ありません。
もちろん、私のネットワークで何が起こっているかを完全に記録しています。
そのようなソフトウェアまたはフレームワーク (Windows 7 および Linux 用) はありますか?