概要

WebRTC関連技術

WebRTC関連技術は、ブラウザ間でのリアルタイム通信を可能にするためのNAT越えプロトコル群です。ICE(Interactive Connectivity Establishment)は接続確立のフレームワークを提供し、STUN(Session Traversal Utilities for NAT)は公開IPアドレスの発見を、TURN(Traversal Using Relays around NAT)はリレー機能を担います。これらの技術は協調して動作し、ファイアウォールやNAT背後のデバイス間でも直接通信を実現します。W3CとIETFによって標準化され、現在も継続的に進化しています。

WebRTC NAT越え リアルタイム通信 P2P プロトコル IETF W3C
コード スラッグ 名称 概要 カテゴリ fullName rfc
01 ice ICE NAT越えのための接続確立フレームワークです。 接続確立 Interactive Connectivity Establishment RFC 8445
02 stun STUN 公開IPアドレスを発見するためのプロトコルです。 アドレス発見 Session Traversal Utilities for NAT RFC 8489
03 turn TURN メディアリレーを提供するプロトコルです。 メディアリレー Traversal Using Relays around NAT RFC 8656
04 dtls DTLS UDP上で動作するTLS暗号化プロトコルです。 暗号化 Datagram Transport Layer Security RFC 6347
05 srtp SRTP リアルタイムメディアの暗号化転送プロトコルです。 メディア暗号化 Secure Real-time Transport Protocol RFC 3711
06 trickle-ice Trickle ICE ICE候補を逐次的に交換する最適化技術です。 接続最適化 Trickle ICE RFC 8839 / RFC 8840
07 whip WHIP WebRTCのHTTPベースインジェストプロトコルです。 シグナリング WebRTC-HTTP Ingestion Protocol RFC 9725
08 sdp SDP セッション記述プロトコルです。 セッション記述 Session Description Protocol RFC 8866

WebRTC(Web Real-Time Communication)は、ブラウザやアプリケーション間で音声、映像、データをリアルタイムに送受信するためのオープンソースプロジェクトであり、プラグインなしでP2P通信を実現します。この技術の核心となるのが、NATやファイアウォールを越えて接続を確立するためのプロトコル群です。

ICE(Interactive Connectivity Establishment)は、これらのプロトコルを統合的に管理するフレームワークです。ICEは複数の接続候補を収集し、最適な通信経路を選択する役割を担います。まずホスト候補(ローカルIPアドレス)を収集し、次にSTUNサーバーを利用してサーバーリフレクシブ候補(公開IPアドレス)を取得します。STUN(Session Traversal Utilities for NAT)は、NAT背後のデバイスが自分の公開アドレスを発見するための軽量プロトコルであり、RFC 8489で標準化されています。

直接接続が不可能な場合、ICEはTURN(Traversal Using Relays around NAT)サーバーをリレー候補として使用します。TURNはRFC 8656で標準化され、メディアストリームをサーバー経由で中継することで、対称NATなどの厳格なネットワーク環境でも通信を可能にします。これらの候補が収集されると、ICEは接続性チェックを実行し、最も効率的な経路を選択します。

セキュリティ面では、DTLS(Datagram Transport Layer Security)がUDP上で暗号化鍵交換を行い、SRTP(Secure Real-time Transport Protocol)がメディアストリームの暗号化を担当します。2025年3月には、WebRTCのHTTPベースインジェストを標準化するWHIP(RFC 9725)が発表され、ライブストリーミング配信の簡素化が進んでいます。これらの技術はW3CとIETFによって継続的に標準化され、現代のリアルタイム通信インフラの基盤となっています。