5

P2P アプリケーションを作成していますが、ユーザーが手動でポート フォワーディングを設定する必要がないようにしたいと考えています。

NAT を構成するには、UPnP/IGD と NAT-PMP という 2 つの異なるプロトコルがあるように見えるので、少し混乱しています。どちらを使用する必要がありますか? どちらもすべての NAT でサポートされていますか? または、NAT で少なくとも 1 つがサポートされるように、両方をサポートする必要がありますか?

4

3 に答える 3

5

NAT-PMP (現在は PCP) は ietf ドラフトであるため、実装する必要があります。ただし、すべての NAT デバイスが PCP/NAT-PMP をサポートしているわけではなく、古いデバイスの多くは UPnP/IGD しかサポートしていないため、互換性のために、アプリケーションがサイレントに UPnP/IGD にフォールバックできるようにする必要があります。

于 2013-08-08T06:26:31.750 に答える
1

NAT-PMP または UPnP-IGD の代わりにSTUNを使用することを検討してください。通常、どこでも機能し、大規模なサービス プロバイダーの NAT および NAT64 でもほぼ確実に機能します。

于 2011-01-12T01:07:46.093 に答える
0

UDP ホール パンチングに固執します。両方のクライアントが 4G LTE ネットワークの背後にある場合 (これらは多くの場合、ランダムなポート割り当てがあります) と、すべての UDP トラフィックをブロックするルーターを除いて、ほぼすべてのルーターで機能します。データを確実に送信する必要がある場合は、信頼できる UDP を使用できます。

于 2015-09-24T23:52:55.983 に答える