私は、SOに関するものを含め、このテーマについて多くのことを読みました。プログラミングに関する質問ではありませんが、ここで質問してもよろしいでしょうか。私はプログラマーで、ボイス チャットを含むアプリを作成しています。
特に Skype や Google Talk ボイス チャット (VOIP) などのシステムで、NAT を介して UDP 転送がどのように機能するかを理解しようとしています。
ルーターが UDP トラフィックを正しくルーティングできる唯一の方法は、パケットを送信したのと同じ IP/ポートの組み合わせから応答が返ってきた場合だと思いました。つまり、クライアントは最初に UDP パケットを送信しない限り、サーバーから UDP パケットを取得できません。そうしないと、ルーターはパケットを送信するクライアントを認識できません。
したがって、私の理解が正しければ、Skype や Google トークなどのサービスは、ピアがお互いを見つけられるように初期設定を行いますが、その後は通信がピア ツー ピアになります。ルーターがクライアントの IP からのトラフィックを期待していない場合、クライアントからの最初のパケットを他のクライアントに直接到達させるにはどうすればよいでしょうか?