ピアツーピア アプリケーションのポート 4900 アクセスの自動化
多くのピアツーピア (P2P) アプリケーションは、通信にポート 4900 などの特定のポートに依存します。 ただし、多くの場合、ルーターはこれらのポートへのアクセスをブロックし、P2P 機能を妨げます。 このガイドでは、アクセスを自動的に有効にする方法について説明します。
P2P 接続を確立するには、次の手順が必要です:
-
ローカル IP アドレスの取得: デバイス上のすべてのローカル IP アドレスを特定します。アドレスごとに、ポート 4900 でリッスンする UDP ソケットを作成します。
-
外部 IP とポート マッピングの検出: STUN または TURN サーバーを利用して外部 IP アドレスを決定し、内部ポート 4900 を外部ポート (異なる可能性があります) にマッピングします。
-
候補リストの共有: ランデブー サービスまたは他のピアとの直接通信を介して、IP とポートのペア (候補) のリストを配布します。
-
ハンドシェイクと接続の確立: ピアは候補リストを交換し、UDP テスト メッセージを送信して、信頼できる通信パスを確立します。 その後、データ転送用に適切な IP/ポートのペアが選択されます。
いくつかのテクノロジーは、NAT とファイアウォールの制限を克服するのに役立ちます:
-
STUN (NAT 用セッション トラバーサル ユーティリティ): クライアントがパブリック IP アドレスとポート マッピングを検出できるようにします。
-
TURN (NAT 周りのリレーを使用したトラバーサル): 直接接続が失敗した場合に、P2P 接続のリレー サービスを提供します。
-
ICE (対話型接続確立): P2P 接続の STUN および TURN の使用を管理する標準化されたプロトコル。
-
WebRTC: P2P アプリケーションを構築するためにすぐに利用できるライブラリを備えた ICE 実装。
-
UPnP (ユニバーサル プラグ アンド プレイ): インターネット ゲートウェイ デバイス プロトコルと連携して、ポート マッピングを自動的に構成します。
-
libnice: Linux システム用のオープンソース ICE 実装。
-
libjingle: Google の C ICE ライブラリ。
-
PJNATH: PJSIP からの ICE スタック。
以上がピアツーピア アプリケーションのポート 4900 アクセスを自動的に構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。