一种NAT穿透方法、装置及系统与流程

文档序号:12625784阅读:391来源:国知局
一种NAT穿透方法、装置及系统与流程

本发明涉及物联网通讯领域,尤其涉及一种NAT穿透方法、装置及系统。



背景技术:

物联网是指将无处不在的末端设备和设施,包括移动终端、工业系统、楼控系统、家庭智能设施、视频监控系统等,通过各种无线或有线的长距离或短距离通讯网络实现互联互通以及基于云计算的营运等模式,在内网、专网和互联网环境下,采用适当的信息安全保障机制,提供安全可控的实时在线监测、定位追溯、报警联动、调度指挥、远程控制、安全防范等管理和服务功能,实现对“万物”的实时掌控。物联网往往涉及局域网与公网的互联互通问题,例如智能家居,家庭网络就是一个局域网,使用局域网地址,当家庭网络的智能设备需要访问互联网时,先要经过家庭网关(通常就是一个家用路由器)将局域网地址转换为公网地址,才能与外界通讯。局域网地址转换为公网地址所使用的技术叫NAT(Network Address Translation,网络地址转换)。使用NAT技术,可以使局域网设备访问互联网,但也带来了一个问题,就是如果外网中的设备想要访问局域网内的设备,要采用一定穿透技术才能做到。因为外网中的设备不能直接与局域网的设备通讯,外网中设备使用的是公网地址,每个地址是全球唯一的,而局域网设备使用的是局域网地址,只在局域网内有效,全球有无数个局域网设备在使用相同的局域网地址。

为了解决上述问题,现有技术在互联网中架设一台中继服务器,中继服务器的域名或者IP是固定的,局域网内设备先要连接到中继服务器,从而中继服 务器掌握了局域网设备的地址和端口信息。当外网设备需要连接局域网设备时,它并不是直接局域网设备,而是先连接到中继服务器,从中继服务器获取局域网设备的地址和端口信息,再使用该信息连接局域网设备。

上述方案是目前广泛使用的NAT穿透方法,例如目前流行的即时通讯软件,都是需要先登录到服务商的服务器,才能与好友建立通讯,如果服务器停止运行,则无法与好友建立连接。现有这种穿透方法对于大规模的应用场景,或者是对成本不敏感的场景,是很好的。但是对于像智能家居这类小型的物联网,则成本过于高昂,例如,目前的网络摄像头,都需要依赖厂商的服务器才能在互联网中工作,如果厂商关闭服务器,则这些摄像头都会失联。

因此,如何提供一种不需要第三方服务器的NAT穿透方法,是本领域技术人员亟待解决的技术问题。



技术实现要素:

本发明提供了一种NAT穿透方法、装置及系统,以解决现有NAT穿透技术需要第三方服务器的问题。

本发明提供了一种NAT穿透方法,该方法包括:局域网设备通过源端口PORT_LAN开启会话;网关生成局域网设备的NAT地址转换表;公网设备根据NAT地址转换表与局域网设备建立通讯。

进一步的,还包括:公网设备通过安全认证后,从网关获取NAT地址转换表。

进一步的,网关生成局域网设备的NAT地址转换表包括:网关将局域网设备的局域网IP地址转换为公网IP地址,将源端口PORT_LAN映射为公网端口 PORT_NAT,生成NAT地址转换表。

进一步的,公网设备根据NAT地址转换表与局域网设备建立通讯包括:公网设备从NAT地址转换表查询使用源端口PORT_LAN的局域网设备,查找源端口PORT_LAN对应的公网端口PORT_NAT,通过公网端口PORT_NAT与局域网设备建立通讯。

进一步的,在局域网设备为多个时,公网设备根据NAT地址转换表与局域网设备建立通讯还包括:公网设备从NAT地址转换表查询所有使用源端口PORT_LAN的局域网设备,查找源端口PORT_LAN对应的公网端口PORT_NAT,分别通过公网端口PORT_NAT与局域网设备建立会话,获取局域网设备的身份标识,获取目标局域网设备的公网端口PORT_NAT,通过目标局域网设备的公网端口PORT_NAT与目标局域网设备建立通讯。

本发明提供了一种NAT穿透装置,其包括:被接入模块,位于局域网设备,用于通过源端口PORT_LAN开启会话;NAT记录模块,位于网关,用于生成局域网设备的NAT地址转换表;接入模块,位于公网设备,用于根据NAT地址转换表与被接入模块建立通讯。

进一步的,接入模块还用于在通过安全认证后,从NAT记录模块获取NAT地址转换表。

进一步的,NAT记录模块用于将局域网设备的局域网IP地址转换为公网IP地址,将源端口PORT_LAN映射为公网端口PORT_NAT,生成NAT地址转换表。

进一步的,接入模块用于从NAT地址转换表查询使用源端口PORT_LAN的局域网设备,查找源端口PORT_LAN对应的公网端口PORT_NAT,通过公网端口PORT_NAT与局域网设备内的被接入模块建立通讯。

进一步的,在局域网设备为多个时,接入模块还用于从NAT地址转换表查询所有使用源端口PORT_LAN的局域网设备,查找源端口PORT_LAN对应的公网端口PORT_NAT,分别通过公网端口PORT_NAT与局域网设备建立会话,获取局域网设备的身份标识,获取目标局域网设备的公网端口PORT_NAT,通过目标局域网设备的公网端口PORT_NAT与目标局域网设备内的被接入模块建立通讯。

对应的,本发明提供了一种NAT穿透系统,其包括局域网设备、网关、公网设备,以及本发明提供的NAT穿透装置。

本发明的有益效果:

本发明提供了一种新的NAT穿透方法,网关生成NAT地址转换表,并提供给公网设备使用,这样公网设备就可以根据NAT地址转换表与局域网设备建立通讯,与现有技术相比,去掉了中继服务器,简化网络结构,减低运营成本,特别适合于对成本敏感的智能家居应用。

附图说明

图1为本发明第一实施例提供的NAT穿透装置的结构示意图;

图2为本发明第二实施例提供的NAT穿透方法的流程图;

图3为本发明第三实施例中智能家居运用场景的示意图;

图4为本发明第三实施例提供的NAT穿透方法的流程图。

具体实施方式

现通过具体实施方式结合附图的方式对本发明做出进一步的诠释说明。

第一实施例:

图1为本发明第一实施例提供的NAT穿透装置的结构示意图,由图1可知,在本实施例中,本发明提供的NAT穿透装置1包括:

被接入模块11,位于局域网设备,用于通过源端口PORT_LAN开启会话;

NAT记录模块12,位于网关,用于生成局域网设备的NAT地址转换表;

接入模块13,位于公网设备,用于根据NAT地址转换表与被接入模块建立通讯。

在一些实施例中,上述实施例中的接入模块13还用于在通过安全认证后,从NAT记录模块12获取NAT地址转换表。

在一些实施例中,上述实施例中的NAT记录模块12用于将局域网设备的局域网IP地址转换为公网IP地址,将源端口PORT_LAN映射为公网端口PORT_NAT,生成NAT地址转换表。

在一些实施例中,上述实施例中的接入模块13用于从NAT地址转换表查询使用源端口PORT_LAN的局域网设备,查找源端口PORT_LAN对应的公网端口PORT_NAT,通过公网端口PORT_NAT与局域网设备内的被接入模块建立通讯。

在一些实施例中,在局域网设备为多个时,上述实施例中的接入模块13还用于从NAT地址转换表查询所有使用源端口PORT_LAN的局域网设备,查找源端口PORT_LAN对应的公网端口PORT_NAT,分别通过公网端口PORT_NAT与局域网设备建立会话,获取局域网设备的身份标识,获取目标局域网设备的公网端口PORT_NAT,通过目标局域网设备的公网端口PORT_NAT与目标局域网设备内的被接入模块建立通讯。

对应的,本发明提供了一种NAT穿透系统,其包括局域网设备、网关、公网设备,以及本发明提供的NAT穿透装置。

第二实施例:

图2为本发明第二实施例提供的NAT穿透方法的流程图,由图2可知,在本实施例中,本发明提供的NAT穿透方法包括以下步骤:

S201:局域网设备通过源端口PORT_LAN开启会话;

S202:网关生成局域网设备的NAT地址转换表;

S203:公网设备根据NAT地址转换表与局域网设备建立通讯。

在一些实施例中,上述实施例还包括:公网设备通过安全认证后,从网关获取NAT地址转换表。

在一些实施例中,上述实施例中的网关生成局域网设备的NAT地址转换表包括:网关将局域网设备的局域网IP地址转换为公网IP地址,将源端口PORT_LAN映射为公网端口PORT_NAT,生成NAT地址转换表。

在一些实施例中,上述实施例中的公网设备根据NAT地址转换表与局域网设备建立通讯包括:公网设备从NAT地址转换表查询使用源端口PORT_LAN的局域网设备,查找源端口PORT_LAN对应的公网端口PORT_NAT,通过公网端口PORT_NAT与局域网设备建立通讯。

在一些实施例中,上述实施例在局域网设备为多个时,公网设备根据NAT地址转换表与局域网设备建立通讯还包括:公网设备从NAT地址转换表查询所有使用源端口PORT_LAN的局域网设备,查找源端口PORT_LAN对应的公网端口PORT_NAT,分别通过公网端口PORT_NAT与局域网设备建立会话,获取局域网设备的身份标识,获取目标局域网设备的公网端口PORT_NAT,通过目标局域网设备的公网端口PORT_NAT与目标局域网设备建立通讯。

现结合具体应用实例对本发明做进一步的诠释说明。

第三实施例:

表1

如图3所示,假设一个智能家居的应用场景包含三台智能摄像头,一台家庭网关,一台手机终端。三台智能摄像头都包含了被接入模块,都分别开启了一个源端口为333的会话,等待连接。家庭网关包含了NAT记录模块,NAT记录模块收到三台智能摄像头的会话报文后,分别进行了地址转换,并保存于NAT地址转换表中,如上表1所示。手机终端安装有接入模块,该接入模块可以是一个手机APP(应用程序)。手机接入互联网后,希望查看第一摄像头的实时影像。

图4为本发明第三实施例提供的NAT穿透方法的流程图,由图4可知,在本实施例中,本发明提供的NAT穿透方法包括以下步骤:

S401:局域网设备开启会话,等待连接。位于第一局域网设备的被接入模块开启一个源端口为特定端口PORT_LAN的会话,等待连接。

PORT_LAN不是唯一的,不同设备的相同功能的会话有相同的PORT_LAN,例如所有设备的FTP协议端口都为21。

S402:网关生成NAT地址转换表。位于网关的NAT记录模块将被接入模块的局域网IP地址转换为公网IP地址,并且把被接入模块的源端口PORT_LAN映 射为一个公网端口PORT_NAT,并且把此映射关系保存于NAT地址转换表中。

PORT_NAT是唯一的,不同的会话有不同的PORT_NAT,PORT_NAT用于标识某一局域网设备的某一会话,所有局域网设备都使用相同的公网IP地址,但PORT_NAT各不相同,这样就各自的报文就区分开来了。

S403:公网设备获取NAT地址转换表。位于公网设备的接入模块通过安全认证的方法连接NAT记录模块,并且从NAT记录模块获取其NAT地址转换表。

S404:公网设备获取局域网设备映射后的公网端口。接入模块从该NAT地址转换表中,找出所有源端口为PORT_LAN的局域网设备,并且得到这些设备映射后的公网端口。

S405:公网设备与局域网设备建立通讯。接入模块使用得到的这些公网端口分别与这些设备建立会话,并且获取这些设备的身份ID,从而找出第一局域网设备的公网端口为PORT_NAT,这样公网设备就可以使用PORT_NAT与第一局域网设备建立通讯。

结合图3所示的运用场景,首先,手机通过公网IP地址101.23.65.145连接到家庭网关,并使用预设的用户名和密码通过了安全认证。接着,家庭网关将表1所示NAT地址转换表发送给手机。手机查找源端口为333的会话,发现共有3个,而且知道了转换后的端口分别为1000、1001、1002,但还不知道哪个是第一摄像头。接着,手机分别使用公网源端口1000、1001、1002建立3个会话,分别与三个摄像头进行通讯,获取身份ID,从而知道公网源端口1000对应的是第一摄像头。于是,手机使用公网源端口1000向第一摄像头发起实时影像请求,第一摄像头向手机发送影像数据,这样手机就成功获得第一摄像头的实时影像。

综上可知,通过本发明的实施,至少存在以下有益效果:

转发装置利用报文归属业务的标识查找对应的独立网口的标识,并利用查找到的独立网口转发报文,通过将业务与网口进行映射,保证了业务报文在转发时的完整性,实现了转发装置内多个独立网口可以独立完成业务,网口之间互相不影响数据转发,同时本申请在业务报文进入协议栈路由分析流程之前,先根据映射表查询网口,查询到后直接返回,通过对应网口发包,过程简单。

以上仅是本发明的具体实施方式而已,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施方式所做的任意简单修改、等同变化、结合或修饰,均仍属于本发明技术方案的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1