SNMP穿越NAT的网络管理***及实现方法
技术领域
本发明涉及网络管理技术,尤其是涉及一种SNMP穿越NAT的网络管理***及实现方法。
背景技术
随着互联网和电信行业的高速发展,各类网络通信设备广泛覆盖到各个地方,形成了众多的大型网络,然而这些大型网络给网络运营商的管理带来了很大的挑战。大型网络包含多种网络设备,集成多种网络操作***,运行多种网络应用服务。为了保证网络***的高效运行,对整个网络***的运行状况进行监控和管理,就需要建设一个对网络运行状况进行监视的实时***,一个能够对全网运行状况进行控制的管理平台。
目前各个设备制造商都提供了各自的网络管理***,并通过简单网络管理协议(SNMP,Simple Network Management Protocol)对远程的网络设备进行管理。基于SNMP的网络管理包含三个部分:网络管理***,主要提供***安全管理、拓扑管理、设备配置管理、故障管理、性能管理、日志管理、***管理、扩展业务管理等功能,接受用户操作,对管理代理进行相关操作并把结果通过界面返回到用户界面;被管理的设备,即网络单元,如路由器、访问服务器,交换机、网桥、HUBS、主机或打印机等,网络单元上设有SNMP代理,建立该网络单元的管理信息库MIB并根据定时器的指令每隔特定的时间发出一次注册报文;NAT转换单元,接收与之连接的网络单元发出的注册报文,将该注册报文中的私有IP转换为其自身的公有IP和公有端口号后转发。
关于网络管理***和网管SNMP代理之间的通信流程如下所述:
L10、网络管理***首先将大量预先知道的SNMP代理的IP地址先加入本地信息库,从而构造管理IP地址库。
L20、网络管理***在对某个SNMP代理进行管理的时候,构造出SNMP的请求报文并发送给SNMP代理的IP地址,并等待其响应。
L30、SNMP代理收到管理平台发出的SNMP请求报文之后,将SNMP的响应报文返回给管理平台的IP地址。
L40、网络管理***在收到返回的SNMP响应报文后,解析出设备信息,并根据设备信息进行相应处理,完成相应的界面显示或者操作。
综上所述,其实网络管理***与SNMP代理之间的管理通信是一问一答式的模式,网络管理***问,SNMP代理答。前提是网络管理***已经事先知道了SNMP代理的IP地址。
在正常情况下,网络管理***和SNMP代理都同处于一个能够互通的IP网络内,各自的IP地址之间可以直接进行相互通信,此时进行网管管理不存在大的问题。
但是,由于国内的IP地址数目有限,往往在实际网络IP部署的时候,大量的SNMP代理被分配了私有IP地址,而网络管理***拥有的是公有IP地址,两者之间采用了支持网络地址转换(NAT)的网关设备连接(参见图1)。在这种部署情况下,SNMP代理的私有IP地址对外是不可见的,因此网络管理***无法和SNMP代理直接通信,从而无法实现网管。
发明内容
本发明所要解决的技术问题是让拥有公有IP地址的网络管理***能够方便的管理拥有私有IP地址的SNMP代理,从而达到网络管理部署时节省IP地址,解决目前IP地址不足的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种实现SNMP穿越NAT的网络管理***,包括若干被管理的设备、若干网络地址转换单元和网络管理***NMS。所述被管理的设备,即网络单元,该网络单元中设有一SNMP代理和一定时器,所述SNMP代理建立该网络单元的管理信息库MIB并根据定时器的指令每隔特定的时间发出一次注册报文;所述网络地址转换单元接收与之连接的网络单元发出的注册报文,将该注册报文中的私有IP转换为其自身的公有IP和公有端口号后转发;所述网络管理***NMS上设有一个SNMP信息容器和一个轮询***,该SNMP信息容器包括用于存储SNMP代理的唯一物理MAC地址、SNMP代理的私有IP地址、SNMP代理经过NAT转换后的公有IP地址和SNMP代理经过NAT转换后公有UDP端口号的映射表,在轮询***的指令下NMS接收与之连接的网络地址转换单元转发的包含该网络地址转换单元自身公有IP和公有端口号的注册报文。
上述方案中,所述被管理的设备为路由器、访问服务器,交换机、网桥、HUBS、主机或打印机。
本发明还提供了上述网络管理***中SNMP穿越NAT的实现方法,该方法的技术方案包括以下步骤:
S10、在网络单元中的SNMP代理上建立该网络单元的管理信息库MIB,配置与之相连的NAT单元的公有IP,作为定时注册报文的目的IP,同时启动一个定时器,定时发送注册报文给NAT单元,注册报文至少包括SNMP代理的私有IP地址,唯一的MAC地址,***当前时间和设备类型信息并保持NAT单元对于NAT转换条目保活不老化;;
S20、注册报文由NAT单元完成网络地址转换,即NAT将注册报文中的私有IP地址和UDP端口转换为公有IP地址和公有UDP端口,将后续的管理报文发送到该公有IP地址和UDP端口号;
S30、网络管理***中设有一个SNMP信息容器,包括用于存储SNMP代理的唯一物理MAC地址、SNMP代理的私有IP地址、SNMP代理经过NAT转换后的公有IP地址和SNMP代理经过NAT转换后公有UDP端口号的映射表,在收到经过NAT转换后的注册报文后,从中提取唯一的物理MAC地址,在SNMP信息容器内已有的信息中查找是否有该物理MAC地址,如果有,则将注册消息报文中的代理私有IP地址、经过NAT转换后的公有IP地址和公有UDP端口号信息更新到容器中相应位置;如果没有查找到对应的物理MAC地址条目信息,则在SNMP信息容器中新建一个条目,然后将物理MAC地址、代理的私有IP地址、经过NAT转换后的公有IP地址和公有UDP端口号写入SNMP信息容器;
S40、网络管理***根据SNMP发送的注册报文的内容,实时的更新SNMP信息容器中的相应内容。
S50、当用户在网络管理***中选择一个网络单元进行操作时,网络管理***根据该网络单元MAC地址在SNMP信息容器内查找其SNMP代理的私有IP地址、转换后的公有IP地址和公有UDP端口,执行步骤S60;如果SNMP信息容器内不存在满足要求的相应信息时,向操作用户返回报错信息;
S60、网络管理***构造SNMP请求信息,发送给转换后的公有IP地址和公有UDP端口,到达NAT单元后,NAT把其公有IP地址和公有UDP端口再转换为SNMP代理的实际私有IP和UDP端口,到达SNMP代理;
S70、SNMP代理收到请求报文后,经过处理后返回SNMP响应报文,经过NAT的再次转换后到达网络管理***,网络管理***把响应报文的内容通过界面展现给用户,完成管理操作。
本发明,通过NMS中设置SNMP信息容器建立包含网络单元中全球唯一的MAC地址进行网络识别与管理,有效解决了具有公有IP地址的网络管理***对于具有私有IP地址的SNMP代理的有提高了SNMP报文的利用率,减少了重复信息在管理平台与设备的通信次数,同时可以降低网络延时对管理***速度的影响。
附图说明
图1为现有网络管理***示意图;
图2为本发明SNMP穿越NAT的网络管理***的结构示意图;
图3为本发明SNMP穿越NAT的网络管理***实现方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图2为本发明SNMP穿越NAT的网络管理***的结构示意图,如图2所示,本发明包括若干被管理的设备、若干网络地址转换单元和网络管理***NMS。所述被管理的设备,即网络单元,可以为路由器、访问服务器,交换机、网桥、HUBS、主机或打印机,该网络单元中设有一SNMP代理和一定时器,所述SNMP代理建立该网络单元的管理信息库MIB并根据定时器的指令每隔特定的时间发出一次注册报文;所述网络地址转换单元接收与之连接的网络单元发出的注册报文,将该注册报文中的私有IP转换为其自身的公有IP和公有端口号后转发;所述网络管理***NMS上设有一个SNMP信息容器和一个轮询***,该SNMP信息容器包括用于存储SNMP代理的唯一物理MAC地址、SNMP代理的私有IP地址、SNMP代理经过NAT转换后的公有IP地址和SNMP代理经过NAT转换后公有UDP端口号的映射表,在轮询***的指令下NMS接收与之连接的网络地址转换单元转发的包含该网络地址转换单元自身公有IP和公有端口号的注册报文。
本发明在NMS中设置了一个SNMP信息容器,SNMP信息容器包括一个存储SNMP代理返回信息的映射表和一个轮询***。SNMP信息容器根据NMS的需要来决定读取设备实时信息还是读取SNMP信息容器内保存的相应信息;而轮询***则是对SNMP信息容器中的内容进行定时清理,删除掉超时的信息并释放资源。
图3为本发明SNMP穿越NAT的网络管理***实现方法流程图,如图3所示,该方法的技术方案包括以下步骤:
S10、在网络单元中的SNMP代理上建立该网络单元的管理信息库MIB,配置与之相连的NAT单元的公有IP,作为定时注册报文的目的IP,同时启动一个定时器,定时发送注册报文给NAT单元,注册报文至少包括SNMP代理的私有IP地址,唯一的MAC地址,***当前时间和设备类型信息;定时器每隔特定的时间段执行一次向网络管理***对应的公有IP地址和端口发送注册消息,定时发送的目的有两个:一让位于SNMP代理和网络管理***之间的、进行网络地址转换NAT单元对于NAT转换条目保活不老化;二是当SNMP代理的私有IP地址发生变化时,能够及时的通告给网络管理***;
S20、注册报文由NAT单元完成网络地址转换,即NAT将注册报文中的私有IP地址和UDP端口转换为公有IP地址和公有UDP端口,将后续的管理报文发送到该公有IP地址和UDP端口号;
S30、网络管理***中设有一个SNMP信息容器,包括用于存储SNMP代理的唯一物理MAC地址、SNMP代理的私有IP地址、SNMP代理经过NAT转换后的公有IP地址和SNMP代理经过NAT转换后公有UDP端口号的映射表,在收到经过NAT转换后的注册报文后,从中提取唯一的物理MAC地址,在SNMP信息容器内已有的信息中查找是否有该物理MAC地址,如果有,则将注册消息报文中的代理私有IP地址、经过NAT转换后的公有IP地址和公有UDP端口号信息更新到容器中相应位置;如果没有查找到对应的物理MAC地址条目信息,则在SNMP信息容器中新建一个条目,然后将物理MAC地址、代理的私有IP地址、经过NAT转换后的公有IP地址和公有UDP端口号写入SNMP信息容器;
S40、网络管理***根据SNMP发送的注册报文的内容,实时的更新SNMP信息容器中的相应内容。
S50、当用户在网络管理***中选择一个网络单元进行操作时,网络管理***根据该网络单元MAC地址在SNMP信息容器内查找其SNMP代理的私有IP地址、转换后的公有IP地址和公有UDP端口,执行步骤S60;如果SNMP信息容器内不存在满足要求的相应信息时,向操作用户返回报错信息;
S60、网络管理***构造SNMP请求信息,发送给转换后的公有IP地址和公有UDP端口,到达NAT单元后,NAT把其公有IP地址和公有UDP端口再转换为SNMP代理的实际私有IP和UDP端口,到达SNMP代理;
S70、SNMP代理收到请求报文后,经过处理后返回SNMP响应报文,经过NAT的再次转换后到达网络管理***,网络管理***把响应报文的内容通过界面展现给用户,完成管理操作。
图3中虽然仅示例了一个网络单元和一个NAT单元,但本发明完全可以应用于多个网络单元和多个NAT单元,每一个网络单中的MIB中都存放该网络单元的MAC地址和私有IP,经NAT转换后分别映射到NMS中信息容器映射表中,从而实现多个网络单元的管理。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。