[发明专利]一种提高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 打洞 成功 效率 方法
【权利要求书】:

1.一种提高webrtc p2p打洞成功效率的方法,其特征在于:包括以下步骤:

(S1)探测NAT类型:两端使用stun协议探测自己的NAT类型,并放在offer和answer的candidate里面告知对方;

(S2)判断NAT类型:收到对方的NAT类型和自己的NAT类型对比,如果一端是对称型NAT另一端是端口限制型NAT则进入接下来的打洞过程;

(S3)生成访问记录:不同类型生成的访问记录不一样;

(S4)UDP穿透:中间服务器保存信息、并能发出建立UDP隧道的命令,网关均要求为ConeNAT类型,Symmetric NAT不适合,完全圆锥型网关可以无需建立udp隧道;

(S5)控制发布速率:打洞过程需要控制发布速率, 端口限制型NAT访问对方不同端口时很容易被认为UDP端口扫描攻击,对称性NAT探测端口限制型NAT的报文很容易被误认为UDP 洪泛攻击,需要控制发包速率。

2.根据权利要求1所述的一种提高webrtc p2p打洞成功效率的方法,其特征在于,所述步骤(S2)中判断NAT类型的方法包括以下步骤;

(1)判断主机是否在NAT后:主机A首先发送任意一个UDP数据包给服务器S(Endpoint1),S收到包之后,用Endpoint1将接收到数据包头的IP地址和端口打成一个UDP反馈包发送给用户A,A在收到反馈包之后,比较自身的Endpoint和反馈包中的Endpoint,如果一样则说明A不位于任何NAT之后,否则,就是位于NAT之后;

(2)检测NAT是否是完全锥型:主机A向服务器S(Endpoint1)发送UDP数据包后,服务器用Endpoint2将接收到数据包头的IP地址和端口打成一个UDP反馈包发送给用户A,另外,A在发送UDP数据包后,立即开始端口侦听,设定一个等待时间上限,防止无限堵塞(因为接收是一个While循环),这样进行若干次,如果A每次都没有收到数据包,说明A所处的NAT类型不是完全锥型的,相反,在这整个过程中只要收到一次服务的包,就说明A所处的NAT类型是完全限制型的;

(3)检测NAT是否是对称型:主机A向服务器S(Endpoint1)发送UDP数据包,服务器S(Endpoint1)在收到数据包后,用Endpoint1将接收到数据包头的IP地址和端口打成一个UDP反馈包发送给用户A,另外,A在发送数据包后,开始侦听端口并接收数据,设定一个等待时间上限,防止无限堵塞(因为接收是一个While循环),与此同时,主机A用同一个套接字向服务器S (Endpoint2)发送UDP数据,Endpoint2发送与上面类似的UDP回馈包,在A的整个数据接收过程中,如果收到的服务器反馈数据包中标识自身的IP地址和端口存在不相同的情况,就说明NAT是对称型的,否则是非对称型NAT。

3.根据权利要求1所述的一种提高webrtc p2p打洞成功效率的方法,其特征在于,所述步骤(S3)中生成访问记录的方法包括以下步骤:

(1)对称型NAT需要创建多个udp socket,每个socket朝端口限制型NAT的外网地址发送stun ping探测报文,此时端口限制型NAT的路由器会记录对端的公网IP有多个端口有访问记录;

(2)端口限制型NAT也会使用同一个udp socket朝对端外网IP的不同端口发送stunping探测报文,如果刚好探测的某个端口也有发过包给端口限制型NAT,则此时就能被对方的NAT通过,至此就能打通,因为此时两端的路由器都有记录双方的访问记录。

4.根据权利要求1所述的一种提高webrtc p2p打洞成功效率的方法,其特征在于,所述步骤(S4)UDP穿透的方法包括以下步骤:

(1)双方先都通过UDP与服务器通讯后,NAT网关默认会做一个外网IP和端口号 与 内网IP与端口号的映射,这个无需设置的,服务器也不需要知道客户的真正内网IP用户A的NAT穿透;

(2)用户A先通过服务器知道用户B的外网地址与端口;

(3)用户A向用户B的外网地址与端口发送消息;

(4)在这一次发送中,用户B的网关会拒收这条消息,因为它的映射中并没有这条规则;

(5)但是用户A的网关就会增加了一条允许规则,允许接收从B发送过来的消息

用户B的NAT穿透:

(6)服务器要求用户B发送一个消息到用户A的外网IP与端口号;

(7)用户B发送一条消息,这时用户A就可以接收到B的消息,而且网关B也增加了允许规则用户A-B的双向UDP通信;

(8)之后,由于网关A与网关B都增加了允许规则,所以A与B都可以向对方的外网IP和端口号发送消息。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于泉州砾鹰石科技有限公司,未经泉州砾鹰石科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202211187361.2/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top