一种基于NAT环境下的设备的新型通信方法技术

技术编号:19437458 阅读:75 留言:0更新日期:2018-11-14 13:26
本发明专利技术公开了一种基于NAT环境下的设备的新型通信方法,包括服务器和通信终端对,通信终端对包括主终端和从终端,该方法包括两个步骤:SDP信息的生成与交换和通信链路的测试与选择。前者是终端登录服务器后,服务器生成的SDP信息发送至通信双方的过程。后者是主终端根据获得的双方的SDP信息确定链路优先级,根据优先级建立链路并测试链路,根据测试结果确定通信链路。本发明专利技术综合了三种通信技术,连接建立的成功率高,并通过优先级的设定和选择,使得本发明专利技术通信效率高,能够有效减低服务器负载。

【技术实现步骤摘要】
一种基于NAT环境下的设备的新型通信方法
本专利技术属于P2P通信
,具体涉及一种基于NAT环境下的设备的新型通信方法。
技术介绍
由于IPV4地址的数目有限,不能满足给每台主机分配一个全球唯一IP地址,以用于相互之间的通信,而NAT技术的出现,解决了该问题,它使得多台主机可以共享一个IP地址。P2P技术在Internet中的应用,使得用户之间的沟通和交互变的更直接和便捷,但NAT技术的存在,给P2P的发展带来了障碍,于是出现了一些穿越NAT的技术。NAT技术的原理:NAT,NetworkAddressTranslation,即网络地址转换,它通过端口映射技术,将私有网络中的IP地址,临时绑定一个合法的公网IP地址,私网IP地址可以通过该公网IP地址与外网通信。NAT技术的出现减轻了IPV4地址匮乏的压力,同时也保护了内部网络,使得外网无法直接访问内部网络。P2P技术原理:P2P,PeerToPeer,即点对点或者对等联网,每个结点既是客户机又是服务器,结点直接通过直接通信实现文件信息共享、数据处理等。由于NAT不允许外网主机主动访问内网主机的特性,使得公网上的主机不能主动访问NAT后面的主机,而在不同NAT后面的主机更是因为无法识别而不能相互P2P通信。现有的解决该问题的穿越NAT技术有反向连接技术、UDP打洞技术(UDPHolePunching)、中转(Relaying)技术等。反向连接技术:该技术只用在只有一方位于NAT后面的情形,所以该技术的缺点很明显,当通信双方都位于各自的NAT后面时,该技术行不通。中转技术:它的原理是使用第三方服务器,为通信双方的通信做转发,只要双方都跟服务器相连,那么通信总是成功的,但是该技术的有点是可靠性高,缺点是效率低,而且数据量大时,会造成服务器的负荷过载。UDP打洞技术:它的原理是借助第三方服务器,使得通信双方都主动向对方发送消息,从而在各自的NAT设备上都留了一个“洞”,对方消息通过该洞,进入NAT内部,实现了通信。当双方都能够P2P通信后,就不需要服务器了。该技术的有点是速度快、效率高,缺点是可靠性和成功率受NAT设备类型的影响。
技术实现思路
本专利技术所要解决的问题是:1、NAT环境下设备P2P的通信;2、提高连接建立的成功率;3、提高通信效率,减少服务器负载。为解决上述问题,本专利技术采用的方案是:一种基于NAT环境下的设备的新型通信方法,包括服务器和通信终端对。通信终端对是在服务器中事先指定的两个通信终端,其中一个终端事先设置为主终端,另一个终端为从终端。该方法包括以下步骤:S100:SDP信息的生成与交换。SDP是指SessionDescriptionProtocol,即会话描述协议。SDP信息包括:私有地址和端口、公网地址和端口、服务器中转地址和端口。主终端和从终端分别登录服务器后,服务器生成相应的SDP信息。服务器将主终端的SDP信息和从终端的SDP信息发送给主终端和从终端,主终端和从终端获得通信终端对双方的SDP信息。S200:通信链路的测试与选择。主终端根据获得的自身的SDP信息和从终端的SDP信息设定链路优先级,根据优先级建立链路并测试链路,根据测试结果确定通信链路。如果高优先级的链路测试失败,则建立低优先级的链路并测试,直到所有的链路测试都失败;如果链路测试成功,则使用该链路进行通信。本专利技术的技术效果包括:1)效率高。如果通信终端对处于同一NAT环境下,则通信终端对直接通信;如果不处于同一NAT环境下,则优先走公网IP进行直接通信,这种P2P通信方式速度快,效率高。2)成功率高。当因NAT设备类型或者防火墙等原因导致穿越NAT不能走P2P方式时,可以通过服务器转发方式,辅助设备进行通信,从而提高了穿越的成功率。3)时延小。在选择连接通路时,根据网络环境按优先级、定时器等选择通路,从而确保了选择的通路效率高、时延小。4)降低了服务器的负载。优先使用P2P方式,服务器只是辅助连接,并且当通信双方P2P连接建立起来以后,不需要服务器的辅助,从而降低了服务器的负载。附图说明无。具体实施方式下面对本专利技术做进一步详细说明。1、通信终端对的指定通信终端对的指定有很多种方法,比如,通过用户或标识的方式指定。例如,在智能家居领域,用户通过远程操作终端操作家居控制主机,用户所管辖下的家居控制主机是确定的。该用户管辖下的家居控制主机的信息保存在服务器中,当用户通过远程操作终端登录服务器时,服务器根据该用户管辖下的家居控制主机信息确定通信终端对。假如该用户下有多个家居控制主机,用户通过远程操作终端登录服务器后,服务器提供家居控制主机列表给远程操作终端,用户可以在远程操作终端上选择需要操控的家居控制主机。同一用户下不同的家居控制主机用标识区分。主从终端的指定可以通过程序设定完成。主终端与从终端的区别在于,在通信终端对建立通信链路通信时,主终端作为选择链路的决定方,从终端根据主终端的选择和主终端建立连接。例如,在上述智能家居领域的案例中,用户通过远程操作终端作家居控制主机时,可以事先通过程序设定远程操作终端为主终端,家居控制主机为从终端,这种情况下由远程操作终端作为链路选择的决定方;也可以事先设定家居控制主机为主终端,远程操作终端为从终端,这种情况下由家居控制主机作为链路选择的决定方。在上述智能家居领域的案例中,通常由远程操作终端作为主终端,因为家居控制主机与服务器之间的连接相对比较固定,而远程操作终端可能是办公室电脑,也可能是移动终端,比如智能手机,平板电脑等等。2、SDP信息的生成与交换主终端和从终端分别登录服务器后,服务器生成相应的SDP信息。即,主终端登录服务器后,服务器生成主终端的SDP信息;从终端登录服务器后,服务器生成从终端的SDP信息。这个过程是主终端和从终端分别各自独立与服务器的交互过程,相互之间不存在先后关系。终端登录服务器的过程包括用户名和密码的验证过程。这里的终端包括了主终端和从终端,下文中如未特别指定主终端和从终端的终端,是指主终端和/或从终端。为了保证终端与服务器之间的交互安全性,终端向服务器提交用户名和密码验证时,可以对用户名和密码进行加密,比如采用RSA算法对用户名和密码加密。更为通用的方法是,终端与服务器建立连接后,通过密钥交互协议比如DH算法确定通信密码,然后,终端与服务器之间的所有的通信都采用该通信密码加密。本领域技术人员了解,终端与服务器之间通信的安全和加密算法不构成对本专利技术权利要求的保护范围的限制。主终端和从终端分别登录服务器后,服务器生成相应的SDP信息。这里的SDP信息主要包括三个地址和端口:私有地址和端口、公网地址和端口、服务器中转地址和端口。这三个地址和端口分别代表了三种不同的链路。私有地址和端口,是由终端创建的通信地址和端口,适用于相同NAT环境下的通信链路。公网地址和端口是由NAT设备创建的通信地址和端口,适用于采用UDP打洞技术的链路。服务器中转地址和端口是由服务器创建的通信地址和端口,适用于服务器中转技术的通信链路。服务器生成相应的SDP信息前,需要创建相应的通信端口。终端、NAT设备、服务器创建通信端口可以在终端登录服务器之前或之后。终端登录服务器后,终端将其创建的通信地址和端口以及NAT设备创建的通本文档来自技高网
...

【技术保护点】
1.一种基于NAT环境下的设备的新型通信方法,其特征在于,包括服务器和通信终端对,通信终端对包括主终端和从终端,其特征在于,该方法包括以下步骤:S100:SDP信息的生成与交换;主终端和从终端分别登录服务器后,服务器生成相应的SDP信息;服务器将主终端的SDP信息和从终端的SDP信息发送给主终端和从终端;S200:通信链路的测试与选择;主终端根据获得的自身的SDP信息和从终端的SDP信息设定链路优先级,根据优先级建立链路并测试链路,根据测试结果确定通信链路。

【技术特征摘要】
1.一种基于NAT环境下的设备的新型通信方法,其特征在于,包括服务器和通信终端对,通信终端对包括主终端和从终端,其特征在于,该方法包括以下步骤:S100:SDP信息的生成与交换;主终端和从终端分别登录服务器后,服务器生成相应的SD...

【专利技术属性】
技术研发人员:方义成
申请(专利权)人:安徽合软信息技术有限公司
类型:发明
国别省市:安徽,34

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

1