網(wǎng)管框架設計管理論文
時間:2022-06-30 03:10:00
導語:網(wǎng)管框架設計管理論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
伴隨Internet時代的到來,網(wǎng)絡技術的迅猛發(fā)展,越來越多的企業(yè)、政府、學校、個人等都融入互聯(lián)網(wǎng)當中,網(wǎng)絡已經(jīng)與人們的學習、工作及生活密不可分。而作為整個互聯(lián)網(wǎng)的基礎,電信網(wǎng)穩(wěn)定、高效、準確的運行就顯得極為重要。要做到這一點,除了要依靠網(wǎng)絡設備本身和網(wǎng)絡架構的可靠性之外,還必須依靠一套有效的網(wǎng)絡管理手段來監(jiān)測和管理整個網(wǎng)絡,而傳統(tǒng)的單層網(wǎng)絡管理模式已經(jīng)無法適應現(xiàn)代網(wǎng)絡管理的需求。為了有效合理地管理現(xiàn)代網(wǎng)絡,國際電信聯(lián)盟電信標準化部門(ITU-T)于1988年,參考OSI系統(tǒng)管理框架提出了具有標準協(xié)議、接口和體系結構的管理網(wǎng)絡--電信管理網(wǎng)(TelecommunicationManagementNet,TMN),作為管理現(xiàn)代電信網(wǎng)的基礎。考慮將提供業(yè)務的電信網(wǎng)及其管理功能進行分離,使管理功能從電信網(wǎng)中獨立出來單獨組成一個網(wǎng),即TMN。TMN制定了一系列的標準和管理功能,包括被管網(wǎng)元和網(wǎng)絡管理系統(tǒng)之間的接口均被標準化了。只要被管網(wǎng)元和網(wǎng)絡管理系統(tǒng)之間遵循TMN標準,完成一定的管理功能,就能夠實現(xiàn)不同廠商的不同設備以及不同網(wǎng)絡管理系統(tǒng)之間的互連互通操作。TMN體系結構按照不同的管理需求將整個電信網(wǎng)管理功能從低到高分作5層:網(wǎng)元層(NEL)、網(wǎng)元管理層(EML)、網(wǎng)絡管理層(NML)、業(yè)務管理層(SML)、事務管理層(BML)。
目前,由于實際技術水平和應用條件的限制,網(wǎng)絡管理主要集中在網(wǎng)元管理層和網(wǎng)絡管理層,真正業(yè)務級的管理還只停留在理論研究階段。網(wǎng)元管理層直接管理物理網(wǎng)絡,是整個管理系統(tǒng)的基礎。對電信網(wǎng)絡運營商來說,隨著通信業(yè)務量需求的成倍增長,網(wǎng)絡規(guī)模的日益膨脹,網(wǎng)元設備的種類和數(shù)量不斷增加,各個網(wǎng)元都有自己的管理系統(tǒng),這給網(wǎng)絡的管理維護帶來了很多困難。為了提高網(wǎng)絡管理的效率,很有必要對各網(wǎng)元進行集中管理,實現(xiàn)在一個統(tǒng)一的平臺上管理各種設備。為了適應網(wǎng)絡管理系統(tǒng)可擴展性的要求,我們將設計模式的思想融入網(wǎng)絡管理框架設計中,保證該框架具有良好的靈活性和可擴展性。
2網(wǎng)絡管理協(xié)議
當前最典型的網(wǎng)絡管理協(xié)議有基于OSI七層模型的公共管理信息協(xié)議(CMIP)和基于TCP/IP的簡單網(wǎng)絡管理協(xié)議(SNMP)。OSI/CMIP系統(tǒng)管理模型是目前理論上最完備的網(wǎng)絡管理模型,是其他網(wǎng)絡管理模型的基本參考。但由于該模型比較復雜,實現(xiàn)代價高,因此并沒有得到廣泛的應用。相反,當初只是為了管理TCP/IP網(wǎng)絡的SNMP卻得到了迅速的發(fā)展和廣泛應用。SNMP網(wǎng)絡管理模型的突出特點是簡單、易于實現(xiàn),因而得到了廠商的支持。特別是在Internet上的成功應用,使得它的重要性越來越突出,已經(jīng)成為事實上的工業(yè)標準。
SNMP主要包括SMI(管理信息結構)、MIB(管理信息庫)和SNMP協(xié)議幾部分。SMI給出了管理對象定義的一般框架。MIB是設備所維護的全部被管理對象的結構集合。SNMP協(xié)議包括SNMP操作、SNMP信息的格式以及如何在應用程序和設備間交換消息。SNMP采用/管理站模型進行網(wǎng)絡管理。
3基于SNMP的統(tǒng)一網(wǎng)管框架設計
3.1總體結構設計
統(tǒng)一網(wǎng)管平臺提供一個高分布性,高擴展性的架構來保證應用的開發(fā)者可以用不同的方法來布置他們的網(wǎng)元管理系統(tǒng)。從橫向分層的角度來看,平臺可以分為支撐層(SupportLayer)、框架層(FrameworkLayer)和應用層(ApplicationLayer)。
統(tǒng)一網(wǎng)管平臺從軟件結構上講仍是C/S結構,包括網(wǎng)管服務器和網(wǎng)管終端兩大部分,通過網(wǎng)管服務器的級聯(lián)構成多級網(wǎng)管,實現(xiàn)多級網(wǎng)管的無縫集成。其中框架層和支撐層位于服務器端,應用層位于客戶端。
3.2支撐層的設計
支撐層作為系統(tǒng)支撐平臺為應用提供系統(tǒng)級的服務,包括消息服務、數(shù)據(jù)庫訪問和SNMP接口。支撐層是整個統(tǒng)一網(wǎng)管平臺的基礎。
3.2.1消息服務
消息服務為系統(tǒng)中所有模塊的交互提供支持,實現(xiàn)消息的路由轉發(fā),根據(jù)消息類型,轉發(fā)到相應的處理模塊。消息的格式如下所示:
版本號
消息頭
消息數(shù)據(jù)
消息頭的定義如下:
typedefstructmsg{
void*mlink;//指向結構的指針,形成消息鏈表
PIDsender_pid;//發(fā)送進程標識
PIDreceiver_pid;//接收進程標識
BYTEmsg_type;//消息類型(2或3,表示同步或異步進程消息)
WORDevent_type;//事件類型
WORDmsg_length;//消息長度,不包括頭
}MSG_HEAD;
我們的系統(tǒng)使用的是非阻塞的異步消息機制,系統(tǒng)維護一個消息隊列,這個消息隊列用來存放系統(tǒng)各個模塊產生的消息。程序中有一小段程序代碼,叫做消息循環(huán),用來從隊列中取出消息,并且將它們發(fā)送給相應的消息處理程序。代碼片斷如下:
while(GetNmMessage(&msg,NULL,0,0))
{
TranslateNmMessage(&msg);
DispatchNmMessage(&msg);
}
3.2.2數(shù)據(jù)庫訪問
數(shù)據(jù)庫訪問模塊提供所有訪問數(shù)據(jù)庫的接口調用,并維護數(shù)據(jù)庫連接池,其他模塊只需向其申請數(shù)據(jù)庫連接即可。
3.2.3SNMP接口
網(wǎng)管系統(tǒng)與網(wǎng)元的交互是基于SNMP協(xié)議的,在SNMP協(xié)議棧的實現(xiàn)中,我們采用了被廣泛使用的CMU(CarnegieMellonUniversity)開發(fā)的開放源代碼CMU-SNMP軟件包,該軟件包對SNMPv2c做了很好的實現(xiàn)。但是對于上層的開發(fā)人員來說,調用起來不是很方便。例如,一次SNMP操作,就要先后調用以下這些函數(shù):
char*winsock_startup(void);
voidsnmp_synch_setup(structsnmp_session*Session);
structsnmp_session*snmp_open(structsnmp_session*session);
structsnmp_pdu*snmp_pdu_create(intcommand);
intsnmp_synch_response(structsnmp_session*Session,structsnmp_pdu*PDU,structsnmp_pdu**ResponsePDUP);
intsnmp_close(structsnmp_session*session);
為了方便業(yè)務開發(fā)人員,我們對該協(xié)議棧進行了簡單封裝。將CMU格式的SNMP消息結構轉換為本網(wǎng)管平臺內部使用的數(shù)據(jù)結構,并提供一系列便于使用的SNMP原子命令接口和其它輔助功能接口,為其上層應用和Trap監(jiān)聽進程提供統(tǒng)一的支持。
通常,通過SNMP協(xié)議向SNMP發(fā)送請求,是通過使用MIB中定義的對象標識符(OID)來標識的。OID是用句點隔開的一組整數(shù),使用起來很不方便,我們可以通過MIB樹中葉子的名稱來訪問和設置MIB樹中的數(shù)據(jù),而不是通過枯燥的數(shù)字,方便開發(fā)人員進行開發(fā)。
以RFC1213定義的MIB-Ⅱ中的..dod.internet.mgmt.mib-2.system.sysName為例,其定義如下:
sysNameOBJECT-TYPE
SYNTAXDisplayString(SIZE(0..255))
MAX-ACCESSread-write
STATUScurrent
DESCRIPTION
"Anadministratively-assignednameforthismanagednode.
Byconvention,thisisthenode''''sfully-qualifieddomain
name.Ifthenameisunknown,thevalueisthezero-length
string."
::={system5}
如果我們要查詢系統(tǒng)的名稱,我們在發(fā)送GetRequest命令時需要使用1.3.6.1.2.1.1.5.0去向SNMP檢索它,這一長串的OID字符串在程序中的可讀性很差。我們采取的措施是建立一個Hash表,在SNMP模塊初始化的時候先對程序所使用的MIB進行分析,對sysName這個字符串進行Hash操作,將sysName、OID和DisplayString保存在Hash表中。在向上層應用提供的SNMPAPI中只需要對sysName.0進行操作,就能查詢到sysName的值,而不是通過枯燥的數(shù)字,方便開發(fā)人員進行開發(fā)。MakeHash函數(shù)如下所示:
ULONGMakeHash(char*str,ULONGlen)
{
ULONGn;
n=0;
#defineHASHCn=*str+++65587*n
if(len>0)
{
intloop;
loop=(len+8-1)>>3;
switch(len&(8-1))
{
case0:
do
{
HASHC;
case7:HASHC;
case6:HASHC;
case5:HASHC;
case4:HASHC;
case3:HASHC;
case2:HASHC;
case1:HASHC;
}while(--loop);
}
}
returnn;
}
另外,由于我們使用的CMU的SNMP協(xié)議棧是非線程安全的,而我們的上層應用是基于多線程的,因此,我們在對其進行封裝的過程中一個重要的任務就是使其線程安全,目前我們采取的方法是采用事件機制,每個SNMP原子命令執(zhí)行前,都調用系統(tǒng)的同步機制函數(shù)等待一個事件對象mm_hSnmpEvent的觸發(fā)。
3.3框架層和應用層
針對網(wǎng)管系統(tǒng)這個特定的應用領域,我們抽取出一些公共的軟件框架,這些程序框架統(tǒng)稱為框架層。所有具體的管理應用都應該基于這個框架層提供的全部或者部分框架來開發(fā)。在具體的應用中,我們通過框架導出的API進行二次開發(fā),如圖1所示??蚣軐臃譃楣卜展δ?、公共應用功能、工作站功能和網(wǎng)元中介功能四個部分。公共服務功能提供網(wǎng)管系統(tǒng)所公有的,和具體網(wǎng)元無關的服務功能,如安全、日志等。和網(wǎng)元相關的管理功能,如告警、性能、配置等,抽取其中的公共部分稱為公共應用功能。工作站功能實現(xiàn)客戶端GUI的展現(xiàn)功能,并提供圖形控件。網(wǎng)元中介功能實現(xiàn)網(wǎng)管系統(tǒng)和網(wǎng)元之間的接口轉換和適配功能。
應用層就是在平臺框架層的基礎上,提供具體的管理應用功能,如配置管理、性能管理、故障管理、安全管理等。這些功能都是可以拆卸的,應用在使用統(tǒng)一網(wǎng)絡管理平臺的時候,可以根據(jù)自己的具體需要來選擇需要裝載那些管理功能。
4結束語
本文介紹了針對網(wǎng)元層的基于SNMP的網(wǎng)絡管理框架,該框架是在Windows平臺上利用VisualC++開發(fā)出來的,實現(xiàn)了在一個統(tǒng)一平臺上對各種網(wǎng)元進行管理,具有良好的靈活性和可擴展性。通過對各網(wǎng)元進行集中管理,極大地提高了網(wǎng)絡管理的效率。但是本系統(tǒng)依賴于Windows平臺,在移植性上尚存諸多不足。目前,Java平臺在移植性上做得比較成功,但是對于電信級的網(wǎng)管平臺來說,其性能并不能滿足要求,與此同時,CORBA應用日益成熟,C++領域高性能的分布式網(wǎng)絡框架ACE的異軍突起,為我們提供了跨平臺的最好選擇。我們可以用Java開發(fā)客戶端GUI,用ACE框架來實現(xiàn)服務器端的網(wǎng)管功能,用CORBA實現(xiàn)客戶端與服務器端的通信,從而真正實現(xiàn)高性能,可移植的網(wǎng)絡管理框架。
參考文獻
[1]ManiSubramanian.網(wǎng)絡管理-原理與實踐(影印版).北京:高等教育出版社,2001
[2]郭軍.網(wǎng)絡管理[M].北京:北京郵電大學出版社,2001
[3]賢道,安常青.網(wǎng)絡管理協(xié)議及應用開發(fā)[M].北京:清華大學出版社,1998
[4]DouglasMauro,KevinSchmidt.EssentialSNMP[M].O′Reilly&Associates,2001
[5]RFC1157.ASimpleNetworkManagementProtocol[S]
DesignandImplementationoftheUniformNetworkManagementSystemBasedonSNMP
(ComputerCenterofEastChinaNormalUniversity,ShangHai,200062)
Abstract:Afterthebriefintroductionofnetworkmanagement,thispaperdesignsandimplementstheuniformnetworkmanagementsystembasedonobject-orientedtechnology.