本站小编为你精心准备了电信管理网开发参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
一、网络管理技术概述
网络管理已经成为计算机网络和电信网研究中最重要的内容之一。网络中采用的先进技术越多,规模越大,网络的维护和管理工作也就越复杂。计算机网络和电信网的管理技术是分别形成的,但到后来渐趋同化,差不多具有相同的管理功能和管理原理,只是在网络管理上的具体对象上有些差异。
通常,一个网络由许多不同厂家的产品构成,要有效地管理这样一个网络系统,就要求各个网络产品提供统一的管理接口,即遵循标准的网络管理协议。这样,一个厂家的网络管理产品就能方便地管理其他厂家的产品,不同厂家的网络管理产品之间还能交换管理信息。
在简单网络管理协议snmp(simplenetworkmanagementprotocol)设计时,就定位在是一种易于实施的基本网络管理工具。在网管领域中,它扮演了先锋的角色,因osi的cmip发展缓慢同时在internet的迅猛发展和多厂商环境下的网络管理解决方案的驱动下,而很快成为了事实上的标准。
snmp的管理结构如图1所示。它的核心思想是在每个网络节点上存放一个管理信息库mib(managementinformationbase),由节点上60(agent)负责维护,管理者通过应用层协议对这些进行轮询进而对管理信息库进行管理。snmp最大的特点就是其简单性。它的设计原则是尽量减少网络管理所带来的对系统资源的需求,尽量减少agent的复杂性。它的整个管理策略和体系结构的设计都体现了这一原则。
snmp的主要优点是:
·易于实施;
·成熟的标准;
·c/s模式对资源要求较低;
·广泛适用,代价低廉。
简单性是snmp标准取得成功的主要原因。因为在大型的、多厂商产品构成的复杂网络中,管理协议的明晰是至关重要的;但同时这又是snmp的缺陷所在——为了使协议简单易行,snmp简化了不少功能,如:
·没有提供成批存取机制,对大块数据进行存取效率很低;
·没有提供足够的安全机制,安全性很差;
·只在tcp/ip协议上运行,不支持别的网络协议;
·没有提供管理者与管理者之间通信的机制,只适合集中式管理,而不利于进行分布式管理;
·只适于监测网络设备,不适于监测网络本身。
针对这些问题,对它的改进工作一直在进行。如1991年11月,推出了rmon(rernotenetworkmonitor)mib,加强snmp对网络本身的管理能力。它使得snmp不仅可管理网络设备,还能监测局域网和互联网上的数据流量等信息,1992年7月,针对snmp缺乏安全性的弱点,又公布了s-snmp(securesnmp)草案。到1993年初,又推出了snmpversion2即snmpv2(推出了snmpv2以后,snmp就被称为snmpv1)。snm-pv2包容了以前对snmp的各项改进工作,并在保持了snmp清晰性和易于实现的特点以外,吸取了cmip的部分优点,功能更强,安全性更好,具体表现为:
·提供了验证机制,加密机制,时间同步机制等,安全性大大提高;
·提供了一次取回大量数据的能力,效率大大提高;
·增加了管理者和管理者之间的信息交换机制,从而支持分布式管理结构,由位于中间层次(intermediate)的管理者来分担主管理者的任务,增加了远地站点的局部自主性。
·可在多种网络协议上运行,如osi、appletalk和ipx等,适用多协议网络环境(但它的缺省网络协议仍是udp)。
·扩展了管理信息结构的很多方面。特别是对象类型的定义引入了几种新的类型。另外还规范了一种新的约定用来创建和删除管理表(managementbrs)中的“行”(rows)。
·定义了两种新的协议数据单元pdu(protocoldataunit)。get-bulk-request协议数据单元允许检索大数据块(largedatablocks),不必象snmp那样逐项(itembyitem)检索;inform-request协议数据单元允许在管理者之间交换陷阱(tran)信息。
cmip协议是在osi制订的网络管理框架中提出的网络管理协议。cmip与snmp一样,也是由管理者、、管理协议与管理信息库组成。
cmip是基于面向对象的管理模型的。这个管理模型表示了封装的资源并标准化了它们所提供的接口。如图2所示了四个主要的元素:
·系统管理应用进程是在担负管理功能的设备(服务器或路由器等〕中运行的软件:
·管理信息库mib是一组从各个接点收集来的与网络管理有关的数据;
·系统管理应用实体(systemmanagementapplicationentities)负责网络管理工作站间的管理信息的交换,以及与网络中其它接点之间的信息交换;
·层管理实体(layermanagemententities)表示在osi体系结构设计中必要的逻辑。
cmip模型也是基于c/s结构的。客户端是管理系统,也称管理者,发起操作并接收通知;服务器是被管系统,也称,接收管理指令,执行命令并上报事件通知。一个cmip操作台(console)可以和一个设备建立一个会话,并用一个命令就可以下载许多不同的信息。例如,可以得到一个设备在一段特定时间内所有差错统计信息。
cmip采用基于事件而不是基于轮询的方法来获得网络组件的相关数据。
cmip已经得到主要厂商,包括ibm、hp及at&t的支持。用户和厂商已经认识到cmip在企业级网络管理领域是一个比较好的选择。它能够满足企业级网管对横跨多个管理域的对等相互作用(peertopeerinteractions)的要求。cmip特别适合对要求提供集中式管理的树状系统,尤其是对电信网(telecommunicationsnetwork)的管理。这就是下面提到的电信管理网。
二、电信管理网tmn
电信管理网tmn是国际电联itu-t借鉴0si中有关系统管理的思想及技术,为管理电信业务而定义的结构化网络体系结构,tmn基于osi系统管理(itu-ux.700/iso7498-4)的概念,并在电信领域的应用中有所发展.它使得网络管理系统与电信网在标准的体系结构下,按照标准的接口和标准的信息格式交换管理信息,从而实现网络管理功能。tmn的基本原理之一就是使管理功能与电信功能分离。网络管理者可以从有限的几个管理节点管理电信网络中分布的电信设备。
国际电信联盟(itu)在m.3010建议中指出,电信管理网的基本概念是提供一个有组织的网络结构,以取得各种类型的操作系统(oss)之间、操作系统与电信设备之间的互连。它采用商定的具有标准协议和信息的接口进行管理信息交换的体系结构。提出tmn体系结构的目的是支撑电信网和电信业务的规划、配置、安装、操作及组织。
电信管理网tmn的目的是提供一组标准接口,使得对网络的操作、管理和维护及对网络单元的管理变得容易实现,所以,tmn的提出很大程度上是为了满足网管各部分之间的互连性的要求。集中式的管理和分布式的处理是tmn的突出特点。
itu-t从三个方面定义了tmn的体系结构(architecture),即功能体系结构(functionalarchitecture),信息体系结构(informationarchitecture)和物理体系结构(physicalarchitecture)。它们分别体现在管理功能块的划分、信息交互的方式和网管的物理实现。我们按tmn的标准从这三个方面出发,对tmn系统的结构进行设计。
功能体系结构是从逻辑上描述tmn内部的功能分布。引入了一组标准的功能块(functionalblock)和可能发生信息交换的参考点(referencepoints)。整个tmn系统即是各种功能块的组合。
信息体系结构包括两个方面:管理信息模型和管理信息交换。管理信息模型是对网络资源及其所支持的管理活动的抽象表示,网络管理功能即是在信息模型的基础上实现的。管理信息交换主要涉及到tmn的数据通信功能和消息传递功能,即各物理实体和功能实体之间的通信。
物理体系结构是为实现tmn的功能所需的各种物理实体的组织结构。tmn功能的实现依赖于具体的物理体系结构,从功能体系结构到物理体系结构存在着映射关系。物理体系结构随具体情况的不同而千差万别。在物理体系结构和功能体系结构之间有一定的映射关系。物理体系结构中的一个物理块实现了功能体系结构中的一个或多个功能块,一个接口实现了功能体系结构中的一组参考点。
仿照osi网络分层模型,itu-t进一步在tmn中引入了逻辑分层。如图3所示:
tmn的逻辑分层是将管理功能针对不同的管理对象映射到事务管理层bml(businessmanagementlayer),业务管理层sml(servicemanagementlayer),网络管理层nml(networkmanagementlayer)和网元管理层eml(elementmanagementlayer)。再加上物理存在的网元层nel(networkelementlayer),就构成了tmn的逻辑分层体系结构。从图2-6可以看到,tmn定义的五大管理功能在每一层上都存在,但各层的侧重点不同。这与各层定义的管理范围和对象有关。
三、tmn开发平台和开发工具
1.利用tmn的开发工具开发tmn的必要性
tmn的信息体系结构应用osi系统管理的原则,引入了管理者和的概念,强调在面向事物处理的信息交换中采用面向对象的技术。如前所述,tmn是高度强调标准化的网络,故基于tmn标准的产品开发,其标准规范要求严格复杂,使得tmn的实施成为一项具有难度和挑战性的工作;再加上osi系统管理专业人员的相对缺乏,因此,工具的引入有助于简化tmn的开发,提高开发效率。目前比较流行的基于tmn标准的开发平台有hpovdm、sunsem、ibmtmn平台和dset的dsg及其系列工具。这些平台可以用于开发全方位的tmn管理者和应用,大大降低tmn/q3应用系统的编程复杂性,并且使之符合开放系统互连(osi)网络管理标准,这些标准包括高级信息模型定义语言gdm0,osi标准信息传输协议cmip,以及抽象数据类型定义语言asn.1。其中dset的dsg及工具系列除了具备以上功能外,还具有独立于硬件平台的优点。下面将比较详细论述dset的tmn开发工具及其在tmn开发中的作用。
2.dset的tmn开发工具的基本组成
dset的tmn开发工具从功能上来讲可以构成一个平台和两大工具箱。一个平台:分布式系统生成器dsg(distributedsystemgenerator);两个工具箱:管理者工具箱和工具箱。
分布式系统生成器dsg
dsg是用于顶层tcp/ip、osi和其它协议上构筑分布式并发系统的高级对象请求0rb。dsg将复杂的通信基础设施和面向对象技术相结合,提供构筑分布式计算的软件平台。通信基础设施支持分布式计算中通信域的通信要求。如图4所示,它提供了四种主要的服务:透明远程操作、远程过程调用和消息传递、抽象数据服务及命名服务。借助于并发的面向对象框架,一个复杂的应用可以分解成一组相互通信的并发对象worker,除了支持例如类和多重继承等重要的传统面向对象特征外,为了构筑新的worker类,dsg也支持分布式对象。在一个开放系统中,一个worker可以和其它worker进行通信,而不必去关心它们所处的物理位置。
dsg提供给用户用以开发应用的构造块(buildingblock)称为worker。一个worker可以有自己的控制线程,也可以和别的线程共享一个控制线程,每个worker都有自己的服务访问点sap(serviceaccesspoint),通过sap与其它worker通信。worker是事件驱动的。在worker内部,由有限状态机fsm(finitestatemachine〕定义各种动作及处理例程,dsg接受外部事件并分发到相应的动作处理例程进行处理。如图5所示,独占线程的此worker有三个状态,两个saps,并且每个sap的消息队列中都有两个事件。dsg环境通过将这些事件送到相应的事件处理程序中来驱动worker的有限状态机。
worker是分布式的并发对象,dsg用它来支持面向对象的特点,如:类,继承等等。worker由workerclass定义。worker可以根据需要由应用程序动态创建。在一个unix进程中可以创建的worker个数仅受内存的限制。
管理者工具箱由asn.c/c++编译器、cmip/rose协议和管理者代码生成器mcg构成,如图6所示。
其中的cmip/rose协议提供全套符合q3接口选用的osi七层协议栈实施。由于tmn在典型的电信环境中以面向对象的信息模型控制和管理物理资源,所有被管理的资源均被抽象为被管对象(m0),被管理系统中的帮助管理者通过mo访问被管理资源,又根据itu-tm.3010建议:管理者与之间通过q3接口通信。为此管理者必须产生与通信的cmip请求。管理者代码生成器读取信息模型(gdmo文件和asn.1文件),创立代码模板来为每个被定义的mo类产生cmip请求和cmip响应。由于所有cmip数据均由asn.1符号定义,而上层管理应用可能采用c/c++,故管理者应用需要包含asn.1数据处理代码,管理者工具箱中的asnc/c++编译器提供asn.1数据到c/c++语言的映射,并采用“预处理技术“生成asn.1数据的低级代码,可见利用dset工具用户只需编写网管系统的信息模型和相关的抽象数据类型定义文件,然后利用dset的asnc/c++编译器,管理者代码生成器即可生成管理者部分代码框架。
工具箱包括可砚化生成器vab、cmip翻译器、asn.c/c++toolkit,其结构见图7。用来开发符合管理目标定义指南gdmo和通用管理信息协议cmip规定的应用.使用dset独具特色的工具箱的最大的好处就是更快、更容易地进行应用的开发。dset在应用的开发上为用户做了大量的工作。
一个典型的gdmo/cm1p应用包括三个代码模块:
·、mit、mib的实施
·被管理资源的接口代码
·后端被管理资源代码
第一个模块用于处理与mo实施。工具箱通过对过滤、特性处理、mo实例的通用支持,自动构作这一个模块。dset的这一部分做得相当完善,用户只需作少量工作即可完成本模块的创建。对于mcreate、m-delete、m-get、m-cancel-get、m-set、m-set-confirmed、m-action、m-action-confirmed这些cmip请求,第一个模块中包含有缺省的处理代码框架。这些缺省代码都假定管理者的cmip请求只与mo打交道。为了适应不同用户的需求,dset工具箱又提供在缺省处理前后调用用户程序的接入点(称为userhooks)。当某cmip请求需与实际被管资源或数据库打交道时,用户可在相应的pre-或post-函数中加入自己的处理代码。例如,当你需要在二层管理应用中发cmip请求,需望获取实际被管资源的某属性,而该属性又不在相应mo中时你只需在gdmo预定义模板中为此属性定义一pre-get函数,并在你自己的定制文件中为此函数编写从实际被管设备取到该属性值的代码即可。dset的agent代码在执行每个cmip请求前都要先检查用户是否在gdmo预定义文件中为此清求定义了pre-函数,若是,则光执行pre-函数,并根据返回值决定是否执行缺省处理(pre-函数返回d-ok则需执行缺省处理,否则agent向管理者返回正确或错误响应)。同样当agent执行完缺省处理函数时,也会检查用户是否为该请求定义了post-函数,若是则继续执行post-函数。至于agent与mo之间具体是如何实现通信的,用户不必关心,因为dset已为我们实现了。用户只需关心需要与设备交互的那一部分cmip请求,为其定制pre-/post函数即可。
第二个模块实现mo与实际被管资源的通信。它的实现依赖于分布式系统生成器dsg所提供“网关处理单元”(gateway)、远程过程调用(rpc)与消息传递机制及msl语言编译器。通信双方的接口定义由用户在简化的rose应用中定义,在dsg中也叫环境,该环境定义了双方的所有操作和相关参数。dsg的ctx编译器编译ctx格式的接口定义并生成接口表。dsg的msl语言编译器用以编译分布式对象类的定义并生成事件调度表。采用dsg的网关作为mo与实际被管资源间的通信桥梁,网关与mo之间通过定义接口定义文件及各自的msl文件即可实现通信,网关与被管设备之间采用设备所支持的通信协议来进行通信,例如采用tcp/ip协议及socket机制实现通信。
第三个模块对被管理资源进行实际处理。这一模块根据第二个模块中定义的网关与被管设备间的通信机制来实现,与工具没有多大联系。
四、tmn开发的关键技术
电信管理网技术蕴含了当今电信、计算机、网络通信和软件开发的最新技术,如osi开放系统互连技术、osi系统管理技术、计算机网络技术及分布式处理、面向对象的软件工程方法以及高速数据通信技术等。电信管理网应用系统的开发具有巨大的挑战性。
工具的引入很大程度上减轻了tmn的开发难度。留给开发人员的最艰巨工作就是接口(interface)的信息建模。尤其是q3接日的信息建模问题。
q3接口是tmn接口的“旗舰”,q3接口包括通信模型和信息模型两个部分,通信模型(0si系统管理)的规范制定的十分完善,并且工具在这方面所作的工作较多,因此,当我们设计和开发各种不同管理业务的tmn系统时,主要是采用一定的方法学,遵循一定的指导原则,针对不同电信领域的信息建模问题。
为什么说建模是tmn开发中的关键技术呢?从管理的角度而言,在那些先有国际标准(或事实上的标准),后有设备的情况下,是有可能存在一致性的信息模型的,例如目前sdh和七号信令网的tmn系统存在这样的信息模型标准。但即使这样,在这些tmn系统的实施过程,有可能由于管理需求的不同而对这些模型进行进一步的细化。在那些先有设备而后才有国际标准(或事实上的标准)的设备,而且有的电信设备就无标准而言,由于不同厂家的设备千差万别,这种一致性的信息模型的制定是非常困难的。
例如,近年来标准化组织国际电信联盟(itu-t)、欧洲电信标准组织(etsi)、网络管理论坛(nmf)和atm论坛等相继颁布了一些q3信息模型。但至今没有一个完整的稳定的交换机网元层的q3信息模型。交换机的q3信息模型提供了交换机网元的一个抽象的、一般的视图,它应当包含交换机的管理的各个方面。但这是不可能的。因为随着电信技术的不断发展,交换机技术也在不断的发展,交换机的类型不断增加,电信业务不断的引入。我们很难设计一个能够兼容未来交换机的信息模型。如今的交换机已不再是仅仅提供电话的窄带业务,而且也提供象isdn这样的宽带业务。交换机趋向宽带窄带一体化发展,因此交换机的q3信息模型是很复杂的,交换机q3信息建模任务是很艰巨的。
五、tmn管理者和的开发
下面结合我们的开发工作,探讨一下tmn管理者和的开发。
1.管理者的开发
基于osi管理框架的管理者的实施通常被认为是很困难的事,通常,管理者可以划分为三个部分。第一部分是位于人机之间的图形用户接口gui(graphicaluserinterfaces),接收操作人员的命令和输入并按照一种统一的格式传送到第二部分——管理功能。管理功能提供管理功能服务,例如故障管理,性能管理、配置管理、记费管理,安全管理及其它特定的管理功能。接收到来gui的操作命令,管理功能必须调用第三部分——cmsiapi来发送cmip请求到。cmisapi为管理者提供公共管理信息服务支持。
大多数的网管应用是基于unix平台的,如solaris,aixandhp-ux。若gui是用x-window来开发的,那么gui和管理功能之间的接口就不存在了,从实际编程的的角度看,gui和管理功能都在同一个进程中。
上面的管理者实施方案尽管有许多优点,但也存在着不足。首先是费用昂贵。所有的管理工作站都必须是x终端,服务器必须是小型机或大型机。这种方案比采用pc机作客户端加上unix服务器的方案要昂贵得多。其次,扩展性不是很好,不同的管理系统的范围是不同的,用户的要求也是不一样的,不是所有的用户都希望在x终端上来行使管理职责。因此,pc机和调终端都应该向用户提供。最后由于x-window的开发工具比在pc机上的开发工具要少得多。因此最终在我们的开发中,选择了pc机作为管理工作站,sunultral作为服务器。
在实际工作中我们将管理者划分为两个部分——管理应用(managementapplication)和管理者网关(managergateway)。如图8所示。
管理应用向用户提供图形用户接口gui并接受用户的命令和输入,按照定义好的消息格式送往管理者网关,由其封装成cmip请求,调用cmisapi发往。同时,管理者网关还要接收来自的响应消息和事件报告并按照一定的消息格式送往管理应用模块。
但是这种方案也有缺点。由于管理应用和管理者网关的分离,前者位于pc机上,后者位于ultral工作站上。它们之间的相互作用须通过网络通信来完成。它们之间的接口不再是一个参考点(referencepoint),而是一个物理上的接口,在电信管理网tmn中称为f接口。迄今为止itu-t一直没能制定出有关f接口的标准,这一部分工作留给了tmn的开发者。鉴于此,我们制定了管理应用和管理者网关之间通信的协议。
在开发中,我们选择了pc机作为管理工作站,sunultral作为我们的管理者网关。所有的管理应用都在pc机上。开发人员可以根据各自的喜好来选择不同开发工具,如java,vc++,vb,pb等。管理者网关执行部分的管理功能并调用cmisapi来发送cmip请求,接收来自的响应消息和事件报告并送往相应的管理应用。
管理者网关的数据结构是通过编译信息模型(gdmo文件和asn.1文件)获得的。它基于dsg环境的。管理者网关必须完成下列转换:
数据类型转换:gui中的数据类型与asn.1描述的数据类型之间的相互转换;
消息格式转换:gui和管理者网关之间的消息格式与cmip格式之间的相互转换;
协议转换:tcp/ip协议与osi协议之间的相互转换。
这意味着管理者网关接收来自管理应用的消息。将其转换为asn.1的数据格式,并构造出cmis的参数,调用cmisapi发送cmip请求。反过来,管理者收到来自的消息,解读cmis参数,构造消息格式,然后送往gui。gui和管理者网关之间的消息格式是由我们自己定义的。由于管理应用的复杂性,消息格式的制定参考了cmis的参数定义和asn.1的数据类型。
管理者网关是采用多线程(multi-thread)编程来实现的。
2.的开发
的结构如图9所示。
为了使部分的设计和实现模块化、系统化和简单化,将agent分成两大模块——通用模块和mo模块——进行设计和实现。如图所示,通用agent向下只与mo部分直接通信,而不能与被管资源mr直接进行通信及操作,即通用agent将manager发来的cmip请求解析后投递给相应的m0,并从mo接收相应的应答信息及其它的事件报告消息。
的作用是代表管理者管理mo。利用工具的支持,采用面向对象的技术,分为八个步骤进行agent的设计和实现,这八个步骤是:
第一步:对信息模型既gdmo文件和asn.1文件的理解,信息模型是tmn系统开发的基础和关键。特别是对信息模型中对象类和其中各种属性清晰的认识和理解,对于实际的tmn系统来说,其信息模型可能很复杂,其中对象类在数量上可能很多。也就是说,在设计和实现agent之前,必须作到对mo心中有数。
第二步:被管对象mo的定制。这一部分是agent设计和实现中的关键部分,工具对这方面的支持也不是很多,特别是涉及到mo与mr之间的通信,更为复杂,故将mo专门作为一个模块进行设计和实现mo和mr之间的通信以及数据和消息格式的转换问题,利用网关原理设计一个网关来解决。
第三步:创建内置的m0。所谓内置mo就是指在系统运行时,已经存在的物理实体的抽象。为了保证能对这些物理实体进行管理,必须将这些被管对象的各种固有的属性值和操作预先加以定义。
第四步:创建外部服务访问点sap。如前所述,tmn系统中各个基于分布式处理的worker之间通过sap进行通信,所以要为agent与管理者manager之间、agent与网关之间创建sap。
第五步:sap同内置mo的捆绑注册。由于在tmn系统中,agent的所有操作是针对mo的,即所有的cmip请求经解析后必须送到相应的m0,而基于dsg平台的worker之间的通信是通过sap来实现的。因而,在系统处理过程中,当进行信息的传输时,必须知道相应mo的sap,所以,在agent的设计过程中,必须为内置mo注册某一个sap。
第六步:agent配置。对agent中有些参数必须加以配置和说明。如队列长度、流量控制门限值、agent处理单元组中worker的最大/最小数目。报告的处理方式、同步通信方式中超时门限等。
第七步:agent用户函数的编写,如agentworker初始化函数、子函数等的编写。
第八步:将所有函数编译,连接生成可运行的agent。
mo模块是agent设计中的一个重要而又复杂的部分。这是由于,一方面工具对该部分的支持不是很多:另一方面,用户的大部分处理函数位于这一部分;最主要的还在于它与被管资源要跨平台,在不同的环境下进行通信。mo模块的设计思想是在mo和mr之间设计一个网关(gateway),来实现两者之间的消息、数据、协议等转换。
mo部分的主要功能是解析,执行来自管理者的cmip请求,维持各mo的属性值同被管资源的一致性,生成cmip请求结果,并上报通用agent模块,同时与mr通信,接收和处理来自mr的事件报告信息,并转发给通用agent。
mo部分有大量的用户定制工作。工具只能完成其中一半的工作,而另一半工作都需要用户自己去定制。用户定制分为两大类;
第一类是pre-/post-函数。pre-/post-函数的主要功能是在agent正式处理cmip请求之前/之后与被管资源打交道,传送数据到mr或从mr获取数据并做一些简单的处理。通过对这些pre-/post-函数的执行,可以确保能够真实地反映出被管资源的运行状态。pre-/post-函数分为两个层次:mo级别和属性级别。mo级别层次较高,所有对该对象类的cmip操作都会调用mo级别的pre-/post-函数。属性级别层次低,只有对该属性的cmip操作才会调用这些函数。dset工具只提供了pre-/post-函数的人口参数和返回值,具体的代码需要完全由用户自己编写。由于agent与被管资源有两种不同的通信方式,不同的方式会导致不同的编程结构和运行效率,如果是同步方式,编程较为简单,但会阻塞被管资源,适合于由大量数据返回的情况。异步方式不会阻塞被管资源,但编程需要作特殊处理,根据不同的返回值做不同的处理,适合于数据不多的情况,在选择通信方式时还要根据mo的实现方式来确定。比如,mo若采用doer来实现,则只能用同步方式。
第二类是动作、事件报告和通知的处理,动作的处理相对比较容易,只需考虑其通信方式采用同步还是异步方式。对事件报告和通知的处理比较复杂。首先,需要对事件进行分类,对不同类别的事件采用不同的处理方法,由哪一个事件前向鉴别器efd(eventforwardingdiscriminator)来处理等等。比如,告警事件的处理就可以单独成为一类。其次,对每一类事件需要确定相应的efd的条件是什么,哪些需要上报管理应用,哪些不需要。是否需要记入日志,这些日志记录的维护策略等等。
除了这两类定制外,mo也存在着优化问题。比如mo用worker还是doer来实现,通信方式采用同步还是异步,面向连接还是无连接等等,都会影响整个的性能。
如果mo要永久存储,我们采用文件方式。因为目前dset的工具只支持versant、odi这两种面向对象数据库管理系统oodbms,对于0racle,sybase等数据库的接口还需要用户自己实现。mo定制的工作量完全由信息模型的规模和复杂程度决定,一个信息模型的对象类越多,对象之间的关系越复杂(比如一个对象类中的属性改变会影响别的类),会导致定制工作的工作量和复杂程度大大增加。
者agent在执行管理者发来的cmip请求时必须保持与被管资源mr进行通信,将manager传送来的消息和数据转发给mr,并要从mr获取必要的数据来完成其操作,同时,它还要接收来自mr的事件报告,并将这些事件上报给manager。
由上述可知,与被管资源mr之间的通信接口实际上是指mo与mr之间的通信接口。大部分mo是对实际被管资源的模拟,这些mo要与被管资源通信。若让这些mo直接与被管资源通信,则存在以下几个方面的弊端:
·由于mo模块本身不具备错误信息检测功能(当然也可在此设计该项功能,但增加了mo模块的复杂性),如果将上向发来的所有信息(包括某些不恰当的信息)全部转发给mr,不仅无此必要,而且增加了数据通信量;同理mr上发的信息也无必要全部发送给mo。
·当被管资源向mo发消息时,由于mit对于被管资源来说是不可知的,被管资源不能确定其相应mo在mit中所处的具体位置,从而也就无法将其信息直接送到相应的mo,因而只能采用广播方式发送信息。这样一来,每当有消息进入mo模块时,每个mo都要先接收它,然后对此消息加以判断,看是否是发给自己的。这样一方面使编程复杂化,使软件系统繁杂化,不易控制,调试困难;另一方面也使通信开销增大。
·mo直接与被管资源通信,使得系统在安全性方面得不到保障,在性能方面也有所下降,为此,采用计算机网络中中网关(gateway)的思想,在mo与被管资源建立一个网关,即用一个gatewayworker作为mo与被管资源通信的媒介。网关在的进程处理中起到联系被管资源与mo之间的“桥梁”作用。
六、总结与展望
q3接口信息建模是tmn开发中的关键技术。目前,各标准化组织针对不同的管理业务制定和了许多信息模型。这些模型大部分是针对网元层和网络层,业务层和事务层的模型几乎没有,还有相当的标准化工作正在继续研究。业务层和事务层的模型是将来研究的重点。
除了q3接口外,tmn的接口还包括x,f,qx接口。它们的q3接口相同也包括通信模型和信息模型两个部分。各标准化组织几乎没有针对这些接口的规范。f接口和具体的一个tmn系统的实施密切相关,没有必要对其的通信模型和信息模型进行规范化。qx是不完善的q3接口,它是非标准的厂家专用的q接口,虽然在管理系统的实施中,很多产品采用qx接口作为q3接口的过渡,但是随着标准化进程的推进,qx接口将逐步被抛弃。电信工业的变化日新月异,宽带网络使得分布系统互连成为可能,使得不同的电信服务公司和运营公司相互竞争、相互合作来向用户提供服务。在这种环境下,整个电信网络管理将涉及到不同的组织以及它们的管理系统。基于tmn的多域管理(tmn-basedmulti-domainmanagement)将成为未来电信网管的重要研究方向。x接口位于两个tmn系统之间,对它研究是基于tmn的多域管理系统的重点。
tmn有技术上的先进、强调公认的标准和接口等优点。但它也有目标太大、抽象化要求太高、信息模型的标准化进程太慢、osi满协议栈的效率不高等问题。tmn自身需要进一步发展。在网络管理技术方面,除了tmn一种体系结构以外,还有itu&iso的开放分布处理(odp),osf的分布处理和管理环境(dce/dme),nmf的omnipoint,omg的公共对象请求体系结构(corba)以及tina-c的电信信息网络体系结构(tina)。目前,corba技术越来越被电信、网络部门接受和采用。corba体系结构是对象管理组织omg为解决分布式处理环境中,硬件和软件系统的互连而提出的一种解决方案。corba适用于业务层和事务层的管理应用。对于下几层(网元层、网元管理层和网络管理层)而言,还没有比tmn更好的体系结构。tina体系结构是基于分布式计算,面向对象以及电信和计算机业界的其它和标准,如odp,in,tmn和corba;它将电信业务和管理业务综合到同一种体系结构中,是电信业务与电信网络技术无关,从而使电信业务的开放与管理不受多厂商设备的影响。虽然tina处于发展中,还不很成熟,但它是未来电信体系结构的最终方向。