什么是TURN服务器?TURN服务器的作用和搭建

在本文中,我们将了解 TURN 服务器及其在网络遍历中的作用。

什么是 TURN 服务器

TURN 是使用 NAT 的中继进行穿透,这些服务器对于现代互联网通信至关重要。

在各种情况下,由于网络限制,直接点对点通信是不可能的。

以下是 TURN 服务器的一些功能:

  • 克服 NAT 和防火墙问题: NAT 是路由器使用的一种方法,用于转发来自本地网络中通过单个公共 IP 地址连接的多个设备的流量。由于公共 IP 地址的可用性有限,因此 NAT 是必不可少的。

NAT 使 P2P 通信复杂化,因为 NAT 后面的设备无法直接与外部网络连接。

  • 促进通信: 由于 NAT 或防火墙的限制,当位于不同 NAT 和防火墙后的设备无法相互通信时,就会出现以下情况
  • 设备之间无法直接通信。这类限制在许多网络中都很常见。这时,TURN 服务器就能促进这种通信。

TURN 服务器如何工作?

TURN 服务器有一个概念性的理解,然后就是实际的实现。我们将研究两个概念,首先让我们从概念上理解转向服务器是如何工作的,然后我们将转向实际应用

  • 中继数据: TURN 服务器的主要用途是在因 NAT 和防火墙而无法直接连接的设备之间转发数据。
  • TURN 服务器从一台设备接收数据,然后将数据转发给另一台设备。通过 TURN 服务器传输的所有数据都经过加密,因此任何人,甚至是 TURN 服务器都不知道通过它传输的数据是什么。
  • 保持连接: TURN 服务器会跟踪连接情况,并通过它管理数据的持续转发,以维护所有对 webRTC 通信至关重要的连接。

STUN 服务器 VS TURN 服务器

TURN

  • TURN 服务器更加通用,可以处理 STUN 服务器发生故障的情况,可以在通信设备之间持续中继流量。
  • 用于 NAT 和防火墙限制通过 STUN 服务器进行通信的情况,需要大量带宽、CPU 和资源

STUN

  • STUN 服务器用于发现 NAT 分配给特定用户的本地 IP 地址和端口号
  • STUN 服务器有助于在两个不同 NAT 后面的设备之间建立直接连接
  • STUN 是一种较简单的协议,在对称 NAT 和存在复杂防火墙规则的情况下会失效

TURN服务器供应商概述

目前市场上有各种 TURN 服务器提供商。本文将介绍免费和付费版本,还将考虑借助 AWS 和 Google Cloud 等云服务器在云中运行 TURN 服务器的方案。

Open Relay Project(免费 TURN 服务器)

Open Relay 是一款免费的 TURN 服务器,可用于 WebRTC 应用程序。Open Relay TURN 服务器具有高可用性和可靠性,并提供 STUN 和 TURN 功能。

Open Relay 在 80 和 443 端口上运行,可绕过企业防火墙(许多企业/公司防火墙只允许 80 或 443 端口),它还支持 turns + SSL 以实现最大兼容性。

  • 在 80 和 443 端口上运行
  • 经测试可绕过大多数防火墙规则
  • 企业级可靠性(99.999% 正常运行时间)
  • 支持 TURNS + SSL,允许连接通过深度数据包检测防火墙。
  • 支持 STUN
  • 支持 TCP 和 UDP
  • 动态路由到最近的服务器
  • 生产就绪

Metered TURN Server(付费 TURN 服务)

Metered TURN Server 是一种付费服务器服务。它具有开放中继项目的所有功能,还有一些其他功能

  • 免费TURN服务器的所有功能
  • 额外支持

使用 TURN 服务器服务提供商的好处

  • 易于设置和管理:使用预先设置的服务器,只需在应用程序中添加凭据,TURN 服务器就会自动启动。
  • 免维护:TURN 服务器提供商负责所有维护工作,从用户角度看,TURN 服务器是免维护的。
  • 可扩展性: 任何 TURN 服务器提供商提供的 TURN 服务器都具有高度可扩展性,因为 TURN 服务器提供商的业务就是提供可扩展的 TURN 服务器。
  • 可靠性和正常运行时间,99.999% 的可靠性。
  • 支持和专业知识: Metered 或 Open Relay Project 等 TURN 服务器提供商提供专门支持

在云提供商 AWS、Google Cloud、Azure 等设置 TURN 服务器

您还可以在云提供商之一中设置自己的TURN服务器。要运行服务器,可以使用开源 Coturn 项目。

但在我们开始有关如何设置您自己的回合服务器的教程之前,可能需要考虑一些注意事项。

还可以参考有关如何在各个云提供商上设置 TURN 服务器的各种详细指南:

  • 使用 CoTURN 设置 TURN 服务器
  • AWS TURN 服务器:7 个简单步骤
  • 如何设置 Google Cloud TURN 服务器
  • Azure TURN 服务器完整指南

在云提供商处运行自己的 turn 服务器时的注意事项

  • 安装
  • 维护
  • 实例停滞问题
  • 成本估算和控制
  • 资源分配

第 1 步 选择云服务提供商

如 AWS、Google Cloud、Azure等服务商,其中一些还提供有限时间内的免费套餐。

创建虚拟机(VM): 在选定的云提供商上创建一个虚拟机,并确保该机器有一个公共 IP 地址,TCP 3478 端口处于开放状态。

记得在机器上安装 Linux debian 或 ubuntu。

第 2 步 安装 Coturn

以 SSH 方式登录虚拟机,然后键入以下命令将 coturn 安装到机器中。

更新依赖项:

sudo apt-get update
sudo apt-get upgrade

第 3 步 配置 Coturn

  • cd 进入 coturn 文件夹,然后使用 nano 编辑配置文件/etc/turnserver.conf,如下所示:
nano /etc/turnserver.conf
  • 基本配置
listening-port=3478
# Use your server's public IP
external-ip=<Your_VM_Public_IP>
# Set a user for authentication
user=<username>:<password>
# Enable log file
log-file=/var/log/turnserver.log

第 4 步 启动 TURN 服务器

Turnserver -c /etc/turnserver.conf

第 5 步 与 WebRTC 集成

您可以通过在 ICE 服务器阵列中指定 TURN 凭据,轻松将 TURN 服务器与您的 webRTC 应用程序集成

const iceConfig = {
  'iceServers': [
    {
      'urls': 'turn:<Your_VM_Public_IP>',
      'username': '<username>',
      'credential': '<password>'
    }
  ]
};

第 6 步 TURN 服务器

启动 TURN 服务器后,您可以通过访问https://turndemo.metered.ca/并添加您的凭据来检查 TURN 服务器是否正常工作。

TURN 服务器使用案例

  • 电信和 VoIP 服务:VoIP 服务 TURN 服务器是实现通话和视频聊天的必要条件
  • 视频会议:需要使用 TURN 服务器才能进行视频会议,尤其是大量参与者之间的视频会议。
  • 物联网设备:如果需要在 NAT 后面的物联网设备之间进行通信,则需要 TURN 服务器在设备之间进行通信
  • 流媒体服务:视频流媒体服务也需要 TURN 服务器,以便将流媒体传输到数百万个位于不同 NAT 和防火墙规则后的设备上
  • 远程工作和协作工具:许多远程工作和协作工具(如聊天软件和其他通信设备和软件)都需要 TURN 服务器在 NAT 后面相互通信。

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/webrtc/38399.html

(1)
RTC观主的头像RTC观主认证作者
0 0

相关推荐

  • WebRTC中的TURN WebRTC

    WebRTC中的TURN

    在使用webrtc的时候,在有些情况下NAT是无法穿越的,那怎么办呢?那么在特定的情景下,这时就需要公网的服务器作为一个中继,对来往的数据进行转发,于是这种转发协议就被定义为TUR…

    webrtc学习和实践的头像 webrtc学习和实践
    2023年4月28日
  • 谈谈 WebRTC TURN 身份验证 WebRTC

    谈谈 WebRTC TURN 身份验证

    在 WebRTC 领域,TURN 服务器通常作为黑盒组件处理。我们需要它们,但不必定期进行配置。然而,17.7% 的 WebRTC 流量由 TURN 服务器处理。 什么是 TURN…

    webrtc学习和实践的头像 webrtc学习和实践
    2023年7月21日
  • WebRTC 传输之 TURN WebRTC

    WebRTC 传输之 TURN

    1 TURN 要解决的问题 在 TCP/IP 网络中,一个常见的问题就是如何让两台处于内网的主机进行通信,即 NAT 穿越问题。解决 NAT 穿越问题的两个关键是: 举个例子, A…

    webrtc学习和实践的头像 webrtc学习和实践
    2024年2月20日
  • 如何使用 Coturn 设置和配置 WebRTC TURN 服务器 WebRTC

    如何使用 Coturn 设置和配置 WebRTC TURN 服务器

    在本文中,您将使用 Coturn 设置您自己的 TURN 服务器,并使用用户名和密码保护它。您还将学习如何将域添加到您的 TURN 服务器并使用 Docker 运行服务器。 Web…

    RTC观主的头像 RTC观主
    2023年2月28日
  • WebRTC TURN(中继穿透 NAT)简介及使用方法 WebRTC

    WebRTC TURN(中继穿透 NAT)简介及使用方法

    本文分享TURN的概念、生命周期以及使用方法,方便大家在WebRTC开发中更好的理解TURN通信。 TURN是什么 WebRTC 在无法建立直接连接的情况下,RFC 8656中定义…

    webrtc学习和实践的头像 webrtc学习和实践
    2023年2月6日
  • 重温WebRTC中TURN的使用:WebRTC TURN比你想象的更有用 WebRTC

    重温WebRTC中TURN的使用:WebRTC TURN比你想象的更有用

    TURN协议是 WebRTC 严重依赖的烦恼之一,但很少有人真正理解它(另一个例子是SDP)。从公共Q/A论坛上大量的相关问题和投诉来看,大多数 WebRTC 开发者甚至不知道 T…

    webrtc学习和实践的头像 webrtc学习和实践
    2023年6月25日

发表回复

登录后才能评论

热门文章

  • 什么是弱网?浅谈弱网评测
    26.3K

    什么是弱网?浅谈弱网评测

  • 显示器中的HDR10、HDR400、HDR600有什么区别?

    显示器中的HDR10、HDR400、HDR600有什么区别?

    18.7K
  • 使用 FFmpeg 轻松调整视频的大小/缩放/更改分辨率

    使用 FFmpeg 轻松调整视频的大小/缩放/更改分辨率

    14.5K
  • WebRTC 教程3:WebRTC如何在浏览器中启用/禁用

    WebRTC 教程3:WebRTC如何在浏览器中启用/禁用

    13.8K
  • 如何在 Chrome、Firefox、Safari 和 Opera 中禁用 WebRTC

    如何在 Chrome、Firefox、Safari 和 Opera 中禁用 WebRTC

    13.5K
  • 音频编解码器比较 – MP3、AAC、AC3、WAV、WMA 和 Opus

    音频编解码器比较 – MP3、AAC、AC3、WAV、WMA 和 Opus

    13.0K
  • HDR中的PQ和HLG曲线有何不同?

    HDR中的PQ和HLG曲线有何不同?

    11.8K
  • chrome 如何开启HEVC硬件解码

    chrome 如何开启HEVC硬件解码

    11.7K
  • AVC 和 HEVC 的区别(AVC和HEVC哪个好)

    AVC 和 HEVC 的区别(AVC和HEVC哪个好)

    10.7K
  • AV1编码及AV1的码流结构

    AV1编码及AV1的码流结构

    9.9K

玻璃钢生产厂家广东商城玻璃钢园林艺术雕塑舟山户外玻璃钢花箱花盆玻璃钢佛像雕塑哪家靠谱河南玻璃钢雕塑厂家哪家好纪念性玻璃钢雕塑厂家浙江户外商场美陈有哪些济源动物玻璃钢雕塑漯河玻璃钢仿铜雕塑定制厂家玻璃钢传统人物雕塑公司地址吉林玻璃钢卡通雕塑动物福建大型商场美陈多少钱陕西步行街玻璃钢雕塑方法舟山抽象玻璃钢雕塑优势邳州葛家村玻璃钢雕塑玻璃钢雕塑 石膏玻璃钢雕塑用什么防裂户外大型玻璃钢雕塑制作重庆市玻璃钢花盆厂曲靖玻璃钢雕塑浮雕厂舟山户内玻璃钢雕塑价位景洪市玻璃钢雕塑设计要多少钱连云港玻璃钢卡通雕塑定制河北装饰商场美陈报价广东室内商场美陈供应特色玻璃钢雕塑摆件生产宿迁玻璃钢仿铜雕塑批发宣城彩色玻璃钢雕塑典雅的玻璃钢卡通雕塑河南走廊商场美陈供货商宣城环保玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化