
TURN(NATを回避するリレーによるトラバーサル)
プロトコル直接接続が失敗した場合に使用されるリレーサーバー。
TURNとは?
TURN(Traversal Using Relays around NAT)は、直接P2Pパスが失敗した場合にWebRTC接続にリレーサーバーを提供するプロトコルです。IPアドレスの発見のみを支援するSTUNとは異なり、TURNはSTUNを通じたNATトラバーサルが不可能な場合に、参加者間のすべてのメディアとデータを積極的にリレーします。
TURNはバックアッププランです。制限的なファイアウォールや対称NATのために参加者が直接接続できない場合、TURNサーバーが仲介者として機能し、ビデオ、音声、データを転送します。
TURNが必要な理由
- 対称NAT:宛先ごとに異なるポートマッピングを作成し、STUNで発見したアドレスが使用不可
- 制限的なファイアウォール:P2Pトラフィックを完全にブロック
- 企業ネットワーク:厳格なセキュリティポリシーを採用
- CGNAT:モバイルネットワークや一部のISPが多層NATを使用
コストの問題
TURNはすべてのメディアをリレーします。単一のHDビデオ通話で参加者あたり2-4 Mbpsを消費する可能性があります。一般的なコスト:TURNトラフィック1GBあたり$0.05-$0.15。
パフォーマンスへの影響
TURNはパケットが中間者を通過するためレイテンシを追加します。一般的なオーバーヘッド:各方向50-150ms。ラウンドトリップの合計増加:100-300ms。
まとめ
TURNはWebRTCの保険です。コストがかかり、レイテンシが増加し、少数の接続にのみ必要ですが、その少数は他の方法では接続不可能です。TURNリレーインフラストラクチャを提供することで、最も困難なネットワーク条件でも通話の成功を保証します。