劉潤(rùn)苗,鮑建波,張志華,劉潤(rùn)青
(1.國(guó)電南瑞科技股份有限公司,江蘇 南京 210061;2.江蘇金智科技股份有限公司,江蘇 南京 211100)
隨著配電自動(dòng)化系統(tǒng)網(wǎng)絡(luò)的規(guī)模日益增大,使得網(wǎng)絡(luò)管理的難度也大大增加,面對(duì)多廠家、多設(shè)備型號(hào)等特點(diǎn),要實(shí)現(xiàn)網(wǎng)絡(luò)高效、合理地管理就必須使用統(tǒng)一的網(wǎng)絡(luò)管理協(xié)議進(jìn)行網(wǎng)絡(luò)設(shè)備的管理及監(jiān)視,SNMP是一套覆蓋服務(wù)、協(xié)議和管理信息庫(kù)的標(biāo)準(zhǔn),定義了管理站(NMS)與網(wǎng)絡(luò)設(shè)備(Agent)間交換管理信息的協(xié)議、管理信息的結(jié)構(gòu)框架、通用的管理信息庫(kù)(MIB),因其簡(jiǎn)單而有效的特點(diǎn)已經(jīng)在網(wǎng)絡(luò)管理中得到了廣泛的應(yīng)用。
在配電自動(dòng)化系統(tǒng)中,計(jì)算機(jī)通信網(wǎng)絡(luò)是一個(gè)基礎(chǔ)性的平臺(tái)設(shè)施,在電力生產(chǎn)、系統(tǒng)管理等方面有著舉足輕重的作用,也是配電自動(dòng)化系統(tǒng)是否優(yōu)越的重要環(huán)節(jié),為配電自動(dòng)化系統(tǒng)的綜合管理提供有力支持和基本保證。近年來(lái),隨著國(guó)家建設(shè)堅(jiān)強(qiáng)智能電網(wǎng)的繼續(xù)推進(jìn),配電自動(dòng)化系統(tǒng)得到了快速的發(fā)展,日常業(yè)務(wù)對(duì)網(wǎng)絡(luò)的依賴性不斷增強(qiáng),網(wǎng)絡(luò)規(guī)模日益擴(kuò)大,但是對(duì)配電自動(dòng)化信息網(wǎng)的管理尚不完善,還有待進(jìn)一步提高,如何更加高效合理的管理和使用網(wǎng)絡(luò),保證系統(tǒng)的可靠運(yùn)行就顯得至關(guān)重要。
隨著配電自動(dòng)化建設(shè)的推進(jìn),配電自動(dòng)化網(wǎng)絡(luò)規(guī)模變得日益龐大,網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量成級(jí)數(shù)的增加,使得網(wǎng)絡(luò)管理人員管理網(wǎng)絡(luò)設(shè)備的難度大大增加,網(wǎng)絡(luò)管理人員如何及時(shí)監(jiān)控所有設(shè)備的狀態(tài)、發(fā)現(xiàn)并修復(fù)故障就成了必須解決的問(wèn)題;而且在復(fù)雜的網(wǎng)絡(luò)系統(tǒng)中,網(wǎng)絡(luò)設(shè)備可能來(lái)自多個(gè)設(shè)備廠家,眾多的設(shè)備廠家及不同的設(shè)備型號(hào)也增加了網(wǎng)絡(luò)管理的難度。因此,所有設(shè)備必須提供給管理者統(tǒng)一的設(shè)備管理接口,方便對(duì)網(wǎng)絡(luò)設(shè)備的管理及維護(hù),所以,覆蓋服務(wù)、協(xié)議及管理信息庫(kù)的網(wǎng)絡(luò)管理協(xié)議對(duì)配電自動(dòng)化系統(tǒng)來(lái)說(shuō)就顯得尤為重要。
SNMP(Simple Network Management Protocol)是被廣泛接受并投入使用的工業(yè)標(biāo)準(zhǔn),它的目標(biāo)是保證管理信息在任意兩點(diǎn)中傳送,便于網(wǎng)絡(luò)管理員在網(wǎng)絡(luò)上的任何節(jié)點(diǎn)檢索信息,進(jìn)行修改,尋找故障;完成故障診斷,容量規(guī)劃和報(bào)告生成。它采用輪詢機(jī)制,提供最基本的功能集[1]。
SNMP是管理進(jìn)程(NMS)和代理進(jìn)程(Agent)之間的通信協(xié)議[2],它規(guī)定了在網(wǎng)絡(luò)環(huán)境中對(duì)設(shè)備進(jìn)行監(jiān)視和管理的標(biāo)準(zhǔn)化管理框架、通信的公共語(yǔ)言、相應(yīng)的安全和訪問(wèn)控制機(jī)制。
圖1 SNMP協(xié)議網(wǎng)絡(luò)架圖
SNMP協(xié)議網(wǎng)絡(luò)架構(gòu)如圖1所示,其主要由三個(gè)部分組成:管理站NMS、被管理站Agent和管理信息庫(kù)MIB[3]。
NMS是管理站,是利用SNMP協(xié)議對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行管理和監(jiān)視的系統(tǒng),被作為管理員與管理系統(tǒng)的接口。管理站可以是獨(dú)立的設(shè)備,也可以利用共享系統(tǒng)設(shè)備來(lái)實(shí)現(xiàn),即某個(gè)設(shè)備中執(zhí)行管理功能的應(yīng)用程序。NMS可以通過(guò)Set/Get指令修改/獲得代理Agent中的一個(gè)或者多個(gè)信息,也可以接收Agent主動(dòng)發(fā)送的Trap信息,以獲知被管理設(shè)備當(dāng)前的狀態(tài)。
Agent是被管理者,即代理站,是網(wǎng)絡(luò)設(shè)備中的應(yīng)用模塊,及裝備了SNMP平臺(tái)的被管理對(duì)象,用于維護(hù)被管理設(shè)備的信息數(shù)據(jù),接受來(lái)自管理站NMS的信息請(qǐng)求和動(dòng)作請(qǐng)求進(jìn)行應(yīng)答,把管理數(shù)據(jù)匯報(bào)給發(fā)送請(qǐng)求的NMS,同時(shí)隨機(jī)地為管理站報(bào)告一些重要的意外事件。Agent接收到NMS的請(qǐng)求信息后,完成查詢或修改操作,并把操作結(jié)果發(fā)送給NMS,完成響應(yīng)。同時(shí),當(dāng)設(shè)備發(fā)生故障或者其他事件的時(shí)候,Agent會(huì)主動(dòng)發(fā)送Trap信息給NMS[4],通知設(shè)備當(dāng)前的狀態(tài)變化。
MIB為管理信息庫(kù),是被管理對(duì)象的結(jié)合[5]。SNMP中每個(gè)被管理的資源都表示成對(duì)象,稱為被管理對(duì)象。MIB作為NMS和Agent之間的接口,它定義了每個(gè)被管理對(duì)象的名稱、訪問(wèn)權(quán)限、數(shù)據(jù)類型等屬性,通過(guò)這個(gè)接口,管理站可以讀取代理者中的信息,也可以通過(guò)修改變量值改變代理者處的配置,從而達(dá)到管理和監(jiān)控設(shè)備的目的。
在配電自動(dòng)化系統(tǒng)中使用SNMP協(xié)議進(jìn)行網(wǎng)絡(luò)管理時(shí),版本使用支持SNMPv1/SNMPv2c的net-snmp-5.2.1,在終端開發(fā)環(huán)境編譯生成Agent代理進(jìn)程后,只需要對(duì)代理Agent的配置文件snmpd.conf對(duì)相關(guān)信息進(jìn)行配置,啟動(dòng)Agent進(jìn)程即可。
SNMP傳輸協(xié)議的數(shù)據(jù)傳輸單元包括Get-request、Get-Next- Request、Get- Response、Set- Request 和 Trap[6],SNMP 協(xié)議中所有由管理站NMS到代理Agent的數(shù)據(jù)(Get/Set)均通過(guò)UDP端口161進(jìn)行傳輸,所有由代理Agent到管理站NMS的數(shù)據(jù)(Response/Trap)均由 UDP端口162進(jìn)行傳輸。其中 Get-request和Get-Next-Request是由SNMP管理站NMS發(fā)送給管理代理Agent的報(bào)文,用于請(qǐng)求檢索設(shè)備信息,代理以Get-Response作為響應(yīng);SNMP管理站NMS使用Set-Request對(duì)代理所在網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)遠(yuǎn)程設(shè)置的參數(shù)及修改,這些都通過(guò)對(duì)管理信息庫(kù)的讀寫操作實(shí)現(xiàn);而陷阱Trap是代理Agent主動(dòng)送出的非請(qǐng)求信息,用于向SNMP管理站NMS報(bào)告如設(shè)備啟動(dòng)、關(guān)閉和其他等異常事件的發(fā)生。
代理Agent在收到管理站NMS的報(bào)文后,首先按照ASN.1的基本編碼規(guī)則對(duì)收到的數(shù)據(jù)進(jìn)行解碼生成用內(nèi)部數(shù)據(jù)表示的報(bào)文,如果解碼正確,則進(jìn)行下一步的操作,否則分析結(jié)束;然后取出報(bào)文中的版本號(hào)與SNMP所支持的版本號(hào)進(jìn)行比較,如果比較一致,則進(jìn)行下一步的處理,否則分析過(guò)程結(jié)束;再將報(bào)文中的團(tuán)體名取出與本設(shè)備認(rèn)可的團(tuán)體名進(jìn)行比較,如果團(tuán)體名比較正確,則進(jìn)行下一步的操作,否則分析結(jié)束;最后再?gòu)尿?yàn)證通過(guò)的ASN.1對(duì)象中提取數(shù)據(jù)單元PDU,如果成功,則按照PDU生成一個(gè)回復(fù)報(bào)文,通過(guò)UDP端口162將報(bào)文回復(fù)給管理站NMS。
在配電終端中實(shí)現(xiàn)SNMP協(xié)議時(shí),配電終端作為代理Agent運(yùn)行以響應(yīng)管理站NMS的請(qǐng)求參數(shù)及設(shè)置參數(shù)指令,在配電終端成功嵌入代理Agent進(jìn)程后,只需要對(duì)其配置文件snmpd.conf進(jìn)行簡(jiǎn)單配置就可以實(shí)現(xiàn)簡(jiǎn)單的SNMP代理Agent功能,這里以管理站IP為192.168.10.77,代理站IP為192.168.10.15為例進(jìn)行說(shuō)明:
(1)首選是定義一個(gè)共同體名(community),這里是public,及可以訪問(wèn)這個(gè) public的用戶名(sec?name),這里是 mynetwork,Public相當(dāng)于用戶mynetwork的密碼:
# sec.name source community
com2secmynetwork 192.168.10.77 public
(2)定義一個(gè)組名(groupName)這里是MyROGroup,及組的安全級(jí)別,把MyRWGroup這個(gè)用戶加到這個(gè)組中:
# sec.model sec.name
group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork
group MyROGroup usm mynetwork
(3)定義一個(gè)可操作的范圍(view)名,?這里是 all,范圍是?.1,如下:
# incl/excl subtree mask
view all included .180
(4)定義notConfigUser這個(gè)組在all這個(gè)view范圍內(nèi)可做的操作,這時(shí)定義了MyROGroup組的成員可對(duì).1這個(gè)范圍做可讀可寫操作
# context sec.model sec.levelmatch read write notif
access MyRWGroup"" any noauth exact all all none
至此,一個(gè)簡(jiǎn)單的SNMP代理Agent配置就完成了,當(dāng)然,如果需要配置進(jìn)一步的信息,還可配置諸如syslocation、syscontact等選項(xiàng)。
SNMP測(cè)試環(huán)境的搭建需要一臺(tái)嵌入了SNMP代理進(jìn)程的配電終端和一臺(tái)作為管理站使用的設(shè)備,管理站一般是一個(gè)分立的設(shè)備,也可以利用共享系統(tǒng)實(shí)現(xiàn)。這里選擇一臺(tái)運(yùn)行了Windows XP系統(tǒng)的PC機(jī)作為管理站NMS使用,一臺(tái)運(yùn)行Linux系統(tǒng)的配電終端作為代理Agent進(jìn)行SNMP相關(guān)功能的測(cè)試。
Windows XP系統(tǒng)自帶了SNMP協(xié)議,在配置時(shí)值需要啟用相關(guān)功能即可。具體方法為:進(jìn)入“控制面板”→“添加或刪除程序”→“添加/刪除Windows組件”→“管理和監(jiān)視工具”,然后點(diǎn)擊下一步安裝即可完成SNMP功能的啟用。
首先將管理器NMS的IP地址設(shè)為192.168.10.77,代理A-gent(配電終端)IP地址設(shè)為192.16.10.15,在作為管理器的PC機(jī)命令提示符輸入snmpwalk指令即可從代理處獲取相應(yīng)的數(shù)據(jù),部分測(cè)試結(jié)果舉例如表1所示。
表1 NMS的部分測(cè)試結(jié)果
配電自動(dòng)化系統(tǒng)通信網(wǎng)絡(luò)建成后,隨著系統(tǒng)規(guī)模的不斷擴(kuò)大,需要對(duì)配電自動(dòng)化系統(tǒng)進(jìn)行不斷的優(yōu)化和維護(hù),以提高網(wǎng)絡(luò)性能,在配電終端實(shí)現(xiàn)對(duì)SNMP協(xié)議的支持后,可以采集和分析得到配電自動(dòng)化通信系統(tǒng)的平均速率、丟包率、差錯(cuò)率、吞吐量等性能數(shù)據(jù),從而進(jìn)一步掌握網(wǎng)絡(luò)資源的利用情況,并通過(guò)對(duì)各種性能參數(shù)的提取,反映網(wǎng)絡(luò)的實(shí)際運(yùn)行質(zhì)量,分析網(wǎng)絡(luò)資源的使用情況,維持網(wǎng)絡(luò)傳輸品質(zhì),保障網(wǎng)絡(luò)應(yīng)用系統(tǒng)與服務(wù)順暢運(yùn)行,
為網(wǎng)絡(luò)的優(yōu)化運(yùn)行及帶寬的調(diào)整提供決策支持。同時(shí)通過(guò)
SNMP網(wǎng)管協(xié)議對(duì)配電自動(dòng)化對(duì)網(wǎng)絡(luò)性能數(shù)據(jù)的監(jiān)測(cè)、收集、統(tǒng)計(jì)和分析等功能,為配電自動(dòng)化通信系統(tǒng)運(yùn)維管理人員進(jìn)行網(wǎng)絡(luò)的維護(hù)和優(yōu)化提供依據(jù)。
[1] 卓麗,徐釗,孫磊.網(wǎng)絡(luò)管理協(xié)議SNMP在千兆以太網(wǎng)交換機(jī)中的設(shè)計(jì)與實(shí)現(xiàn)[EB/OL].(2007-12-26)[2013-2-3].中國(guó)科技論文在線.http://www.paper.edu.cn/releasepaper/content/200712-740.
[2] 肖俊彥.基于SNMP可管理以太網(wǎng)交換機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:成都電子科技大學(xué),2004.
[3] 王博,劉強(qiáng),陳明,等.基于VC++和SNMP的網(wǎng)絡(luò)性管理的設(shè)計(jì)[EB/OL].(2009-12-17)[2013-2-5].中國(guó)科技論文在線.http://www.paper.edu.cn/releasepaper/content/200912-588.
[4] 王雁博.基于SNMP協(xié)議的網(wǎng)絡(luò)流量管理[J].西安文理學(xué)院學(xué)報(bào):自然科學(xué)版,2011,14(3):86 -89.
[5] 劉立勝.基于SNMP的Web網(wǎng)絡(luò)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].沈陽(yáng):東北大學(xué),2010.
[6] 步園明,徐釗.基于Linux的SNMP代理的設(shè)計(jì)與實(shí)現(xiàn)[EB/OL].(2008-06-25)[2013-2-5].中國(guó)科技論文在線,http://www.paper.edu.cn/releasepaper/content/200806-588.