ネットワーク効果サーバーを作成する方法を検討しています。これは、ネットワーク上のすべてのパケットを検査し、天候や見通し線など、実際のネットワークの外部要因に基づいてロジック (ドロップ、遅延、変更など) を適用する中央サーバーを意味します。
これはすべて、複数の現実世界のエンティティのシミュレーションを実行することに関係しています。ネットワーク内の物理ノードは、3D 仮想世界で 3D 移動エンティティを表します。前述したように、効果は、ノードの「仮想世界の位置」間の視線、距離、干渉などで計算されます。
この種の効果を実行できる他のツール (ソリューションの一部として使用する可能性のある OPNET など) は知っていますが、通常、処理のためにデータを直接それらにルーティングする必要があります。また、UDP も TCP も処理しません。
UDP と TCP の両方について、サーバーを透過的に実行し、既存のソフトウェアを変更せずに効果を適用する方法が必要です (変更できないものもあります)。
その範囲で、私たちは ARP ポイズニング (またはスプーフィング、呼び方は何でもよい) を使用して、すべてのトラフィックがこれらのサーバーの 1 つ (または負荷分散のために複数) を強制的に通過させて、パケット シェーピングを実行することを考えていました。
これは実行可能なアプローチですか?(障害が多すぎる、または完全に不可能であることに気付く前に、開発に何週間も費やしたくありません)
可能であれば、RFC826 (および5227と5494 ) は ARP に関する最新のドキュメントですか? もっと良いドキュメントはありますか?
一部のネットワーク ノードが仮想マシン (ブリッジまたは NAT されている可能性がある) である場合、これは機能しますか?
C# でこれを実行できるライブラリはありますか?
(私たちは使用する言語にオープンですが、おそらく C# または Qt ベースのソリューションを好みます)