【技术实现步骤摘要】
用于点对点通信的方法、系统、计算机存储介质及电子设备
[0001]本申请涉及点对点通信方法,更特别地,涉及在具有网络地址转换装置的通信用户之间进行点对点通信的方法、网络通信系统、计算机存储介质及电子设备。
技术介绍
[0002]点对点通信(P2P)因其延时低、效率高、服务器负担低等优点,越来越多地被应用在例如车辆的自动驾驶等多种场景中。而网络地址转换(NAT)技术虽然在一定程度上在解决IPv4地址、构建防火墙、保证网络安全方面都发挥了一定的作用。但其不允许外网主机访问内网主机,破坏了点对点的网络通信。因此,为了实现跨越网络地址转换装置的主机之间点对点通信,需要用到NAT打洞技术,或者称为NAT穿透技术。
[0003]在现有的NAT打洞技术中,uPnP/NAT
‑
pmp方法需要路由器和客户端程序支持,才能主动注册端口映射,从而实现不同NAT内网主机之间的点对点通信。而在其他的打洞方法中,存在着比较高的打洞失败率。尤其是在通信双方的网络地址转换装置都是对称型的情况下或者在一个通信方具有对称型网络地址转换装置并且另一通信方具有端口限制锥形网络地址转换装置的情况下,打洞失败率较高。然而因为安全的原因,蜂窝网络和公共wifi的网络地址转换装置往往是对称型的,因而在一定程度上阻碍了点对点通信。
[0004]因此,需要对具有网络地址转换装置的通信用户之间的点对点通信方法进行改进。
技术实现思路
[0005]为了解决上文中提及的问题和缺陷,本申请提出用于点对点通信的方法和系统,其尤其 ...
【技术保护点】
【技术特征摘要】
1.一种用于在通信用户之间进行点对点通信的方法,所述通信用户各自具有网络地址转换装置和内网主机,所述方法包括:获取通信用户的网络地址转换装置的NAT类型;基于所获取的通信用户的网络地址转换装置的NAT类型进行NAT打洞操作;判断打洞操作是否成功;在打洞操作成功的情况下进行通信操作,在打洞失败操作的情况下返回失败参数。2.根据权利要求1所述的方法,其特征在于,获取通信用户的网络地址转换装置的NAT类型包括如下子步骤:确定通信用户的网络地址转换装置的NAT类型是对称式NAT还是锥形NAT;在通信用户的网络地址转换装置的NAT类型是锥形NAT的情况下,确定通信用户的网络地址转换装置的NAT类型是限制锥形NAT还是完全锥形NAT;在通信用户的网络地址转换装置的NAT类型是限制锥形NAT的情况下,确定通信用户的网络地址转换装置的NAT类型是IP限制锥形NAT还是端口限制锥形NAT。3.根据权利要求2所述的方法,其特征在于,确定通信用户的网络地址转换装置的NAT类型是对称式NAT还是锥形NAT包括:由被检测的通信用户的内网主机使用相同的端口分别连接两个不同的服务器;在这两个不同的服务器获取的端口不相同的情况下,被检测的通信用户的网络地址转换装置是对称型NAT;在这两个不同的服务器获取的端口相同的情况下,被检测的通信用户的网络地址转换装置是锥形NAT。4.根据权利要求2所述的方法,其特征在于,确定通信用户的网络地址转换装置的NAT类型是限制锥形NAT还是完全锥形NAT包括:由被检测的通信用户的内网主机以IP地址和端口向一个服务器发送消息,该服务器将该IP地址和端口发送给另一个服务器,该另一个服务器根据该IP地址和端口发送另一个消息给被检测的通信用户的内网主机;在被检测的通信用户的内网主机接收到该另一个消息的情况下,被检测的通信用户的网络地址转换装置是完全锥形NAT;在被检测的通信用户的内网主机没有接收到该另一个消息的情况下,被检测的通信用户的网络地址转换装置是限制性锥形NAT。5.根据权利要求2所述的方法,其特征在于,确定通信用户的网络地址转换装置的NAT类型是IP限制锥形NAT还是端口限制锥形NAT包括:由被检测的通信用户的内网主机以IP地址和端口向服务器的第一服务器端口发送消息,该服务器以不同于第一服务器端口的第二服务器端口根据该IP地址和端口发送另一个消息给被检测的通信用户的内网主机;在被检测的通信用户的内网主机接收到该另一个消息的情况下,被检测的通信用户的网络地址转换装置是IP限制锥形NAT;在被检测的通信用户的内网主机没有接收到该另一个消息的情况下,被检测的通信用户的网络地址转换装置是端口限制锥形NAT。6.根据权利要求1所述的方法,其特征在于,基于所获取的通信用户的网络地址转换装
置的NAT类型进行NAT打洞操作包括,将通信用户双方的网络地址转换装置NAT类型归属于以下三种组合分类之一:第一种组合分类,即,通信用户双方的网络地址转换装置均是对称型NAT;第二种组合分类,即,其中一个通信用户的网络地址转换装置是对称型NAT,并且另一个通信用户的网络地址转换装置是端口限制锥形NAT;第三种组合分类,该第三种组合分类包括通信用户双方的网络地址转换装置都不为对称型NAT的情况,以及包括其中一个通信用户的网络地址转换装置是对称型NAT、但另一个通信用户的网络地址转换装置不是对称型NAT或端口限制锥形NAT的情况。7.根据权利要求6所述的方法,其特征在于,基于通信用户双方的网络地址转换装置的NAT类型所归属的组合分类,进行打洞操作。8.根据权利要求6所述的方法,其特征在于,在通信用户双方的网络地址转换装置的NAT类型归属于第一种组合分类和第二种组合分类的情况下,打洞操作包括:进行多次打洞尝试,直到打洞成功或尝试次数超过次数阈值为止;在所述打洞尝试中对于包括对称型NAT的通信用户的网络地址转换装置为内网主机分配的端口进行预测。9.根据权利要求8所述的方法,其特征在于,基于生日攻击理论确定所述次数阈值。10.根据权利要求9所述的方法,其特征在于,所述次数阈值被设定为256次。11.根据权利要求8所述的方法,其特征在于,对于包括对称型NAT的通信用户的网络地址转换装置为内网主机分配的端口进行预测时不考虑被保留的端口。12.根据权利要求8所述的方法,其特征在于,对于包括对称型NAT的通信用户的网络地址转换装置为内网主机分配的端口进行预测包括:使用时间序列预测法、神经网络预测法或马尔科夫预测法。13.根据权利要求8所述的方法,其特征在于,对于包括对称型NAT的通信用户的网络地址转换装置为内网主机分配的端口进行预测包括:使用faceboook prophet预测模型。14.根据权利要求12或13所述的方法,其特征在于,对于包括对称型NAT的通信用户的网络地址转换装置为内网主机分配的端口进行预测包括:将待预测的网络地址转换装置分配过的端口作为历史数据集或添加到历史数据集中。15.根据权利要求8所述的方法,其特征在于,在通信用户双方的网络地址转换装置的NAT类型归属于第一种组合分类的情况下,打洞尝试包括:将任一通信用户的网络地址转换...
【专利技术属性】
技术研发人员:赵明,
申请(专利权)人:大陆软件系统开发中心重庆有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。