WebRTC 架构

WebRTC 在浏览器之间的引入点对点通信范式来扩展 client-server 的语义(semantics)。 最通用的 WebRTC 架构模型(见图1-1)从所谓的 SIP (会话发起协议)梯形(RFC3261)中汲取灵感。

图1-1

图1-1 WebRTC 梯形

在 WebRTC 梯形模型中,两个浏览器都运行一个 Web 应用程序,该应用程序是从其他 Web 服务器下载的。 信令消息用于建立和终止通信。 它们是通过 HTTP 或 WebSocket 协议通过 Web 服务器传输的,这些Web服务器可以根据需要修改,转换或管理它们。 值得注意的是,WebRTC 中浏览器和服务器之间的信令未标准化,因为它被认为是应用程序的一部分(请参阅信令)。 关于数据路径,PeerConnection 允许媒体直接在浏览器之间流动,而无需任何中间服务器。 这两个 Web 服务器可以使用标准信令协议(例如 SIP 或 Jingle(XEP-0166))进行通信。 或者,也可以使用专有的信令协议。

最常见的 WebRTC 场景很可能是两种浏览器都运行相同的 Web 应用程序(从相同的网页下载)。 在这种情况下,梯形变为三角形 (见图1-2).

图1-2

图1-2 WebRTC 三角形