譚小波,李 冬
(沈陽(yáng)理工大學(xué) 信息科學(xué)與工程學(xué)院,遼寧 沈陽(yáng) 110159)
嵌入式SNMP網(wǎng)管代理系統(tǒng)的研究
譚小波,李 冬
(沈陽(yáng)理工大學(xué) 信息科學(xué)與工程學(xué)院,遼寧 沈陽(yáng) 110159)
針對(duì)OmniStar有線電視網(wǎng)絡(luò)設(shè)備僅支持本地監(jiān)控,難以滿足遠(yuǎn)程網(wǎng)絡(luò)管理的需求,在硬件方面設(shè)計(jì)了以ARM-S3C2416為基礎(chǔ)的、具備15路串口的網(wǎng)管代理服務(wù)器;在軟件方面設(shè)計(jì)了支持SNMP協(xié)議與設(shè)備專(zhuān)有協(xié)議之間轉(zhuǎn)換的網(wǎng)管代理軟件。網(wǎng)管代理服務(wù)器采用串并行相結(jié)合的方式,最多管理75臺(tái)設(shè)備,降低了網(wǎng)絡(luò)管理的成本。網(wǎng)管代理軟件實(shí)現(xiàn)了OmniStar設(shè)備的集中遠(yuǎn)程管理,減輕了網(wǎng)管工作人員的負(fù)擔(dān)。
有線電視網(wǎng)絡(luò);網(wǎng)絡(luò)管理;網(wǎng)管代理;SNMP
網(wǎng)絡(luò)管理是對(duì)網(wǎng)絡(luò)中包括軟件、硬件和人力的綜合、使用以及協(xié)調(diào),以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)資源的監(jiān)督、組合和控制[1]。隨著有線電視網(wǎng)絡(luò)技術(shù)的快速發(fā)展及業(yè)務(wù)規(guī)模的不斷擴(kuò)大,建立一個(gè)科學(xué)有效的網(wǎng)管系統(tǒng),實(shí)現(xiàn)所有有線電視網(wǎng)絡(luò)設(shè)備的集中管理,提高網(wǎng)絡(luò)運(yùn)營(yíng)的可靠性與服務(wù)質(zhì)量,成為有線電視網(wǎng)絡(luò)管理研究的重點(diǎn)[2]。
SNMP(Simple Network Management Protocol )協(xié)議以其簡(jiǎn)單、實(shí)用的特點(diǎn)成為網(wǎng)絡(luò)管理事實(shí)上的標(biāo)準(zhǔn)協(xié)議[3]。目前大部分網(wǎng)絡(luò)設(shè)備都支持SNMP協(xié)議的網(wǎng)絡(luò)管理[4-6]。然而仍然有部分有線電視設(shè)備不支持SNMP協(xié)議,因此針對(duì)不支持SNMP協(xié)議的有線電視設(shè)備,設(shè)計(jì)支持SNMP協(xié)議的代理轉(zhuǎn)換器,使其能夠融入到網(wǎng)管系統(tǒng)中,實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備的集中管理。
GI公司的OmniStar光纖寬帶高密度傳輸平臺(tái)是為將來(lái)的寬帶混合光纖/同軸網(wǎng)絡(luò)(HFC接入技術(shù))設(shè)計(jì)的一種光纖傳輸平臺(tái)。前端監(jiān)控軟件HCS通過(guò)串口監(jiān)控管理平臺(tái),即通過(guò)串行總線對(duì)OmniStar平臺(tái)參數(shù)變量信息和告警信息通過(guò)A/D轉(zhuǎn)換組成數(shù)據(jù)幀,返回給前端監(jiān)控軟件,達(dá)到管理平臺(tái)的目的。在這種管理模式下每臺(tái)PC只能對(duì)一臺(tái)OmniStar設(shè)備進(jìn)行本地監(jiān)控,極大地增加了管理成本和工作人員的負(fù)擔(dān)。
本文針對(duì)OmniStar設(shè)備只支持串口通信的本地監(jiān)控,難以滿足遠(yuǎn)程網(wǎng)絡(luò)管理的需求,在硬件方面設(shè)計(jì)了以ARM-S3C2416為基礎(chǔ)的、具備15路串口的網(wǎng)管代理服務(wù)器。該代理服務(wù)器采用串并行相結(jié)合的方式最多管理75臺(tái)設(shè)備,一個(gè)機(jī)房只需要配備一臺(tái)代理服務(wù)器和一臺(tái)PC,降低了網(wǎng)絡(luò)管理的成本。在軟件方面設(shè)計(jì)了支持SNMP協(xié)議與設(shè)備專(zhuān)有協(xié)議之間轉(zhuǎn)換的網(wǎng)管代理軟件,實(shí)現(xiàn)了OmniStar設(shè)備的遠(yuǎn)程管理,減輕了網(wǎng)管工作人員的負(fù)擔(dān)。測(cè)試結(jié)果表明,本嵌入式網(wǎng)管代理系統(tǒng)能夠解析來(lái)自管理端的網(wǎng)管請(qǐng)求,通過(guò)協(xié)議轉(zhuǎn)換向OmniStar光傳輸平臺(tái)發(fā)送串口通信指令,進(jìn)行實(shí)時(shí)數(shù)據(jù)采集和參數(shù)配置,并將采集的數(shù)據(jù)封裝成SNMP應(yīng)答報(bào)文,提交給管理端,實(shí)現(xiàn)了OmniStar設(shè)備的遠(yuǎn)程監(jiān)控管理。
本網(wǎng)管代理硬件的設(shè)計(jì)不僅要盡量滿足各種功能要求,還需要考慮到系統(tǒng)的整體性能、封裝尺寸、數(shù)據(jù)傳輸速率、器件間干擾大小等諸多因素,并且確保系統(tǒng)的安全和穩(wěn)定運(yùn)行。根據(jù)網(wǎng)管代理系統(tǒng)的實(shí)際需求,并基于機(jī)房中通常放有60~70臺(tái)OmniStar設(shè)備,考慮到整個(gè)系統(tǒng)的成本和所占空間大小等問(wèn)題,用一個(gè)ARM處理器管理機(jī)房中所有設(shè)備。如果單純采用S3C2416原有的四個(gè)串口,其中一個(gè)串口用于本地管理,剩余三個(gè)串口管理設(shè)備,則每個(gè)串口下需要級(jí)聯(lián)20~30臺(tái)的設(shè)備,這就大大加劇了數(shù)據(jù)的提取和輪詢的緩慢程度。因此,考慮到數(shù)據(jù)輪詢和傳輸速度等問(wèn)題,設(shè)計(jì)了基于S3C2416的15路串口網(wǎng)管代理服務(wù)器設(shè)備,其設(shè)計(jì)如圖1所示。
圖1 網(wǎng)管代理服務(wù)器硬件設(shè)計(jì)
網(wǎng)管代理服務(wù)器除具有網(wǎng)管代理硬件組成的電源、DDR2、Nand Flash、復(fù)位芯片和Interface接口外,網(wǎng)管代理服務(wù)器把ARM-S3C2416的四路串口經(jīng)與RS-485擴(kuò)展為15路串口,其中一個(gè)串口為CONSOLE口,這樣每路串口下串聯(lián)5臺(tái)OmniStar平臺(tái),最多可實(shí)現(xiàn)管理75臺(tái)設(shè)備,滿足系統(tǒng)需求,并降低了成本、節(jié)省了空間。
根據(jù)具體設(shè)計(jì)圖設(shè)計(jì)了如圖2所示的網(wǎng)管代理服務(wù)器。網(wǎng)管代理服務(wù)器的總體形態(tài)采用目前已經(jīng)成熟的19英寸1U機(jī)箱,內(nèi)部結(jié)構(gòu)分為電源模塊、Motherboard、CPU Core Board、Front Panel。
圖2 網(wǎng)管代理服務(wù)器實(shí)物圖
在基于開(kāi)源開(kāi)發(fā)包AGENT++和SNMP++的基礎(chǔ)上,設(shè)計(jì)了網(wǎng)管代理系統(tǒng),實(shí)現(xiàn)了信息參數(shù)輪詢模塊、DB模塊和Agent代理模塊。圖3為網(wǎng)管代理系統(tǒng)的總體設(shè)計(jì)圖。
圖3 網(wǎng)管代理軟件總體設(shè)計(jì)圖
從圖3可以看出,網(wǎng)管代理系統(tǒng)支持多個(gè)管理站同時(shí)對(duì)網(wǎng)管代理進(jìn)行實(shí)時(shí)監(jiān)控;參數(shù)輪詢模塊通過(guò)串口通信進(jìn)程與OmniStar設(shè)備之間進(jìn)行串口通信,得到網(wǎng)管代理服務(wù)器下所有級(jí)聯(lián)機(jī)架數(shù)據(jù),并把機(jī)架數(shù)據(jù)寫(xiě)入DB中,若在輪詢過(guò)程中發(fā)現(xiàn)告警則直接通過(guò)Trap進(jìn)程發(fā)送給管理端;數(shù)據(jù)庫(kù)模塊主要負(fù)責(zé)存儲(chǔ)機(jī)架數(shù)據(jù),為Agent代理進(jìn)程提供數(shù)據(jù)支持;Agent代理模塊將數(shù)據(jù)庫(kù)提供的數(shù)據(jù)封裝為SNMP報(bào)文上傳給管理站,并能接受管理站信息對(duì)串口通信進(jìn)程相應(yīng)的參數(shù)進(jìn)行設(shè)值;CLI界面提供了對(duì)串口通信進(jìn)程的命令行界面管理;告警日志為T(mén)rap進(jìn)程發(fā)送告警進(jìn)行記錄。
2.1 信息參數(shù)輪詢模塊
信息參數(shù)輪詢模塊也稱(chēng)參數(shù)輪詢,主要負(fù)責(zé)輪詢?cè)O(shè)備數(shù)據(jù)以及查找告警信息。當(dāng)代理進(jìn)程啟動(dòng)后,參數(shù)輪詢對(duì)串口進(jìn)程下的所有機(jī)架進(jìn)行輪詢,并把輪詢得到的數(shù)據(jù)存儲(chǔ)到內(nèi)存DB中,若發(fā)現(xiàn)告警信息則直接通過(guò)Trap進(jìn)程發(fā)送到管理端。圖4為信息參數(shù)輪詢模塊查詢和設(shè)置信息流程圖。
圖4 參數(shù)輪詢模塊流程圖
從圖4中可以看出,參數(shù)輪詢模塊接收來(lái)自AGENT代理模塊的請(qǐng)求時(shí),首先進(jìn)行初始化操作(包塊串口參數(shù)的設(shè)置、信號(hào)量的初始化、多進(jìn)程的同步互斥和與OmniStar平臺(tái)的握手操作等)。建立通信關(guān)系成功后,判斷AGENT模塊發(fā)出的請(qǐng)求,AGENT模塊的請(qǐng)求有兩種,分別為查詢請(qǐng)求和設(shè)置請(qǐng)求。若為查詢請(qǐng)求,則將查詢請(qǐng)求封裝成串口查詢指令并傳遞給串口通信部分。串口通信將查詢指令發(fā)送給OmniStar設(shè)備,設(shè)備接收到查詢指令后返回相應(yīng)的返回指令,通過(guò)指令解析把返回指令中的數(shù)據(jù)部分解析出來(lái)存到DB中, DB將數(shù)據(jù)信息提交給MIB庫(kù)。這樣,管理端就可以通過(guò)對(duì)MIB庫(kù)的查看查詢數(shù)據(jù)信息。若串口通信失敗則重新封裝指令繼續(xù)發(fā)送。若為設(shè)置請(qǐng)求,則將設(shè)置請(qǐng)求封裝成串口設(shè)置指令并傳遞給串口通信部分。串口通信將設(shè)置指令發(fā)送給OmniStar設(shè)備,接收到返回指令后,更新DB的相應(yīng)設(shè)值信息,最后將設(shè)值成功返回給AGENT代理。若失敗則重新封裝指令繼續(xù)發(fā)送。
2.2 DB模塊
DB模塊主要負(fù)責(zé)保存所有設(shè)備的數(shù)據(jù)信息,采用內(nèi)存DB的方式。內(nèi)存DB是在嵌入式內(nèi)核開(kāi)辟的內(nèi)存,這樣使數(shù)據(jù)的讀寫(xiě)速度提高了幾個(gè)數(shù)量級(jí)。DB模塊也實(shí)現(xiàn)了MIB庫(kù)設(shè)計(jì)。MIB 是網(wǎng)絡(luò)管理系統(tǒng)中的重要構(gòu)件,它由系統(tǒng)內(nèi)的許多被管對(duì)象及其屬性組成。MIB實(shí)際上是一個(gè)虛擬數(shù)據(jù)庫(kù)。這個(gè)數(shù)據(jù)庫(kù)提供相關(guān)被管理網(wǎng)絡(luò)元素的信息,而這些信息由管理進(jìn)程和各個(gè)代理進(jìn)程之間共享。
針對(duì)OmniStar設(shè)備進(jìn)行相應(yīng)的MIB設(shè)計(jì),MIB的根節(jié)點(diǎn)(1.3.6.1.4.1.11606)為企業(yè)節(jié)點(diǎn),其中公共信息系統(tǒng)節(jié)點(diǎn)(從1.3.6.1.4.1.11606.29.1開(kāi)始)定義為標(biāo)量對(duì)象,其它OmniStar設(shè)備模塊狀態(tài)參數(shù)被定義為表對(duì)象,MIB節(jié)點(diǎn)從1.3.6.1.4.1.11606.29.3到1.3.6.1.4.1.11606.29.10。
我靜下心來(lái)左思右想,突然想到以前我們都是一起吃漢堡的。3個(gè)人吃3個(gè)漢堡用了3分鐘,1個(gè)人吃1個(gè)漢堡也是3分鐘,那么9個(gè)人吃9個(gè)漢堡,也是3分鐘。我反反復(fù)復(fù)地想了幾遍,覺(jué)得應(yīng)該沒(méi)有問(wèn)題了,就把答案告訴了媽媽。媽媽點(diǎn)點(diǎn)頭笑了笑,夸我是個(gè)愛(ài)動(dòng)腦筋的孩子。
2.3 Agent代理模塊
Agent代理模塊既能通過(guò)DB得到所有機(jī)架的相關(guān)數(shù)據(jù)信息,并將其封裝為SNMP報(bào)文實(shí)時(shí)地提供給管理端,又能接受管理端的SET信息,對(duì)有修改權(quán)限的數(shù)值進(jìn)行設(shè)值操作。
根據(jù)SNMP網(wǎng)管協(xié)議的特點(diǎn),AGENT++開(kāi)發(fā)包提供了一套解析SNMP消息報(bào)文的處理過(guò)程,圖5為SNMP代理進(jìn)程的狀態(tài)轉(zhuǎn)換圖。
圖5 狀態(tài)轉(zhuǎn)換圖
(1)啟動(dòng)SNMP代理進(jìn)程,由close狀態(tài)轉(zhuǎn)換成listen狀態(tài);
(2)listen狀態(tài)監(jiān)聽(tīng)來(lái)自管理端的Request請(qǐng)求,并發(fā)送該請(qǐng)求;
(3)SNMP代理模塊將發(fā)送Request請(qǐng)求,并從listen狀態(tài)轉(zhuǎn)換成receive狀態(tài),由Request List類(lèi)捕獲管理端v1/v2C版本的SNMP Request,通過(guò)receive方法可以獲取SNMP請(qǐng)求的ID號(hào)、變量綁定的數(shù)量、SNMP協(xié)議的版本、管理端IP地址、端口號(hào)及安全認(rèn)證等,并發(fā)送OID;
(5)接收到參數(shù)后轉(zhuǎn)換成answer狀態(tài),并將相應(yīng)參數(shù)組裝成報(bào)文發(fā)送;向管理端發(fā)送完報(bào)文后轉(zhuǎn)換成finish狀態(tài),finish狀態(tài)主動(dòng)關(guān)閉進(jìn)程回到close狀態(tài)。
網(wǎng)管代理系統(tǒng)根據(jù)網(wǎng)管接口測(cè)試標(biāo)準(zhǔn)進(jìn)行測(cè)試,包括標(biāo)準(zhǔn)MIB變量的讀取和設(shè)置、告警信息的獲取以及代理系統(tǒng)響應(yīng)時(shí)間等測(cè)試。
表1 網(wǎng)管代理的取值響應(yīng)時(shí)間
系統(tǒng)的響應(yīng)時(shí)間主要分為網(wǎng)管代理的取值響應(yīng)時(shí)間和告警響應(yīng)時(shí)間。網(wǎng)管代理的取值響應(yīng)時(shí)間是指網(wǎng)管代理系統(tǒng)發(fā)送一次或多次GetRequest請(qǐng)求,然后由嵌入式網(wǎng)管代理返回響應(yīng)報(bào)文之間的時(shí)間間隔。表1為網(wǎng)管代理的部分響應(yīng)時(shí)間。
通過(guò)分析上表中各個(gè)模塊的所有數(shù)據(jù)響應(yīng)時(shí)間和全部模塊的響應(yīng)時(shí)間,以及對(duì)數(shù)據(jù)進(jìn)行逐漸增多而對(duì)響應(yīng)時(shí)間進(jìn)行測(cè)試,得到如圖6所示的關(guān)系,可以看出隨著數(shù)據(jù)的增多,響應(yīng)時(shí)間呈現(xiàn)逐漸增大的線性關(guān)系。
網(wǎng)管代理的告警響應(yīng)時(shí)間是OmniStar設(shè)備產(chǎn)生一個(gè)告警,在管理端接收到告警的響應(yīng)時(shí)間。圖7為手動(dòng)在OmniStar設(shè)備上制造的告警信息,主要分為插入模塊告警、拔掉模塊告警、接入串口連接告警和斷開(kāi)串口連接告警。
圖7 告警響應(yīng)時(shí)間
由圖7可以看出,Y軸為響應(yīng)時(shí)間,X軸為第N次測(cè)試。從圖中可以看出,插入模塊的響應(yīng)時(shí)間一般在5~20s之間,平均值為10s;拔掉模塊的響應(yīng)時(shí)間為5~8s之間,平均值為6.5s;接入串口連接的響應(yīng)時(shí)間為5s;斷開(kāi)串口連接的響應(yīng)時(shí)間為15s。從結(jié)果中得出告警類(lèi)型不同,告警的響應(yīng)時(shí)間也不同,經(jīng)大量測(cè)試取平均值的告警響應(yīng)時(shí)間大概為10s。
經(jīng)測(cè)試網(wǎng)管代理系統(tǒng)響應(yīng)時(shí)間符合網(wǎng)管代理軟件要求,根據(jù)系統(tǒng)響應(yīng)時(shí)間可以看出網(wǎng)管代理系統(tǒng)能夠快速發(fā)送數(shù)據(jù)信息和告警信息,保證了對(duì)OmniStar平臺(tái)實(shí)時(shí)的監(jiān)控和管理。
本文根據(jù)有線電視網(wǎng)絡(luò)設(shè)備的具體特點(diǎn)設(shè)計(jì)并實(shí)現(xiàn)了以ARM-S3C2416為基礎(chǔ)的網(wǎng)管代理服務(wù)器設(shè)備,網(wǎng)管代理服務(wù)器具有15路串口,采用串并行相結(jié)合的方式對(duì)多機(jī)架進(jìn)行級(jí)聯(lián),為OmniStar平臺(tái)的網(wǎng)管代理系統(tǒng)提供了硬件支持。
在基于開(kāi)源開(kāi)發(fā)包AGENT++和SNMP++的基礎(chǔ)上,設(shè)計(jì)了網(wǎng)管代理系統(tǒng),實(shí)現(xiàn)了信息參數(shù)輪詢模塊、DB模塊和Agent代理模塊。測(cè)試結(jié)果表明本嵌入式網(wǎng)管代理系統(tǒng)滿足了OmniStar設(shè)備的遠(yuǎn)程集中管理需求。
[1]胡成松,汪凱澤.SNMP網(wǎng)絡(luò)管理[M].北京:中國(guó)電力出版社,2001:59-65.
[2]張會(huì)生.有線電視工程設(shè)計(jì)與新技術(shù)應(yīng)用[M].北京:科學(xué)出版社,2006:65-73.
[3]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,2005:45-57.
[4]楊家海,任沖.網(wǎng)絡(luò)管理原理與實(shí)現(xiàn)技術(shù)[M].北京:清華大學(xué)出版社,2000:43-61.
[5]William Stalling.SNMP網(wǎng)絡(luò)管理[M].胡成松等譯.北京:中國(guó)電力出版社,2001:42-68.
[6]Fu Guoqiang,Yang Wanpeng.Research on scheme of intelligent network management [J].Journal of Xi′an University of Engineering Science and Technology,2005,(19):89-92.
[7]G.Kramer,G.Pesavento.Ethernet Passive Optical Network (EPON):Building a Next-Generation Optical Access Network[J].IEEE Communications,2002,40(2):66-73.
(責(zé)任編輯:馬金發(fā))
Research on Embedded SNMP Network Management Agent
TAN Xiaobo,LI Dong
(Shenyang Ligong University,Shenyang 110159,China)
It is difficult for OmniStar cable TV network equipment to meet the needs of remote network management because it only supports local monitoring.So the network proxy server is designed with 15 serial ports based on ARM-S3C2416in terms of hardware and the network management agent supporting conversion between SNMP protocol and device proprietary protocol in terms of software.Adopting the method of combining series connection and parallel connection,network proxy server and managing OmniStar equipments up to 75,the network management cost is reduced.Network management agent is used to realize centralized remote management for OmniStar equipment,which reduces the management burden on staff.
cable television network;network management;network management agent;SNMP
2014-07-01
遼寧省優(yōu)秀人才計(jì)劃基金資助項(xiàng)目(LR201034)
譚小波(1977—),男,副教授,博士,研究方向:網(wǎng)絡(luò)管理,嵌入式技術(shù).
1003-1251(2015)03-0005-05
TP393.07
A