??xml version="1.0" encoding="utf-8" standalone="yes"?>
|络理技术是电信|络正常、经和安全q行的重要保?电信理|TMN作ؓ国际|管标准在电信网理pȝ的开发中发挥了重要作用。目前典型的|络理体系l构是OSI/CMIPQ通用理信息协议Q和Internet/SNMPQ简单网l管理协议)理体系l构。随着电信|络规模的不断扩大和不同专业|间联系的加?需要徏立统一的综合网l管理体pR?
由OMGQObject Management GroupQ制定的CORBAQCommon Object Request Broker ArchitectureQ规?l过多年的发?成ؓ分布式处理技术的工业标准,它的ORB、IIOP和IDL{机制ؓ异构|管pȝ的互操作奠定了良好的基础?
本文对CORBAq行了简要分?探讨了CORBA技术在l合|络理中的应用,重点讨论CORBA和CMIP/SNMP/U有协议的跨域管?最后对CORBA/SNMP|关q行了描q?/p>
2 l合|管模型的设?/p>
2.1 现有|管pȝ存在的问?
Q?)|元讑֤提供的接口不l一
|管pȝ通过|元层接口进行数据采集,׃讑֤׃同的厂商提供Q所以存在着不同的网l接口(|元层接口)Q包括Q3接口、SNMP接口、私有接口等Q网系l必d不同的接口采取不同的数据采集Ҏ?
Q?Q各个专业网|管pȝ互相独立
电信q营商现有的专业|有传输|、交换网、电话网、IP|等Q专业网之间保持独立性的同时又相互联p,关系体现在两个方面:承蝲关系和互通关p,如SDH|络为IP|提供承载服务,GSM|络和PSTN|存在互通关p,׃各个专业|的|管pȝ的管理范围只限于本专业网Q无法了解到其他专业|与之相关的信息数据Q导致各个网系l之间信息不能互通,无法q行全网资源的调度和支配Q降低了|管pȝ的管理效率,D资源利用率降低?
Q?Q不能提供具有全局视图的网界?
׃各个专业|的|管pȝ只涉及到本专业网的各管理功能,造成了网系l界面的分割与多样化Q如传输|网用户只能用传输网|管的界面去了解传输|的内容Q无法了解在传输|上承蝲的IP|的内容Q得用h法通过完整单一的网界面去获取所需的数据?/p>
2.2 l合|管pȝ的设?
׃以上原因Q运营商建立l合|络理pȝ势在必行Q通信|综合网系l(INMS: Integrated Network Management SystemQ通过一个管理^台对互连的多个子|络q行理Q对所理的业务进行了解,q行故障定位和故障排除。它h一下特点:
Q?Q管理子|内的所有资源;
Q?Q用统一的用L面(GUIQ,|络理人员便易学;
Q?Q采用单一的公q理功能集Q?
Q?Q不同管理对象定义之间能够进行自动翻译;
Q?Q自动维持各理对象之间的联pR?
׃各种|管技术对应特定的|络体系l构Q所以综和网体pȝ构的选择要考虑一下几点:
Q?Q综合网系l要易于实现
Q?Q必d容现有的|管体系l构
Q?Q必d有较好的可扩展性?
Ҏ|络的实际情况,l合|管可以分ؓ两个步骤。首先在各个专业|内部徏立基于网元层的综合网l管理系l,实现对不同类型子|的l合理Q然后徏立一个高层的|管pȝQ进行多个专业网|管pȝ之间的互操作Q实C们之间的信息传递?
CORBA技术作为分布式处理技术的工业标准,h良好的开放?它的ORB、IIOP、IDL{机制ؓ异构|管pȝ的互q奠定了良好的基Q所以综合网系l徏立在ZCORBA技术的q_上?
在此模型中,|元层l用基于CMIP/SNMP/U有协议{接口,而网l层则采用CORBA接口Q各专业|网系l和l合|管pȝ的接口采用CORBA接口Q业务层理层和l合|管pȝ的接口采用CORBA接口?
实现CORBA和CMIP/SNMP/各种U有协议的跨域管理是l合|管pȝ必须首先解决的问题,X/Open、NMF和OMGl织共同制定的JIDM规范Q在此模型中Z此规范来设计CORBA/CMIP|关QCORBA/SNMP|关和CORBA/U有协议|关Q通过|关来实现CORBA域的专业|管pȝ寚wCORBA域的|元pȝ的管理,本文主要介绍CORBA/SNMP |关的理范和实现技术?/p>
3 CORBA/SNMP |关模型的设?/p>
3.1 JIDM规范?
JIDM规范主要定义了一pd的接口,规定了这些接口的行ؓQ给行时d理域之间的交互q程及实玎ͼ主要包括下面三个部分
Q?QJIDM 设施QJIDM设施提供通用的管理者—代理者框Ӟ其IDL接口定义都在JIDM模块中,JIDM模块定义了所有特D管理设施工业的接口Q包括管理域的接入、事件的上报以及对象创徏的通用Ҏ?
Q?QOSI理设施和SNMP理设施QJIDM互操作规范把与系l管理参考模型相关的Ҏ放在具体的理设施模块中进行定义。SNMP理设施在SNMPMgmt模块中进行定义,主要描述SNMP域中的命名、消息、事件与CORBA域中的命名、操作用户事件的怺映射?
Q?Q专用设施:理和信息模型相关的设施Q由开发者自行设计?/p>
3.2 CORBA/SNMP |关模型
在设计的CORBA/SNMP|关模型中,上层理者采用CORBA体系l构Q下层的被管对象采用SNMP理协议?
Q?QMIB Compiler MIB Co-mpiler 的主要作用是SNMP 中的MIB映射成CORBA 的IDL文g, 映射ASN.1cd、宏、及光知到相应的同名的idl文g中。由于宏和通知在IDL映射q程中会丢失一些信? 比如OID、访问权限等, 所以在映射时同时必d时生成和idl同名的oid文g,用来保存q些信息?
Q?QMIB repository MIB repository 存储ZOID文g的MIB静态信息和相应的特定Agent 的MIB实例的动态信?它主要将SNMP讑֤的MIB视图映射成CORBA视图,CORBA理应用通过一pdҎ能访问这些视囑֯象?
Q?QProxyAgentFinder CO-RBA Manager 通过本地的ProxyAgentFinder搜烦指定|关的ProxyAgentFinder,该ProxyAgentFinder负责生成相应理域的ProxyAgent, 同CORBA Manager交互?
Q?QEventPort EventPort由EventPortFactory 生成,接收下层被管对象通过SMNP协议发送的通知消息,q把他{换成CORBA事g服务的消息传送给CORBA Manager?
Q?QGateway InterActor Ga-teway InterActor 完成理应用E序和SNMP代理之间的请求响应,CORBAh转换成SNMP PDU?
Gateway TrapHandler Gateway TrapHandler接收来自SNMP Agent的PDU,其解码Q{换成CORBA Event 后发送给至EventPort?
CORBA/SNMP |关模型是由一pd接口实现?|关模型的idl形式?
Module SNMPMgmt
{
//From the Managenment application perspective
Interface ProxyAgent{… }
Interface ProxyAgentController{… }
Interface ProxyAgentFinder{… }
Interface EventPort{… }
Interface EventPortFactory{… }
//From the Agent application perspective
Interface DomainPort{… }
Interface DomainPortFactory{… }
Interface EventPortFinder{… }
…
}
在CORBA/SNMP|关模型?最重要?个问题是创徏被管对象、调用被对象上的操作和被管对象的事件报?因ؓq?个问题几乎构成所有网l管理活动的全部,下面介绍一下他们的实现?
Q?Q创对?
a. 理者通过CORBA命名服务,获得最初的SNMPMgmt::ProxyAgentFinder对象?
b. 理者调用SNMPMgmt:: ProxyAgentFinde对象上的access_domain操作,得到的对象引用q回理者?
c. 理者取得被结Ҏ在域的存取权限后, 生成SNMPMgmt:: ProxyAgent对象,调用get_domain_factory_finder( )操作,获得被管对象域中两个初始对象的引?分别?CoslifeCycle::FactoryFinder和CosNaming::NamingContext?
d. 调用CoslifeCycle::FactoryFinde 的方法find_factory,理者可以找到可用的工厂来创对象,调用CosNaming::NamingContext 的resolveҎ,理者可以得到被对象域中其他对象的引用?
Q?Q调用被对象上操作
a. ProxyAgentFinderq回Pr- oxyAgent对象后,理者调用ProxyAgent的get_variables( ),set_variables(){函数对被管对象q行操作?
b. ProxyAgent这些操作作用于Gateway InterActor , Gateway InterActor向SNMP Agent发出q接受SNMP PDU来完成操作?
Q?Q被对象的事g上报
a. 被管对象通过调用SNMPMgme::EventPortFinder对象的方法得到管理域的SNMPMgme::EventPort对象的引用,即通过调用find_event_portҎ,得到SupplierAdmin对象?
b. SupplierAdmin对象和EventPort相关?被管对象直接注册为此SupplierAdmin对象的PushSupplier?
c. 理者把自己注册为本地EventChannel的PushConsumerQEventChannel把自己注册ؓEventPort的PushConsumer?
d. Gateway TrapHandler 收到SNMP Agent 的Trap PDU,其解码Q{换成CORBA事g后发送到EventPort?
e. EventPort 接收事g后,调用EventChannel的Push Ҏ,事件数据传到EventChannel
EventChannel收到事g?调用理者对象的Push Ҏ, 事件数据传到已l注册的理对象?/p>