WebRTCシリーズのコンセプトノート
WebRTC(ウェブリアルタイムコミュニケーション)
ビデオストリーム用のブラウザとの接続点(ピア・ツー・ピア)を確立するために、仲介者の助けを借りずに、ネットワークアプリケーションやサイトができ、リアルタイムの通信技術であります及び(又は)、オーディオストリーム、またはその他のデータ伝送。これらの基準はのWebRTCは、アドホック(ピアツーピア)データ共有や会議が可能呼び出しを作成するために、任意のプラグインやサードパーティ製のソフトウェアをインストールすることなく、ユーザーを可能にしています。
典型的なのWebRTCアプリケーションプロセス:
mediaDevices.getUserMedia
そのようなカメラとマイク、および画面共有などのインターフェースは、入力デバイスが接続されているメディアへのアクセスを提供MediaDevices、
RTCPeerConnection
RTCPeerConnectionインタフェースは、ローカルコンピュータでのWebRTCに接続された遠位端を表します。インタフェースは、閉じた接続の実装を、作成、維持、監視を提供します。
シグナリングサーバ
サーバーの役割をシグナリングすることは、私たちが接続されているコンピュータで同じユーザーではありません支援することです。
より良い信号伝達を達成するために、ウェブソケットサーバ一般的な使用。
ICEインタラクティブな接続の確立
ICEは、英語のインタラクティブな接続性の確立のインタラクティブな接続性の確立のための頭字語です。
IETFのMMUSICワーキンググループによって開発されたインタラクティブ接続確立(インタラクティブ接続性の確立--ICE)は、それが統一を達成することができ、さまざまなNATトラバーサル技術を有効にするためのフレームワークを提供します。技術は、SIPベースのVoIPクライアントが正常にネットワークとリモートユーザの間のファイアウォールのすべての種類が存在する可能性が浸透することができます。
気絶
彼のパブリックアドレスの後に見つけるためにSTUN(ネットワークアドレス変換器(NAT)を使用したユーザーデータグラムプロトコルのシンプルトラバーサル、UDPのNATトラバーサルシンプル)がNAT(または複数のNAT)に位置するクライアントを可能にするネットワークプロトコルです、チェック自分の後からローカルポートのためのインターネット側と一つに位置NAT NATポートの種類がバインドされています。この情報は2がNATルータで同時にされた後にホストのUDPの間の通信を確立するために使用されます。プロトコルは、RFC 3489によって定義されます。現在、RFC 3489契約がRFC 5389契約、新しい契約に置き換えられている、STUN NATトラバーサルを越えたソリューションを提供する独立した、ではない支援するツールとして定義されます。それは、現在完成している、RFC 7350の更新版です。
NAT
ネットワークアドレス変換(NAT)は、お使いのデバイスのパブリックIPアドレスを提供するために使用されます。ルータはパブリックIPアドレスを持って、ルータに接続された各デバイスは、プライベートIPアドレスを持つことになります。デバイスからプライベートIP変換要求は、ポートルータ固有の公開IPを持っています。あなたはので、各デバイスのユニークな、パブリックIPを設定する必要はありませんが、あなたはまだ、インターネット上でそれを見つけることができます。
一部のルータは、ネットワーク上のデバイスに接続できるユーザーを制限します。これはSTUNサーバのパブリックIPアドレスが発見されていても、誰が接続を作成することはできない、ということを意味します。この場合、我々は、ターンを取る必要があります。
順番
TURNプロトコルは、ファイアウォールやNATの背後にあるオブジェクトは、TCPやUDPを介してデータを受け取ることができることができます。対称型NAT(またはファイアウォール)のこの使用の特定の実用的な価値を有するネットワーク[1]。
アドレスを取得するNAT出口上のアドレスでアドレスを取得し、パブリックネットワークに基づいて、プライベートアドレスのアドレスに対応する機構を取得するために、事前にユーザによりプライベートネットワークにアクセスするために同様のNAT STUNの問題を解決するためのターン方法(STUNの実施形態では、TURNの方法を考えTURNServer上のアドレス)を直接記載の方法のパブリックネットワークアドレスを埋めるように、パケットの負荷の場合、アドレス情報のために、原理の実用的なアプリケーションは、同じです。
メッセージをリレーすることTURNServerプライベートネットワークユーザを介して送信されるべきであることを外部アドレスとポートを受け入れるためのクライアントとしてTURNServerアドレスとポートを割り当てることによって、すなわちリレーNATトラバーサルの方法を通じて、TURNアプリケーションモデルをリレーNATを使用して完全な名前トラバーサルを回し前方に、このアプローチは、STUNの方法に加えて、モデルのアプリケーションの利点を有するだけでなく、STUNアプリケーションの欠点は、NATのイントラネット/ CPNエクスポートどのタイプか否か、すなわち、対称型NAT(SymmetricNAT)と同様のファイアウォール機器に浸透することができない対処します/ FW、NATを介して達成することができ、そのようなH323プロトコルとしてTURN支持TCPベースのアプリケーション、。さらにTURNServer制御割当アドレスとポートは、RTP / RTCPアドレスポート番号のSTUNアプリケーションモデルの下で出口NATを避け、ローカル顧客受け入れアドレスとしてRTP / RTCPアドレス(RTPポート番号プラス1のRTCPポート番号)を割り当てることができ(RTCPパケットの終わりがRTPポート番号に1を加えたことにより、宛先ポート番号のデフォルトが送信され、送信された場合)、クライアントはRTCPパケットの上にピアを受けることができないので、任意の分布、
すべてのパケットが限界を経由しなければならないということTURN前方TURNServer、パケットの遅延とパケット損失の可能性を高めます。
SDP
セッション記述プロトコル(SDP)は、二つのピアは各データ伝送に理解できるように、接続されたマルチメディアコンテンツ(例えば、解像度、フォーマット、コーデック、暗号化など)を記述する規格です。本質的には、これはコンテンツではなく、メディアコンテンツ自体を記述するメタデータです。
したがって、技術的に、SDPは、実際のプロトコルが、説明のために使用されるデータフォーマットの間でデバイスを接続する共有媒体ではありません。
これまで、このドキュメントの範囲を超えてSDPレコードが、ここでは、注目に値するいくつかのものです。
構造
形式の種類に応じてSDPの一つまたはUTF-8からなるテキストの複数の行は、各列は、値またはその構造化テキスト記述に続いて等号(「=」)、続いて文字型、始まります。それはしばしば呼ばれるテキスト行の文字で始まる与えられた「文字の列。」例えば、「M」タイプで提供されるメディア記述行は、これらの線は、「M-線」と呼ばれます。
推奨読書:
ICEサーバの構築(今週更新)
道具つのビデオ通話やテキストチャットのデモ(Java実装シグナリングサーバ)