一种基于NAT穿透适配器的物联网设备P2P连接方法技术

技术编号:10280789 阅读:162 留言:0更新日期:2014-08-03 01:26
本发明专利技术涉及一种基于NAT穿透适配器的物联网设备P2P连接方法,其特征在于,位于NAT以外的公网上的主机,实现对NAT穿透,以P2P方式对NAT内的物联网嵌入式终端进行数据探测和控制。位于不同NAT内的主机实现NAT设备的穿透,达到不同局域网之间以及外网与局域网设备之间基于NAT内物联网嵌入式设备和通用设备传感和控制数据的双向传输。本发明专利技术基于交互式连通建立方式技术,结合了STUN和TURN的穿越NAT方式,是一种综合性的NAT解决方案。

【技术实现步骤摘要】
—种基于NAT穿透适配器的物联网设备P2P连接方法
本专利技术属于互联网和物联网网络技术应用领域,主要涉及一种在互联网环境下各类通用嵌入式测控设备的NAT穿透实现方法。
技术介绍
目前对物联网上位于局域网内的通用设备,主要通过DDNS (动态域名服务)与局域网网关中的UPnP (即插即用)端口映射功能实现单个设备的地址映射,其中DDNS需要用到第三方的动态域名服务器,在可靠性和稳定性需求上不一定能符合物联网设备连接的需求。又或者单位或家庭网关中的UPnP牌关闭状态或没有UPnP功能,则根本无法建立起与局域网内部设备的连接和数据传输。目前对局域网内物联网嵌入式测控设备的连接,更没有考虑同时针对多个设备的并行连接传输。P2P (Peer-to-Peer)技术与传统的网络结构不同,P2P在用户间建立起一条直接通路,不依赖服务器进行数据传输。P2P网络的本质特点在于共享与协作,参与者能共享他们所拥有的各种资源,这些资源也能被其他参与者直接访问,而所有的参与者既是服务的接受者也是服务的提供者。P2P打破了传统C/S方式下,一方提供服务、一方接受服务的模式,不再存在专门提供服务的节点。P2P网络系统由于改变了传统的C/S系统中,两台主机间的通信必须通过服务器中转的情况,并建立了一个对等的网络,使其信息之间的交互不是必须存在着中转节点,从而还可以有效保护用户隐私。NAT ( Network Address Translator )技术通过将只能作为局域网内部地址而在因特网上不能被识别或直接使用的私有IP地址映射为Internet上合法IP地址,实现私有网络中节点对Internet的访问。NAT设备位于互联网与局域网之间,有翻译网络地址和保护网络安全的作用。但是NAT之后的主机不能作为服务器向外部网络提供服务,位于不同NAT之后的主机间也无法互相通信。因而NAT的穿透对P2P技术应用有重要意义。NAT的四种类型: (I)完全圆锥(Full Cone) NAT 完全锥形NAT将从同个内网IP与端口号发出的所有请求映射为相同的外部IP地址与端口号。同理,任何外网主机能够通过向这个内网主机被映射过的外网地址发送数据包。(2)受限圆维(Restricted Cone) NAT 受限锥形NAT将从同个内部IP地址和端口号发出的所有请求映射为相同的外部IP地址与端口号。但与完全锥形NAT不同的是,外网主机(IP地址为X)只能够向先前向IP地址X发送过数据包的内部主机发送数据,从而可以拒绝非请求的(unsolicited)包,支持数据包过滤功能。(3)端口受限维形(Port Restricted Cone) NAT 端口受限锥形NAT与受限锥形NAT类似,不同的是加了端口号的限制。IP地址为X,端口号P的外部主机只能够向先前已经向IP地址X、端口号P发送过数据包的内部主机发送数据包。(4)对称型(Symmetric) NAT 对称型NAT将把从相同的内部IP地址与端口号发出,以及目的IP地址与端口号也相同的所有请求映射为相同的外部IP地址和端口号。数据包在经过此类型的NAT时候,源地址与端口即使相同,但目的地不同的话,将为其分配不同的映射地址。此外,只有提前收到内网主机X发来数据包的外部主机才可以向该内部主机发送数据包。STUN解决穿透NAT问题的思路是,私网中的终端通过某种机制(STUN探测方式)预先得到出口 NAT上的对外地址,然后在净载中所填写的地址信息直接填写出口 NAT上的对外地址,而不是私网内终端的私有IP地址,这样净载中的内容在经过NAT时就无需被修改了,只需按普通NAT流程转换报文头的IP地址即可,净载中的IP地址信息和报文头地址信息是一致的,所以数据包可以顺利的穿越NAT设备。TURN方式解决NAT问题的思路是私网中的终端,通过某种机制预先获得公网上的服务地址信息(STUN方式得到的地址为出口 NAT上的外部映射地址,而TURN方式得到地址是TURN Server的公网地址),通过在报文净载中直接填写该公网地址可以实现NAT的成功穿越。
技术实现思路
本专利技术所要解决的技术问题是:提供一种基于NAT穿透适配器的物联网设备P2P连接方法。基于交互式连通建立方式技术,结合了 STUN和TURN的穿越NAT方式,是一种综合性的NAT解决方案,实现NAT设备的穿透,达到不同局域网之间以及外网与局域网设备之间基于NAT内物联网嵌入式设备和通用设备传感及控制数据的双向传输。为了解决上述技术问题,本专利技术采用以下技术方案: 一种基于NAT穿透适配器的物联网设备P2P连接方法,其特征在于,位于NAT以外的公网上的主机,实现对NAT穿透,以P2P方式对NAT内的物联网嵌入式终端进行数据探测和控制。位于不同NAT内的主机实现NAT设备的穿透,达到不同局域网之间以及外网与局域网设备之间基于NAT内物联网嵌入式设备和通用设备传感和控制数据的双向传输。 该连接方法具体包括以下步骤: 1)位于局域网内的NAT适配器B主动向位于公网的穿透服务器S发送UDP数据包,穿透服务器S返回初始化信息,其中包括适配器的内网地址和端口、NAT映射地址和端口、穿透服务器S转发消息的地址和端口; 2)向适配器B发起连接请求的客户端A也向位于公网的穿透服务器S发送UDP数据包,穿透服务器S返回初始化信息,其中包括适配器B的内网地址和端口、NAT映射地址和端口、穿透服务器S转发消息的地址和端口 ; 3)当客户端A的注册完成之后,穿透服务器S的数据库中会有每个客户相应的地址和端口记录,当客户端A要与NAT后的适配器B进行通信时,会向穿透服务器S发起请求,获得穿透适配器B的可能IP地址和端口,包括内网IP地址和端口、NAT映射地址和端口、月艮务器S转发地址和端口; 4)请求访问的客户端A获得了穿透适配器B的基本信息后,会从这些信息里面提取出部分信息,主要是穿透的适配器B的内网IP地址和端口、NAT映射地址和端口、服务器S转发地址和端口,用于NAT穿透协商时使用; 5)客户端A和穿透适配器B根据各自获得的对方地址和端口信息,互相发送穿透信息,尝试以STUN、TURN来源中收集尽可能多的可能被连通的IP地址;然后按照地址的优先级依次测试,选择最优路径;在STUN能穿透的情况下,走STUN协议打通的直连通道,当STUN无法穿透时,则走TURN转发的方式。本专利技术与现有技术相比,具有以下有益效果: I)本专利技术充分考虑单个物联网传感设备和受控设备所不具备的网络功能,尤其是NAT穿透功能,对各种传感协议均以预留接口的方式,便于扩展。2)本专利技术为了提高降低局域网内物联网传感设备和受控设备的联网使用成本,在一个适配器上可提供多个标准协议接口,用于将各设备通过一个适配器同时被公网客户端访问。3)在穿透技术中,本专利技术结合了 STUN(Session Traversal Utilities for NAT)和TURN (Traversal Using Relay NAT)的穿越NAT方式。首先会从STUN、TURN来源中收集尽可能多的可能被连通的IP地址。然后按照地址的优先级依次测试,选择最优路径。在STUN能穿透的情况下,通过STUN协议打通的直连本文档来自技高网
...
一种基于NAT穿透适配器的物联网设备P2P连接方法

【技术保护点】
一种基于NAT穿透适配器的物联网设备P2P连接方法,其特征在于,位于NAT以外的公网上的主机,实现对NAT穿透,以P2P方式对NAT内的物联网嵌入式终端进行数据探测和控制。

【技术特征摘要】
1.一种基于NAT穿透适配器的物联网设备P2P连接方法,其特征在于,位于NAT以外的公网上的主机,实现对NAT穿透,以P2P方式对NAT内的物联网嵌入式终端进行数据探测和控制。2.如权利要求1所述的一种基于NAT穿透适配器的物联网设备P2P连接方法,其特征在于:位于不同NAT内的主机实现NAT设备的穿透,达到不同局域网之间以及外网与局域网设备之间基于NAT内物联网嵌入式设备和通用设备传感和控制数据的双向传输。3.如权利要求1所述一种基于NAT穿透适配器的物联网设备P2P连接方法,其特征在于,具体包括以下步骤: 1)位于局域网内的NAT适配器B主动向位于公网的穿透服务器S发送UDP数据包,穿透服务器S返回初始化信息,其中包括适配器的内网地址和端口、NAT映射地址和端口、穿透服务器S转发消息的地址和端口; 2)向适配器B发起连接请求的客户端A也向位于公网的穿透服务器S发送UDP数据包,穿透服务器S返回初始化信息,其中包括适配器B的内网地址和端口、NAT映射地址和端口、穿透服务器S转发消息的地址和端口 ; 3)当客户端A的注册完成之后,穿透服务器S的数据库中会有每个客户相应的地址和端口记录,当客户端A要与NAT后的适配器B进行通信时,...

【专利技术属性】
技术研发人员:蔡建平吴剑钟何加铭霍梅梅
申请(专利权)人:浙江大学城市学院
类型:发明
国别省市:浙江;33

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

1