隨著網絡技術的發展和網絡應用的深入,網絡的復雜性在不斷增長,對網絡設備管理的要求也日益增加。網絡的復雜性,使得被管理的設備在系統中不是集中的,而是分散的。管理這樣分散、復雜的系統,必須依靠網絡設備管理系統。一個典型的網絡設備管理系統包括4個組成部分:管理器、管理代理、管理信息數據庫和受托代理。一般說來,前3個部分是必需的,第4個根據需要選擇使用。
在網絡設備管理系統中,管理器協助網絡管理員完成管理整個網絡的工作。網絡管理軟件要求管理代理定期收集重要的設備信息,這些信息將用于確定網絡設備和網絡整體運行狀態是否正常。管理器應該定期查詢管理代理收集到的設備運轉狀態、配置及性能等方面的信息。
管理代理(Agent)是一種特殊的軟件或固件,包含了一個特定設備及該設備所處環境的信息。當一個管理代理被安裝到一個設備上時,這個設備就被列為“被管理的”。管理代理可以獲得所駐留設備的運轉狀態、設備特性和系統配置等相關信息。它就像是每個被管理設備的經紀人,完成管理器布置的信息采集任務。管理代理行使管理系統與管理代理所駐留設備的中介職能,通過管理信息數據庫(MIB)中的內容來管理該設備。管理信息數據庫中所包含的數據,隨被安裝設備的不同而不同。
安裝在網絡管理工作站上的管理器,向管理代理收集設備信息時有輪詢和中斷兩種方法。網絡管理工作站可以通過輪詢管理代理獲得關于設備的信息,可以修改、增加或者刪除代理中的表項,可以為設備中特定的事件設置閾值。當設備中發生某個閩值超過設定范圍的異常事件時,管理代理可以立即向網絡管理工作站發送自陷信息,通過基于中斷的方法通知網絡管理工作站進行處理。
在一些特殊情況下,一個特定設備可能因為系統資源的缺乏,或者因為該設備不支持管理代理所需要的傳輸協議,而不能實現管理代理。這時可以使用受托代理(Proxy agent)。受托代理不在被管理的網絡設備上運行,而是在另一臺設備上運行。受托代理把它接收到的網絡管理工作站命令,翻譯成被托管設備所支持的管理命令。因此,受托代理發揮著應用程序網關的作用,在標準網絡設備管理器軟件和不直接支持該標準協議的系統之間充當橋梁。
管理器和管理代理在通過網絡進行通信時,必須遵循特定的協議。使用最普遍的協議是簡單網絡管理協議(SNMP,Simple Network Management Protocol)。它是一個應用層協議,屬于TCP/IP協議族的一部分。SNMP協議目前有兩個版本:SNMP v1和SNMP v2。這兩個版本有一些共同特性,但SNMP v2提供了一些加強的功能。另外一個版本SNMP v3的標準化也在進行當中。SNMPv3的重點是安全、可管理的體系結構和遠程配置。
SNMP是分布式的管理協議,一個系統可以只作為SNMP管理器或SNMP代理中的單一角色,也可以同時完成這兩者的功能。如果一個系統既作為管理器,又作為代理的話,此時可能需要另外一臺管理器,用它來查詢被管理的設備,并提供信息的匯總等。
SNMP不是一種面向連接的協議,它通過使用請求報文和返回響應的方式,在SNMP代理和管理器之間傳送信息。這種機制減輕了SNMP代理的負擔,提供了一種獨有的方式來處理可靠性和故障檢測方面的問題。SNMP協議還定義了數據包的格式,以及網絡管理器和管理代理之間的信息交換,對管理代理的MIB數據對象進行控制,可用于處理管理代理定義的各種任務。
目前SNMP協議中的身份驗證方式被認為不夠安全,主要原因是SNMP協議并不提供加密功能,也不保證在SNMP數據包交換過程中不能從網絡中直接拷貝信息。只需使用一個數據包捕獲工具就可把整個SNMP數據包解密。因此存在著許多安全方面的漏洞。很容易產生包括欺騙、修改信息、信息隊列及信息泄漏等安全問題。