MyUtils

View on GitHub

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通信が可能となる。