TURN

TURNとは

  • TURN(Traversal Using Relays around NAT)サーバーは、データを中継することで、企業ネットワークなど P2P 通信が利用できない特定のネットワーク環境での WebRTC 利用を可能にします。 TURN

TURNが利用されるケース

TURN サーバーは、下記のような P2P 通信が行えないケースで利用されます。

  • NAT の内側から NAT の外側に通信する必要がある場合(UDP ホールパンチング対応の NAT(※)の場合は除く)
  • プロキシの設定によりプロキシの内側からプロキシの外側への P2P 通信を遮断する場合
  • UDP 通信が許可されていない場合

TURN サーバーの利用はクライアントが自動的に判断します。そのため、開発者やエンドユーザが特に意識することなく利用できます。

※ クライアントの設定により TURN サーバーを利用しない、もしくは利用を強制することが可能です。TURN サーバーの利用に関する設定については各プラットフォームのAPIリファレンスおよび認証・認可をご参照ください。

※ プロキシにて HTTPS 以外の TCP443通信を許容していない場合など、TURN 経由でも通信できない場合もあります。

※ 一般的な NAT の種別毎の UDP ホールパンチング対応状況は以下の通りです。

NATタイプフルコーン制限付きフルコーンポート制限付きフルコーンシンメトリック
フルコーンP2PP2PP2PP2P
制限付きフルコーンP2PP2PP2PTURN
ポート制限付きフルコーンP2PP2PP2PTURN
シンメトリックP2PTURNTURNTURN