5

GTalk、Skype などのメッセンジャーが 2 台の異なる PC (A と B) で実行されており、これらの PC はプライベート IP アドレスを持っていますが、ISP を介してインターネットに接続されているとします。2 台の PC は、世界のさまざまな場所に配置することができます。メッセージを送信し、A と B の間で VoIP 通話を行うことができるようになりました。

これは明らかにサーバーを使用して通信を確立します。テキスト メッセージの場合、サーバーを経由して A と B に到達する可能性があります。

しかし、VoIP 通話の場合、最初の確立はサーバーの助けを借りて、後で VoIP データが A と B の間で直接流れると思います。現在、A と B は両方ともプライベート IP アドレスを持っています。

私の質問は、プライベート IP アドレスを持つA と B の間でインターネットを介して直接通信する方法を教えてください。

これに対する特定の基準はありますか?RTP などの VoIP 標準について話しているのではなく、プライベート IP アドレスを使用してインターネット経由で通信するメカニズムについて話しているのです。つまり、A と B でそれぞれ TCP クライアントと TCP サーバーを実行しているだけです。TCP クライアントはどのようにして TCP サーバーに到達できますか?

GTalk、Yahoo、Skype などのメッセンジャーや、Viber、Kakoa talk、WhatsApp などの多くの Android アプリケーションが、これに特定の標準を使用しているかどうかを知りたいです。そして、これらはほぼ常に機能し、A と B の間の呼び出しは世界中のどこにいても機能することがわかりました。

誰かがアーキテクチャと関連する概念を共有できるとよいでしょう。

[STUN やホール パンチングなどの概念について読みました。しかし、具体的な方法がわかりません。また、NAT の動作によっては、これらが機能するという保証はありません]

ありがとうございました。

4

0 に答える 0