檢視原始碼 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。