4

P2P ソフトウェアをテストするための Network Address Translator Simulator はありますか?

現在、私はデバイス用の P2P ソフトウェアに取り組んでおり、異なる 2 タイプの NAT でソフトウェアをテストするという問題に直面しています。- 同じ NAT (同じプライベート ネットワーク)、異なる NAT (異なるプライベート ネットワーク)、異なるグローバル ネットワーク、異なる Nat レベルのクライアント

-- テスト環境を物理的にセットアップする必要がありますか。NAT の背後にあるノード

また

- P2P ソフトウェアをテストする Network Address Translator Simulator はありますか?

4

1 に答える 1

2

VirtualBoxなどの仮想化ソフトウェアを使用すると、直接接続を使用するのではなく、NAT を介して複数のゲスト VM (仮想マシン) を一緒に接続できます。

Virtualbox によって提供される組み込みのNAT は、一般的なホームおよび ISP レベルの NATing ルーターと比較すると、非現実的な「ピアツーピア フレンドリー」です。Virtualbox の NAT は、NAT トラバーサル手法 (UDP/TCP ホール パンチング) を非現実的に簡単にする「フル コーン NAT」のようです (説明については、このウィキペディアの記事を参照してください)。一方、多くのルーター NAT は「対称 NAT」または何らかの形式の「制限付きNAT」です。送信元ポートおよび/またはアドレス制限に基づく円錐 NAT' 。

したがって、現実的な NAT を介して通信する複数のホストをシミュレートする 1 つの方法は、Virtualbox などの仮想化ツールを使用し、Linux カーネルに組み込まれている netfilter 関数を使用してルーティングと NAT を実行する Linux ベースの「ルーター」VM を介してそれらを接続することです。このiptablesコマンドを使用すると、 netfilter ルールを設定して、さまざまな NAT 動作 (上記のウィキペディアの記事で詳しく説明されているように) を実現できます。たとえばiptables. .

netfilter/IP-masquerading (NAT に必要) の設定に関する一般的な情報については、次のハウツーを参照して ください。 HOWTO.html

もちろん、P2P ソフトウェアをさまざまなローカル インターフェイス (127.0.0.0/24 の範囲内または IPv6 サブネットを使用) にバインドし、単一のマシンでルーティング テーブルと netfilter ルールを構成して、仮想化なしでこれを行うことができます。どちらのアプローチが簡単かはわかりませんが、マシンのリソースがあれば、仮想化のアプローチの方が追跡しやすいかもしれません。

于 2011-03-18T13:28:06.367 に答える