WebRTC型Web会議 招待・ID・パスワード不要 Googleカレンダーをスケジューラーにできます

WebRTCについて

  • HOME »
  • WebRTCについて

WebRTCとは?

WebRTC(Web Real-Time Communicationの略)。
Webブラウザにプラグインを追加することなく、Webブラウザ上で映像・音声チャットやファイル共有を可能にする規格です。
 

  • 映像音声コミュニケーション、ファイル共有、画面共有

ブラウザ上でリアルタイムに映像・音声チャットやファイル共有、画面共有が行えます。

  • インストール不要

Webブラウザだけで動作するので、専用ソフトやプラグインのインストールが不要。

  • 高セキュリティ

メディアおよびデータの暗号化を行ない、セキュアな経路での通信が可能です。

 

 

インストール不要

インストール不要
Webブラウザだけで動作するので、ユーザーが専用ソフトやプラグインなどをインストールせずに使用できます。

 

 

WebRTCでのコミュニケーション方法

WebブラウザにURLを入力するだけでお手軽に利用することができます。

 

 

セキュアな経路での通信

  • メディアおよびデータの暗号化

Audio/Video(SRTP)
SRTP(Secure Real time Trasnport Protocolの略)
音声や動画などのデータストリームをリアルタイムに配送するためのデータ通信プロトコル(RTP)の暗号化仕様。
RTPに機密性、メッセージ認証、及び再生を提供し、RTPの制御トラフィックを保護する。
暗号化と復号化のため強固なAES(Advanced Encryption Standard)暗号を適用。
認証機構は、メッセージの真正性および完全性を検証するために暗号ハッシュ関数と秘密キーを実装するハッシュベースのメッセージ認証コード(HMAC)アルゴリズムを提供する。リプレイ攻撃対策として新しいメッセージを確認するために使用されるメッセージのインデックスを、維持する。

Data(DTLS)
DTLS(Datagram Transport Layer Security の略)
データグラムプロトコルのための暗号化プロトコル。
データグラムを扱うプログラムがやり取りする情報の盗聴や改竄を防止する。
DTLSはTLS(Transport Layer Security )の仕組みを一部変更して、データグラムに対応させたもので、TLS(SSL)と同等の強固なセキュリティを持っている。

シグナリング(HTTPSを用いる場合)
※シグナリングプロトコルが規定されていないので、選択したシグナリングプロトコルに依存する。
 
HTTPS(Hypertext Transfer Protocol Secure の略)の場合
HTTPによる通信を安全に(セキュアに)行うためのプロトコルおよびURIスキーム
SSL/TLSプロトコルを用いて、サーバの認証・通信内容の暗号化・改竄検出などを行う。

  • セキュアなUI、明示的なopt-in

WebRTCは安全に動作するよう設計されていますが、単に技術を利用するだけでなく、開発者自身がさらにセキュリティ対策を加えることにより強化することができます。
 
たとえば、WebRTCはシグナリングに制限は無いのでSIPS、OpenSIP、HTTPSまたはWSSなどのセキュアプロトコル上で実装したり、
認証時に事前登録や事前認証を行ない、認証されていないユーザを弾いたり、信頼出来ない着信先へのアクセスを防止したり、
画面共有の際には、機密情報を含む画面は閉じるように警告するなど、開発者自身によって様々なセキュリティ強化を行なえます。

 

レスポンス性の高い通信

  • UDP/IPプロトコルを使用

TCPとは異なり、IPのパケットをほぼそのままの形で伝送する。誤り検出や再送要求(ARQ)、フロー制御などの処理は行なわない分、TCPより高速に処理できる。UDPのポート番号は動的に割り振られる。

 

 

通信方式

WebRTCの主な通信方式は、P2P(Peer-to-Peer)、MCU(Multi Control Unit)、SFU(Selective Forwarding Unit)となります。
WebRTCで多人数での通信を行なう場合はMCUまたはSFUを使用するのが一般的です。
 

  • P2P(Peer-to-Peer)

少人数での通信に向いている。
サーバを介さず、ブラウザとブラウザの間で直接通信を行うので、レスポンス性が高い通信を実現できる。

P2P1対1接続

多人数の場合は、ネットワークの接続形態がフルメッシュ型となる。
接続した相手ごとに動画/音声をエンコード(圧縮)するため、処理負荷が大きすぎて,会議参加人数に限界(3,4人程度?)がある。

P2P多接続

  • MCU(Multi Control Unit)

ネットワークの接続形態はスター型。
ブラウザから送信された動画/音声をMCUで合成し、接続されたブラウザごとに個別にエンコードして配信されます。
ブラウザ側では送信・受信が1経路となるため、ブラウザの消費リソースが軽くなる。
MCUサーバー側は処理負荷が高くなる。
ブラウザ側には合成された映像が送られる為、拡大表示などが難しい。

MCU多接続

  • SFU(Selective Forwarding Unit)

ネットワークの接続形態はスター型。
MCUとは異なり、動画/音声の合成はしないので、処理負荷がMCUより低い。
あるブラウザから送信された動画/音声を、接続されたすべてのブラウザに送る。
ブラウザ側でデコードが必要になるため負荷が大きくなる。
ブラウザ側には個別の映像が送られる為、拡大表示など自由に映像加工ができる。

SFU多接続

 

 

サーバー

【P2P(Peer-to-Peer)通信を行なう場合】
STUNサーバー/シグナリングサーバー/TURNサーバーの設置が必要。
 
P2P通信を開始する為には自分のネットワーク情報をサーバーを介して相手に伝えなければならない。

  • STUNサーバー

自分のパブリックIPアドレス/ポート番号が何であるかを調べる。

STUNサーバー役割①

STUNサーバー役割②

  • シグナリングサーバー

お互いのIPアドレス、UDPポートを知らせる為の仲介役。

シグナリングサーバー役割

  • TURNサーバー

P2P(Peer-to-Peer)通信に障害が発生した場合にクラウド・フォールバックを提供。P2P(Peer-to-Peer)データがサーバーを経由して送信される。サーバーの帯域幅を使用。

TURNサーバー役割

 

【MCU(Multi Control Unit)通信を行なう場合】
MCUサーバーの設置が必要。
 

  • MCUサーバー

サーバー側で動画/音声を合成し、個別にエンコードして配信する。

 

【SFU(Selective Forwarding Unit)通信を行なう場合】
SFUサーバーの設置が必要。
 

  • SFUサーバー

ストリームの暗号化・復号化を行ない、サーバー側でエンコード・デコード行なわない。
サーバーの負荷が少ないため、多くのブラウザ接続が可能。

 

 

ブラウザ対応状況

ブラウザ対応状況はこちらをご参照ください。

 

WebRTC対応ブラウザの動作動向

  • iOSのWebブラウザでは動作しない。
  • iOS版のChromeでは動作すると勘違いされがちであるが、動作しない。

 

お気軽にお問い合わせください。 TEL 042-785-4737 受付時間:09:00-17:00(土・日・祝日除く)

PAGETOP