WebRTC
WebRTCはサーバーを介さず、端末同士が直接通信できるようにする
通信
ブラウザ間
でのリアルタイムメディアコミュニケーションを可能にするための規格。
複数のブラウザをダイレクト
に接続する「Peer to Peer」型。
(通信方式はP2P・MCU・SFUがある。)
通信 | ユースケース |
---|---|
WebRTC | オンライン会議など |
WebRTC通信方式 | 特徴 |
---|---|
P2P | 一般的なWebRTCの通信方式。通信量が大きくなり過ぎるため多人数の同時通信には向いていない。 |
👇 | 👇通信経路爆発問題に対するソリューション |
MCU | ユーザから受け取ったメディアデータをサーバーにて合成してユーザに返す方式。データの通信量は少ないもの、遅滞が大きい。 |
SFU | ユーザから受け取ったメディアデータを他の通信先にサーバーかた経由する方式。遅滞は少ないものの通信量は多くなる |
シグナリングサーバとは
シグナリングサーバーは「通信相手に関する情報を得る」のが役割で、WebRTCにおいて欠かせないサーバー。
シグナリングサーバーは相手のユーザー名を伝えることで、その他通信に必要な情報を収拾できるようにしている。
他にも「STUNサーバー」や「TURNサーバー」
などが存在する。
STUNサーバ
STUNサーバーは「自端末の外部ネットワークから見たIPアドレスを教えてくれる」役割を持ちます。 利用者のパソコンからSTUNサーバーにアクセスすると、STUNサーバーから見たパソコンのIPアドレスとポート番号を返してくれる
TURNサーバ
P2P通信をおこなうWebブラウザ間に入り、通信を中継する役割を持っている。 STUNサーバーとTURNサーバーを組み合わせて使うことで、NATを利用したP2P通信が可能となる。