一种设备代理装置以及网络管理装置的制作方法

文档序号:7863975阅读:197来源:国知局
专利名称:一种设备代理装置以及网络管理装置的制作方法
技术领域
本发明涉及网络管理技术,尤其涉及一种通用的网络管理业务跨越NAT的技术方案。
背景技术
随着信息技术的发展,企业中的计算机终端、服务器以及各种包括交换机以及路由器在内的网络设备也越来越多。企业不同的分支机构分布在不同地点,网络设备也会分布在不同的地域。为了实现统一的管理,管理站就有可能需要跨广域网对不同设备进行管理。
在IPV4的环境下,IP地址资源匮乏已经是个长期存在的问题。而且为了网络设备的安全考虑,很多网络设备都使用私网IP地址。这种情况下,需要被管理网络设备在具有NAT功能的网关之内,此时网络设备的IP地址对管理设备来说不可见。管理设备无法直接通过对应的IP地址访问到被管理的设备。
请参考见图I,其中管理设备的地址A和网关设备地址B为公网地址,被管理设备的地址C为私网地址。在这样的典型组网环境下,管理员就需要解决穿越NAT网关访问设备的问题。针对如图I中的所示情况,一般目前有两种解决方案。解决方案一利用NAT技术本身的特点,根据具体情况在网关设备上做NAT映射,将被管理设备的私网地址C映射为公网地址D,这样管理设备就可以通过访问公网地址D来实现对被管理设备的访问了。解决方案二 根据TR069定义的远程管理规范实现设备的远程管理。以上两种解决方案各有特点, 但是,对于某些应用场景也有其局限性,比如在网关不允许开启NAT映射的情况下,解决方案一以及解决方案二均无能为力。发明内容
有鉴于此,本发明提供一种设备代理装置,应用于网络设备上,用于协助网络设备作为被管理设备接受位于NAT网关外部的管理设备的管理,该装置包括控制处理单元、代理处理单元以及管理业务单元,其中
控制处理单元,用于向管理设备上预开放的TCP端口发起长连接请求,以在被管理设备与管理设备之间建立一个控制TCP长连接;该控制处理单元进一步用于通过所述控制TCP长连接接收来自管理设备的代理请求命令,并获取该命令中的业务TCP端口号并通知所述代理处理单元;
代理处理单元,用于向该业务TCP端口发起TCP连接以与管理设备建立业务TCP 连接,并与管理业务单元建立本地连接;该代理处理单元进一步用于从所述业务TCP连接上获取管理设备发送的管理请求,并将该管理请求承载到本地连接上发送给所述管理业务单元处理;
管理业务单元,用于处理来自管理设备的管理请求。
本发明还提供一种网络管理装置,应用于管理设备上,用于管理网络中位于NAT网关内部的作为被管理设备的网络设备,该装置包括控制处理模块以及管理业务模块,其中
控制处理模块,通过管理设备上预开放的TCP端口接受被管理设备发起的长连接请求,以与被管理设备建立一个控制TCP长连接;该控制处理模块进一步用于在用户需要访问被管理设备时,通过所述TCP长连接向被管理设备发送代理请求命令,其中该代理请求命中携带有管理设备新分配的业务TCP端口号。
管理业务模块,用于接受被管理设备向业务TCP端口发起的TCP连接请求,以与被管理设备监理业务TCP连接,并在业务TCP连接建立以后通过该业务TCP连接向被管理设备发送管理请求或者通过该业务TCP连接接收来自被管理设备对管理请求的响应结果。
本发明提供了一种简洁有效的跨越NAT网关进行网络管理的技术方案,相较于现有技术而言,并不需要进行复杂的配置,适用范围更广,可适应NAT网关不允许进行映射配置的应用场景。


图I是一种典型跨越NAT网关进行网络管理的组网图。
图2是本发明一种实施方式中设备代理装置与网络管理装置的组合图。
图3是本发明一种跨越NAT网关的网络管理业务流程图。
具体实施方式
在大型企业的网络环境下,网络设备的管理工作呈现如下的特点企业各个分支机构中都具有各种网络设备,分支机构之间通过广域网相连,但管理员可能希望在总部或者其他分支机构等单一地点进行网络管理。在这样的网络环境下,位于NAT网关外部的管理设备跨越NAT对位于NAT网关内部的网络设备进行网络管理是非常常见的。本发明提出一种通用的解决方案来解决网络设备管理跨越NAT网关(也称为NAT穿越)的问题。
请参考图2所示,本发明提供一种经过优化的设备代理装置以及网络管理装置, 分别应用在处于被管理角色的网络设备以及处于管理角色的网络管理设备上。其中所述网络设备的硬件架构并没有局限,无论是分布式网络设备还是集中式网络设备均可适用;而管理设备通常可以是各种主机或者服务器。在优选的方案中,本发明通过CPU运行存储器中的软件程序来实现所述设备代理装置以及网络管理装置。该设备代理装置包括控制处理单元、代理处理单元以及管理业务单元;所述网络管理装置包括管理业务模块以及控制处理模块。请参考图3,该装置在实际使用中与管理设备配合执行如下基本的步骤
步骤101,控制处理单元向管理设备上预开放的TCP端口发起长连接请求,以在被管理设备与管理设备之间建立一个控制TCP长连接。
步骤102,当用户在管理设备端需要访问被管理设备时,管理设备的控制处理模块通过TCP长连接向被管理设备的控制处理单元发送一个代理请求命令,其中该代理请求命中携带有管理设备新分配的业务TCP端口号。
步骤103,被管理设备的控制处理单元在接收到代理请求命令后,获取其中的业务 TCP端口号并通知所述代理处理单元;
步骤104,被管理设备的代理处理单元向该业务TCP端口发起TCP连接以建立一个业务TCP连接,并与被管理设备本地的管理业务单元建立本地连接。
步骤105,管理设备的管理业务模块通过业务TCP连接向被管理设备发送管理请求;
步骤106,被管理设备的代理处理单元从所述业务TCP连接上获取其承载的管理请求,并将该管理请求承载到本地连接上发送给所述管理业务单元。
考虑到NAT技术的特点一必须由NAT网关内部的设备先发起通信,通信双方才能正常通信,在本发明中由处于NAT网关内部的被管理设备向处于公网的管理设备发起连接请求,不同于常见的TCP端连接方式那样,本发明通过建立TCP长连接来构建一个可以长期存在的控制通道,使得管理设备与被管理设备之间有命令通道。
在优选的实施方式中,管理设备上预定的TCP端口号是预先配置在被管理设备上的,比如被管理设备加入网络进行初始配置时。当被管理设备每次重新启动后,控制处理单元都会执行步骤101来建立所述TCP长连接。在TCP长连接建立之后,控制处理单元就在该TCP长连接等待管理设备的控制命令。需要注意的是这里的控制命令并不是针对被管理设备的管理指令。在本发明中,命令通道是服务于网络管理业务的,命令通道中发送的命令相对于网络管理业务而言是控制层面的命令,而针对被管理设备的管理指令则是业务层面的指令。从另一个角度来说,控制命令是针对网络设备管理过程的一种调度。
在优选的方式中,出于安全的考虑,避免有攻击者发起大量的恶意的TCP长连接, 可以对TCP长连接进行安全处理,比如说控制处理模块仅仅接受来自特定IP地址的长连接请求。这些特定IP地址通常是自身网络中各个分支机构上NAT网关的出口地址,因为被管理设备发起连接请求时,其IP地址会在NAT网关侧被替换为网关的出口地址。
当用户(通常是网络管理员)实际上需要执行管理业务对被管理设备进行管理时。 管理设备侧的控制处理模块可以响应用户的操作来实现管理业务通道的构建。以Web管理方式为例,当用户在浏览器界面上访问被管理设备时,对于用户在界面上的体验而言其访问是直接的。但事实上,此时并不是管理设备要直接去访问被管理设备,因为NAT网关的存在,这样的访问是无法到达被管理设备的,因此本发明是通过迂回的方式来实现用户上述体验的。控制处理模块先为被管理设备分配一个业务TCP端口号,然后通过控制处理模块来通知对端被管理设备建立业务TCP连接。需要说明的是,所述业务TCP端口号仅仅是一个更加形象的名称而已,表明其是服务于网络管理业务的。
请参考图2,本发明仍然要求被管理设备通过向业务TCP端口发起TCP连接来构建管理业务通道,即业务TCP连接。业务TCP端口号不同于预开放的TCP端口,假设预开放的 TCP端口为P,被管理设备通过自身的TCP端口号Q与之建立长连接;假设业务TCP端口号为R,被管理设备通过自身的TCP端口号S与之建立业务TCP连接。在优选的方式中,业务 TCP连接是TCP短连接,因此一旦管理业务结束之后,TCP短连接可以被主动关闭或者会自然快速地老化掉,但之前建立TCP长连接还是存在的。因此在本发明优选的实施方式中,管理业务所占用的TCP传输资源在管理业务结束后就可以自然老化或者被主动关闭的,避免被管理设备较大的TCP处理压力。
当用户通过Web页面发送管理请求时,管理请求被会管理业务模块封装到对应的业务TCP连接上发送到对应的被管理设备上。被管理设备的代理处理单元收到之后会将管理请求从TCP连接上解析出来,然后承载到本地连接上发送给管理业务单元。管理业务单元从本地连接上获得管理请求,然后进行相应的处理。如果需要响应管理请求,管理业务单元则可以将响应结果通过本地连接提交到代理处理单元,再由代理处理单元经过业务TCP 连接发送到管理业务模块。
通过这样的处理之后,管理业务模块与管理业务单元之间就实现了管理业务交互。具体的管理业务交互并不是本发明关注的重点,本发明聚焦于为管理业务提供承载的通道。本地连接可以任何本地的通信方式,在两个软件模块或者进程之间的通信方式有很多。但是在优选的方式中,为了简化代理处理单元的设计,本发明中的本地连接是代理处理单元使用环回地址(比如127. O. O. I)与管理业务单元建立的TCP连接。这样一来代理处理单元仅仅需要处理TCP —种协议,开发成本可以大幅度降低。
本发明充分利用了 TCP连接的特点,通过被管理设备分别发起TCP连接来实现对 NAT网关的跨越,这样的实现方案不需要网络管理员对NAT网关进行任何的额外配置(如 NAT映射配置),也不需要实现较为复杂的TR09协议;更为重要的是本发明与NAT网关是否允许进行映射配置无关,即便NAT网关不允许进行映射配置,本发明依然可以完成NAT网关的跨越。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种设备代理装置,应用于网络设备上,用于协助网络设备作为被管理设备接受位于NAT网关外部的管理设备的管理,该装置包括控制处理单元、代理处理单元以及管理业务单元,其特征在于 控制处理单元,用于向管理设备上预开放的TCP端口发起长连接请求,以在被管理设备与管理设备之间建立一个控制TCP长连接;该控制处理单元进一步用于通过所述控制TCP长连接接收来自管理设备的代理请求命令,并获取该命令中的业务TCP端口号并通知所述代理处理单元; 代理处理单元,用于向该业务TCP端口发起TCP连接以与管理设备建立业务TCP连接,并与管理业务单元建立本地连接;该代理处理单元进一步用于从所述业务TCP连接上获取管理设备发送的管理请求,并将该管理请求承载到本地连接上发送给所述管理业务单元处理; 管理业务单元,用于处理来自管理设备的管理请求。
2.如权利要求I所述的装置,其特征在于,所述管理业务单元进一步用于在需要响应管理请求时生成对应的响应结果,并通过所述本地连接将响应结果提交给所述代理处理单元;所述代理处理单元进一步用于从本地连接上获取该响应结果,并通过业务TCP连接将该响应结果发送到管理设备。
3.如权利要求I所述的装置,其特征在于,所述业务TCP连接为TCP短连接,且业务TCP端口不同于所述预开放的TCP端口。
4.如权利要求I所述的装置,其特征在于,所述本地连接是代理处理单元使用环回地址与管理业务单元建立的TCP连接。
5.一种网络管理装置,应用于管理设备上,用于管理网络中位于NAT网关内部的作为被管理设备的网络设备,该装置包括控制处理模块以及管理业务模块,其特征在于 控制处理模块,通过管理设备上预开放的TCP端口接受被管理设备发起的长连接请求,以与被管理设备建立一个控制TCP长连接;该控制处理模块进一步用于在用户需要访问被管理设备时,通过所述TCP长连接向被管理设备发送代理请求命令,其中该代理请求命中携带有管理设备新分配的业务TCP端口号; 管理业务模块,用于接受被管理设备向业务TCP端口发起的TCP连接请求,以与被管理设备监理业务TCP连接,并在业务TCP连接建立以后通过该业务TCP连接向被管理设备发送管理请求或者通过该业务TCP连接接收来自被管理设备对管理请求的响应结果。
6.如权利要求5所述的装置,其特征在于,所述业务TCP连接为TCP短连接,且业务TCP端口不同于所述预开放的TCP端口。
全文摘要
本发明提供一种设备代理装置以及网络管理装置,可实现跨NAT进行网络管理,该装置的主要实现步骤包括向管理设备上预开放的TCP端口发起长连接请求,以建立控制TCP长连接;通过TCP长连接向被管理设备发送代理请求命令,该命中携带有管理设备分配的业务TCP端口号;被管理设备向该业务TCP端口发起TCP连接以建立一个业务TCP连接,并与被管理设备本地的管理业务单元建立本地连接;管理设备通过业务TCP连接向被管理设备发送管理请求;被管理设备从所述业务TCP连接上获取其上承载的管理请求,并将该管理请求承载到本地连接上发送给所述自身管理业务单元,相对于现有技术本发明适用范围更广,不受NAT网关是否允许映射影响。
文档编号H04L12/24GK102983988SQ201210418840
公开日2013年3月20日 申请日期2012年10月26日 优先权日2012年10月26日
发明者李飞鹏, 李常青 申请人:杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1