この翻訳は不完全です。英語から この記事を翻訳 してください。

草案
このページは完成していません。

この記事では、WebRTC API の基礎となっているプロトコルについて説明します。

ICE

Interactive Connectivity Establishment (ICE) は、ウェブブラウザーをピアと接続することを可能にするフレームワークです。さまざまな理由から、ピア A からピア B に直接接続することはできません。ファイアウォールをバイパスする必要があるからです。ファイアウォールは直接接続のオープンを妨害したり、デバイスがパブリック IP を持たない多くの場合にはユニークなアドレスを与えたり、ルータがピアとの直接接続を許さない場合にはサーバー経由でデータをリレーします。ICE は、以下に説明するようないくつかの技術を使用することで、この問題を解決しています。

STUN

Session Traversal Utilities for NAT (STUN) (アクロニム中にアクロニムが含まれている) は、パブリックアドレスを発見し、ピアとの直接接続を妨害するルータの制限を特定するためのプロトコルです。

クライアントがインターネット上の STN サーバにリクエストを送信すると、サーバは、クライアントのパブリックアドレスと、ルータの NAT 内部にアクセス可能かどうかを答えます。

An interaction between two users of a WebRTC application involving a STUN server.

NAT

ネットワークアドレス変換 (Network Address Translation; NAT) は、デバイスにパブリック IP アドレスを割り当てるために使われます。ルータはパブリック IP アドレスを持ち、ルータに接続されたすべてのデバイスはプライベート IP アドレスを持ちます。リクエストが送られると、デバイスのプライベート IP から、特定のポートを持つルータのパブリック IP へ変換されます。こうすることで、各デバイスにユニークな IP アドレスを割り当てずともインターネット上で発見することができるようになります。

ルータによっては、ネットワーク上のデバイスに接続できる相手に制限をかけていることが場合あります。つまり、STUN サーバが発見できるパブリック IP アドレスを持っていたとしても、すべての相手が接続を張れるわけではないということです。このような状況では、TURN を使う必要があります。(訳注: 原文では「TURN を turn on する必要がある」と書かれている。)

TURN

NAT を使用するルータの一部は、‘Symmetric NAT’ と呼ばれる制限をかけています。その場合、ルータは過去に接続したことのあるピアから来る接続しか受け入れることができません。

Traversal Using Relays around NAT (TURN) is meant to bypass the Symmetric NAT restriction by opening a connection with a TURN server and relaying all information through that server. You would create a connection with a TURN server and tell all peers to send packets to the server which will then be forwarded to you. This obviously comes with some overhead so it is only used if there are no other alternatives.

An interaction between two users of a WebRTC application involving STUN and TURN servers.

SDP

Session Description Protocol (SDP) is a standard for describing the multimedia content of the connection such as resolution, formats, codecs, encryption, etc. so that both peers can understand each other once the data is transferring. This is, in essence, the metadata describing the content and not the media content itself.

ドキュメントのタグと貢献者

 このページの貢献者: shuuji3
 最終更新者: shuuji3,