簡單網絡管理協(xié)議(SNMP)

字號:

作為一名網絡顧問或網絡管理員,在你安裝完網絡并且設置了用戶帳號與應用程序之后,你的工作并沒有完成。你的下一個職責就是網絡管理,它就好比是一場永遠也不會結束的戰(zhàn)斗一樣。
    目前存在著兩種類型的網絡管理問題:一種是與軟件相關的,例如數據安全性和存取許可;另一種是與硬件相關的問題。這里注重討論第二種,即通過使用簡單網絡管理協(xié)議(SNMP)和在處理與軟件相關的管理問題時所用到的一些思想,把網絡硬件作為一個整體進行管理。
    介紹SNMP的英文網站很多,但相關的中文網站寥寥無幾,這正是鄙人設立本站的初衷所在。這里將從基本原理著手,介紹到底什么是 SNMP,并引導新手如何親自動手實踐。在不久的將來我將給出LINUX和SOLARIS上基于X WINDOWS的簡單發(fā)布和源碼。
    1.什么是網絡管理?
    網絡管理分為兩類。第一類是網絡應用程序、用戶帳號(例如文件的使用)和存取權限(許可)的管理。它們都是與軟件有關的網絡管理問題。這里不作討論。
    網絡管理的第二類是由構成網絡的硬件所組成。這一類包括工作站、服務器、網卡、路由器、網橋和集線器等等。通常情況下這些設備都離你所在的地方很遠。正是由于這個原因,如果當設備有問題發(fā)生時網絡管理員可以自動地被通知的話,那么一切事情都好辦。但是你的路由器不會象你的用戶那樣,當有一個應用程序問題發(fā)生時就可以打電話通知你,而當路由器擁擠時它并不能夠通知你。
    為了解決這個問題,廠商們已經在一些設備中設立了網絡管理的功能,這樣你就可以遠程地詢問它們的狀態(tài),同樣能夠讓它們在有一種特定類型的事件發(fā)生時能夠向你發(fā)出警告。這些設備通常被稱為"智能"設備。
    網絡管理通常被分為四類:
    當設計和構造網絡管理的基礎結構時,你需要記住下列兩條網絡管理的原則:
    1.由于管理信息而帶來的通信量不應明顯的增加網絡的通信量。
    2.被管理設備上的協(xié)議代理不應明顯得增加系統(tǒng)處理的額外開銷,以致 于該設備的主要功能都被削弱了。
    2.什么是SNMP?
    簡單網絡管理協(xié)議(SNMP)首先是由Internet工程任務組織(Internet Engineering Task Force)(IETF)的研究小組為了解決Internet上的路由器管理問題而提出的。許多人認為 SNMP在IP上運行的原因是Internet運行的是TCP/IP協(xié)議,然而事實并不是這樣。
    SNMP被設計成與協(xié)議無關,所以它可以在IP,IPX,AppleTalk,OSI以及其他用到的傳輸協(xié)議上被使用。
    SNMP是一系列協(xié)議組和規(guī)范(見下表),它們提供了一種從網絡上的設備中收集網絡管理信息的方法。SNMP也為設備向網絡管理工作站報告問題和錯誤提供了一種方法。
    名字 說明
    MIB 管理信息庫
    SMI 管理信息的結構和標識
    SNMP 簡單網絡管理協(xié)議
    從被管理設備中收集數據有兩種方法:一種是只輪詢(polling-only)的方法,另一種是基于中斷(interrupt-based)的方法。
    如果你只使用只輪詢的方法,那么網絡管理工作站總是在控制之下。而這種方法的缺陷在于信息的實時性,尤其是錯誤的實時性。你多久輪詢一次,并且在輪詢時按照什么樣的設備順序呢?如果輪詢間隔太小,那么將產生太多不必要的通信量。如果輪詢間隔太大,并且在輪詢時順序不對,那么關于一些大的災難性的事件的通知又會太饅。這就違背了積極主動的網絡管理目的。
    當有異常事件發(fā)生時,基于中斷的方法可以立即通知網絡管理工作站(在這里假設該設備還沒有崩潰,并且在被管理設備和管理工作站之間仍有一條可用的通信途徑)。然而,這種方法也不是沒有他的缺陷的,首先,產生錯誤或自陷需要系統(tǒng)資源。如果自陷必須轉發(fā)大量的信息,那么被管理設備可能不得不消耗更多的時間和系統(tǒng)資源來產生自陷,從而影響了它執(zhí)行主要的功能(違背了網絡管理的原則2)。
    而且,如果幾個同類型的自陷事件接連發(fā)生,那么大量網絡帶寬可能將被相同的信息所占用(違背了網絡管理的原則1)。尤其是如果自陷是關于網絡擁擠問題的時候,事情就會變得特別糟糕??朔@一缺陷的一種方法就是對于被管理設備來說,應當設置關于什么時候報告問題的閾值(threshold)。但不幸的是這種方法可能再一次違背了網絡管理的原則2,因為設備必須消耗更多的時間和系統(tǒng)資源,來決定一個自陷是否應該被產生。
    結果,以上兩種方法的結合:面向自陷的輪詢方法(trap-directed polling)可能是執(zhí)行網絡管理最為有效的方法了。一般來說,網絡管理工作站輪詢在被管理設備中的代理來收集數據,并且在控制臺上用數字或圖形的表示方式來顯示這些數據。這就允許網絡管理員分析和管理設備以及網絡通信量了。
    被管理設備中的代理可以在任何時候向網絡管理工作站報告錯誤情況,例如預制定閾值越界程度等等。代理并不需要等到管理工作站為獲得這些錯誤情況而輪詢他的時候才會報告。這些錯誤情況就是眾所周知的SNMP自陷(trap)。