System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术提出了一种基于池化的快速nat穿越方法和系统,属于nat穿越。
技术介绍
1、nat(network address translation,网络地址转换)穿越是一种网络通信技术,旨在克服由于网络中存在nat设备(例如路由器)引起的连接问题。nat设备通常将多个内部网络设备共享单个公共ip地址,以提高网络安全性和地址空间利用效率。然而,在需要nat穿越时,执行公网内网通信、端口探测、端口预测、端口通告等流程,获得可用的udp通信套接字对。nat穿越需要消耗一段可观的时间,在需要穿越时执行穿越流程容易等待过长时间,用户体验较差。
技术实现思路
1、本专利技术提供了一种基于池化的快速nat穿越方法和系统,用以解决nat穿越需要消耗一段可观的时间,在需要穿越时执行穿越流程容易等待过长时间,用户体验较差的问题:
2、一种基于池化的快速nat穿越方法,所述基于池化的快速nat穿越方法包括:
3、创建udp通信套接字池;
4、利用所述udp通信套接字池对通信双方进行套接字对的分配;
5、根据所述套接字在通信双方进行点对点的通信。
6、进一步地,创建udp通信套接字池,包括:
7、提取用户的nat穿越的目标需求信息;
8、根据所述用户的nat穿越的目标需求信息创建udp通信套接字池。
9、进一步地,利用所述udp通信套接字池对通信双方进行套接字对的分配,包括:
10、实时检测是否
11、当接收到通信双方的nat穿越请求质量之后,在所述通信双方实施nat穿越,并判断通信双方的nat穿越是否成功;
12、当所述通信双方的nat穿越成功后,从udp通信套接字池中分配可用的套接字对,其中,所述套接字对用于通信双方的点对点通信。
13、进一步地,从udp通信套接字池中分配可用的套接字对,包括:
14、当所述通信双方的nat穿越成功后,提取所述udp通信套接字池中获取分配可用的套接字对的数量;
15、提取历史记录中的通信双方的单位时间内的通信数据量;其中,所述单位时间为3s-5s;
16、通过所述通信双方的单位时间内的通信数据量结合分配可用的套接字对的数量设置用于进行当前通信的套接字对的数量;其中,所述用于进行当前通信的套接字对的数量通过如下公式获取:
17、n=[1+(cmax-ct)/max(cmax,ct)]×m
18、其中,n表示用于进行当前通信的套接字对的数量,且,n的最小值为0.3r,最大值为r,r为当前可用的所有套接字对的总数量;m表示预设的个数基准值,且的取值范围为0.5r-0.8r;cmax表示历史记录中通信双方的单位时间内的最大通信数据量;ct表示当前当前可用的所有套接字对的总数量对应的单位时间内可运行的最大通信数据传输量。
19、进一步地,根据所述套接字在通信双方进行点对点的通信,包括:
20、当所述udp通信套接字池中分配可用的套接字对后,向所述通信双方发送分配完成信息;
21、所述通信双方在接收到分配完成信息之后,通过套接字进行通信双方的点对点的通信。
22、一种基于池化的快速nat穿越系统,所述基于池化的快速nat穿越系统包括:
23、通信套接字池创建模块,用于创建udp通信套接字池;
24、套接字对分模块,用于利用所述udp通信套接字池对通信双方进行套接字对的分配;
25、点对点通信模块,用于根据所述套接字在通信双方进行点对点的通信。
26、进一步地,所述通信套接字池创建模块包括:
27、目标需求信息提取模块,用于提取用户的nat穿越的目标需求信息;
28、udp通信套接字池创建模块,用于根据所述用户的nat穿越的目标需求信息创建udp通信套接字池。
29、进一步地,所述套接字对分模块包括:
30、质量检测模块,用于实时检测是否接收到通信双方的nat穿越请求质量;
31、nat穿越成功判断模块,用于当接收到通信双方的nat穿越请求质量之后,在所述通信双方实施nat穿越,并判断通信双方的nat穿越是否成功;
32、分配执行模块,用于当所述通信双方的nat穿越成功后,从udp通信套接字池中分配可用的套接字对,其中,所述套接字对用于通信双方的点对点通信。
33、进一步地,所述分配执行模块包括:
34、数量提取模块,用于当所述通信双方的nat穿越成功后,提取所述udp通信套接字池中获取分配可用的套接字对的数量;
35、通信数据量提取模块,用于提取历史记录中的通信双方的单位时间内的通信数据量;其中,所述单位时间为3s-5s;
36、套接字对数量设置模块,用于通过所述通信双方的单位时间内的通信数据量结合分配可用的套接字对的数量设置用于进行当前通信的套接字对的数量;其中,所述用于进行当前通信的套接字对的数量通过如下公式获取:
37、n=[1+(cmax-ct)/max(cmax,ct)]×m
38、其中,n表示用于进行当前通信的套接字对的数量,且,n的最小值为0.3r,最大值为r,r为当前可用的所有套接字对的总数量;m表示预设的个数基准值,且的取值范围为0.5r-0.8r;cmax表示历史记录中通信双方的单位时间内的最大通信数据量;ct表示当前当前可用的所有套接字对的总数量对应的单位时间内可运行的最大通信数据传输量。
39、进一步地,所述点对点通信模块包括:
40、分配完成信息发送模块,用于当所述udp通信套接字池中分配可用的套接字对后,向所述通信双方发送分配完成信息;
41、通信执行模块,用于所述通信双方在接收到分配完成信息之后,通过套接字进行通信双方的点对点的通信。
42、本专利技术有益效果:
43、本专利技术提出的一种基于池化的快速nat穿越方法和系统在一些应用场景下,可以提前确定可能进行通信的双方时(如点对点视频点播、实时直播),提前发起nat穿越流程,获得一定量的可用udp通信套接字对,并通过定期保活维护其在nat设备上的生命周期。在实际需要nat穿越时直接取出使用。避免了nat穿越带来的长等待,提升了用户体验。
本文档来自技高网...【技术保护点】
1.一种基于池化的快速NAT穿越方法,其特征在于,所述基于池化的快速NAT穿越方法包括:
2.根据权利要求1所述基于池化的快速NAT穿越方法,其特征在于,创建UDP通信套接字池,包括:
3.根据权利要求1所述基于池化的快速NAT穿越方法,其特征在于,利用所述UDP通信套接字池对通信双方进行套接字对的分配,包括:
4.根据权利要求3所述基于池化的快速NAT穿越方法,其特征在于,从UDP通信套接字池中分配可用的套接字对,包括:
5.根据权利要求1所述基于池化的快速NAT穿越方法,其特征在于,根据所述套接字在通信双方进行点对点的通信,包括:
6.一种基于池化的快速NAT穿越系统,其特征在于,所述基于池化的快速NAT穿越系统包括:
7.根据权利要求6所述基于池化的快速NAT穿越系统,其特征在于,所述通信套接字池创建模块包括:
8.根据权利要求6所述基于池化的快速NAT穿越系统,其特征在于,所述套接字对分模块包括:
9.根据权利要求8所述基于池化的快速NAT穿越系统,其特征在于,所述分配执行模块
10.根据权利要求6所述基于池化的快速NAT穿越系统,其特征在于,所述点对点通信模块包括:
...【技术特征摘要】
1.一种基于池化的快速nat穿越方法,其特征在于,所述基于池化的快速nat穿越方法包括:
2.根据权利要求1所述基于池化的快速nat穿越方法,其特征在于,创建udp通信套接字池,包括:
3.根据权利要求1所述基于池化的快速nat穿越方法,其特征在于,利用所述udp通信套接字池对通信双方进行套接字对的分配,包括:
4.根据权利要求3所述基于池化的快速nat穿越方法,其特征在于,从udp通信套接字池中分配可用的套接字对,包括:
5.根据权利要求1所述基于池化的快速nat穿越方法,其特征在于,根据所述套接...
【专利技术属性】
技术研发人员:余丹,兰雨晴,唐霆岳,邢智涣,
申请(专利权)人:慧之安信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。