[发明专利]一种提高webrtc p2p打洞成功效率的方法在审
| 申请号: | 202211187361.2 | 申请日: | 2022-09-28 |
| 公开(公告)号: | CN115514572A | 公开(公告)日: | 2022-12-23 |
| 发明(设计)人: | 吴海霖 | 申请(专利权)人: | 泉州砾鹰石科技有限公司 |
| 主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L61/256;H04L61/2592;H04L67/104 |
| 代理公司: | 山东恒果知识产权代理有限公司 37347 | 代理人: | 李至冰 |
| 地址: | 362000 福建省泉州市*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 提高 webrtc p2p 打洞 成功 效率 方法 | ||
本发明公开了一种提高webrtc p2p打洞成功效率的方法,包括以下步骤:S1探测NAT类型;S2判断NAT类型:收到对方的NAT类型和自己的NAT类型对比;S3生成访问记录:不同类型生成的访问记录不一样;S4 UDP穿透:中间服务器保存信息、并能发出建立UDP隧道的命令;S5控制发布速率:打洞过程需要控制发布速率,端口限制型NAT访问对方不同端口时很容易被认为UDP端口扫描攻击,对称性NAT探测端口限制型NAT的报文很容易被误认为UDP洪泛攻击,需要控制发包速率,基于谷歌开源的webrtc sdk,优化打洞策略,成功穿透一端NAT类型是端口限制型NAT,另一端是对称型NAT的场景,极大的提高了p2p成功效率。
技术领域
本发明涉及电子信息技术领域,具体为一种提高webrtc p2p打洞成功效率的方法。
背景技术
Webrtc是谷歌开源的即使通信标准,能提供P2P音视频聊天,但在国内公网ip资源匮乏,大多设备都是处于内网环境没有公网IP,都需要路由器做NAT连通外网,因此两个处于不同内网的设备是没办法进行p2p直连。路由器NAT有几种常见类型,包括全锥形NAT,限制型NAT,端口限制型NAT,及对称型NAT,而当前路由器用的最多的是对称型NAT和端口型NAT,对称型NAT的安全性最高,用于大型路由器和运营商网络,家用路由器则端口限制型NAT居多。谷歌提供的webrtc SDK只支持通话两端都是端口限制型NAT才能穿透NAT进行p2p聊天,对于一端是端口限制型NAT另一端是对称型NAT或则两端都是对称型NAT则无法穿透NAT。
发明内容
为了解决上述问题,本发明的目的在于提供一种提高webrtc p2p打洞成功效率的方法。
为实现上述目的,本发明提供如下技术方案:一种提高webrtc p2p打洞成功效率的方法,包括以下步骤:
(S1)探测NAT类型:两端使用stun协议探测自己的NAT类型,并放在offer和answer的candidate里面告知对方;
(S2)判断NAT类型:收到对方的NAT类型和自己的NAT类型对比,如果一端是对称型NAT另一端是端口限制型NAT则进入接下来的打洞过程;
(S3)生成访问记录:不同类型生成的访问记录不一样;
(S4)UDP穿透:中间服务器保存信息、并能发出建立UDP隧道的命令,网关均要求为Cone NAT类型,Symmetric NAT不适合,完全圆锥型网关可以无需建立udp隧道,但这种情况非常少,要求双方均为这种类型网关的更少;
(S5)控制发布速率:打洞过程需要控制发布速率, 端口限制型NAT访问对方不同端口时很容易被认为UDP端口扫描攻击,对称性NAT探测端口限制型NAT的报文很容易被误认为UDP 洪泛攻击,需要控制发包速率;
进一步地,所述步骤(S2)中判断NAT类型的方法包括以下步骤;
(1)判断主机是否在NAT后:主机A首先发送任意一个UDP数据包给服务器S(Endpoint1),S收到包之后,用Endpoint1将接收到数据包头的IP地址和端口打成一个UDP反馈包发送给用户A,A在收到反馈包之后,比较自身的Endpoint和反馈包中的Endpoint,如果一样则说明A不位于任何NAT之后,否则,就是位于NAT之后;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于泉州砾鹰石科技有限公司,未经泉州砾鹰石科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211187361.2/2.html,转载请声明来源钻瓜专利网。





