ブラウザ間直接通信のためのWebRTC P2Pデータ転送アーキテクチャ
WebRTCはICEで直接経路とTURNリレーを選び、データチャネルとメディア転送は異なる配信要件に応じて構成されます。
発行・訂正窓口:infostoa · 編集基準
この記事の個別の執筆者・専門査読者の情報は提供されていません。
WebRTCの接続確立とICEによる経路選択
WebRTCは、ブラウザーと別のWebRTC端末とのリアルタイム通信に用いるAPIとプロトコル群です。ブラウザーAPIはW3Cが、基盤となる複数の転送仕様はIETFが標準化しています。アプリケーションはSDPのoffer/answerやICE候補を交換するシグナリング経路を別途用意します。その方式やサーバーはWebRTC規格で定められていません。
ICEはローカル候補、STUNで得るサーバー反射候補、TURNリレー候補を集め、接続確認後に利用可能な経路を選びます。STUNはNAT外部から見えるアドレスの把握に役立ち、直接通信できない場合やポリシー上必要な場合はTURNが通信を中継します。したがって常に端末間の直接P2Pになるわけではなく、TURNでは中継帯域と遅延も考慮します。直接通信の費用や遅延の利点もネットワーク条件で変わります。
専門家の視点:P2Pは候補経路であり固定構成ではない
WebRTC実装者による公開技術書「WebRTC for the Curious」は、ICEが直接接続を試み、到達できない場合にはTURNリレーも利用する仕組みを説明しています。したがって、WebRTCが常にサーバーを迂回し、遅延や帯域費用を減らすとは限りません。NATやファイアウォール、UDPの可否、ICE設定、リレー配置によって経路が変わります。多人数の映像通話ではSFUが各端末の送信負荷を抑える選択肢ですが、サーバー中継と運用費が加わります。構成は用途に応じて選びます。
データチャネルとメディアの信頼性
WebRTCのメディアはICEで選ばれた経路上でSRTP/SRTCPにより保護されます。損失回復、再送、輻輳制御、フレーム選択はメディアスタックや交渉内容で異なり、「再送せず最新フレームだけを表示する」と一律には言えません。RTCDataChannelはDTLSで保護されたSCTPを使い、ordered、maxRetransmits、maxPacketLifeTimeなどの設定で順序や再送動作を調整します。信頼モードは接続中のトランスポート動作を指定するもので、切断を越える永続保存やアプリケーション上の完全配信は保証しません。必要なら確認応答や保存を別途設計します。