TURN 服务器中的 'realm' 是什么?

What is 'realm' in TURN server?

我想为我的 WebRTC 项目托管一个 TURN 服务器,但我不知道 'realm' 属性的作用。我看过 coturn 和 pion,它们似乎都需要我输入。谁能解释一下这是什么?

访问一组具有共同"owner"的地址是"key"。 这是一种隔离措施:TURN 服务器的数据库中可以有一个 "default realms" 或多个 "named realms"。 并且任何领域都有自己的用户,并且他们每个人都有适当的 login/password 对来识别访问和工作会话。 当然,登录 "named realm" 的计算机实际上是 "invisible" 属于其他领域的其他计算机。 如果您只是登录 "default realm",其中所有用户都使用相同的 login/passwd(通常使用 "public" TURN 服务器),所有计算机都可以轻松访问您的机器,也可以从未知机器访问您的机器"realm" 之所以有用

...仅此而已.. :)

领域属性在中指定 [Traversal Using Relay NAT (TURN) draft-rosenberg-midcom-turn-08 第 9.2.9 节。 Realm 属性的值应该是 TURN 服务器提供者的域名。该协议使用 3.1.12 节中指定的摘要质询扩展中的属性。如果协议客户端包含这个属性,TURN 服务器应该在摘要质询扩展中使用指定的 Realm 值。如果协议客户端在请求消息中不包含此属性,则 TURN 服务器使用默认的 Realm 值。 TURN 服务器必须在相关响应中包含此属性,并且 Realm 值必须是 TURN 服务器在摘要质询扩展中使用的值。

9.2.9 REALM
 The REALM attribute is present in Shared Secret Requests and Shared
 Secret Responses. It contains text which meets the grammar for
 "realm" as described in RFC 3261, and will thus contain a quoted
 string (including the quotes).

参考:RFC3261