百科解釋
目錄·概論和基礎(chǔ)觀念·SNMP基本元件·SNMP架構(gòu)·SNMP協(xié)議·開發(fā)和使用·使用舉例 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP,Simple Network Management Protocol)構(gòu)成了互聯(lián)網(wǎng)工程工作小組(IETF,Internet Engineering Task Force)定義的internet協(xié)議簇的一部分。該協(xié)議能夠支持網(wǎng)絡(luò)管理系統(tǒng),用以監(jiān)測(cè)連接到網(wǎng)絡(luò)上的設(shè)備是否有任何引起管理上關(guān)注的情況。它由一組網(wǎng)絡(luò)管理的標(biāo)準(zhǔn)組成,包含一個(gè)應(yīng)用層協(xié)議(application layer protocol)、數(shù)據(jù)庫(kù)模型(database schema),和一組資料物件。 概論和基礎(chǔ)觀念 在典型的SNMP用法中,有許多系統(tǒng)被管理,而且是有一或多個(gè)系統(tǒng)在管理它們。每一個(gè)被管理的系統(tǒng)上有運(yùn)行一個(gè)叫做代理者(agent)的軟件元件,且透過(guò)SNMP對(duì)管理系統(tǒng)報(bào)告資訊。 基本上,SNMP代理者以變量呈現(xiàn)管理資料。管理系統(tǒng)透過(guò)GET,GETNEXT和GETBULK協(xié)定指令取回資訊,或是代理者在沒(méi)有被詢問(wèn)的情況下,使用TRAP或INFORM傳送資料。管理系統(tǒng)也可以傳送配置更新或控制的請(qǐng)求,透過(guò)SET協(xié)定指令達(dá)到主動(dòng)管理系統(tǒng)的目的。配置和控制指令只有當(dāng)網(wǎng)絡(luò)基本結(jié)構(gòu)需要改變的時(shí)候使用,而監(jiān)控指令則通常是常態(tài)性的工作。 可透過(guò)SNMP存取的變量以階層的方式結(jié)合。這些分層和其他元數(shù)據(jù)(例如變量的類型和描述)以管理信息庫(kù)(MIBs)的方式描述。 SNMP基本元件 一個(gè)SNMP管理的網(wǎng)絡(luò)由下列三個(gè)關(guān)鍵元件組成: 網(wǎng)絡(luò)管理系統(tǒng)(NMSs,Network-management systems) 被管理的設(shè)備(managed device) 代理者(agent) 一個(gè)網(wǎng)絡(luò)管理系統(tǒng)執(zhí)行應(yīng)用程式,以該應(yīng)用程式監(jiān)視并控制被管理的設(shè)備。也稱為管理實(shí)體(managing entity),網(wǎng)絡(luò)管理員在這兒與網(wǎng)絡(luò)裝置進(jìn)行互動(dòng)。網(wǎng)絡(luò)管理系統(tǒng)提供網(wǎng)絡(luò)管理需要的大量運(yùn)算和記憶資源。一個(gè)被管理的網(wǎng)絡(luò)可能存在一個(gè)以上的網(wǎng)絡(luò)管理系統(tǒng)。 一個(gè)被管理的設(shè)備是一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),它包含一個(gè)存在于被管理的網(wǎng)絡(luò)中的SNMP代理者。被管理的設(shè)備透過(guò)管理信息庫(kù)(MIB)收集并儲(chǔ)存管理資訊,并且讓網(wǎng)絡(luò)管理系統(tǒng)能夠透過(guò)SNMP代理者取得這項(xiàng)資訊。 代理者是一種存在于被管理的設(shè)備中的網(wǎng)絡(luò)管理軟件模組。代理者控制本地機(jī)器的管理資訊,以和SNMP相容的格式傳送這項(xiàng)資訊。 SNMP架構(gòu) 從體系結(jié)構(gòu)上來(lái)講,SNMP框架由主代理、子代理和管理站組成。 主代理 主代理是一個(gè)在可執(zhí)行SNMP的網(wǎng)絡(luò)元件上運(yùn)作的軟件,可回應(yīng)從管理站發(fā)出的SNMP要求。它的角色類似客戶端/服務(wù)器結(jié)構(gòu)術(shù)語(yǔ)中的服務(wù)器。主代理依賴子代理提供有關(guān)特定功能的管理資訊。 如果系統(tǒng)當(dāng)前擁有多個(gè)可管理的子系統(tǒng),主代理就會(huì)傳遞它從一個(gè)或多個(gè)子代理處收到的請(qǐng)求。這些子代理在一個(gè)子系統(tǒng)以及對(duì)那個(gè)子系統(tǒng)進(jìn)行監(jiān)測(cè)和管理操作的接口內(nèi)為關(guān)心的物件建模。主代理和子代理的角色可以合并,在這種情況下我們可以簡(jiǎn)單的稱之為代理(agent)。 子代理 子代理是一個(gè)在可執(zhí)行SNMP的網(wǎng)絡(luò)元件上運(yùn)作的軟件,執(zhí)行在特定子系統(tǒng)的特定管理信息庫(kù)(MIB,Management Information Base)中定義的資訊和管理功能。子代理的一些能力有: 蒐集主代理的資訊 配置主代理的參數(shù) 回應(yīng)管理者的要求 產(chǎn)生警告或陷阱 對(duì)協(xié)定和管理資訊結(jié)構(gòu)的良好分離使得使用SNMP來(lái)監(jiān)測(cè)和管理同一網(wǎng)絡(luò)內(nèi)上百的不同子系統(tǒng)非常簡(jiǎn)單。MIB模型運(yùn)行管理OSI參考模型的所有層,并可以擴(kuò)展至諸如數(shù)據(jù)庫(kù),電子郵件以及J2EE參考模型之類的應(yīng)用。 管理站 管理者或者管理站提供第三個(gè)元件。它和一個(gè)客戶端/服務(wù)器結(jié)構(gòu)下的用戶端一樣工作。它根據(jù)一個(gè)管理員或應(yīng)用程式的行為發(fā)出管理操作的請(qǐng)求,也接收從代理處獲得的TRAP。 SNMP協(xié)議 SNMP第一版和SMI規(guī)格的資料型態(tài) SNMP第一版SMI指定許多SMI規(guī)格的資料型態(tài),它們被分為兩大類: 簡(jiǎn)單資料型態(tài) 泛應(yīng)用資料型態(tài) SNMP第二版和管理資訊結(jié)構(gòu) SNMP第二版SMI在RFC 2578之中描述,它在SNMP第一版的SMI規(guī)格資料型態(tài)上進(jìn)行增加和強(qiáng)化,例如位元串(bit strings)、網(wǎng)絡(luò)位址(network addresses)和計(jì)數(shù)器(counters)。 SNMP協(xié)定在OSI模型的應(yīng)用層(第七層)運(yùn)作,在第一版中指定五種核心PDU: GET REQUEST GETNEXT REQUEST GET RESPONSE SET REQUEST TRAP 其他PDU在SNMP第二版加入,包含: GETBULK REQUEST INFORM SNMP第二版SMI資訊模塊 SNMP第二版SMI也指定了資訊模塊來(lái)詳細(xì)說(shuō)明一群相關(guān)連的定義。有三種SMI資訊模塊:MIB模塊、回應(yīng)狀態(tài)、能力狀態(tài)。 SNMP第三版 SNMP第三版由RFC 3411-RFC 3418定義,主要增加SNMP在安全性和遠(yuǎn)端配置方面的強(qiáng)化。 SNMP第三版提供重要的安全性功能: 信息完整性:保證封包在傳送中沒(méi)有被竄改。 認(rèn)證:檢驗(yàn)信息來(lái)自正確的來(lái)源。 封包加密:避免被未授權(quán)的來(lái)源窺探。 開發(fā)和使用 第一版 SNMP的第一個(gè)RFC系列出現(xiàn)在1988年: RFC 1065:基于TCP/IP網(wǎng)絡(luò)的管理信息的結(jié)構(gòu)和認(rèn)定 RFC 1066:以基于TCP/IP網(wǎng)絡(luò)的網(wǎng)絡(luò)管理為基礎(chǔ)的管理信息 RFC 1067:一個(gè)簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議 這些協(xié)議被廢除經(jīng)由: RFC 1155:基于TCP/IP網(wǎng)絡(luò)的管理信息的結(jié)構(gòu)和認(rèn)定 RFC 1156:以基于TCP/IP網(wǎng)絡(luò)的網(wǎng)絡(luò)管理為基礎(chǔ)的管理信息 RFC 1157:一個(gè)簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議 SNMP協(xié)議工作在OSI模型的應(yīng)用層(第七層)。它(在第一版中)指定了四種核心協(xié)議數(shù)據(jù)單元(PDU): GET,用來(lái)得到一條管理信息 GETNEXT,用來(lái)反復(fù)得到管理信息的序列 SET,用來(lái)給一個(gè)被管理的子系統(tǒng)制造一個(gè)變化 TRAP,用來(lái)報(bào)告一個(gè)關(guān)于被管理子系統(tǒng)的警告或其他異步事件 典型的,SNMP為代理使用UDP端口161,為管理站使用UDP端口162。 第一版因?yàn)槠浯嗳醯陌踩远鴤涫軤?zhēng)議。客戶端的認(rèn)證使用明碼傳送。在80年代,SNMP第一版被設(shè)計(jì)出來(lái)的時(shí)期,因特網(wǎng)標(biāo)準(zhǔn)的認(rèn)證/安全并不被主要的協(xié)議設(shè)計(jì)團(tuán)體所重視。 第二版 SNMP第二版(RFC 1441–RFC 1452)修訂了第一版并且包含了在性能、安全、機(jī)密性和管理者之間通信這些領(lǐng)域的改進(jìn)。它引入了GETBULK以取代反覆的GETNEXT,藉以在單個(gè)請(qǐng)求中獲取大量的管理數(shù)據(jù)。然而,SNMP第二版的新安全系統(tǒng)被認(rèn)為過(guò)于復(fù)雜,而不被廣泛接受。 SNMP v2c(基于社群的SNMP第二版)定義于RFC 1901–RFC 1908,一開始也非正式的被稱為SNMP第1.5版。SNMPv2c包含SNMP第二版除了受爭(zhēng)議的新SNMP第二版安全模型以外的部份,并以SNMP第一版的簡(jiǎn)單的基于社群的安全性方案取而代之。 SNMP v2u(基于使用者的SNMP第二版)定義于RFC 1909–RFC 1910。這是一個(gè)SNMP第一版和SNMP第二版的折衷方案,試圖提供比SNMP第一版更好的安全性,又不遭遇SNMP第二版的高復(fù)雜度。這產(chǎn)生一個(gè)被商業(yè)化的變種,稱為SNMP v2*,而且它的機(jī)制最后被SNMP第三版的兩個(gè)安全性框架之一采用。 SNMP第一版和SNMPv2c的互操作性 在目前的指定中,SNMP第二版和SNMP第一版在兩個(gè)關(guān)鍵領(lǐng)域不相容:訊息格式和協(xié)議操作。SNMPv2c 訊息使用和SNMP第一版不同的標(biāo)頭和協(xié)議數(shù)據(jù)單元(PDU)格式。SNMPv2c也使用兩個(gè)沒(méi)有在SNMP第一版指定的協(xié)議操作。此外,RFC 1908定義兩個(gè)可能的SNMP第一版/第二版共存策略:代理服務(wù)器代理(proxy agents)和雙語(yǔ)網(wǎng)絡(luò)管理系統(tǒng)(bilingual network-management systems)。 第三版 Internet工程工作小組(IETF)把在RFC3411-RFC3418(STD0062)中定義的SNMP第三版作為2004年的標(biāo)準(zhǔn)版本。IETF將先前的版本定為“Obsolete”或“Historical”。 實(shí)際上,SNMP實(shí)現(xiàn)通常支持多個(gè)版本:典型的SNMPv1、SNMPv2c以及SNMPv3。參見RFC3584“Internet標(biāo)準(zhǔn)網(wǎng)絡(luò)管理框架第一、二、三版間的共存”。 SNMP第三版提供三項(xiàng)重要的服務(wù):認(rèn)證、隱私和存取控制。 使用舉例 監(jiān)控裝置正常運(yùn)行時(shí)間 (sysUpTimeInstance) 操作系統(tǒng)版本清單 (sysDescr) 收集接口資訊 (ifName, ifDescr, ifSpeed, ifType, ifPhysAddr) 測(cè)量網(wǎng)絡(luò)接口吞吐量 (ifInOctets, ifOutOctets) 查詢遠(yuǎn)端ARP快取 (ipNetToMedia) 下面的輸出作為在一個(gè)路由器上的snmpwalk的例子展示了設(shè)備的基本信息: snmpwalk -c public punch system SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software IOS (tm) C2600 Software (C2600-IO3-M), Version 12.2(15)T5, RELEASE SOFTWARE (fc1) TAC Support: http://www.cisco.com/tac Copyright (c) 1986-2003 by cisco Systems, Inc. Compiled Thu 12-Jun-03 15:49 by eaarm SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.187 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (835747999) 96 days, 17:31:19.99 SNMPv2-MIB::sysContact.0 = STRING: wikiuser SNMPv2-MIB::sysName.0 = STRING: punch SNMPv2-MIB::sysLocation.0 = STRING: test SNMPv2-MIB::sysServices.0 = INTEGER: 78 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.0
移動(dòng)通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊(duì)博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助