|
SNMP即簡單網(wǎng)絡(luò)管理協(xié)議。在1998年8月首次定義,很快就在RFC1157中達到正式標(biāo)準(zhǔn)。 SNMP是NMS和代理之間的異步請求和響應(yīng)協(xié)議。NMS能夠發(fā)出三個含有不同協(xié)議數(shù)據(jù)單元(PDU)報文。這三個PDU是提取請求Getrequest-PDU,提取下一個請求GetNextRequest-PDU和設(shè)置請求SetRequest-PDU報文。代理只能發(fā)出兩個不同的報文:一個是對來自NMS請求作出應(yīng)答的GetRequest-PDU報文,另一個陷阱Trop-PDU報文,是代理發(fā)現(xiàn)預(yù)定義異常事件發(fā)生時主動發(fā)出的。 利用SNMP協(xié)議,對網(wǎng)絡(luò)設(shè)備狀態(tài)的監(jiān)視主要通過查詢代理MIB中相應(yīng)對象的值來完成。代理也會發(fā)出一些陷阱來引導(dǎo)NMS的查詢以及及時查詢。這種風(fēng)行的SNMP設(shè)計方案稱為陷阱引導(dǎo)查詢。 SNMP通過交換SNMP協(xié)議報文來互通管理信息。每個報文都是完整的和獨立的,用UDP運輸服務(wù)的單個數(shù)據(jù)報傳送。每個報文都含有版本標(biāo)志、SNMP共同體名和PDU。 版本標(biāo)志是NMS和代理都知道的常量,用于實現(xiàn)版本控制。在SNMP中,沒有版本仲裁。如果NMS或代理接收到含有非法的或不支持的版本號的報文,則該消息被丟棄。在第一版里,版本字段的值總是0,而在SNMPv2中,該值必須是1。 SNMP共同體名是一個字符串,代表由特定NMS和代理組成的管理組。共同體的成員之間采用一種很簡單的口令方案來鑒別身份。通信中的NMS和代理采用的這種未加密的、平常文字構(gòu)成的共同體名來實現(xiàn)的簡單方法被稱為瑣細鑒別方案。對SNMPv1而言,這是唯一的安全措施。共同體名是一個8位字節(jié)串,"Public"通常是配置時默認(rèn)共同體名。 肆 1. SNMP基本原理 SNMP采用了Client/Server模型的特殊形式:代理/管理站模型。對網(wǎng)絡(luò)的管理與維護是通過管理工作站與SNMP代理間的交互工作完成的。每個SNMP從代理負責(zé)回答SNMP管理工作站(主代理)關(guān)于MIB定義信息的各種查詢。
SNMP代理和管理站通過SNMP協(xié)議中的標(biāo)準(zhǔn)消息進行通信,每個消息都是一個單獨的數(shù)據(jù)報。SNMP使用UDP(用戶數(shù)據(jù)報協(xié)議)作為第四層協(xié)議(傳輸協(xié)議),進行無連接操作。SNMP消息報文包含兩個部分:SNMP報頭和協(xié)議數(shù)據(jù)單元PDU。
版本識別符(version identifier):確保SNMP代理使用相同的協(xié)議,每個SNMP代理都直接拋棄與自己協(xié)議版本不同的數(shù)據(jù)報。 團體名(Community Name):用于SNMP從代理對SNMP管理站進行認(rèn)證;如果網(wǎng)絡(luò)配置成要求驗證時,SNMP從代理將對團體名和管理站的IP地址進行認(rèn)證,如果失敗,SNMP從代理將向管理站發(fā)送一個認(rèn)證失敗的Trap消息(見后); 協(xié)議數(shù)據(jù)單元(PDU):其中PDU指明了SNMP的消息類型及其相關(guān)參數(shù)。
2. 管理信息庫MIB IETF規(guī)定的管理信息庫MIB(由中定義了可訪問的網(wǎng)絡(luò)設(shè)備及其屬性,由對象識別符(OID:Object Identifier)唯一指定。MIB是一個樹形結(jié)構(gòu),SNMP協(xié)議消息通過遍歷MIB樹形目錄中的節(jié)點來訪問網(wǎng)絡(luò)中的設(shè)備。 3.SNMP的五種消息類型 SNMP中定義了五種消息類型:Get-Request、Get-Response、Get-Next-Request、Set-Request、Trap。
Get-Request 、Get-Next-Request與Get-Response SNMP管理站用Get-Request消息從擁有SNMP代理的網(wǎng)絡(luò)設(shè)備中檢索信息,而SNMP代理則用Get-Response消息響應(yīng)。Get-Next-Request用于和Get-Request組合起來查詢特定的表對象中的列元素。 首先通過下面的原語獲得所要查詢的設(shè)備的接口
{iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifNumber(2) }
然后再通過下面的原語,進行查詢(其中第一次用Get-Request,其后用Get-Next-Request):
{iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifTable(2) }
Set-Request
SNMP管理站用Set-Request 可以對網(wǎng)絡(luò)設(shè)備進行遠程配置(包括設(shè)備名、設(shè)備屬性、刪除設(shè)備或使某一個設(shè)備屬性有效/無效等)。
Trap
SNMP代理使用Trap向SNMP管理站發(fā)送非請求消息,一般用于描述某一事件的發(fā)生。
嵌入式SNMP代理機的介紹及開發(fā)流程
管理互聯(lián)網(wǎng)的標(biāo)準(zhǔn)協(xié)議稱為簡單網(wǎng)絡(luò)管理協(xié)議(Simple Network Management Protocol,簡稱 SNMP ),是被廣泛接受并投入使用的工業(yè)標(biāo)準(zhǔn),它的目標(biāo)是保證管理信息在任意兩點中傳送,便于網(wǎng)絡(luò)管理員在網(wǎng)絡(luò)上的任何節(jié)點檢索信息,進行修改,尋找故障,完成故障診斷,容量規(guī)劃和報告生成。它采用輪詢機制,提供最基本的功能集。最適合小型、快速和低價格的環(huán)境使用。它只要求無證實的傳輸層協(xié)議UDP,受到許多產(chǎn)品的廣泛支持。據(jù)不完全統(tǒng)計國外的通信產(chǎn)品幾乎100%支持SNMP網(wǎng)管協(xié)議,而國內(nèi)目前通信產(chǎn)品的網(wǎng)管模式還局限于串口網(wǎng)管,或者基于自定義網(wǎng)管協(xié)議的以太口網(wǎng)管,這根國外產(chǎn)品的網(wǎng)管水平還有很大的差距。 對于設(shè)備的使用者和管理者來說,設(shè)備支持了SNMP協(xié)議就可以使用如HP OpenView或IBM NetView這樣的統(tǒng)一網(wǎng)管平臺來統(tǒng)一管理設(shè)備,而不需要為每種設(shè)備專門配備網(wǎng)管工作站和網(wǎng)管員,節(jié)約了人力和物力成本。對于設(shè)備生產(chǎn)者來說,設(shè)備支持了SNMP協(xié)議就擁有了統(tǒng)一網(wǎng)管的通行證,設(shè)備生產(chǎn)商只需要關(guān)注產(chǎn)品本身的細節(jié)而不必為上位機網(wǎng)管軟件的界面和管理方式而投入更多的人力和物力。 中新創(chuàng)科多年來一直致力于嵌入式網(wǎng)絡(luò)產(chǎn)品的研發(fā),提供了數(shù)以萬計串口設(shè)備的網(wǎng)絡(luò)化解決之道。DNE-1 和DNE-18兩種嵌入式模塊可以快速的完成串口網(wǎng)管協(xié)議到以太口SNMP協(xié)議的代理和轉(zhuǎn)換功能。任何有串口網(wǎng)管協(xié)議的設(shè)備嵌入DNE-1或DNE-18就立刻擁有了SNMP網(wǎng)管功能。中新創(chuàng)科的嵌入式軟件工程師會根據(jù)您的產(chǎn)品目前的網(wǎng)管協(xié)議和您的需求為您確定需管理參數(shù)的OID、屬性和定義;確定哪些異常情況需要以Trap形式上報;定制MIB文件并改寫DNE-1的SNMP代理程序,標(biāo)準(zhǔn)的開發(fā)流程如下: 1. 設(shè)備廠商提供串口通信協(xié)議,中新創(chuàng)科工程師評估協(xié)議及產(chǎn)品 2. 雙方工程師溝通,確定最終需求,擬定MIB文件 3. 簽訂合作開發(fā)協(xié)議,設(shè)備廠商提供測試樣機 4. 2-4周后中新創(chuàng)科提供SNMP測試代理機 5. 定型后的升級修改服務(wù) 以上開發(fā)流程設(shè)備廠商可派工程師全程參加,中新創(chuàng)科負責(zé)培訓(xùn)相關(guān)知識。 所以,您只需提供串口通信協(xié)議,剩下的交給我們做。
 以上的拓撲為加上我公司的嵌入式串口轉(zhuǎn)以太網(wǎng)板(DNE-1)來通過以太網(wǎng)進行網(wǎng)管的示例。其中關(guān)鍵在于上位機如:計算機A或計算機B對下端要監(jiān)控的設(shè)備直接用目前電信網(wǎng)中普遍應(yīng)用的以太網(wǎng)網(wǎng)管方式來監(jiān)控,而您只需將原來的232網(wǎng)管接口升級為以太網(wǎng)接口即可直接融入客戶已有的網(wǎng)管系統(tǒng)中。針對設(shè)備開發(fā)的上層管理軟件也只需改為winsock,我們提供winsock編程示例,必要的話我們也可提供軟件開發(fā)支持。 |
|