CORBA技術(shù)在綜合網(wǎng)絡(luò)管理中的應(yīng)用
1 引言
網(wǎng)絡(luò)管理技術(shù)是電信網(wǎng)絡(luò)正常、經(jīng)濟(jì)和安全運(yùn)行的重要保證,電信管理網(wǎng)TMN作為國(guó)際網(wǎng)管標(biāo)準(zhǔn)在電信網(wǎng)管理系統(tǒng)的開(kāi)發(fā)中發(fā)揮了重要作用。目前典型的網(wǎng)絡(luò)管理體系結(jié)構(gòu)是OSI/CMIP(通用管理信息協(xié)議)和Internet/SNMP(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)管理體系結(jié)構(gòu)。隨著電信網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大和不同專業(yè)網(wǎng)間聯(lián)系的加強(qiáng),需要建立統(tǒng)一的綜合網(wǎng)絡(luò)管理體系。
由OMG(Object Management Group)制定的CORBA(Common Object Request Broker Architecture)規(guī)范,經(jīng)過(guò)多年的發(fā)展,成為分布式處理技術(shù)的工業(yè)標(biāo)準(zhǔn),它的ORB、IIOP和IDL等機(jī)制為異構(gòu)網(wǎng)管系統(tǒng)的互操作奠定了良好的基礎(chǔ)。
本文對(duì)CORBA進(jìn)行了簡(jiǎn)要分析,探討了CORBA技術(shù)在綜合網(wǎng)絡(luò)管理中的應(yīng)用,重點(diǎn)討論CORBA和CMIP/SNMP/私有協(xié)議的跨域管理,最后對(duì)CORBA/SNMP網(wǎng)關(guān)進(jìn)行了描述。
2 綜合網(wǎng)管模型的設(shè)計(jì)
2.1 現(xiàn)有網(wǎng)管系統(tǒng)存在的問(wèn)題
(1)網(wǎng)元設(shè)備提供的接口不統(tǒng)一
網(wǎng)管系統(tǒng)通過(guò)網(wǎng)元層接口進(jìn)行數(shù)據(jù)采集,由于設(shè)備由不同的廠商提供,所以存在著不同的網(wǎng)絡(luò)接口(網(wǎng)元層接口),包括Q3接口、SNMP接口、私有接口等,網(wǎng)管系統(tǒng)必須對(duì)不同的接口采取不同的數(shù)據(jù)采集方法。
(2)各個(gè)專業(yè)網(wǎng)網(wǎng)管系統(tǒng)互相獨(dú)立
電信運(yùn)營(yíng)商現(xiàn)有的專業(yè)網(wǎng)有傳輸網(wǎng)、交換網(wǎng)、電話網(wǎng)、IP網(wǎng)等,專業(yè)網(wǎng)之間保持獨(dú)立性的同時(shí)又相互聯(lián)系,關(guān)系體現(xiàn)在兩個(gè)方面:承載關(guān)系和互通關(guān)系,如SDH網(wǎng)絡(luò)為IP網(wǎng)提供承載服務(wù),GSM網(wǎng)絡(luò)和PSTN網(wǎng)存在互通關(guān)系,由于各個(gè)專業(yè)網(wǎng)的網(wǎng)管系統(tǒng)的管理范圍只限于本專業(yè)網(wǎng),無(wú)法了解到其他專業(yè)網(wǎng)與之相關(guān)的信息數(shù)據(jù),導(dǎo)致各個(gè)網(wǎng)管系統(tǒng)之間信息不能互通,無(wú)法進(jìn)行全網(wǎng)資源的調(diào)度和支配,降低了網(wǎng)管系統(tǒng)的管理效率,導(dǎo)致資源利用率降低。
(3)不能提供具有全局視圖的網(wǎng)管界面
由于各個(gè)專業(yè)網(wǎng)的網(wǎng)管系統(tǒng)只涉及到本專業(yè)網(wǎng)的各項(xiàng)管理功能,造成了網(wǎng)管系統(tǒng)界面的分割與多樣化,如傳輸網(wǎng)網(wǎng)管用戶只能使用傳輸網(wǎng)網(wǎng)管的界面去了解傳輸網(wǎng)的內(nèi)容,無(wú)法了解在傳輸網(wǎng)上承載的IP網(wǎng)的內(nèi)容,使得用戶無(wú)法通過(guò)完整單一的網(wǎng)管界面去獲取所需的數(shù)據(jù)。
2.2 綜合網(wǎng)管系統(tǒng)的設(shè)計(jì)
由于以上原因,運(yùn)營(yíng)商建立綜合網(wǎng)絡(luò)管理系統(tǒng)勢(shì)在必行,通信網(wǎng)綜合網(wǎng)管系統(tǒng)(INMS: Integrated Network Management System)通過(guò)一個(gè)管理平臺(tái)對(duì)互連的多個(gè)子網(wǎng)絡(luò)進(jìn)行管理,對(duì)所管理的業(yè)務(wù)進(jìn)行了解,進(jìn)行故障定位和故障排除。它具有一下特點(diǎn):
(1)管理子網(wǎng)內(nèi)的所有資源;
(2)使用統(tǒng)一的用戶界面(GUI),網(wǎng)絡(luò)管理人員簡(jiǎn)便易學(xué);
(3)采用單一的公共管理功能集;
(4)不同管理對(duì)象定義之間能夠進(jìn)行自動(dòng)翻譯;
(5)自動(dòng)維持各管理對(duì)象之間的聯(lián)系。
由于各種網(wǎng)管技術(shù)對(duì)應(yīng)特定的網(wǎng)絡(luò)體系結(jié)構(gòu),所以綜和網(wǎng)管體系結(jié)構(gòu)的選擇要考慮一下幾點(diǎn):
(1)綜合網(wǎng)管系統(tǒng)要易于實(shí)現(xiàn)
(2)必須兼容現(xiàn)有的網(wǎng)管體系結(jié)構(gòu)
(3)必須具有較好的可擴(kuò)展性。
根據(jù)網(wǎng)絡(luò)的實(shí)際情況,建設(shè)綜合網(wǎng)管可以分為兩個(gè)步驟。首先在各個(gè)專業(yè)網(wǎng)內(nèi)部建立基于網(wǎng)元層的綜合網(wǎng)絡(luò)管理系統(tǒng),實(shí)現(xiàn)對(duì)不同類型子網(wǎng)的綜合管理,然后建立一個(gè)高層的網(wǎng)管系統(tǒng),進(jìn)行多個(gè)專業(yè)網(wǎng)網(wǎng)管系統(tǒng)之間的互操作,實(shí)現(xiàn)他們之間的信息傳遞。
CORBA技術(shù)作為分布式處理技術(shù)的工業(yè)標(biāo)準(zhǔn),具有良好的開(kāi)放性,它的ORB、IIOP、IDL等機(jī)制為異構(gòu)網(wǎng)管系統(tǒng)的互連奠定了良好的基礎(chǔ),所以綜合網(wǎng)管系統(tǒng)建立在基于CORBA技術(shù)的平臺(tái)上。
在此模型中,網(wǎng)元層繼續(xù)使用基于CMIP/SNMP/私有協(xié)議等接口,而網(wǎng)絡(luò)層則采用CORBA接口,各專業(yè)網(wǎng)網(wǎng)管系統(tǒng)和綜合網(wǎng)管系統(tǒng)的接口采用CORBA接口,業(yè)務(wù)層管理層和綜合網(wǎng)管系統(tǒng)的接口采用CORBA接口。
實(shí)現(xiàn)CORBA和CMIP/SNMP/各種私有協(xié)議的跨域管理是建設(shè)綜合網(wǎng)管系統(tǒng)必須首先解決的問(wèn)題,X/Open、NMF和OMG組織共同制定的JIDM規(guī)范,在此模型中基于此規(guī)范來(lái)設(shè)計(jì)CORBA/CMIP網(wǎng)關(guān),CORBA/SNMP網(wǎng)關(guān)和CORBA/私有協(xié)議網(wǎng)關(guān),通過(guò)網(wǎng)關(guān)來(lái)實(shí)現(xiàn)CORBA域的專業(yè)網(wǎng)管系統(tǒng)對(duì)非CORBA域的網(wǎng)元系統(tǒng)的管理,本文主要介紹CORBA/SNMP 網(wǎng)關(guān)的理論規(guī)范和實(shí)現(xiàn)技術(shù)。
3 CORBA/SNMP 網(wǎng)關(guān)模型的設(shè)計(jì)
3.1 JIDM規(guī)范簡(jiǎn)介
JIDM規(guī)范主要定義了一系列的接口,規(guī)定了這些接口的行為,給出運(yùn)行時(shí)刻各管理域之間的交互過(guò)程及實(shí)現(xiàn),主要包括下面三個(gè)部分
(1)JIDM 設(shè)施:JIDM設(shè)施提供通用的管理者—代理者框架,其IDL接口定義都在JIDM模塊中,JIDM模塊定義了所有特殊管理設(shè)施工業(yè)的接口,包括管理域的接入、事件的上報(bào)以及對(duì)象創(chuàng)建的通用方法。
(2)OSI管理設(shè)施和SNMP管理設(shè)施:JIDM互操作規(guī)范把與系統(tǒng)管理參考模型相關(guān)的特性放在具體的管理設(shè)施模塊中進(jìn)行定義。SNMP管理設(shè)施在SNMPMgmt模塊中進(jìn)行定義,主要描述SNMP域中的命名、消息、事件與CORBA域中的命名、操作用戶事件的相互映射。
(3)專用設(shè)施:管理和信息模型相關(guān)的設(shè)施,由開(kāi)發(fā)者自行設(shè)計(jì)。
3.2 CORBA/SNMP 網(wǎng)關(guān)模型
在設(shè)計(jì)的CORBA/SNMP網(wǎng)關(guān)模型中,上層管理者采用CORBA體系結(jié)構(gòu),下層的被管對(duì)象采用SNMP管理協(xié)議。
(1)MIB Compiler MIB Co-mpiler 的主要作用是將SNMP 中的MIB映射成CORBA 的IDL文件, 映射ASN.1類型、宏、及其通知到相應(yīng)的同名的idl文件中。由于宏和通知在IDL映射過(guò)程中會(huì)丟失一些信息, 比如OID、訪問(wèn)權(quán)限等, 所以在映射時(shí)同時(shí)必須同時(shí)生成和idl同名的oid文件,用來(lái)保存這些信息。
(2)MIB repository MIB repository 存儲(chǔ)基于OID文件的MIB靜態(tài)信息和相應(yīng)的特定Agent 的MIB實(shí)例的動(dòng)態(tài)信息,它主要將SNMP設(shè)備的MIB視圖映射成CORBA視圖,CORBA管理應(yīng)用通過(guò)一系列方法能訪問(wèn)這些視圖對(duì)象。
(3)ProxyAgentFinder CO-RBA Manager 通過(guò)本地的ProxyAgentFinder搜索指定網(wǎng)關(guān)的ProxyAgentFinder,該P(yáng)roxyAgentFinder負(fù)責(zé)生成相應(yīng)管理域的ProxyAgent, 同CORBA Manager交互。
(4)EventPort EventPort由EventPortFactory 生成,接收下層被管對(duì)象通過(guò)SMNP協(xié)議發(fā)送的通知消息,并把他轉(zhuǎn)換成CORBA事件服務(wù)的消息傳送給CORBA Manager。
(5)Gateway InterActor Ga-teway InterActor 完成管理應(yīng)用程序和SNMP代理之間的請(qǐng)求響應(yīng),將CORBA請(qǐng)求轉(zhuǎn)換成SNMP PDU。
Gateway TrapHandler Gateway TrapHandler接收來(lái)自SNMP Agent的PDU,將其解碼,轉(zhuǎn)換成CORBA Event 后發(fā)送給至EventPort。
CORBA/SNMP 網(wǎng)關(guān)模型是由一系列接口實(shí)現(xiàn)的,網(wǎng)關(guān)模型的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網(wǎng)關(guān)模型中,最重要的3個(gè)問(wèn)題是創(chuàng)建被管對(duì)象、調(diào)用被管對(duì)象上的操作和被管對(duì)象的事件報(bào)告,因?yàn)檫@3個(gè)問(wèn)題幾乎構(gòu)成所有網(wǎng)絡(luò)管理活動(dòng)的全部,下面介紹一下他們的實(shí)現(xiàn)。
(1)創(chuàng)建被管對(duì)象
a. 管理者通過(guò)CORBA命名服務(wù),獲得最初的SNMPMgmt::ProxyAgentFinder對(duì)象。
b. 管理者調(diào)用SNMPMgmt:: ProxyAgentFinde對(duì)象上的access_domain操作,將得到的對(duì)象引用返回管理者。
c. 管理者取得被管結(jié)點(diǎn)所在域的存取權(quán)限后, 生成SNMPMgmt:: ProxyAgent對(duì)象,調(diào)用get_domain_factory_finder( )操作,獲得被管對(duì)象域中兩個(gè)初始對(duì)象的引用,分別是:CoslifeCycle::FactoryFinder和CosNaming::NamingContext。
d. 調(diào)用CoslifeCycle::FactoryFinde 的方法find_factory,管理者可以找到可用的工廠來(lái)創(chuàng)建被管對(duì)象,調(diào)用CosNaming::NamingContext 的resolve方法,管理者可以得到被管對(duì)象域中其他對(duì)象的引用。
(2)調(diào)用被管對(duì)象上操作
a. ProxyAgentFinder返回Pr- oxyAgent對(duì)象后,管理者調(diào)用ProxyAgent的get_variables( ),set_variables()等函數(shù)對(duì)被管對(duì)象進(jìn)行操作。
b. ProxyAgent將這些操作作用于Gateway InterActor , Gateway InterActor向SNMP Agent發(fā)出并接受SNMP PDU來(lái)完成操作。
(3)被管對(duì)象的事件上報(bào)
a. 被管對(duì)象通過(guò)調(diào)用SNMPMgme::EventPortFinder對(duì)象的方法得到管理域的SNMPMgme::EventPort對(duì)象的引用,即通過(guò)調(diào)用find_event_port方法,得到SupplierAdmin對(duì)象。
b. SupplierAdmin對(duì)象和EventPort相關(guān)聯(lián),被管對(duì)象直接注冊(cè)為此SupplierAdmin對(duì)象的PushSupplier。
c. 管理者把自己注冊(cè)為本地EventChannel的PushConsumer,EventChannel把自己注冊(cè)為EventPort的PushConsumer。
d. Gateway TrapHandler 收到SNMP Agent 的Trap PDU,將其解碼,轉(zhuǎn)換成CORBA事件后發(fā)送到EventPort。
e. EventPort 接收事件后,調(diào)用EventChannel的Push 方法,將事件數(shù)據(jù)傳到EventChannel EventChannel收到事件后,調(diào)用管理者對(duì)象的Push 方法, 將事件數(shù)據(jù)傳到已經(jīng)注冊(cè)的管理對(duì)象。
posted @ 2008-09-03 15:40 地平線 閱讀(89) | 評(píng)論 (0) | 編輯 收藏