计算机工程
Computer Engineering
1999年　第25卷　第9期　Vol.25 No.9  1999



基于Web的网络管理技术研究的设计
吴　刚　白英彩
　　摘　要：首先讨论了WBM的管理特点和目前的两种工业管理标准：WBEM和JMAPI，然后提出了一种基于WBEM的网络管理系统设计实现方案(WebNMS)，重点阐述WebNMS实现的体系结构和系统设计实现中的一些关键要点．WebNMS提高了网络管理的效率，为复杂Intranet的网络管理提供了更多的便利和更大的灵活性．
　　关键词：网络管理系统；WBM；WBEM；JMAPI；Java语言
Research and Design of Web-based Network Management System
Wu Gang Bai Yingcai
(Golden Bridge Network Engineering Center, Shanghai Jiaotong University, Shanghai 200030)
　　Abstract　This paper firstly discussed the management features of WBM and two primary industry management standards: WBEM and JMAPI. Then a design scheme based on WBEM standard to implement the Web-based Network Management System (WebNMS) is presented in detail. Emphasis lies on WebNMS system architecture and several key points in the process of the system implementation. Definitely, WebNMS has greatly promoted the management efficiency and provided more convinience to flexible management of complex network systems.
　　Key words　Network management system; WBM; WBEM; JMAPI; Java programming
　　国外网管产品具有较强的性能，其价格也相当高，一般通常为几万美元。这样的价格对国内的一般中小企业是相当难于承受的。针对这一特点，我们开发了GoldView中文网络管理系统。该系统是一套面向中小型企业的基于PC Windows平台的网络管理系统，能够管理具有200个主机节点的企业网络，其设计基于Internet TCP/IP协议的SNMP标准，实现了ISO 7498所规定的网络管理主要的5大管理功能域。和国外庞大功能、具有强大管理能力的同类网络和系统管理产品相比，GoldView系统适合于国情，是一套性能价格比高、优惠实用的企业网管系统。
　　GoldView NMS也是不断完善和发展的。其中，基于Web的网络管理模式WBM是网络管理系统目前发展的主流方向之一，而且，它也同目前Intranet发展方向相一致，是企业网管理发展的必由模式，具有广泛的市场需求和前景，应当大力发展。
1 基于Web/Java的网络管理模式WBM的特点 
　　Intranet企业网具有复杂的异构分布式特性，这大大增加了网络管理的工作量，给网络管理员真正管理好Intranet带来了很大的困难。传统的网络管理方式已经不适应当前网络发展的趋势，不能够实现对这种复杂的企业网实现高效和灵活的管理。
　　作为一种全新的网络管理模式，基于Web的网络管理模式WBM可以允许网络管理员使用任何一种Web浏览器，在网络任何节点上方便迅速地配置、控制以及存取网络和它的任何组成部分。WBM从出现伊始就表现出强大的生命力，以其特有的灵活性、易操作性等特点赢得了许多技术专家和用户的青睐。
　　其特点可归结为：(1) WBM融合了Web功能与网管技术，为网络管理员提供了比传统工具更强大的能力。 应用WBM，管理员能够通过任何Web浏览器、在任何站点均可以监测和控制公司网络，不再只拘泥于网管工作站，并且由此能够解决很多由于多平台结构产生的网络互操作性问题；(2) WBM提供了比传统的命令驱动的远程登录屏幕更直接、更易用、更为用户所熟悉和操作的Web图形界面，这样既降低了MIS培训的费用，又促进了更多的用户去利用网络运行状态信息；(3) WBM是一种发布网络操作信息的理想方法。可以通过浏览器连接到一个专门的Intranet Web站点上，使得用户能够访问网络和服务的更新，避免了用户与网管组织部门的直接联系；(4) WBM的实现仅需要基于Web 的服务器， 所以便于快速而简便地集成到Intranet企业网。
2　WBM网络管理工业标准WBEM和JMAPI
　　目前基于Web的网络管理模式有两种实现方式：
　　一种是每个管理设备上有一个小型的Web 服务器，浏览器既可以直接查询该服务器，也可以发送/接收SNMP方式的请求/响应。
　　另一种方法是为浏览器开发应用程序接口作为中介，该程序接口可以将访问请求转换为管理设备可以理解的指令，从而不必为每个管理设备增加支持HTTP的能力，避免了复杂化和可能的安全问题。这样的接口可以用几种方法实现：(1) Web连接数据库方式，所有来自管理设备的数据都保存在数据库中；(2) 构造CGI script与设备通信，然后将信息返给Web 服务器，可以通过Java和ActiveX applet来完成同样的任务。
　　上述两种实现方式区别在于这些方法的执行地点和对浏览器能力的要求。WBEM(Web-Based Enterprise Management)主要是基于第一种方式，即扩充修改浏览器，而JMAPI(Java Management API)则主要是构造浏览器应用程序接口。
2.1 JMAPI
　　为了能够利用功能强大的Java计算环境解决系统管理的问题，SUN公司扩充了Java基础类库，开发了专用的管理类库JMAPI。JMAPI是一种应用编程接口，是可扩充对象和方法的集合体，可以用于跨越一系列不同的异构操作系统平台、系统体系结构和网络传输协议，便捷灵活地开发无缝集成的系统、网络和服务管理应用。JMAPI侧重于解决分布式系统管理，因此根据不同的环境进行伸缩是关键所在。这通过两种方式来实现，首先是使设备可以管理的程序部件比较小，执行管理操作的代理对象可以安全地下载和执行，从而减少了管理操作的散发和版本控制问题，也方便了修改和扩充。其次，Java虚拟机驻留在要管理的关键平台上。
　　管理对象是JMAPI 应用程序开发的核心。管理对象代表一个系统或网络实体或者一个器件，如一个网络节点、计算机系统或用户帐号，进而组成了一个管理域。
　　JMAPI结构包括：支持Java的Web浏览器、管理对象服务器和器件。支持Java的Web浏览器让管理者发出管理操作，这些操作可以从浏览器上交互地进行，也可以由标准的应用程序(可以是图形或者命令行的用户界面)调用。管理对象服务器为应用程序提供了管理对象的实例，包括管理对象工厂、数据库和HTTP服务器。器件则是被管理的资源，从大型服务器到单个网络部件，Java终端和DNS服务器都可视为一个器件。虽然这些设备执行本质上不同的功能，但都可以通过管理对象服务器进行管理。每个器件都必须安装JMAPI代理软件。JMAPI总策略是通过动态下载代理将管理推给管理设备。
　　JMAPI是一个完整的网络管理应用程序开发环境，主要提供了：厂商需要收集的完整的特性清单，可生成资源清单表格、图形化的用户接口；访问SNMP的网络API；主机间远程过程调用；数据库访问方法。在理论上，JMAPI的应用程序在整个Web上将以同样的界面和功能灵活地实现互操作。它注重于构造管理工具的软件框架，并尽量采用已成熟的技术，如提供了使用SNMP协议的接口，并充分利用了业已广泛接受的Java语言本身所具有的优良特性，如RMI和安全机制。
2.2 WBEM
　　WBEM标准于1996年7月推出。WBEM是Microsoft最先提出的，包括3Com, Cisco, Intel, Compaq在内的60多个供应商都支持此项标准，它的目的是建立一个工业标准，使管理者可以使用任一个浏览器管理分布的网络、系统和应用。WBEM的核心是超媒体管理框架(HMMA, the HyperMedia Management Architecture)，由协议、管理机制和对象管理者三者组成。虽然它是寻求解决当前一些管理应用的失败之处，它还是"兼容和扩展"了当前的标准，如SNMP、CMIP 和DMI，因而可以集成不同管理平台提供的管理服务。它试图利用WEB技术在不影响网络基本结构的前提下实现网络和系统综合管理。
　　WBEM的设计目标是：(1) 提供的新框架可以覆盖传统的管理：配置、故障、计费、性能、安全管理以及操作管理和规划；(2) 建立在Internet传输、安全和配置的标准之上；(3) 为系统、网络和应用提供统一的建摸和管理数据模型；(4) 根据管理元素集合的数目巨大和分布式的特性，提供一种可伸缩的解决方案。
　　该规范采用HTML和其它Internet数据格式来表示管理信息，并使用HTTP协议。
　　此项标准是面向对象的， 它能够将从网络设备、系统平台和网络应用程序等多种系统资源、以多种网络管理协议(SNMP, CMIP, DMI)获得的管理数据抽象化，加强了系统管理的能力并且使管理信息以单一的协议形式出现。WBEM被认为是"兼容和扩展"了当前的管理标准SNMP、DMI和CMIP，而并不是取而代之。WBEM实际上更强调"公司管理"胜于"基于Web"，虽然WBEM以Web工具的形式出现，但其真正目标是强化对于网络元素和系统的管理，包括网络设备、服务器、桌面和应用程序。WBEM的关键是一个新的超媒体管理协议HMMP，这个传输协议处理包括重发功能、分组速率、传送证实以及允许一个消息拆成一个或几个分组等功能。
　　1998年6月，DMTF开始接手WBEM进一步标准化的工作，从而增加了可互操作管理技术的支持力量。DMTF在WBEM的基础上，提出了CIM(Common Information Model)，试图融合不同标准下的工具，或至少使它们能够互操作，从而建立跨越系统、网络、应用乃至Internet的综合管理。CIM计划兼容于WBEM、JMAPI和IBM/Tivoli的AMS。CIM以HMMS为起点，定义了一个信息模型的规则和分类标准，用以描述和共享企业范围内的管理信息。它设计成能够在各种面向对象的执行模型如CORBA和COM以及面向对象的管理技术如JMAPI下实现。CIM想利用面向对象的管理技术并相信新的模型会因DMI和其它数据提供者如SNMP、CMIP的广泛应用而得到普及。DMTF还将进一步把广域网、目录式网络DEN、服务管理、软件许可、软件检测都纳入CIM体系。 
3 Web管理模式系统的研究工作
　　基于Web网络管理系统WebNMS以已经研制完成的SNMP网络管理系统GoldView NMS系统为基础，设计目的是为了实现以Web方式方便和灵活地实施对企业网络计算环境的管理。系统以WBEM作为研究目标，采用了实现WBM Server代理的解决方案。将一个基于Web的服务器加载到管理工作站(代理服务器)上，网络用户使用Web的超文本传输协议HTTP，通过Web浏览器和代理工作站通信，而管理工作站则仍然使用SNMP协议和终端网络设备通信。这种代理解决方案继承了传统的基于工作站的管理系统的优点，代理服务器和所有的网络终端设备通信仍然通过SNMP协议，因而这种方法完全可以实现与只支持SNMP协议的设备无缝集成协同工作。
3.1 WebNMS系统实现的体系结构
　　图1为WebNMS管理系统的体系结构图。从中可以看出，具有Java功能的Web浏览器、WBM管理服务器和被管理网络资源的管理协议代理Agent 3部分构成了整个网络管理系统。Java使能的Web浏览器为网络和系统管理员执行各种管理任务提供了灵活、一致的操作用户接口，被管理的网络设备和资源中安装有相应的管理代理SNMP Agent，通过代理与Web管理服务器交换管理信息。




图1　基于Web的网络管理系统WebNMS体系结构模型
　　WBM管理服务器是整个系统的管理核心，实施具体的浏览、查询、监控和配置等管理任务。它由4部分组成：(1)Web Server负责同Web浏览器通信，接收和响应浏览器的请求，并且与管理服务集模块所提供的各种服务交互，是实现Web交互方式的基础；(2)管理服务集提供对网络和系统进行全面和有效管理的各种服务，如网络拓扑图的自动发现和图形显示、网络配置、系统性能、故障检测和恢复、安全措施、系统端口和帐户计费等传统的网络管理功能，还可为管理用户提供多种高效的管理工具，为在此基础上集成更多的其它系统服务提供开发的接口；(3)管理信息库集中存储从网络代理所收集到的网络设备管理参数信息，如路由器的路由表、端口数据流量和数据报文的丢失率等信息，这些是实施管理措施的依据，它以层次的树图来组织，查询的效率对系统的性能有很大的影响；(4)管理通信协议SNMP gateway接口完成HTTP方式的管理服务原语同SNMP原语间的信息转换，以SNMP协议方式实现与各个SNMP Agent的网络通信，收集被管理网络设备的管理服务信息。
3.2 WebNMS系统实现的一些要点说明
　　(1)采用Java作为开发语言
　　Java是一种解释性程序语言，具有小型化、解释执行、高性能、实现简便、多线程、同步技术、垃圾收集和面向对象等优良特点，并且，将网络安全性能在技术设计中得到实现，安全特征是Java语言和其运行环境所特有的属性。
　　Java具有固有的Web能力，完备独立的Java applets能够被传送到浏览器并且在浏览器所在的本地机上运行。Java applets具有浏览器强制安全机制，可以阻止其访问本地系统资源并且对网络资源的访问也进行限制，对于WBM管理动态数据是一种行之有效的技术。与静态链接的HTML不同，Java能够用于处理各种任务，诸如显示网络运行画面，打印复杂图片等，并且能实时表示从轮询和陷阱得到的更新管理信息，添加动态图象。
　　(2)Web服务器同管理服务的通信方式：Java Servlet
　　CGI定义了Web服务器同外部程序交互的标准与规范，CGI程序通常用解释性语言，如UNIX shell scripts 或 PERL，也可用编译性的语言如C编写。而服务器小件Java servlet是Web服务器调入和激活的Java类，处在服务器端，与浏览器端的应用小件相似，它使得Web服务器具有信息交换的功能，又不损失速度与可靠性。
　　Java Servlets和CGI程序都用于服务器的功能。但是同CGI相比，Java Servlet性能更好，功能更强。Servlet可以同服务器运行于同一进程，一旦servlet装载入服务器，就一直保持。因此，仅被调用一次，而不是在每次请求时都要调用，从而消除了不必要的响应客户请求的启动、初始化时间，大大改善了服务器的执行性能。并且，大多数具备Java Servlets的服务器都允许服务器小件运行在一个黑匣中，与其它服务器相隔离，从而提高了稳定性、安全性和透明性。
　　因此，WebNMS系统中Web服务器和管理服务集之间的信息通信采用了Java Servlets来高效实现。
4　总结
　　Web网络管理模式WBM的研究工作倍受注目，从诞生之日就成为研究者关注的焦点，它为企业Intranet复杂网络环境的管理注入了更多更大的活力，提供了更方便的网络管理机制。本文所提出的Web网络管理系统WebNMS建立在我们已经研制完成的SNMP网络管理系统GoldView NMS的基础上，是基于WBM工业管理标准WBEM的新型网管系统。WebNMS网管系统为网络管理员实现对大型复杂Intranet企业网的管理提供了便捷、灵活和强大的集成管理工具。
作者简介：吴　刚(1972～)，男，博士生，从事分布式智能Web网络系统管理的研究
作者单位：上海交通大学金桥网络工程中心，上海　200030
参考文献
1 吴刚，田小鹏. Unicenter TNG & Tivoli TME技术报告(修订稿). 内部技术文献， 1998-07
2 吴刚, 白英彩. GoldView网络管理系统的研究和开发. 1998-10
3 Hong J W K,Kong J Y,Yun T H,et al.Web-based Intranet Services and Network Management. IEEE Communication Magazine,1997, 35(10)：100-110
收稿日期：1998-12-08
