点对点与架构

什么是点对点(P2P)语音聊天?

点对点语音聊天将音频直接在设备之间传输,无需媒体服务器。了解它的工作原理、对隐私意味着什么,以及它的局限。

  • 作者:Voxal
  • 更新于
  • 阅读约 5 分钟
两个戴着耳机的人坐在笔记本电脑前,中间是一个插画风格的地球和相互连接的音频波形。

点对点(P2P)语音聊天会把你的声音直接发送到其他参与者的设备,而不是经由中央媒体服务器转发。 服务器仍可能帮助设备互相找到对方,当直连路径被阻断时中继也可能介入,但不存在一个专门负责接收、混合并重新分发所有人音频的服务器。

本文是通俗易懂的版本:这意味着什么、连接是如何建立的、它对隐私有哪些影响,以及它的局限在哪里。如需了解工程细节(编解码器、SFU 和群组视频),请参阅 WebRTC、SFU 与编解码器指南。

点对点是什么意思?

点对点,常缩写为 P2P,指参与的设备彼此直接通信,而不是把语音音频发送到中央媒体服务器。

想象两个朋友在线聊天。使用直连时,一方的设备把音频发送到另一方的设备,另一方也可以通过自己的连接回应。

没有任何中央音频服务器需要接收、处理并重新分发每一路语音流。

实际上,建立直连可能需要额外的基础设施。设备可能位于路由器、防火墙或运营商级 NAT 之后,因此 ICE 和 STUN 等技术会帮助发现可行的连接。如果无法建立直连路径,TURN 中继可以转发加密流量,而不会解码音频。

因此,点对点并不意味着应用从不使用服务器,而是意味着媒体路径可以保持直连,仅在必要时才使用中继。

点对点语音聊天是如何工作的?

现代基于浏览器的语音应用通常使用 WebRTC,这是一组用于实时通信的技术。

简化后的连接过程如下:

  1. 找到参与者。 应用通过信令机制交换连接信息。
  2. 发现网络路径。 ICE 收集并测试可能的连接地址,在适当时使用 STUN。
  3. 建立连接。 设备协商出合适的路径:能直连就直连,必要时通过中继。
  4. 发送音频。 麦克风信号被编码,以实时媒体形式传输,并由接收设备解码。
  5. 保持对话流畅。 连接会适应不断变化的网络状况,并管理时序、抖动和丢包。

WebRTC 使用基于 RTP 的媒体传输,并包含用于安全实时通信的机制。具体的连接路径取决于参与者的网络和应用的配置。

点对点与基于服务器的语音聊天

两种架构都能提供出色的语音通信,只是权衡取舍不同。

对比两位参与者之间直接发送音频与通过中央媒体服务器发送音频的示意图。
简化的音频路径:左侧为直接的点对点连接,右侧为通过媒体服务器分发。点对点连接在必要时仍可使用 TURN 中继。

点对点语音

在点对点架构中,每位参与者都可以把音频直接发送给其他参与者。

潜在优势包括:

  • 无需中央媒体服务器来处理或重新分发语音。
  • 直连的媒体路径可以减少不必要的路由。
  • 对中央音频服务的依赖更少。
  • 连接协调与音频传输之间界限清晰。

同时也有取舍。每位参与者可能需要向多个其他参与者上传音频,因此房间越大,带宽需求增长越快。网络限制也可能阻止直连,从而需要使用中继。

基于服务器的语音

在基于服务器的架构中,参与者把音频发送给媒体服务器,再由服务器分发给其他听众。

这可以简化群组分发,并集中处理某些运维任务。不过,它需要媒体基础设施,而且服务器会成为音频传递路径的一部分。

没有哪种架构在任何情况下都更好。正确的选择取决于房间规模、网络状况、可靠性要求、隐私预期和运营成本。

Voxal 如何使用点对点音频

Voxal 围绕轻量、即兴的交流而构建。你无需注册账号即可创建或加入语音房间,然后根据自己的习惯使用 push-to-talk(按键说话)或免提模式。

在 Voxal 中,语音音频始终保持点对点。即使房间使用可选的视频 SFU 来传输摄像头或屏幕共享媒体,语音也绝不会经过它。

Voxal 使用信令来协调参与者并建立连接。信令路径与音频路径是分开的:通过服务器协调连接,并不意味着该服务器会接收音频本身。

当无法建立直连时,可能会使用 TURN 中继。该中继转发的是加密流量,不会解码音频。TURN 与 ICE 文档介绍了 Voxal 如何选择路径。

两位参与者通过 TURN 中继交换加密媒体,中继转发流量但不解码音频。
当无法建立直连时,TURN 中继为加密语音流量提供备用的网络路径。

Voxal 也支持视频和屏幕共享,它们在较大房间中的路由需求有所不同。这些功能可能会使用可选的选择性转发单元(SFU),具体取决于所配置的视频路由偏好。无论如何,语音始终保持点对点。

点对点语音聊天更私密吗?

点对点通信可以减少参与语音传递的系统数量,但仅凭这个词并不能保证隐私。

完整的隐私评估还需要考虑加密、信令元数据、连接日志、中继的使用,以及应用如何处理麦克风数据。

在 Voxal 中,语音通过 WebRTC 的安全媒体机制传输,TURN 中继转发的是加密媒体,而不是解码它。这与 SFU 不同:SFU 在技术上可以访问它接收到的视频媒体,以便有选择地转发。

重要的区别在于每个组件能够访问什么,而不仅仅是是否存在服务器。

点对点语音聊天适用于哪些场景?

点对点语音适合:

  • 小群组对话。
  • 游戏和协作活动。
  • 临时语音房间。
  • 轻量级团队沟通。
  • 希望避免集中处理语音媒体的应用。

更大的房间会带来额外的带宽和连接管理挑战。这也是语音、视频和屏幕共享不应被自动视为同一个网络问题的原因之一。

试试 Voxal

Voxal 将点对点语音音频与 push-to-talk、免提通信、降噪以及可选的视频和屏幕共享结合在一起。

如果你想不注册账号就体验语音房间,请在浏览器中打开 Voxal。

如需深入了解实时通信背后的网络技术,请继续阅读我们的 WebRTC、SFU 与语音编解码器指南。

相关阅读: 什么是 Push-to-Talk?实用指南 · WebRTC、SFU 与语音编解码器详解

延伸阅读

返回博客