当前位置: 首页 > news >正文

AWS WebRTC:获取ICE服务地址(part 3):STUN服务和TURN服务的作用 - 实践

STUN服务和TURN服务的作用:

服务全称作用是否中继流量适用场景
STUNSession Traversal Utilities for NAT

协助设备发现自己的公网地址(srflx candidate)

❌ 不中继,仅辅助NAT 穿透成功时使用
TURNTraversal Using Relays around NAT提供中继服务器,帮助双方通信✅ 会中继所有流量直连失败时兜底方案

ICE服务地址(ICE Server URLs)主要是 STUN 和 TURN 服务器的地址,用于 WebRTC 在 NAT 网络环境中协商建立连接。

STUN 服务的两个重要作用:

获取外网映射(服务器反射地址,即 srflx)
  • 当设备在 NAT 后面(如家庭路由器)时,STUN 许可告诉客户端:

    • 什么就是你在公网上的 IP

    • 你的端口是 NAT 分配的哪个端口

  • 这个过程通常用于生成Server Reflexive Candidate(srflx)

测试连通性(连接性检测)
  • 在 ICE 流程中,ICE Agent 会向候选对(candidate pair)发送STUN Binding Request

  • 收到 STUN Binding Response说明该路径是可达的。

  • 不仅测试了连通性,还用于NAT 的打洞(NAT Traversal)

补充说明:

  • STUN 消息(Binding Request/Response),就是虽然连接性检测运用的但它不一定必须经过 STUN 服务器

    • 比如 host ↔ host 时,直接点对点发 Binding Request。

    • 只有在某些 NAT 情况下才得借助 STUN服务器。

TURN服务:

TURN(Traversal Using Relays around NAT)Server 是当直接 P2P(点对点)失败时,用来“转发”音视频数据的中继服务器,确保连接稳定可靠。

TURN 的工作原理:

客户端 A  <--->  TURN Server  <--->  客户端 B

总结:

项目内容
名称含义TURN = Traversal Using Relays around NAT
核心作用在 P2P 无法建立时作为中继,保证通信成功
使用成本高(中继流量,带宽占用大)
必须存在?非必须,但可以提升可靠性
搭配使用常与 STUN 服务器一起搭配使用

下一篇:AWS WebRTC:获取ICE服务地址(part 4):本地安装STUN服务 

http://www.jsqmd.com/news/9104/

相关文章:

  • 完整教程:进阶配置与优化:配置 HTTPS 以确保数据安全传输
  • 微服务各个部分的作用 - 详解
  • US$34.2 KEYDIY KD B27-3 Universal Flip Remote 3 Buttons for Audi Type 5pcs/lot
  • 点乘与叉乘的由来:从四元数到公理自洽的启示
  • 【算法深练】分组循环:“分”出条理,化繁为简 - 教程
  • java学习日记10.5
  • US$34.2 KEYDIY KD B11-3 Universal Flip Remote Key 3 Buttons for PSA Type 5pcs/lot
  • 【JNI】JNI基础语法
  • 面试题——计算机网络:HTTP和HTTPS的区别? - 教程
  • 【EF Core】通过 DbContext 选项扩展框架
  • 从Chrome渲染器代码执行到内核:MSG_OOB漏洞分析与利用
  • assistant-ui
  • US$34.2 KEYDIY KD B10-4 Universal Flip Remote Key 3+1 Buttons for Honda Type 5pcs/lot
  • 《无垠的太空(2)卡利班之战》电子书素材征集
  • 20251006 之所思 - 人生如梦
  • C# Avalonia 16- Animation- RotateButton
  • US$78.85 KEYDIY KD ZB42-4 Universal Smart Remote Key 3+1 Buttons for Lexus Type 5pcs/lot
  • 2025 十一集训
  • 汇编实验3
  • 详细介绍:python第31天打卡
  • US$78.85 KEYDIY KD ZB33-4 Universal Smart Remote Key 3+1 Buttons for Hyundai Type 5pcs/lot
  • Python 的 LEGB 作用域
  • 在Windows下使用lucky更新动态域名
  • Python中小整数对象池、intern机制和大整数对象池
  • 如何采用插件和子主题添加WordPress自定义CSS(附:常见错误)
  • ctf逆向常见算法----base64
  • 02020409 EF Core基础09-一对一、多对多、EF Core基于关系的复杂查询
  • 02020503 EF Core高级03-分页查询、IQuerable底层的实现形式、DataReader、DataTable、EF Core中的异步方法
  • 02020502 EF Core高级02-IQuerable会延迟执行、分部和动态构建IQuerable、IQuerable的复用
  • 在 PyCharm 中,环境:bert_env , 执行 import wandb 报错。但是,在CMD窗口,环境:bert_env , 执行 import wandb 正常。