【音视频流媒体进阶:从网络到 WebRTC】第16篇-ICE/STUN/TURN:NAT 穿越全攻略

张开发
2026/4/13 6:51:10 15 分钟阅读

分享文章

【音视频流媒体进阶:从网络到 WebRTC】第16篇-ICE/STUN/TURN:NAT 穿越全攻略
ICE/STUN/TURN:NAT 穿越全攻略前言在上一篇文章中,我们了解了 WebRTC 的整体架构和信令设计。你已经知道两个浏览器之间的音视频通话需要经过 Offer/Answer 交换 SDP、建立 PeerConnection 等步骤。但有一个关键问题被我们暂时搁置了——这两个浏览器怎么找到彼此?现实世界中,绝大多数终端设备都藏在 NAT(Network Address Translation)后面。你的电脑可能拿到的是192.168.1.100这样的私网地址,而对端看到的可能是运营商分配的某个公网 IP 加上一个映射端口。两台都在 NAT 后面的设备想直接通信,就像两个人分别住在两栋没有门牌号的大楼里,彼此不知道对方的房间号。NAT 是互联网的"铁幕"。它解决了 IPv4 地址枯竭的问题,但也给 P2P 通信设置了天然障碍。WebRTC 要实现端到端的实时音视频传输,就必须穿越这道铁幕。为此,IETF 设计了一整套 NAT 穿越方案:STUN帮你发现自己的公网地址,TURN在直连失败时提供中继转发,而ICE框架则将它们整合在一起,系统化地完成候选地址的收集、优先级排序和连通性检查。本文的目标是让你彻底理解 NAT 穿越的原理,并能在生产环境中部署和配置自己的 TURN 服务器。1. NAT 类型分类

更多文章