基于.NET技術(shù)實(shí)現的SNMP通信
2 SNMP通信的關(guān)鍵
2.1 數據類(lèi)型的規范定義
在基于SNMP通信的監控系統中,每個(gè)被管理設備都維護一個(gè)包含統計信息及其他數據的數據庫,被稱(chēng)作管理信息庫(Management Infor-mation Base,MIB)。每個(gè)MIB的每項都包含一個(gè)信息:對象類(lèi)型、語(yǔ)法、訪(fǎng)問(wèn)及狀態(tài)等。MIB中的各項內容由管理信息結構(Structure of Management Information,SMI)來(lái)定義,SMI為MIB提供了一個(gè)通用框架,同時(shí)規定了在MIB中使用時(shí)的數據類(lèi)型,即如何表示和命名MIB對象。一個(gè)對象類(lèi)型的命名明確代表一個(gè)對象,成為對象標識符。它是一個(gè)由圓點(diǎn)分隔的整數序列,這些對象標識符按照類(lèi)似DNS域名系統的樹(shù)狀結構來(lái)排列的,一個(gè)對象標識符(OID)唯一標識一個(gè)MIB對象。另外,MIB還要嚴格遵守ASN.1(Abstract Syntax Notation One,抽象語(yǔ)法標記)的語(yǔ)法格式,ASN.1提供了一套正規格式用來(lái)描述對象結構,而且不管對象數據的具體指代。
本文中最常用到的幾個(gè)數據的規范如表1所示。本文引用地址:http://dyxdggzs.com/article/155318.htm
.NET使用以上幾個(gè)函數完成基本的SNMP通信,首先,用RequestAsync函數建立SNMP請求,然后用sendToBegin函數發(fā)送此SNMP請求,同時(shí)管理代理端有監聽(tīng)函數,收到SNMP請求后會(huì )做出響應并給管理站返回需要的信息,此時(shí),管理站用ReceiveBegin函數接受返回來(lái)的信息。在此通信過(guò)程中有可能發(fā)生數據丟失,RetryAsyncRequest和Request函數就是為此而設計的重傳請求函數和重傳協(xié)議函數。
3 .NET技術(shù)實(shí)現
把UDP的Socket通信封裝好之后,運用.NET技術(shù)進(jìn)行具體的SNMP控制,下面以Get-Request操作和Set-Request操作為例子來(lái)演示.NET技術(shù)編程的快速、便捷。
評論