﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-遥远的那根线</title><link>http://www.blogjava.net/HorizonXR/</link><description /><language>zh-cn</language><lastBuildDate>Thu, 07 May 2026 08:58:40 GMT</lastBuildDate><pubDate>Thu, 07 May 2026 08:58:40 GMT</pubDate><ttl>60</ttl><item><title>CORBA技术在综合网络管理中的应用</title><link>http://www.blogjava.net/HorizonXR/archive/2008/09/03/226692.html</link><dc:creator>地平线</dc:creator><author>地平线</author><pubDate>Wed, 03 Sep 2008 07:40:00 GMT</pubDate><guid>http://www.blogjava.net/HorizonXR/archive/2008/09/03/226692.html</guid><wfw:comment>http://www.blogjava.net/HorizonXR/comments/226692.html</wfw:comment><comments>http://www.blogjava.net/HorizonXR/archive/2008/09/03/226692.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/HorizonXR/comments/commentRss/226692.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/HorizonXR/services/trackbacks/226692.html</trackback:ping><description><![CDATA[<p>1 引言</p>
<p>  网络管理技术是电信网络正常、经济和安全运行的重要保证,电信管理网TMN作为国际网管标准在电信网管理系统的开发中发挥了重要作用。目前典型的网络管理体系结构是OSI/CMIP（通用管理信息协议）和Internet/SNMP（简单网络管理协议）管理体系结构。随着电信网络规模的不断扩大和不同专业网间联系的加强,需要建立统一的综合网络管理体系。
</p>
<p>  由OMG（Object Management Group）制定的CORBA（Common Object Request Broker
Architecture）规范,经过多年的发展,成为分布式处理技术的工业标准,它的ORB、IIOP和IDL等机制为异构网管系统的互操作奠定了良好的基础。
</p>
<p>  本文对CORBA进行了简要分析,探讨了CORBA技术在综合网络管理中的应用,重点讨论CORBA和CMIP/SNMP/私有协议的跨域管理,最后对CORBA/SNMP网关进行了描述。</p>
<p>  2 综合网管模型的设计</p>
<p>  2.1 现有网管系统存在的问题 </p>
<p>  （1)网元设备提供的接口不统一 </p>
<p>  网管系统通过网元层接口进行数据采集，由于设备由不同的厂商提供，所以存在着不同的网络接口（网元层接口），包括Q3接口、SNMP接口、私有接口等，网管系统必须对不同的接口采取不同的数据采集方法。
</p>
<p>  （2）各个专业网网管系统互相独立 </p>
<p>  电信运营商现有的专业网有传输网、交换网、电话网、IP网等，专业网之间保持独立性的同时又相互联系，关系体现在两个方面：承载关系和互通关系，如SDH网络为IP网提供承载服务，GSM网络和PSTN网存在互通关系，由于各个专业网的网管系统的管理范围只限于本专业网，无法了解到其他专业网与之相关的信息数据，导致各个网管系统之间信息不能互通，无法进行全网资源的调度和支配，降低了网管系统的管理效率，导致资源利用率降低。
</p>
<p>  （3）不能提供具有全局视图的网管界面 </p>
<p>  由于各个专业网的网管系统只涉及到本专业网的各项管理功能，造成了网管系统界面的分割与多样化，如传输网网管用户只能使用传输网网管的界面去了解传输网的内容，无法了解在传输网上承载的IP网的内容，使得用户无法通过完整单一的网管界面去获取所需的数据。</p>
<p>  2.2 综合网管系统的设计 </p>
<p>  由于以上原因，运营商建立综合网络管理系统势在必行，通信网综合网管系统（INMS: Integrated Network Management
System）通过一个管理平台对互连的多个子网络进行管理，对所管理的业务进行了解，进行故障定位和故障排除。它具有一下特点： </p>
<p>  （1）管理子网内的所有资源； </p>
<p>  （2）使用统一的用户界面（GUI），网络管理人员简便易学； </p>
<p>  （3）采用单一的公共管理功能集； </p>
<p>  （4）不同管理对象定义之间能够进行自动翻译； </p>
<p>  （5）自动维持各管理对象之间的联系。 </p>
<p>  由于各种网管技术对应特定的网络体系结构，所以综和网管体系结构的选择要考虑一下几点： </p>
<p>  （1）综合网管系统要易于实现 </p>
<p>  （2）必须兼容现有的网管体系结构 </p>
<p>  （3）必须具有较好的可扩展性。 </p>
<p>  根据网络的实际情况，建设综合网管可以分为两个步骤。首先在各个专业网内部建立基于网元层的综合网络管理系统，实现对不同类型子网的综合管理，然后建立一个高层的网管系统，进行多个专业网网管系统之间的互操作，实现他们之间的信息传递。
</p>
<p>  CORBA技术作为分布式处理技术的工业标准,具有良好的开放性,它的ORB、IIOP、IDL等机制为异构网管系统的互连奠定了良好的基础，所以综合网管系统建立在基于CORBA技术的平台上。
</p>
<p>  在此模型中，网元层继续使用基于CMIP/SNMP/私有协议等接口，而网络层则采用CORBA接口，各专业网网管系统和综合网管系统的接口采用CORBA接口，业务层管理层和综合网管系统的接口采用CORBA接口。
</p>
<p>  实现CORBA和CMIP/SNMP/各种私有协议的跨域管理是建设综合网管系统必须首先解决的问题，X/Open、NMF和OMG组织共同制定的JIDM规范，在此模型中基于此规范来设计CORBA/CMIP网关，CORBA/SNMP网关和CORBA/私有协议网关，通过网关来实现CORBA域的专业网管系统对非CORBA域的网元系统的管理，本文主要介绍CORBA/SNMP
网关的理论规范和实现技术。</p>
<p>  3 CORBA/SNMP 网关模型的设计</p>
<p>  3.1 JIDM规范简介 </p>
<p>  JIDM规范主要定义了一系列的接口，规定了这些接口的行为，给出运行时刻各管理域之间的交互过程及实现，主要包括下面三个部分 </p>
<p>  （1）JIDM
设施：JIDM设施提供通用的管理者—代理者框架，其IDL接口定义都在JIDM模块中，JIDM模块定义了所有特殊管理设施工业的接口，包括管理域的接入、事件的上报以及对象创建的通用方法。
</p>
<p>  （2）OSI管理设施和SNMP管理设施：JIDM互操作规范把与系统管理参考模型相关的特性放在具体的管理设施模块中进行定义。SNMP管理设施在SNMPMgmt模块中进行定义，主要描述SNMP域中的命名、消息、事件与CORBA域中的命名、操作用户事件的相互映射。
</p>
<p>  （3）专用设施：管理和信息模型相关的设施，由开发者自行设计。</p>
<p>  3.2 CORBA/SNMP 网关模型 </p>
<p>  在设计的CORBA/SNMP网关模型中，上层管理者采用CORBA体系结构，下层的被管对象采用SNMP管理协议。 </p>
<p>  （1）MIB Compiler MIB Co-mpiler 的主要作用是将SNMP 中的MIB映射成CORBA 的IDL文件,
映射ASN.1类型、宏、及其通知到相应的同名的idl文件中。由于宏和通知在IDL映射过程中会丢失一些信息, 比如OID、访问权限等,
所以在映射时同时必须同时生成和idl同名的oid文件,用来保存这些信息。 </p>
<p>  （2）MIB repository MIB repository 存储基于OID文件的MIB静态信息和相应的特定Agent
的MIB实例的动态信息,它主要将SNMP设备的MIB视图映射成CORBA视图,CORBA管理应用通过一系列方法能访问这些视图对象。 </p>
<p>  （3）ProxyAgentFinder CO-RBA Manager
通过本地的ProxyAgentFinder搜索指定网关的ProxyAgentFinder,该ProxyAgentFinder负责生成相应管理域的ProxyAgent,
同CORBA Manager交互。 </p>
<p>  （4）EventPort EventPort由EventPortFactory
生成,接收下层被管对象通过SMNP协议发送的通知消息,并把他转换成CORBA事件服务的消息传送给CORBA Manager。 </p>
<p>  （5）Gateway InterActor Ga-teway InterActor
完成管理应用程序和SNMP代理之间的请求响应，将CORBA请求转换成SNMP PDU。 </p>
<p>  Gateway TrapHandler Gateway TrapHandler接收来自SNMP Agent的PDU,将其解码，转换成CORBA
Event 后发送给至EventPort。 </p>
<p>  CORBA/SNMP 网关模型是由一系列接口实现的,网关模型的idl形式为: </p>
<p>  Module SNMPMgmt </p>
<p>  { </p>
<p>  //From the Managenment application perspective </p>
<p>  Interface ProxyAgent{&#8230; } </p>
<p>  Interface ProxyAgentController{&#8230; } </p>
<p>  Interface ProxyAgentFinder{&#8230; } </p>
<p>  Interface EventPort{&#8230; } </p>
<p>  Interface EventPortFactory{&#8230; } </p>
<p>  //From the Agent application perspective </p>
<p>  Interface DomainPort{&#8230; } </p>
<p>  Interface DomainPortFactory{&#8230; } </p>
<p>  Interface EventPortFinder{&#8230; } </p>
<p>  &#8230; </p>
<p>  } </p>
<p>  在CORBA/SNMP网关模型中,最重要的3个问题是创建被管对象、调用被管对象上的操作和被管对象的事件报告,因为这3个问题几乎构成所有网络管理活动的全部,下面介绍一下他们的实现。
</p>
<p>  （1）创建被管对象 </p>
<p>  a. 管理者通过CORBA命名服务,获得最初的SNMPMgmt::ProxyAgentFinder对象。 </p>
<p>  b. 管理者调用SNMPMgmt:: ProxyAgentFinde对象上的access_domain操作,将得到的对象引用返回管理者。 </p>
<p>  c. 管理者取得被管结点所在域的存取权限后, 生成SNMPMgmt::
ProxyAgent对象,调用get_domain_factory_finder(
)操作,获得被管对象域中两个初始对象的引用,分别是:CoslifeCycle::FactoryFinder和CosNaming::NamingContext。
</p>
<p>  d. 调用CoslifeCycle::FactoryFinde
的方法find_factory,管理者可以找到可用的工厂来创建被管对象，调用CosNaming::NamingContext
的resolve方法,管理者可以得到被管对象域中其他对象的引用。 </p>
<p>  （2）调用被管对象上操作 </p>
<p>  a. ProxyAgentFinder返回Pr- oxyAgent对象后，管理者调用ProxyAgent的get_variables(
),set_variables()等函数对被管对象进行操作。 </p>
<p>  b. ProxyAgent将这些操作作用于Gateway InterActor , Gateway InterActor向SNMP
Agent发出并接受SNMP PDU来完成操作。 </p>
<p>  （3）被管对象的事件上报 </p>
<p>  a.
被管对象通过调用SNMPMgme::EventPortFinder对象的方法得到管理域的SNMPMgme::EventPort对象的引用，即通过调用find_event_port方法,得到SupplierAdmin对象。
</p>
<p>  b. SupplierAdmin对象和EventPort相关联,被管对象直接注册为此SupplierAdmin对象的PushSupplier。
</p>
<p>  c.
管理者把自己注册为本地EventChannel的PushConsumer，EventChannel把自己注册为EventPort的PushConsumer。
</p>
<p>  d. Gateway TrapHandler 收到SNMP Agent 的Trap PDU,将其解码，转换成CORBA事件后发送到EventPort。
</p>
<p>  e. EventPort 接收事件后，调用EventChannel的Push 方法,将事件数据传到EventChannel
EventChannel收到事件后,调用管理者对象的Push 方法, 将事件数据传到已经注册的管理对象。</p>

 <img src ="http://www.blogjava.net/HorizonXR/aggbug/226692.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/HorizonXR/" target="_blank">地平线</a> 2008-09-03 15:40 <a href="http://www.blogjava.net/HorizonXR/archive/2008/09/03/226692.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>