一种基于配电房采集数据的nat穿透系统及方法

文档序号:7748417阅读:215来源:国知局
专利名称:一种基于配电房采集数据的nat穿透系统及方法
技术领域
本发明属于网络通讯技术领域,尤其涉及电力行业的一种基于配电房采集数据的 NAT穿透系统及方法。
背景技术
随着基于TCP/IP的互联网不断发展、普及,其规模越来越大。互联网主要提 供两种服务TCP (Transmission Control Protocol,传输控制协议)和 UDP (User Data Protocol,用户数据报协议)。这两种服务是互联网中私网设备可以访问私网外部资源的基 础技术。为了让这些私网中配电房应用设备可以互相访问通讯,SIP和NAT技术应运而生。通常情况下,在网络通讯中配电房的采集数据发送端和接收端作为两个SIP(会 话起始协议)客户端,通过服务器进行通讯传输。如果是同一个私网,则可以很正常通讯。 但两个客户端不在同一个私网时,网络就不能够对采集数据发送到哪里的地址信息进行转 换,导致私网内的设备对外网不可见,从而无法接收外网发来的请求。这种问题被统称为 NAT问题。NAT (netword address transporter,网络地址转换器)是通过修改 UDP 或 TCP 的 报文头的地址和端口信息,来实现网络层地址转换的。这种现象称为NAT穿透。目前,NAT 穿透技术主要是通过以下几个方面来实现(I)ALG(应用层网关);(2) MIDCOM (中间件通讯);(3) STUN (Simple Traversal of UDP over NATs,UDP 的简单 NAT 穿透);(4) PROXY (代理)。STUN是解决NAT穿透问题的一种最基本方法,主要实现原理是STUN服务器接收 到包含客户端请求信息的SIP数据包请求之后,解析数据包取得客户端出口 NAT上的对外 IP地址和端口号,然后把取得客户端出口 NAT上的对外IP地址和端口号直接填写在净载中 的地址信息栏中,这样净载中的内容在经过NAT时就不需要修改了,只需按普通NAT流程转 换封包文件的IP地址和端口号即可,最后将客户请求的配电房采集数据发送到客户端。随着智能电网和物联网的兴起和发展,配电房中的用户设备和采集数据也输越来 越多需要接入到互联网中进行通讯交互,为了解决这些用户设备之间的互联互通会采用更 多的NAT设备,所以必须要考虑NAT问题,因此急需提供一种基于配电房采集数据的NAT穿 透系统及方法。

发明内容
本发明目的提供一种基于配电房采集数据的NAT穿透系统及方法。利用STUN服 务器识别外网的客户端的IP地址和端口号,明确通讯中设备的NAT穿透流程,有效解决了 配电房中采集数据通过服务器顺利发送到客户端。为实现上述目的,本发明提供的一种基于配电房采集数据的NAT穿透系统,包括私网中的STUN客户端1 (配电房用户设备)、网络地址转换装置NAT、至少一个UDP的简单 NAT穿透STUN服务器以及DNS/DHCP服务器。上述私网中的配电房用户设备(STUN客户端1)通过网络地址转换装置NAT从 STUN服务器上获取其对应的NAT出口的对外地址信息、端口信息和所访问客户端的地址信 肩、ο上述私网中的STUN客户端1 (配电房用户设备)将其获取的NAT出口的对外地址 信息、端口号信息承载于SIP控制消息的负载中,同时根据所访问客户端地址信息将SIP控 制消息通过NAT设备传输给所访问客户端。上述私网中的STUN客户端1 (配电房用户设备)包括获取STUN服务器地址信息模块通过与域名服务器/动态主机配置协议DNS/ DHCP服务器的信息交互获取STUN服务器的地址信息,并将其传输至获取对外地址端口模 块。获取对外地址端口模块根据其接收的STUN服务器的地址信息来请求私网中的 用户设备对应的NAT出口的对外地址、端口信息和所访问客户端地址信息的消息通过NAT 设备传输至STUN服务器,并将其接收的、STUN服务器传输来的NAT出口的对外地址、端口 信息和所访问客户端地址信息传输至SIP控制消息传输模块。SIP控制消息传输模块将其接收的NAT出口的对外地址信息、端口号信息承载于 SIP控制消息的负载中,并根据其接收的所访问客户端地址信息将SIP控制消息通过NAT设 备传输至所访问客户端。上述STUN服务器包括获取所访问客户端地址信息模块在STUN服务器接收到私网中的用户设备(STUN 客户端1)通过NAT设备传输来的请求信息时,从DNS/DHCP服务器处获取用户设备(STUN 客户端1)对应的所访问客户端地址信息,并将其传输至响应模块。响应模块从STUN服务器接收的请求信息中获取NAT出口的对外地址信息、端口 号信息,并将NAT出口的对外地址信息、端口号信息和所访问客户端地址信息承载于响应 消息中,通过NAT设备传输至相应的用户设备。本发明另一目的提供了一种基于配电房采集数据的NAT穿透方法,包括以下步 骤(a)用户设备(STUN客户端1)通过NAT设备从STUN服务器处获取其对应的NAT 出口的对外地址信息、端口号信息和所访问客户端地址信息。(b)用户设备(STUN客户端1)将获取的NAT出口的对外地址信息、端口号信息承 载于SIP控制消息的负载中,并根据所访问客户端地址信息将SIP控制消息通过NAT设备 传输至所访问客户端。上述步骤(a)具体包括(al)、用户设备获取STUN服务器的地址信息;(a2)、用户设备(STUN客户端1)中将请求用户设备(STUN客户端1)对应的NAT出 口的对外地址信息、端口号信息和所访问客户端地址信息的消息通过NAT设备传输至STUN 服务器;(a3)、STUN服务器在接收到请求消息后,获取用户设备(STUN客户端1)对应的NAT出口的对外地址信息和端口号信息,并从DNS/DHCP服务器处获取用户设备(STUN客户 端1)对应的所访问客户端地址信息;(a4)、STUN服务器将其获取的NAT出口的对外地址信息、端口号信息和所访问客 户端地址信息承载于响应消息中,并通过NAT设备传输至用户设备。上述步骤(al)具体为用户设备通过与DNS/DHCP服务器的信息交互获取STUN服务器的地址信息。上述步骤(a2)具体为用户设备将用户数据报协议的请求消息传输至NAT设备;NAT设备将请求消息中的端口号信息变换为NAT设备的端口信息,并将请求消息 传输至STUN服务器。上述步骤(a3)具体为STUN服务器从NAT设备传输来的请求消息中获取用户设备(STUN客户端1)对应 的NAT出口的对外地址、端口号信息,并通过与DNS/DHCP服务器的信息交互获取用户设备 (STUN客户端1)对应的所访问客户端地址信息。上述步骤(a4)具体为STUN服务器将NAT出口的对外地址和端口号信息承载于STUN响应消息的“映射 地址,,属性中,将所访问客户端地址信息承载于扩展设置的所访问客户端地址信息属性中, 并将STUN响应消息传输至用户设备。上述步骤(b)中SIP控制消息的负载包括SIP控制消息的SIP负载。上述一种基于配电房采集数据的NAT穿透方法还包括在用户设备的会话描述协议SDP报文中承载实时传输控制协议RTCP的端口属性
fn息ο本发明还需要一种基于配电房采集数据的NAT穿透系统中的用户设备,本用户设 备是作为UDP简单的NAT穿透STUN客户端1。用户设备将其获取的NAT出口的对外地址、端口号信息承载于SIP控制消息的负 载中,并根据所访问客户端地址信息将SIP控制消息通过NAT设备传输至所访问客户端。根据上面技术方案的描述可知,本发明的有益效果是在配电房采集数据上传通讯 过程当中,通过在通讯网络中设置STUN服务器、将配电房用户设备作为STUN客户端1,使 STUN协议适用于配电房采集数据通讯网络中的NAT穿透流程,明确了配电房采集数据通讯 网络中用户设备(STUN客户端1)的NAT穿透流程,使用户设备(STUN客户端1)对外网是 可见的,有效解决了配电房采集数据通讯网络中的NAT穿透问题。本发明可以在不对目前 其它行业现有的NAT设备的地址转换处理流程进行任何改动的情况下,通过对STUN协议中 的消息进行简单扩展即可使用户设备(STUN客户端1)获得NAT出口的对外地址信息、端口 号信息和所访问客户端地址信息,由此可见本发明的技术方案易实现、适应性强、扩展好; 通过本发明提供的方案流程可实现配电房采集数据的NAT穿透的目的。


图1为本发明基于配电房采集数据的NAT穿透系统示意图;图2为本发明基于配电房采集数据的NAT穿透方法的流程图。
具体实施例方式下面结合附图对本发明做进一步的说明。本发明的结构示意图如图1所示,本发明是基于配电房采集数据通讯网络的NAT 穿透系统和方法的核心在于在通讯网络中设置至少一个STUN(UDP的简单NAT穿透)服务 器,将用户设备作为STUN客户端1,用户设备通过NAT设备从STUN服务器处获取其对应的 NAT出口的对外地址信息、端口号信息和所访问客户端地址信息,用户设备将其获取的NAT 出口的对外地址信息、端口号信息承载于SIP控制消息的负载如SIP负载中,并通过NAT设 备将SIP控制消息传输至所访问客户端。本发明的网络地址转换穿透系统如附图1所示,下面结合附图1对本发明基于配 电房采集数据通讯网络的NAT穿透系统和方法进行说明。
本发明基于配电房采集数据的NAT穿透系统包括私网中的STUN客户端1 (配电 房用户设备)、网络地址转换装置NAT、至少一个UDP的简单NAT穿透STUN服务器以及DNS/ DHCP服务器。STUN客户端1,STUN客户端1为配电房采集数据模块的用户设备。相应的,在通讯 网络中有STUN服务器和DNS/DHCP服务器。STUN客户端1可以通过与DNS/DHCP (域名服务 器/动态主机配置协议)服务器的信息交互获得与之通讯的STUN服务器地址,这部分功能 由STUN客户端1中获取STUN服务器地址信息模块来实现。本发明可以不对现有的NAT设 备的地址转换处理流程做任何改动,从而使本发明的技术方案易于实施、适用性好,但是, 由于现有NAT设备实现地址转换处理流程的差异,本发明也不排除对部分现有NAT设备的 地址转换处理流程进行改进的可能性。用户设备(STUN客户端1)在获得STUN服务器的地址信息、并需要通过SIP进行 呼叫时,通过NAT设备向STUN服务器发送STUN请求消息,以获取其对应的NAT出口的对外 地址信息、端口号信息及所访问客户端地址信息。这部分功能由用户设备中(STUN客户端 1)的获取对外地址端口模块来完成,即获取STUN服务器地址信息模块将其获取到的STUN 服务器地址信息传输至获取对外地址端口模块,获取对外地址端口模块根据其接收的STUN 服务器的地址信息将请求用户设备(STUN客户端1)对应的NAT出口的对外地址信息、端口 号信息和所访问客户端地址信息的请求消息通过NAT设备传输至STUN服务器。NAT设备接收到用户设备(STUN客户端1)传输来的STUN请求消息后,对STUN请 求消息中的地址信息进行转换,本发明中的NAT设备的地址信息转换过程遵循现有的地址 信息转换过程,如转换过程可以为NAT设备将STUN请求消息中的源地址信息转换为其上 用户设备(STUN客户端1)对应的端口信息。NAT设备将地址信息转换后的请求消息传输至 STUN服务器。STUN服务器主要用于接收用户设备(STUN客户端1)通过NAT设备传输来的STUN 请求消息,并通过与DNS/DHCP服务器的信息交互获取用户设备(STUN客户端1)对应的NAT 出口的对外地址信息、端口号信息和所访问客户端地址信息,并将这些信息承载于STUN响 应消息中通过NAT设备传输至对应的用户设备(STUN客户端1)。STUN服务器的功能主要由获取所访问客户端地址信息模块和响应模块来实现。获取所访问客户端地址信息模块主要用于在STUN服务器接收到用户设备(STUN客户端1)通过NAT设备传输来的STUN请求消息时,通过向DNS/DHCP服务器发送请求消息, 并与DNS/DHCP服务器进行一系列的信息交互,以实现从DNS/DHCP服务器处获得用户设备 (STUN客户端1)对应的所访问客户端地址信息;获取所访问客户端地址信息模块接收DNS/ DHCP服务器返回的携带有所访问客户端地址信息,并从DNS/DHCP服务器返回的消息中获 取用户设备(STUN客户端1)对应的所访问客户端地址信息,并将所访问客户端地址信息传 输至响应模块。用户设备(STUN客户端1)中的获取对外地址端口模块从STUN响应消息中获取 NAT出口的对外地址信息、端口号信息和所访问客户端地址信息,并将其传输至SIP控制消 息传输模块。此时,用户设备(STUN客户端1)进入激活状态。这样,用户设备(STUN客户 端1)在向所访问客户端发送SIP控制消息时,通过将NAT出口的对外地址信息、端口号信 息承载于SIP控制消息的SIP负载中,就能够使SIP控制消息的IP地址信息和SIP负载中 的地址信息一致,从而使用户设备(STUN客户端1)对于外网可见,实现了 NAT穿透。用户 设备(STUN客户端1)发送SIP控制消息的功能由SIP控制消息模块来实现。下面结合附图对本发明的通讯网络中NAT穿透方法进行说明。如图2所示在步骤2-1,UE (用户设备)通过与DNS/DHCP服务器的一系列信息交 互后,得到STUN服务器的地址信息。在步骤2-2,UE通过UDP发送STUN请求消息给通讯网络的STUN服务器,STUN请 求消息首先传输至NAT设备。到步骤2-3,NAT设备将其接收的STUN请求消息的IP地址信息进行地址转换,具 体的地址转换过程为将STUN请求消息中的源地址信息转换为其上与用户设备(STUN客户 端1)对应的出口的地址信息,将STUN请求消息中的端口信息转换为其上与用户设备(STUN 客户端1)对应的端口信息。在地址转换完成后,NAT设备将STUN请求消息传输至STUN服 务器。到步骤2-4,STUN服务器接收到STUN请求消息后,经过与DNS/DHCP服务器一系列 的信息交互,得到UE对应的所访问客户端的地址信息。步骤2-5至步骤2-6,STUN服务器在得到所访问客户端的地址信息后,产生STUN 响应消息,STUN响应消息中的“映射地址”属性携带有其接收到的STUN请求消息中的源地 址信息和端口号信息,即UE在NAT上对应的外部地址信息和端口信息,如图2中,外部地址 信息为=210. 123. 34. 12,端口信息为=5678.另夕卜,STUN响应消息的“客户端地址”属性中还 携带有所访问客户端地址信息,如图2中,所访问客户端地址信息为XX. XX. XX. XX。“客户 端地址”属性是STUN响应消息的扩展属性。STUN响应消息通过NAT设备传输至UE。具体 的地址转换过程为将STUN请求消息中的源地址信息转换为其上与用户设备(STUN客户端 1)对应的出口的地址信息,将STUN请求消息中的端口信息转换为其上与用户设备(STUN客 户端1)对应的端口信息。在地址转换完成后,NAT设备将STUN请求消息传输至STUN服务
ο到步骤2-7,UE通过STUN响应消息中承载的信息得知其在NAT上的外部地址信 息、端口号信息和所访问客户端的地址信息,将NAT上的外部地址信息和端口号信息填入 SIP控制消息的SIP负载中,并根据所访问客户端的地址信息将SIP控制消息通过NAT设 备传输至所访问客户端。图2中,SIP控制消息的SIP负载的地址信息、端口号信息为210. 123. 33. 10 :3456。到步骤2-8,NAT设备接收SIP控制消息,转换SIP控制消息中的IP地址信息,并 将SIP控制消息传输至所访问客户端,这样,SIP控制消息中的IP地址信息和SIP负载中 IP地址信息一致,如均为图2中的210. 123. 33. 10 :3456,使UE对外网是可见的,实现了 NAT穿透。到步骤2-9至步骤2-10,所访问客户端将响应成功的1000K消息通过NAT设备传
输至UE。虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和 变化而不脱离本发明精神,本发明的申请文件权利要求包括这些变形和变化。
权利要求
一种基于配电房采集数据的NAT穿透系统,其特征在于该系统包括私网中的配电房用户设备(STUN客户端1)、网络地址转换装置NAT、至少-个UDP的简单NAT穿透STUN服务器以及DNS/DHCP服务器。
2.根据权利要求1所述的基于配电房采集数据的NAT穿透系统,其特征在于所述私网 中的用户设备(STUN客户端1)包括获取STUN服务器地址信息模块、获取对外地址端口模 块、SIP控制消息传输模块。
3.根据权利要求1所述的基于配电房采集数据的NAT穿透系统,其特征在于所述STUN 服务器还包括在STUN服务器接收到私网中的用户设备通过NAT设备传输来的请求信息时,从DNS/ DHCP服务器处获取用户设备对应的所访问客户端地址信息,并将其传输至响应模块的获取 所访问客户端的地址信息模块;从STUN服务器接收的请求信息中获取NAT出口的对外地址信息、端口号信息,并将NAT 出口的对外地址信息、端口号信息和所访问客户端地址信息承载于响应消息中,通过NAT 设备传输至相应的用户设备的响应模块。
4.一种基于配电房采集数据的NAT穿透方法,其特征在于包括以下步骤(a)用户设备(STUN客户端1)通过NAT设备从STUN服务器处获取其对应的NAT出口 的对外地址信息、端口号信息和所访问客户端地址信息。(b)用户设备将获取的NAT出口的对外地址信息、端口号信息承载于SIP控制消息的负 载中,并根据所访问客户端地址信息将SIP控制消息通过NAT设备传输至所访问客户端。
5.根据权利要求4所述的基于配电房采集数据的NAT穿透方法,其特征在于步骤(a) 具体包括以下步骤(al)、用户设备获取STUN服务器的地址信息;(a2)、用户设备中将请求用户设备对应的NAT出口的对外地址信息、端口号信息和所 访问客户端地址信息的消息通过NAT设备传输至STUN服务器;(a3)、STUN服务器在接收到请求消息后,获取用户设备对应的NAT出口的对外地址信 息和端口号信息,并从DNS/DHCP服务器处获取用户设备对应的所访问客户端地址信息;(a4)、STUN服务器将其获取的NAT出口的对外地址信息、端口号信息和所访问客户端 地址信息承载于响应消息中,并通过NAT设备传输至用户设备。
6.根据权利要求5所述的基于配电房采集数据的NAT穿透方法,其特征在于步骤(al) 还包括以下步骤用户设备通过与DNS/DHCP服务器的信息交互获取STUN服务器的地址信息。
7.根据权利要求5所述的基于配电房采集数据的NAT穿透方法,其特征在于步骤(a2) 还包括以下步骤用户设备将用户数据报协议的请求消息传输至NAT设备,NAT设备将请求消息中的端 口号信息变换为NAT设备的端口信息,并将请求消息传输至STUN服务器。
8.根据权利要求5所述的基于配电房采集数据的NAT穿透方法,其特征在于步骤(a3) 还包括以下步骤STUN服务器从NAT设备传输来的请求消息中获取用户设备对应的NAT出口的对外地 址、端口号信息,并通过与DNS/DHCP服务器的信息交互获取用户设备对应的所访问客户端地址信息。
9.根据权利要求5所述的基于配电房采集数据的NAT穿透方法,其特征在于步骤(a4) 还包括以下步骤STUN服务器将NAT出口的对外地址和端口号信息承载于STUN响应消息的 MAPPED-ADDRESS属性中,将所访问客户端地址信息承载于扩展设置的所访问客户端地址信 息属性中,并将STUN响应消息传输至用户设备。
10.根据权利要求4所述的基于配电房采集数据的NAT穿透方法,其特征在于步骤(b) 所述SIP控制消息的负载包括SIP控制消息的SIP负载。
全文摘要
本发明提供了一种基于配电房采集数据的NAT穿透系统及方法,系统包括私网中的配电房用户设备(STUN客户端1)、网络地址转换装置NAT、至少一个UDP的简单NAT穿透STUN服务器。方法包括两大步骤(a)用户设备STUN客户端1通过NAT设备从STUN服务器处获取其对应的NAT出口的对外地址信息、端口号信息和所访问客户端地址信息;(b)用户设备将获取的NAT出口的对外地址信息、端口号信息承载于SIP控制消息的负载中,并根据所访问客户端地址信息将SIP控制消息通过NAT设备传输至所访问客户端。本发明易实现、适应性强、扩展好,有效解决了配电房采集数据通讯网络中的NAT穿透问题。
文档编号H04L29/12GK101834915SQ20101016865
公开日2010年9月15日 申请日期2010年4月30日 优先权日2010年4月30日
发明者王炅, 缪华乔 申请人:广州合立正通信息网络集成有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1