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