檢視原始碼 SNMP 簡介
SNMP 開發工具組包含以下部分
- 一個可擴展的多語言 SNMP 代理程式,它理解 SNMPv1 (RFC1157)、SNMPv2c (RFC1901, 1905, 1906 和 1907)、SNMPv3 (RFC2271, 2272, 2273, 2274 和 2275) 或這些協定的任何組合。
- 一個多語言 SNMP 管理器。
- 一個 MIB 編譯器,它理解 SMIv1 (RFC1155, 1212 和 1215) 和 SMIv2 (RFC1902, 1903 和 1904)。
SNMP 開發工具提供了一個快速代理程式/管理器原型設計和建構的環境。有了以下資訊,此工具用於設定一個正在運行的多語言 SNMP 代理程式/管理器
- 以抽象語法表示法一 (ASN.1) 描述的管理資訊庫 (MIB)
- MIB 中受管理物件的檢測函數,以 Erlang 編寫。
使用可擴展(代理程式/管理器)工具組的優點是從程式設計師那裡移除諸如型別檢查、存取權限、協定資料單元 (PDU)、編碼、解碼和陷阱分發等細節,程式設計師只需要編寫實現 MIB 的檢測函數。 get-next
函數只需針對表格實作,而不是針對全域命名樹中的每個變數實作。此資訊可以從 ASN.1 檔案推導出來。
範圍與目的
本手冊描述了 SNMP 開發工具,作為 Erlang/Open Telecom Platform 開發環境的一個元件。假設讀者熟悉 Erlang 開發環境,這在單獨的使用者指南中描述。
先決條件
理解 SNMP 使用者指南中的材料需要以下先決條件
- 簡單網路管理協定版本 1 (SNMPv1) 的基礎知識
- 基於社群的簡單網路管理協定版本 2 (SNMPv2c) 的基礎知識
- 簡單網路管理協定版本 3 (SNMPv3) 的基礎知識
- 使用 SMIv1 和 SMIv2 定義 MIB 的知識
- 熟悉 Erlang 系統和 Erlang 程式設計
該工具需要 Erlang 4.7 或更高版本。
定義
以下定義用於 SNMP 使用者指南。
MIB - 管理資訊的概念儲存庫稱為管理資訊庫 (MIB)。它不保存任何資料,僅僅是定義可以存取哪些資料。MIB 的定義是對受管理物件集合的描述。
SMI - MIB 以抽象語法表示法一 (ASN.1) 語言的改編子集指定。此改編子集稱為管理資訊結構 (SMI)。
ASN.1 - ASN.1 在 SNMP 中以兩種不同的方式使用。SMI 基於 ASN.1,且協定中的訊息是使用 ASN.1 定義的。
受管理物件 - 要管理的資源由受管理物件表示,該物件駐留在 MIB 中。在 SNMP MIB 中,受管理物件可以是
- 純量變數,每個上下文只有一個實例。它們具有單個值,而不是像向量或結構那樣的多個值。
- 表格,可以動態增長。
- 表格元素,是一種特殊的純量變數。
操作 - SNMP 依賴於三個基本操作:get (物件)、set (物件, 值) 和 get-next (物件)。
檢測函數 - 每個受管理物件都關聯一個檢測函數。這是實際實作操作的函數,當代理程式從管理站收到請求時,將被代理程式呼叫。
管理器 - 管理器產生命令並接收來自代理程式的通知。系統中通常只有少數管理器。
代理程式 - 代理程式回應來自管理器的命令,並將通知傳送給管理器。系統中可能有許多代理程式。
關於本手冊
除了本簡介章節外,SNMP 使用者指南還包含以下章節
- 第 2 章:「功能描述」描述了 SNMP 開發工具組的功能和操作。它包括關於子代理程式和 MIB 載入、內部 MIB 和陷阱的主題。
- 第 3 章:「MIB 編譯器」描述了 MIB 編譯器的功能和操作。
- 第 4 章:「執行應用程式」描述如何啟動和配置應用程式。還包括關於如何除錯應用程式的主題。
- 第 5 章:「代理程式配置檔案的定義」是一個參考章節,其中包含關於代理程式配置檔案的更詳細資訊。
- 第 6 章:「管理器配置檔案的定義」是一個參考章節,其中包含關於管理器配置檔案的更詳細資訊。
- 第 7 章:「代理程式實作範例」描述如何使用 SNMP 開發工具組實作 MIB。包括實作範例。
- 第 8 章:「檢測函數」描述如何在 Erlang 中針對不同的操作定義檢測函數。
- 第 9 章:「檢測函數的定義」是一個參考章節,其中包含關於檢測函數的更詳細資訊。
- 第 10 章:「代理程式網路介面定義」是一個參考章節,詳細描述了代理程式網路介面函數。
- 第 11 章:「管理器網路介面定義」是一個參考章節,詳細描述了管理器網路介面函數。
- 第 12 章:「進階代理程式主題」描述了子代理程式、代理程式語意、稽核追蹤記錄和分散式表格的考慮。
- 附錄 A 描述了將 SNMPv2 錯誤訊息轉換為 SNMPv1 錯誤訊息。
- 附錄 B 包含關於
RowStatus
的 RFC1903 文字。
哪裡可以找到更多資訊
請參閱以下文件,以取得有關 SNMP 和 Erlang/OTP 開發系統的更多資訊
- Marshall T. Rose (1991), "The Simple Book - An Introduction to Internet Management", Prentice-Hall
- Evan McGinnis 和 David Perkins (1997), "Understanding SNMP MIBs", Prentice-Hall
- RFC1155、1157、1212 和 1215 (SNMPv1)
- RFC1901-1907 (SNMPv2c)
- RFC1908、2089 (SNMPv1 和 SNMPv2 之間的共存)
- RFC2271、RFC2273 (SNMP 標準 MIB)
- Mnesia 使用者指南
- Erlang 4.4 擴充功能使用者指南
- 參考手冊
- Erlang 嵌入式系統使用者指南
- 系統架構支援函式庫 (SASL) 使用者指南
- 安裝指南
- Asn1 使用者指南
- Concurrent Programming in Erlang, 2nd Edition (1996), Prentice-Hall, ISBN 0-13-508301-X。