用于点对点传输的公网信息探测方法、装置及系统制造方法及图纸

技术编号:13505003 阅读:83 留言:0更新日期:2016-08-10 11:27
本发明专利技术属于数据网络传输技术领域,具体涉及一种用于点对点传输的公网信息探测方法、装置及系统。本方法包含步骤:客户端通过本地端口PORT_A往STUN服务器的端口PORT_X发送绑定请求一,并通过本地端口PORT_A往STUN服务器的端口PORT_Y发送绑定请求二;若客户端未收到所述绑定请求一或所述绑定请求二的响应消息,则本次探测失败;否则客户端解析所述绑定请求一的响应消息,得到公网IP地址NAT_IP1以及公网端口NAT_PORT1,解析所述绑定请求二的响应消息,得到公网IP地址NAT_IP2以及公网端口NAT_PORT2;客户端通过本地端口PORT_A往所述公网IP地址NAT_IP1以及所述公网端口NAT_PORT1发送回环测试消息;客户端通过本地端口PORT_B往STUN服务器的端口PORT_X发送绑定请求三,并设置参数请求服务器通过端口PORT_Z回复响应信息;客户端进行公网信息的判断。

【技术实现步骤摘要】

本专利技术属于数据网络传输
,具体涉及一种用于点对点传输的公网信息探测方法、装置及系统
技术介绍
在IPV4环境下,中国IP地址紧缺,NAT(Network Address Translation,网络地址转换)设备将私网转换成公网,但是NAT设备无法直接获取自己的公网信息(包括公网IP,公网端口,NAT类型,是否支持回环),需要与位于公网上的设备进行通讯来获取自己的公网信息。STUN(Simple Traversal of UDP over NATs,NAT的UDP简单穿越)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址。STUN的探测过程需要有一个公网IP的STUN服务器,在NAT后面的客户端必须和此STUN服务器配合,互相之间发送若干个UDP(User Datagram Protocol,用户数据报协议)数据包。UDP包中包含有客户端需要了解的信息,比如NAT公网IP,公网端口等,客户端通过是否得到这个UDP包和包中的数据判断自己所属的NAT类型。STUN的公网信息探测过程通常包括以下几个步骤:检测客户端是否有能力进行UDP通信以及客户端是否位于NAT后;判断NAT属于对称型NAT还是非对称型NAT;对于非对称型NAT还要进一步判断属于Full Cone NAT(完全圆锥型NAT)、Restricted Cone NAT(地址限制圆锥型)或是Port Restricted Cone NAT(端口限制圆锥型);判断网络是否支持回环。为实现判断NAT类型是否是IP限制型NAT(包括地址限制圆锥型和端口限制圆锥型),STUN服务端必须部署在一台有着两个公网IP的服务器上。对于点对点数据传输应用而言,由于传输双方都只有一个固定的IP地址,不论是否为IP限制的NAT类型,都不影响客户端之间的点对点传输数据,在这种情况下采用传统STUN探测方法存在以下问题:1.STUN服务器端需要两个不同公网IP地址,造成网络设备和IP地址资源的浪费;2.存在不必要的协议交互过程,浪费交互时间,降低了探测效率。另外,目前研究认为当点对点一方是对称型NAT的情况下,若另一方不是完全圆锥型NAT,则无法进行点对点(P2P)数据传输,需要通过公网上的TURN服务器中转进行数据传输。这种处理方式,没有根据NAT的过滤属性进一步细分对称型NAT,忽略了部分类型的对称型NAT可以和其他NAT的网络实现点对点数据传输的可能性。
技术实现思路
本专利技术的目的之一在于克服以上缺点,提供一种用于点对点传输的公网信息探测方法,精简协议交互步骤,缩短协议交互探测时间,提高探测效率,同时提高点对点数据传输连接的的成功率。为了解决上述技术问题,本专利技术提供了一种用于点对点传输的公网信息探测方法,包括以下步骤:客户端通过本地端口PORT_A往STUN服务器的端口PORT_X发送绑定请求一,并通过本地端口PORT_A往STUN服务器的端口PORT_Y发送绑定请求二;若客户端未收到所述绑定请求一或所述绑定请求二的响应消息,则本次探测失败;否则客户端解析所述绑定请求一的响应消息,得到公网IP地址NAT_IP1以及公网端口NAT_PORT1,解析所述绑定请求二的响应消息,得到公网IP地址NAT_IP2以及公网端口NAT_PORT2;客户端通过本地端口PORT_A往所述公网IP地址NAT_IP1以及所述公网端口NAT_PORT1发送回环测试消息;客户端通过本地端口PORT_B往STUN服务器的端口PORT_X发送绑定请求三,并设置参数请求服务器通过端口PORT_Z回复响应信息;客户端进行公网信息的判断。由于在点对点数据传输应用中,传输双方都只有一个固定的IP地址,不论是否为IP限制的NAT类型,都不影响客户端之间的点对点传输数据,本专利技术的技术方案通过省略判断是否为IP限制的NAT类型的步骤,缩短了探测交互时间,提高了探测效率;同时,由于省略了该步骤,也就不需要STUN服务器配置2个公网IP地址,节省了硬件和IP地址资源。进一步地,所述公网信息包括客户端是否在NAT后面、客户端所在的NAT类型以及网络是否支持回环。进一步地,所述客户端所在的NAT类型,根据NAT设备的映射表现和过滤表现属性分为非端口限制型,端口限制型,支持点对点的对称型NAT和不支持点对点的对称型NAT四类,所述非端口限制型包括完全圆锥型,地址限制型。进一步地,所述支持点对点的对称型NAT包括SymNat1、SymNat2、SymNat3、SymNat4以及SymNat5,所述不支持点对点的对称型NAT为SymNat6。本专利技术上述技术方案通过细分对称型NAT,增加了多种对称NAT可以实现点对点数据传输的情形,提高了不同NAT间的点对点成功率。进一步地,所述客户端进行公网信息的判断,包括以下步骤:判断所述公网IP地址NAT_IP1、所述公网端口NAT_PORT1与本地IP地址、本地端口PORT_A是否相同,若相同则客户端不是在NAT后面,否则客户端在NAT后面,并进行后续判断;判断客户端所在的NAT类型;判断是否收到所述回环测试消息的响应信息,若有收到,则网络支持回环,否则网络不支持回环。进一步地,所述判断客户端所在的NAT类型,包括以下步骤:判断所述公网IP地址NAT_IP1、所述公网端口NAT_PORT1与所述公网IP地址NAT_IP2、所述公网端口NAT_PORT2是否相同,若均相同,则客户端所在的NAT是非对称型NAT,否则客户端所在的NAT是对称型NAT;若客户端所在的NAT是非对称型NAT,进一步判断是否收到所述绑定请求三的响应信息,若有收到,则客户端所在的NAT为非端口限制型NAT,否则客户端所在的NAT为端口限制型NAT;若客户端所在的NAT是对称型NAT,进一步判断是否收到所述绑定请求三的响应信息,若有收到,则客户端所在的NAT为支持点对点的对称型NAT,否则客户端所在的NAT为不支持点对点的对称型NAT。相应地,本专利技术还提供了一种用于点对点传输的公网信息探测装置,包括:第一请求模块,用于客户端通过本地端口PORT_A往STUN服务器的端口PORT_X发送绑定请求一,并通过本地端口PORT_A往STUN服务器的端口PORT_Y发送绑定请求二;消息解析模块,用于若客户端未收到所述绑定请求一或所述绑定请求二的响应消息,则本次探测失败;否则客户端解析所述绑定请求一的响应消息,得到公网IP地址NAT_IP1以及公网端口NAT_PORT1,解析所述绑定请求二的响应消息,得到公网IP地址NAT_IP2以及公网端口NAT_PORT2;回环测试模块,用于客户端通过本地端口PORT_A往所述公网IP地址NAT_IP1以及所述公网端口NAT_PORT1发送回环测试消息;第二请求模块,用于客户端通过本地端口PORT_B往STUN服务器的端口PORT_X发送绑定请求三,并设置参数请求服务器通过端口PORT_Z回复响应信息;公网信息判断模块,用于客户端进行公网信息的判断。进一步地,所述公网信息判断模块,包括:第一判断子模块,用于判断所述公网IP地址NAT_IP1、所述公网端口NAT_PORT1与本地IP地址、本地端口PORT_A是否相同,若相同则客户端不是在NAT后本文档来自技高网
...

【技术保护点】
一种用于点对点传输的公网信息探测方法,其特征在于,包括以下步骤:客户端通过本地端口PORT_A往STUN服务器的端口PORT_X发送绑定请求一,并通过本地端口PORT_A往STUN服务器的端口PORT_Y发送绑定请求二;若客户端未收到所述绑定请求一或所述绑定请求二的响应消息,则本次探测失败;否则客户端解析所述绑定请求一的响应消息,得到公网IP地址NAT_IP1以及公网端口NAT_PORT1,解析所述绑定请求二的响应消息,得到公网IP地址NAT_IP2以及公网端口NAT_PORT2;客户端通过本地端口PORT_A往所述公网IP地址NAT_IP1以及所述公网端口NAT_PORT1发送回环测试消息;客户端通过本地端口PORT_B往STUN服务器的端口PORT_X发送绑定请求三,并设置参数请求服务器通过端口PORT_Z回复响应信息;客户端进行公网信息的判断。

【技术特征摘要】
1.一种用于点对点传输的公网信息探测方法,其特征在于,包括以下步骤:客户端通过本地端口PORT_A往STUN服务器的端口PORT_X发送绑定请求一,并通过本地端口PORT_A往STUN服务器的端口PORT_Y发送绑定请求二;若客户端未收到所述绑定请求一或所述绑定请求二的响应消息,则本次探测失败;否则客户端解析所述绑定请求一的响应消息,得到公网IP地址NAT_IP1以及公网端口NAT_PORT1,解析所述绑定请求二的响应消息,得到公网IP地址NAT_IP2以及公网端口NAT_PORT2;客户端通过本地端口PORT_A往所述公网IP地址NAT_IP1以及所述公网端口NAT_PORT1发送回环测试消息;客户端通过本地端口PORT_B往STUN服务器的端口PORT_X发送绑定请求三,并设置参数请求服务器通过端口PORT_Z回复响应信息;客户端进行公网信息的判断。2.如权利要求1所述的用于点对点传输的公网信息探测方法,其特征在于,所述公网信息包括客户端是否在NAT后面、客户端所在的NAT类型以及网络是否支持回环。3.如权利要求2所述的用于点对点传输的公网信息探测方法,其特征在于,所述客户端所在的NAT类型,根据NAT设备的映射表现和过滤表现属性分为非端口限制型,端口限制型,支持点对点的对称型NAT和不支持点对点的对称型NAT四类,所述非端口限制型包括完全圆锥型,地址限制型。4.如权利要求3所述的用于点对点传输的公网信息探测方法,其特征在于,所述支持点对点的对称型NAT包括SymNat1、SymNat2、SymNat3、SymNat4以及SymNat5,所述不支持点对点的对称型NAT为SymNat6。5.如权利要求1所述的用于点对点传输的公网信息探测方法,其特征在于,所述客户端进行公网信息的判断,包括以下步骤:判断所述公网IP地址NAT_IP1、所述公网端口NAT_PORT1与本地IP地址、本地端口PORT_A是否相同,若相同则客户端不是在NAT后面,否则客户端在NAT后面,并进行后续判断;判断客户端所在的NAT类型;判断是否收到所述回环测试消息的响应信息,若有收到,则网络支持回环,否则网络不支持回环。6.如权利要求5所述的用于点对点传输的公网信息探测方法,其特征在于,所述判断客户端所在的NAT类型,包括以下步骤:判断所述公网IP地址NAT_IP1、所述公网端口NAT_PORT1与所述公网IP地址NAT_IP2、所述公网端口NAT_PORT2是否相同,若均相同,则客户端所在的NAT是非对称型NAT,否则
\t客户端所在的NAT是对称型NAT;若客户端所在的NAT是非对称型NAT,进一步判断是否收到所述绑定请求三的响应信息,若有收到,则客户端所在的NAT为非端口限制型NAT,否则客户端所在的NAT为端口限制型NA...

【专利技术属性】
技术研发人员:李维勤陈风卢云飞陈荣木林傅荣
申请(专利权)人:福建星网锐捷通讯股份有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1