videocalling
Illustration of TURN(NATを回避するリレーによるトラバーサル) in video calling

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リレーインフラストラクチャを提供することで、最も困難なネットワーク条件でも通話の成功を保証します。