WebRTC系列-Turn相关实现及SASLprep

本文详细探讨了WebRTC中TURN协议的实现,包括客户端如何通过Allocate请求获取服务器资源,服务器如何通过401响应要求身份验证,以及客户端如何发送带有认证的消息进行资源分配。文章还深入解析了INTEGRITY加密值的生成过程,涉及到的HMAC算法以及在WebRTC实现中的关键函数。
摘要由CSDN通过智能技术生成

1.turn协议实现

1.1 协议规定的流程

为了在服务器上创建分配资源,客户端需要使用 Allocate去请求创建;

  • 客户端向服务器发送Allocate request请求,并且服务器回复一个分配成功响应(Allocate success response)(第一次的请求是会返回401失败),其中包含分配的中继(relayed)传输地址;客户端可以在Allocate 请求的attributes中描述添加想要的属性(例如:分配的生命周期)。因为中继数据具有安全隐患,服务器现在要求客户端携带验证内容,通常使用 STUN 的长期凭证机制,以表明它被授权使用服务器。
  • 一旦分配了中继传输地址,客户端必须保持这个Allocate存活。为此,客户端需要定期发送一个对服务器的刷新请求。TURN 使用不同的方法(刷新而不是分配)进行刷新,以确保如果服务分配的资源因某种原因消失,则通知客户端。
    刷新事务的频率由配的生命周期确定。分配的默认生命周期是10 分钟-- 一般这个值被选择得足够长,这样的刷新频率不会造成客户端的负担,同时对于意外过期客户能及时退出的分配的资源。
    但是,客户端可以在分配请求中请求更长的生命周
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简简单单lym

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值