當前位置:成語大全網 - 成語詞典 - 網絡管理的簡單協議

網絡管理的簡單協議

簡單網絡管理協議(SNMP)是最早提出的網絡管理協議之壹。SNMP已成為網絡管理領域中事實上的工業標準,並被廣泛支持和應用,大多數網絡管理系統和平臺都是基於SNMP的。

壹、 SNMP概述

SNMP的前身是簡單網關監控協議(SGMP),用來對通信線路進行管理。隨後,人們對SGMP進行了很大的修改,特別是加入了符合Internet定義的SMI和MIB:體系結構,改進後的協議就是著名的SNMP。SNMP的目標是管理互聯網Internet上眾多廠家生產的軟硬件平臺,因此SNMP受Internet標準網絡管理框架的影響也很大。SNMP已經出到第三個版本的協議,其功能較以前已經大大地加強和改進了。

SNMP的體系結構是圍繞著以下四個概念和目標進行設計的:保持管理代理(agent)的軟件成本盡可能低;最大限度地保持遠程管理的功能,以便充分利用Internet的網絡資源;體系結構必須有擴充的余地;保持SNMP的獨立性,不依賴於具體的計算機、網關和網絡傳輸協議。在最近的改進中,又加入了保證SNMP體系本身安全性的目標。

另外,SNMP中提供了四類管理操作:get操作用來提取特定的網絡管理信息;get-next操作通過遍歷活動來提供強大的管理信息提取能力;set操作用來對管理信息進行控制(修改、設置);trap操作用來報告重要的事件。

二、 SNMP管理控制框架與實現

1.SNMP管理控制框架

SNMP定義了管理進程(Manager)和管理代理(Agent)之間的關系,這個關系稱為***同體(Community)。描述***同體的語義是非常復雜的,但其句法卻很簡單。位於網絡管理工作站(運行管理進程)上和各網絡元素上利用SNMP相互通信對網絡進行管理的軟件統統稱為SNMP應用實體。若幹個應用實體和SNMP組合起來形成壹個***同體,不同的***同體之間用名字來區分,***同體的名字則必須符合Internet的層次結構命名規則,由無保留意義的字符串組成。此外,壹個SNMP應用實體可以加入多個***同體。

SNMP的應用實體對Internet管理信息庫中的管理對象進行操作。壹個SNMP應用實體可操作的管理對象子集稱為SNMP MIB授權範圍。SNMP應用實體對授權範圍內管理對象的訪問仍然還有進壹步的訪問控制限制,比如只讀、可讀寫等。SNMP體系結構中要求對每個***同體都規定其授權範圍及其對每個對象的訪問方式。記錄這些定義的文件稱為“***同體定義文件”。

SNMP的報文總是源自每個應用實體,報文中包括該應用實體所在的***同體的名字。這種報文在SNMP中稱為“有身份標誌的報文”,***同體名字是在管理進程和管理代理之間交換管理信息報文時使用的。管理信息報文中包括以下兩部分內容:

⑴***同體名,加上發送方的壹些標識信息(附加信息),用以驗證發送方確實是***同體中的成員,***同體實際上就是用來實現管理應用實體之間身份鑒別的;

⑵數據,這是兩個管理應用實體之間真正需要交換的信息。

在第三版本前的SNMP中只是實現了簡單的身份鑒別,接收方僅憑***同體名來判定收發雙方是否在同壹個***同體中,而前面提到的附加倍息尚未應用。接收方在驗明發送報文的管理代理或管理進程的身份後要對其訪問權限進行檢查。訪問權限檢查涉及到以下因素:

⑴壹個***同體內各成員可以對哪些對象進行讀寫等管理操作,這些可讀寫對象稱為該***同體的“授權對象”(在授權範圍內);

⑵***同體成員對授權範圍內每個對象定義了訪問模式:只讀或可讀寫;

⑶規定授權範圍內每個管理對象(類)可進行的操作(包括get,get-next,set和trap);

⑷管理信息庫(MIB)對每個對象的訪問方式限制(如MIB中可以規定哪些對象只能讀而不能寫等)。

管理代理通過上述預先定義的訪問模式和權限來決定***同體中其他成員要求的管理對象訪問(操作)是否允許。***同體概念同樣適用於轉換代理(Proxy Agent),只不過轉換代理中包含的對象主要是其他設備的內容。

2.SNMP實現方式為了提供遍歷管理信息庫的手段,SNMP在其MIB中采用了樹狀命名方法對每個管理對象實例命名。每個對象實例的名字都由對象類名字加上壹個後綴構成。對象類的名字是不會相互重復的,因而不同對象類的對象實例之間也少有重名的危險。

在***同體的定義中壹般要規定該***同體授權的管理對象範圍,相應地也就規定了哪些對象實例是該***同體的“管轄範圍”,據此,***同體的定義可以想象為壹個多叉樹,以詞典序提供了遍歷所有管理對象實例的手段。有了這個手段,SNMP就可以使用Get-next操作符,順序地從壹個對象找到下壹個對象。Get-next(Object-instance)操作返回的結果是壹個對象實例標識符及其相關信息,該對象實例在上面的多叉樹中緊排在指定標識符;Bject-instance對象的後面。這種手段的優點在於,即使不知道管理對象實例的具體名字,管理系統也能逐個地找到它,並提取到它的有關信息。遍歷所有管理對象的過程可以從第壹個對象實例開始(這個實例壹定要給出),然後逐次使用Get-next,直到返回壹個差錯(表示不存在的管理對象實例)結束(完成遍歷)。

由於信息是以表格形式(壹種數據結構)存放的,在SNMP的管理概念中,把所有表格都視為子樹,其中壹張表格(及其名字)是相應子樹的根節點,每個列是根下面的子節點,壹列中的每個行則是該列節點下面的子節點,並且是子樹的葉節點,如下圖所示。因此,按照前面的子樹遍歷思路,對表格的遍歷是先訪問第壹列的所有元素,再訪問第二列的所有元素……,直到最後壹個元素。若試圖得到最後壹個元素的“下壹個”元素,則返回差錯標記。