張 欽 張 星
【摘要】文章在介紹了TETRA數(shù)字集群網(wǎng)絡(luò)管理系統(tǒng)的邏輯模型之后,基于C/C++語(yǔ)言,使用AdventNet Agent Toolkit C Editon 6、Microsoft Visual Studio C++(2005)以及HP SNMP++開(kāi)發(fā)工具實(shí)現(xiàn)了TETRA數(shù)字集群網(wǎng)絡(luò)管理接口功能,并對(duì)接口的可用性和正確性進(jìn)行了測(cè)試。測(cè)試結(jié)果表明網(wǎng)絡(luò)管理接口能夠完成設(shè)計(jì)需求,可用于TETRA數(shù)字集群網(wǎng)絡(luò)管理系統(tǒng)的開(kāi)發(fā)。
【關(guān)鍵詞】TETRA數(shù)字集群網(wǎng)絡(luò)管理接口 SNMP Agent Manager
TETRA數(shù)字集群網(wǎng)絡(luò)管理接口是TETRA數(shù)字集群網(wǎng)絡(luò)管理系統(tǒng)開(kāi)發(fā)的基礎(chǔ),是TETRA數(shù)字集群系統(tǒng)的重要組成部分之一,負(fù)責(zé)提供管理工作站(Manager)與代理(Agent)和相關(guān)管理信息數(shù)據(jù)庫(kù)之間的連接和操作接口,從而使網(wǎng)絡(luò)管理人員能進(jìn)行網(wǎng)絡(luò)管理操作。
1 TETRA數(shù)字集群網(wǎng)絡(luò)管理系統(tǒng)
TETRA數(shù)字集群網(wǎng)絡(luò)管理系統(tǒng)由多個(gè)代理(Agent)、至少一個(gè)網(wǎng)絡(luò)管理器(Manager)(亦稱為管理工作站)、定義管理信息交換格式和過(guò)程的網(wǎng)絡(luò)管理協(xié)議以及管理信息庫(kù)(MIB,Manage Information Base)四個(gè)部分組成,其邏輯模型如圖1所示:

圖1網(wǎng)絡(luò)管理系統(tǒng)邏輯模型
通信網(wǎng)各子系統(tǒng)設(shè)備和子系統(tǒng)互連設(shè)備等所有被管理的網(wǎng)絡(luò)設(shè)備統(tǒng)稱為被管設(shè)備;駐留在這些被管設(shè)備中,配合網(wǎng)絡(luò)管理處理的實(shí)體稱為代理;管理處理實(shí)體稱為管理器或者管理工作站;管理工作站和代理之間通過(guò)交換相關(guān)管理信息實(shí)現(xiàn)網(wǎng)絡(luò)管理功能,這種管理信息的交換通過(guò)一種網(wǎng)絡(luò)管理協(xié)議實(shí)現(xiàn);管理信息分別儲(chǔ)存在被管設(shè)備和管理工作站上的管理信息庫(kù)中。
目前主流的網(wǎng)絡(luò)管理協(xié)議是SNMP(Simple Network Management Protocol,簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)和CMIP(Common Management Information Protocol,公共管理信息協(xié)議)。與CMIP相比,SNMP通用性更強(qiáng),實(shí)現(xiàn)更簡(jiǎn)單,對(duì)系統(tǒng)要求更低,在對(duì)設(shè)備造成更少負(fù)荷的同時(shí)能很好地實(shí)現(xiàn)大部分CMIP支持的網(wǎng)絡(luò)管理功能,更符合實(shí)際需要。因此,TETRA數(shù)字集群系統(tǒng)的網(wǎng)絡(luò)管理接口采用SNMP網(wǎng)絡(luò)管理協(xié)議。
2 TETRA數(shù)字集群網(wǎng)絡(luò)管理接口的功能
TETRA數(shù)字集群網(wǎng)絡(luò)管理接口參考TMN(Telecommu-
nicationManagement Network,電信管理網(wǎng))對(duì)電信管理網(wǎng)絡(luò)管理功能的建議,并結(jié)合TETRA數(shù)字集群系統(tǒng)實(shí)際的使用情況,支持下列六個(gè)管理功能模塊:
(1)用戶(組)和用戶終端管理模塊
該模塊提供管理人員管理系統(tǒng)用戶的工具模塊,包括創(chuàng)建、修改以及刪除系統(tǒng)數(shù)據(jù)庫(kù)中的用戶信息等多種功能。
(2)性能管理模塊
該模塊可對(duì)TETRA數(shù)字集群系統(tǒng)進(jìn)行性能測(cè)試、獲取測(cè)試數(shù)據(jù)以及根據(jù)測(cè)試數(shù)據(jù)進(jìn)行性能管理。
(3)故障管理模塊
該模塊可對(duì)TETRA數(shù)字集群系統(tǒng)中被管設(shè)備告警信息進(jìn)行處理,例如:過(guò)濾告警信息、對(duì)告警信息進(jìn)行分級(jí)以及顯示告警等。
(4)配置管理模塊
該模塊對(duì)系統(tǒng)設(shè)備和設(shè)施變化進(jìn)行管理,從網(wǎng)絡(luò)信息模型的角度看,是對(duì)管理對(duì)象的創(chuàng)建、修改以及刪除。
(5)業(yè)務(wù)信息管理模塊
該模塊支持收集和存儲(chǔ)系統(tǒng)業(yè)務(wù)數(shù)據(jù)功能及輸出業(yè)務(wù)數(shù)據(jù)功能。
(6)安全管理模塊
該模塊能夠支持管理網(wǎng)絡(luò)管理系統(tǒng)用戶的功能,保障網(wǎng)絡(luò)管理系統(tǒng)的接入安全和管理信息的安全。
3TETRA數(shù)字集群網(wǎng)絡(luò)管理接口的開(kāi)發(fā)
3.1開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)環(huán)境
C++語(yǔ)言是一種應(yīng)用較廣的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,使用它可以實(shí)現(xiàn)面向?qū)ο蟮某绦蛟O(shè)計(jì)。因此,選擇C/C++語(yǔ)言進(jìn)行網(wǎng)絡(luò)管理接口的開(kāi)發(fā)。
AdventNet Agent Toolkit C Edition是一個(gè)以ANSI C創(chuàng)建SNMP(SNMP v1、SNMP v2c以及SNMP v3)代理、TL1代理以及CLI代理的快速原型創(chuàng)建和開(kāi)發(fā)工具,提供了一個(gè)模塊化的平臺(tái)用于代理的創(chuàng)建。Visual Studio 2005是一個(gè)全面高效的專業(yè)開(kāi)發(fā)環(huán)境(適用于獨(dú)立或在小型團(tuán)隊(duì)中工作的開(kāi)發(fā)人員),用于構(gòu)建高性能、多層的Windows、Web以及移動(dòng)設(shè)備應(yīng)用程序。HP SNMP++開(kāi)發(fā)工具包是HP公司開(kāi)發(fā)的一套開(kāi)源的C++類,它為網(wǎng)絡(luò)管理應(yīng)用開(kāi)發(fā)者提供了SNMP的服務(wù)編程接口。因此,選擇AdventNet Agent Toolkit C Editon 6、Microsoft Visual Studio C++(2005)以及HP SNMP++開(kāi)發(fā)工具進(jìn)行網(wǎng)絡(luò)管理接口的開(kāi)發(fā)。
3.2Agent軟件的開(kāi)發(fā)
(1)Agent軟件功能和組件
結(jié)合TETRA數(shù)字集群網(wǎng)絡(luò)管理的需求,Agent軟件需要實(shí)現(xiàn)以下功能:
◆充分地支持SNMPv1、SNMPv2c以及SNMPv3;
◆對(duì)網(wǎng)絡(luò)和系統(tǒng)中的數(shù)據(jù)安全提供驗(yàn)證;
◆支持SNMPv3中的USM、VACM機(jī)制;
◆支持在代理中發(fā)送和過(guò)濾陷阱;
◆滿足TETRA數(shù)字集群系統(tǒng)管理功能對(duì)設(shè)備的管理和監(jiān)視的需求;
◆內(nèi)嵌于TETRA數(shù)字集群系統(tǒng)設(shè)備協(xié)議棧程序,與協(xié)議棧保持良好的互操作性和兼容性;
◆與物理設(shè)備之間保持良好的互操作性和兼容性。
根據(jù)RFC2271提出的標(biāo)準(zhǔn)SNMP實(shí)體框架,一般的Agent軟件功能組件之間的關(guān)系如圖2所示。
1)傳輸提供模塊
該模塊主要完成管理工作站和代理之間的網(wǎng)絡(luò)層通信功能。Agent軟件能夠支持UDP/IP或者TCP/IP傳輸協(xié)議。
2)安全模塊
該模塊主要負(fù)責(zé)MIB數(shù)據(jù)操作安全和Agent接入安全,分為安全子模塊和訪問(wèn)控制子模塊兩個(gè)部分。

圖2 Agent軟件功能組件之間的關(guān)系
3)消息處理模塊
當(dāng)接收到來(lái)自安全模塊的消息時(shí),該模塊根據(jù)接收到的SNMP消息中的版本信息,將SNMP消息分配到相應(yīng)版本的消息處理子模塊中,各消息處理子模塊對(duì)SNMP消息進(jìn)行分析處理;當(dāng)接收到來(lái)自MIB應(yīng)用模塊的消息時(shí),該模塊根據(jù)發(fā)送目標(biāo)管理器所支持的不同版本的SNMP,將MIB信息發(fā)送到各版本對(duì)應(yīng)的消息處理子模塊中進(jìn)行封裝后發(fā)送。
4)MIB應(yīng)用模塊
該模塊含有公開(kāi)的、由代理存儲(chǔ)的、與應(yīng)用程序和設(shè)備相關(guān)的管理信息,能夠?qū)崿F(xiàn)代理與被管應(yīng)用程序和設(shè)備之間的通信。來(lái)自于應(yīng)用程序或者設(shè)備檢索的信息將發(fā)送到消息處理模塊。
(2)Agent軟件的開(kāi)發(fā)流程
由于AdventNet Agent Toolkit C Edition 6支持對(duì)SNMP v1、SNMP v2c以及SNMP v3的代理開(kāi)發(fā),所以Agent軟件使用AdventNet Agent Toolkit C Edition 6進(jìn)行開(kāi)發(fā)。圖3示出了Agent軟件的開(kāi)發(fā)流程:

圖3 Agent軟件開(kāi)發(fā)流程
1)定義和編輯MIB
設(shè)計(jì)和定義Agent軟件中可進(jìn)行管理和檢測(cè)的設(shè)備參數(shù)和狀態(tài)變量,需要按照ASN.1語(yǔ)法定義、編輯生成標(biāo)準(zhǔn)的MIB文件、設(shè)計(jì)數(shù)據(jù)布局以及數(shù)據(jù)類型。通過(guò)MibEditor工具完成這個(gè)步驟。
2)生成源代碼
在代理編譯器中,加載標(biāo)準(zhǔn)MIB文件并生成代碼,生成的代碼能夠提供基本的SNMP代理框架。通過(guò)AgentComplier工具完成這個(gè)步驟。
3)添加功能代碼
在已經(jīng)生成的基本SNMP代理框架中,根據(jù)具體需求對(duì)框架代碼進(jìn)行修改,進(jìn)而完成Agent的完整功能。
4)合并協(xié)議棧程序
將Agent軟件工程和TETRA數(shù)字集群系統(tǒng)協(xié)議棧軟件工程合并至同一個(gè)工程。通過(guò)TAU G2軟件,將已生成的SNMP代理框架和修改完成的功能代碼與TETRA數(shù)字集群系統(tǒng)協(xié)議棧軟件工程進(jìn)行合并,最終生成支持SNMP代理的協(xié)議棧軟件。
5)測(cè)試Agent軟件功能
使用MIB瀏覽器測(cè)試所開(kāi)發(fā)的Agent軟件的代理功能。
6)打包和部署
對(duì)所開(kāi)發(fā)的SNMP代理進(jìn)行包裝并部署到目標(biāo)環(huán)境。
3.3Manager接口的開(kāi)發(fā)
(1)Manager接口功能
Manager軟件是位于管理工作站的功能實(shí)體,是網(wǎng)絡(luò)管理系統(tǒng)用戶和被管設(shè)備之間通信的工具,主要完成對(duì)網(wǎng)絡(luò)狀態(tài)的監(jiān)視、告警信息處理以及網(wǎng)絡(luò)設(shè)備性能控制等管理行為。Manager接口需要提供發(fā)送管理指令、處理Agent端返回SNMP協(xié)議響應(yīng)、Trap、同級(jí)Manager發(fā)送的通知以及網(wǎng)絡(luò)管理數(shù)據(jù)庫(kù)讀取操作等管理行為的基本操作功能,從而實(shí)現(xiàn)Manager軟件的管理功能。其主要實(shí)現(xiàn)以下功能:
◆充分地支持SNMPv1、SNMPv2c以及SNMPv3;
◆SNMP數(shù)據(jù)結(jié)構(gòu)和C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換功能;
◆向Agent端發(fā)送SNMP協(xié)議并能接收返回的協(xié)議響應(yīng);
◆接收Agent端發(fā)送的Trap數(shù)據(jù)包和同級(jí)Manager端發(fā)送的通知數(shù)據(jù)包;
◆支持對(duì)網(wǎng)絡(luò)管理數(shù)據(jù)庫(kù)進(jìn)行添加、查詢、刪除以及修改等操作;
◆支持對(duì)HLR數(shù)據(jù)庫(kù)進(jìn)行添加、查詢、刪除以及修改等操作;
◆實(shí)現(xiàn)TETRA數(shù)字集群系統(tǒng)用戶信息進(jìn)行有效的添加、查詢、刪除以及修改功能;
◆實(shí)現(xiàn)協(xié)議棧軟件對(duì)相關(guān)數(shù)據(jù)庫(kù)表的接入。
(2)Manager接口的開(kāi)發(fā)
根據(jù)Manager軟件互連對(duì)象的不同,Manager接口開(kāi)發(fā)分為下列幾個(gè)部分:
◆Manager與網(wǎng)絡(luò)管理數(shù)據(jù)庫(kù)互連的數(shù)據(jù)庫(kù)操作接口;
◆Manager與HLR數(shù)據(jù)庫(kù)互連的數(shù)據(jù)庫(kù)操作接口和用戶信息操作接口;
◆Manager與Agent互連的SNMP協(xié)議操作接口。
4TETRA數(shù)字集群網(wǎng)絡(luò)管理接口的測(cè)試
根據(jù)測(cè)試對(duì)象和測(cè)試方法,測(cè)試內(nèi)容可分為兩個(gè)部分:Agent軟件測(cè)試和Manager端接口測(cè)試。利用AdventNet Agent Toolkit C Editon6配套的MIB Browser工具進(jìn)行Agent軟件測(cè)試,其測(cè)試過(guò)程如圖4所示。通過(guò)設(shè)計(jì)一套用于測(cè)試接口的TETRA網(wǎng)絡(luò)管理工作站軟件,并通過(guò)Microsoft Visual Studio C++的調(diào)試工具對(duì)上述內(nèi)容進(jìn)行Manager端接口測(cè)試,其測(cè)試過(guò)程如圖5所示。

圖4 Agent軟件的測(cè)試過(guò)程

圖5 Manager端接口的測(cè)試過(guò)程
通過(guò)對(duì)測(cè)試結(jié)果進(jìn)行分析,可以得出以下結(jié)論:
Agent的啟動(dòng)Trap攜帶信息正常,Agent的Trap發(fā)送機(jī)制正常,Agent端對(duì)sndcpVersion參數(shù)的操作處理正確,Manage端SNMP_GET、SNMP_SET和SNMP_INFORM_ LISTENER接口正常,SNMP++錯(cuò)誤信息返回正確,協(xié)議棧軟件可收到來(lái)自Agent的修改sndcpVersion參數(shù)的信號(hào),并做出正確處理。
5 結(jié)束語(yǔ)
隨著我國(guó)TETRA數(shù)字集群系統(tǒng)的開(kāi)發(fā),開(kāi)發(fā)與TETRA數(shù)字集群通信網(wǎng)相匹配的先進(jìn)的網(wǎng)絡(luò)管理系統(tǒng),能夠確保通信網(wǎng)為用戶提供高效可靠的通信服務(wù)。本文所給出的TETRA數(shù)字集群網(wǎng)絡(luò)管理接口開(kāi)發(fā)方法,可為數(shù)字集群網(wǎng)管系統(tǒng)的開(kāi)發(fā)提供參考。
參考文獻(xiàn)
[1]ITU-T Rec.M.3000(10/94). Overview of TMN Recommendations [S]. 1994.10.
[2]鄭祖輝,陸錦華,鄭嵐,等. 數(shù)字集群移動(dòng)通信系統(tǒng)(第二版)[M]. 北京: 電子工業(yè)出版社,2005.
[3]MSDN. 微軟Visual Studio2005開(kāi)發(fā)工具路線圖詳解[EB/OL]. [2005-11-11] http://www.pconline.com.cn/pcedu/empolder/gj/vc/0511/720853.html.★
【作者簡(jiǎn)介】
張欽:北京交通大學(xué)博士后,主要研究方向?yàn)閷I(yè)移動(dòng)通信系統(tǒng)及信號(hào)處理技術(shù)。
張星:北京交通大學(xué)副教授,主要從事現(xiàn)代通信原理和交換技術(shù)的教學(xué)和科研工作。