2.3基于Java的三层体系结构
作为一种计算机语言,Java是相当优秀的。它具有面向对象、与操作平台无关、可移植性、安全性和稳定性高等特点。同时,作为一种面向网络编程的语言,Java又具有简洁、多线程执行等特点。它与Internet紧密结合,克服了原来CGI编程中存在的效率低下,实时性不高、系统资源占用率高等特点。
在T比特路由器项目中,利用Java及相关技术,通过需求以及对网络管理模型的层层抽象,可以建立三层网络管理体系结构框架,具体说这三层分别是:客户表示层、中间服务提供层以及后端的数据永久存储层。其中客户表示层是基于HTML的;中间服务提供层又可分为两层,一是前端服务器,另一个是后端服务器。其中前端服务器主要负责客户与后端服务器的交互,而后端服务器主要负责对被管设备的轮询、状态监控、数据采集以及与数据库的数据交换等功能。
这种三层体系结构层次分明,集开放性、高效性、可扩展性以及网络安全性于一体,并且有利于各功能模块并行研制及分工协作。T比特路由器网管软件体系结构如图2所示。
3. 体系结构中功能实体
3.1被管实体
被管实体是整个被管理网络中所有被管设备的集合,包括T比特路由器中的主控板、转发板等,其中每个被管设备均是一个SNMP节点,均符合SNMP协议,每个设备中都运行着SNMP代理,这一代理主要实现对该设备MIB信息的维护。它可以通过SNMP、RMI、CORBA等协议与位于中间服务器层中的后端服务器进行通信,SNMP代理还可以主动的向后端服务器发送trap报文,同时后端服务器向它进行主动轮询。
3.2数据存储层
数据存储层是通过关系数据库对网管信息进行存储的介质。它主要负责对永久数据的存储,这些数据包括设备的基本数据、性能数据、策略数据等。这些数据是由位于中间层的后端服务器经过与被管设备通信得到并存储到数据库中的。这些数据可能来自于后端服务器对被管设备的主动轮询,还可能来自被管设备向后端服务器发出的trap。客户表示层可以根据需要,通过前端服务器——后端服务器——数据库来实现对永久数据存储的写操作。而对于客户端仅仅是需要查询所关心的数据时,它可以直接通过前端服务器来对数据库进行查询操作。数据存储层与后端服务器间是通过标准的JDBC进行通信,使数据存储层不依赖于具体的RDBMS,这样就保证了数据存储层的可扩充性以及与存储介质的无关性。存储层中存储着整个网络管理中的所有信息,通过对这些信息的各种操纵实现网络管理功能。
3.3中间服务提供层
中间服务器层包括两个服务器,一个是前端服务器,另一个是后端服务器。更确切地说,每一个服务器都是一些功能服务器的集合。这些服务器是整个T比特路由器体系结构的核心部分,它们负责数据的采集、数据的维护以及用户的授权、认证等安全方面的任务。下面对这些服务器进行详细地介绍。
3.3.1后端服务器
后端服务器执行服务器端的核心网络管理任务,主要任务是完成故障管理、性能管理、安全管理、配置管理等。通过这些功能来对被管设备的信息进行维护,接收并实现trap处理、事件处理、告警处理、数据采集、状态轮询等。这一层是整个T比特路由器网络管理中的核心层,只有通过这一层才能采集并存储网络管理信息到数据库中。后端服务器负责维护与更新存储在数据库中的基于网络事件、状态轮询、管理员操作等的信息模型。
后端服务器可以通过配置文件实现定制,并能够实现扩充。当前端与后端服务器运行在同一个JVM(Java Virtual Machine)上时,后端服务器可以通过Java API的Socket来实现;当前端与后端服务器运行在分布式环境中,后端服务可以通过RMI来实现。后端服务器支持SNMP、CORBA等各种协议。
图2 T比特路由器网管软件体系结构图