WebRTCは、直接のピアツーピア接続が失敗した場合にTURN-Servers
を利用します。使用可能なプロトコルは2つあります:TURN
およびTURNS
(TURN over TLS)。
[〜#〜] mdn [〜#〜] によると:
WebRTCを使用して転送されるすべてのデータは暗号化されます。
データチャネルを介して送信されるすべてのデータがデフォルトでDTLS
を使用してエンドツーエンドで暗号化されている場合、TURNS
が存在するのはなぜですか?
TURNS
はサーバーとクライアント間の接続を暗号化するだけではありませんか?
それは不必要なオーバーヘッドではないでしょうか?
[〜#〜] edit [〜#〜]-サーバー/クライアント暗号化なしで単純なTURN
を使用しないのはなぜですか? TURN-servers
の用途はわかっていますが、TURN-server.
への接続を暗号化する理由がわかりません。ピア間のDTLS
暗号化のため、TURN-server
は転送されたデータを読み取ることができません。したがって、他の誰もそれを行うことはできません、それでなぜ暗号化の別の層を追加するのに迷惑をかけるのでしょうか?
1つの理由は、ファイアウォールトラバーサルの向上です。ポート443を介したTURN/TLSを使用して、より厳しいファイアウォールを通過し、WebRTCトラフィックをHTTPSトラフィックに偽装することができます。
転送モードには、TURN/UDP、TURN/TCP、およびTURN/TLSの3つがあります。 LAN FWポリシーに応じて、ブラウザーは最も制限の少ないトランスポートモードを選択します。