曹 聰 劉治國 張德育
(1、沈陽理工大學(xué)通信與網(wǎng)絡(luò)工程中心,遼寧 沈陽 1101592、大連大學(xué)通信與網(wǎng)絡(luò)重點(diǎn)實(shí)驗(yàn)室,遼寧 大連 116000)
應(yīng)急通信網(wǎng)絡(luò)是應(yīng)付緊急情況臨時(shí)搭建的通信系統(tǒng),該網(wǎng)絡(luò)是一個(gè)易受攻擊的系統(tǒng),可能受到惡劣的外界環(huán)境、強(qiáng)干擾等多種因素的影響,這些都使網(wǎng)絡(luò)中的軟硬件資源故障發(fā)生率居高不下。因此需要引入監(jiān)控系統(tǒng)對其軟硬件資源進(jìn)行實(shí)時(shí)監(jiān)控管理,數(shù)據(jù)采集作為監(jiān)控系統(tǒng)的基本功能,采集的方式將直接影響到通信網(wǎng)絡(luò)的整體性能??紤]應(yīng)急通信網(wǎng)絡(luò)具有小型化、節(jié)能、可移動性、簡單易操作等特點(diǎn),數(shù)據(jù)采集系統(tǒng)應(yīng)采用當(dāng)前流行的嵌入式系統(tǒng)結(jié)構(gòu)。嵌入式系統(tǒng)本身集成CPU、內(nèi)存、FLASH、網(wǎng)口、串口、PCI接口等硬件資源,數(shù)據(jù)的采集和處理工作主要通過嵌入式系統(tǒng)的資源完成,從而減少了應(yīng)急通信網(wǎng)絡(luò)資源的消耗。
系統(tǒng)的硬件結(jié)構(gòu)框圖如圖1所示,在硬件配置上以Intel公司的IXP425網(wǎng)絡(luò)處理器為核心,其內(nèi)部的SDRAM控制器與四片HY57V561620CTP-H芯片相連,構(gòu)成128M動態(tài)存儲空間;擴(kuò)展總線上連接了兩片JS28F128J3D75芯片組成32M的FLASH存儲空間,用來存放啟動代碼、操作系統(tǒng)、文件系統(tǒng)和數(shù)據(jù)采集程序;處理器的媒體獨(dú)立接口與一片LXT972C芯片相連,向外提供10/100M自適應(yīng)網(wǎng)絡(luò)接口。擴(kuò)展板上包含RJ45以太網(wǎng)接口、PCI接口、調(diào)試串口、通訊串口等,以太網(wǎng)接口與核心板LXT972C芯片相連,負(fù)責(zé)主機(jī)數(shù)據(jù)和網(wǎng)絡(luò)信息數(shù)據(jù)的傳輸;PCI接口與IXP425內(nèi)部的PCI總線相連,負(fù)責(zé)主機(jī)數(shù)據(jù)的傳輸和主機(jī)信息的采集;調(diào)試串口和通訊串口分別與IXP425內(nèi)部的兩個(gè)高速串行接口相連,調(diào)試串口主要用于接收和發(fā)送調(diào)試信息,通訊串口主要用來采集不支持PCI接口和網(wǎng)絡(luò)通訊的設(shè)備信息。
圖1 系統(tǒng)硬件結(jié)構(gòu)框圖
圖2 數(shù)據(jù)采集系統(tǒng)軟件結(jié)構(gòu)
本系統(tǒng)采用主動采集和被動采集相結(jié)合的采集方式,主動采集主要應(yīng)用簡單網(wǎng)絡(luò)管理協(xié)議(SNMP),而被動采集主要采用網(wǎng)絡(luò)探針和收集SNMP Trap報(bào)文的方法,具體的數(shù)據(jù)采集結(jié)構(gòu)如圖2所示。
SNMP協(xié)議是應(yīng)用層的通信協(xié)議,主要采用Client/Server架構(gòu),SNMP協(xié)議定義了數(shù)據(jù)包的格式,并且對外提供了用于控制管理信息庫(MIB)對象的基本操作命令。基于SNMP協(xié)議的數(shù)據(jù)采集,在實(shí)現(xiàn)上主要完成兩部分的設(shè)計(jì):管理者和管理代理。管理者運(yùn)行在嵌入式板卡端,負(fù)責(zé)構(gòu)造SNMP請求報(bào)文,與駐留在網(wǎng)絡(luò)結(jié)點(diǎn)中的代理(agent)交換信息,同時(shí)異步接收代理發(fā)送的Trap消息。而代理運(yùn)行在被監(jiān)控的網(wǎng)絡(luò)結(jié)點(diǎn)中,負(fù)責(zé)維護(hù)結(jié)點(diǎn)的狀態(tài)信息,接受管理者的查詢,而且當(dāng)結(jié)點(diǎn)發(fā)生特定的事件的時(shí)候,代理根據(jù)預(yù)先設(shè)定好的告警機(jī)制向管理者發(fā)送狀態(tài)改變Trap消息,目前網(wǎng)絡(luò)主機(jī)和網(wǎng)絡(luò)設(shè)備都提供了SNMP協(xié)議支持,而且可以根據(jù)監(jiān)控系統(tǒng)的需要對代理程序進(jìn)行擴(kuò)展。
圖3 主機(jī)與板卡硬件通信結(jié)構(gòu)
圖4 PCI板卡應(yīng)用示意圖
網(wǎng)絡(luò)探針是一種新興的數(shù)據(jù)采集技術(shù),它是對計(jì)算機(jī)接入網(wǎng)絡(luò)進(jìn)行控制的一種程序。主機(jī)與板卡之間底層硬件通信結(jié)構(gòu)如圖3所示,主機(jī)與板卡之間是利用PCI總線傳輸數(shù)據(jù)的,兩端的驅(qū)動程序采用網(wǎng)絡(luò)驅(qū)動模型。發(fā)送數(shù)據(jù)流程為:主機(jī)應(yīng)用程序調(diào)用板卡驅(qū)動程序?qū)?shù)據(jù)封裝成數(shù)據(jù)鏈路層數(shù)據(jù)幀的格式,之后調(diào)用PCI驅(qū)動程序?qū)?shù)據(jù)發(fā)送給板卡,板卡驅(qū)動程序接收到數(shù)據(jù)包之后判斷數(shù)據(jù)幀的目的地址,如果是板卡與主機(jī)的內(nèi)部通信地址,則傳送到板卡上層應(yīng)用程序進(jìn)行處理,如果是外網(wǎng)地址,則將數(shù)據(jù)幀的源地址改為板卡的有效地址將數(shù)據(jù)幀發(fā)送至外網(wǎng)。探針主要用來偵聽傳入的數(shù)據(jù)包,在板卡接收數(shù)據(jù)包的同時(shí)將數(shù)據(jù)包暫時(shí)緩存在板卡內(nèi)存中,再按照網(wǎng)絡(luò)協(xié)議的層次結(jié)構(gòu)對數(shù)據(jù)包逐層進(jìn)行分析,獲得當(dāng)前網(wǎng)絡(luò)運(yùn)行的狀態(tài)。
針對應(yīng)急通信網(wǎng)絡(luò)復(fù)雜的應(yīng)用環(huán)境,實(shí)際應(yīng)用中將板卡部署到應(yīng)急通信網(wǎng)絡(luò)的關(guān)鍵節(jié)點(diǎn)上,由監(jiān)控中心向板卡下達(dá)采集任務(wù),指定每個(gè)板卡需要監(jiān)控的節(jié)點(diǎn)和具體的監(jiān)控內(nèi)容,實(shí)際應(yīng)用如圖4所示。系統(tǒng)在設(shè)計(jì)時(shí)充分考慮到功能的擴(kuò)展,預(yù)留了多個(gè)擴(kuò)展接口,可以增加無線通信模塊,適應(yīng)無線通信數(shù)據(jù)采集的需求,對于不支持PCI接口和網(wǎng)絡(luò)接口的設(shè)備可以通過串口進(jìn)行數(shù)據(jù)采集。
本文根據(jù)應(yīng)急通信網(wǎng)絡(luò)實(shí)際應(yīng)用環(huán)境的特點(diǎn),設(shè)計(jì)了基于嵌入式技術(shù)的數(shù)據(jù)采集系統(tǒng)。在硬件設(shè)計(jì)上,以IXP425網(wǎng)絡(luò)處理器為核心,集成PCI接口、網(wǎng)絡(luò)接口、串口等多種通信接口用于數(shù)據(jù)采集。在軟件設(shè)計(jì)上,采用SNMP協(xié)議和網(wǎng)絡(luò)探針兩種采集方式進(jìn)行數(shù)據(jù)采集。系統(tǒng)開發(fā)完成后,在實(shí)際應(yīng)用環(huán)境中進(jìn)行了實(shí)驗(yàn),數(shù)據(jù)采集效果良好,達(dá)到了預(yù)期的應(yīng)用需求。
[1]王田苗.嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)[M].北京:北京航天航空大學(xué)出版社,2003.
[2]黃小珊,郝玉潔,劉乃琦.IXP425的體系結(jié)構(gòu)和并行處理技術(shù)研究[J].微計(jì)算機(jī)信息,2008,24(17).
[3]韓璐,張潔,包鐵等.基于SNMP的信息采集系統(tǒng)[J].吉林大學(xué)學(xué)報(bào)(理學(xué)版),2009,47(6):1225-1229.
[4]褚靈偉.分布式互聯(lián)網(wǎng)服務(wù)故障管理[D].北京:北京郵電大學(xué)博士學(xué)位論文,2009.