一、stun 介绍
STUN(Simple Traversal of UDP over NATs,NAT 的UDP简单穿越)是一种网络协议,用来得到自己的公网IP、PORT信息。
协议文档rfc5389:https://datatracker.ietf.org/doc/rfc5389/?include_text=1
一般流程客户端会发送stun包,即binding request到stun服务器,stun服务器返回 binding response携带该客户端的外网IP信息。
而流媒体服务器是部署在公网环境中,本身就具有外网IP,所以不用再发送stun包来探测自己的外网IP。服务端可以直接在sdp的candidate中写上自己的外网IP信息,然后发给客户端。客户端得到服务器的IP后,发送binding request 进行连通性测试,服务端被动响应该请求。客户端还会通过binding request和流媒体服务器维持心跳。这种实现方式是称为ice-lite(轻量级、精简版ice server)。
本文介绍了STUN协议的工作原理,解释了流媒体服务器如mediasoup部署在公网环境下,可以使用ice-lite模式,直接提供公网IP信息,从而不需要额外部署STUN服务器。同时对比了ice-lite与ice-full的区别,并提到了抓包中观察到的XOR-MAPPED-ADDRESS属性。
订阅专栏 解锁全文
1084

被折叠的 条评论
为什么被折叠?



