




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第三章 簡單網絡管理協議3.1 SNMP的演變TCP/IP網絡管理最初使用的是1987年11月提出的簡單網關監控協議(Simple Gateway Monitoring Protocol,SGMP),在此基礎上改進成簡單網絡管理協議第一版(Simple Network Management Protocol,SNMPv1)3.1.1 SNMPv1SNMP出現后顯示了許多優點。最主要的的優點是:簡單,容易實現,而且是基于人們熟悉的SGMP(Simple Gateway Monitoring Protocol)協議,已有相當多的操作經驗SNMP雖然被廣泛應用,但是SNMP的缺點也是顯然的:沒有實質
2、性的安全設施,無數據源認證功能,不能防止偷聽。面對這樣不可靠的管理環境,許多制造商不得不廢除了set命令,以避免網絡配置被入侵者惡意竄改。3.1.2 SNMPv2為了修補SNMP的安全缺陷,1992年7月出現了一個新標準安全SNMP(S-SNMP),這個協議增強了安全方面的功能:用報文摘要算法MD5保證數據完整性和進行數據源認證;用時間戳對報文排序;用DES算法提供數據加密功能但是S-SNMP沒有改進SNMP在功能和效率方面的其他缺點。幾乎與此同時有人又提出了另外一個協議SMP(Simple Management Protocol),這個協議由8個文件組成,它對SNMP的擴充表現在下列方面:適
3、用范圍:SMP可以管理任意資源,不僅是網絡資源,還可用于應用管理,系統管理。可實現管理站之間的通信,也提供了更明確更靈活的描述框架,可以描述一致性要求和實現能力。在SMP中管理信息的擴展性得到了增強。復雜程度、速度和效率:保持了SNMP的簡單性,更容易實現,并提供了數據塊傳送能力,因而速度和效率更高。安全設施:結合了S-SNMP提供的安全功能。兼容性:可以運行在TCP/IP網絡上,也適合OSI系統和運行其他通信協議的網絡。IETF組織了兩個工作組:一個組負責協議功能和管理信息庫的擴展,另一組負責SNMP的安全方面又經過幾年的實驗和論證,后來決定丟掉安全功能,把增加的其他功能做為新標準頒布,并保
4、留了SNMPv1的報文封裝格式,因而叫做基于團體的SNMP(Community-based SNMP),簡稱SNMPv2C有關SNMPv2和SNMPv2C的RFC文件SNMPv2(1993.5)名稱SNMPv(2019.1)1441SNMPv2簡介19011442SNMPv2管理信息結構19021443SNMPv2文本結構約定19031444SNMPv2一致性聲明19041445SNMPv2高層安全模型1446SNMPv2安全協議1447SNMPv2參加者MIB1448SNMPv2協議操作19051449SNMPv2傳輸層映射19061450SNMPv2管理信息庫19071451管理進程間的管
5、理信息庫1452SNMP第1版和第2版網絡管理框架共存1908SNMPv3工作組的目標是:產生一組必要的文檔,作為下一代SNMP核心功能的單一標準。要求盡量使用已有的文檔,使新標準1. 能夠適應不同管理需求的各種操作環境;2. 便于已有的系統向SNMPv3過渡;3. 可以方便地建立和維護管理系統。3.1.3 SNMPv33.2 SNMPv1協議數據單元SNMP實體可以對MIB-2中的對象執行下列操作:Get:管理站用于檢索管理信息庫中標量對象的值。Set:管理站用于設置管理信息庫中標量對象的值。Trap:代理用于向管理站報告管理對象的狀態變化。3.2.1 SNMPv1支持的操作3.2.2 SN
6、MP PDU格式除過Trap 之外的4種PDU格式是相同的,共有5個字段PDU類型請求標識(request-id)錯誤狀態(error-status)錯誤索引(error-index)變量綁定表(variable-binding)Trap報文的格式與其他報文不同,它有下列字段制造商ID(enterprise)代理地址(agent-addr)一般陷入(generic-trap)特殊陷入(specific-trap)時間戳(time-stamp)3.2.3 報文應答序列生成和發送SNMP報文3.2.4 報文的發送和接收接收和處理SNMP報文3.3 SNMPv1的操作檢索簡單的標量對象值可以用Get
7、操作,如果變量綁定表中包含多個變量,一次還可以檢索多個標量對象的值。接收GetRequest的SNMP實體以請求標識相同的GetResponse響應。3.3.1檢索簡單對象特別要注意的是GetResponse操作的原子性:如果所有請求的對象值可以得到,則給于應答;反之,只要有一個對象的值得不到,則可能返回下列錯誤條件之一:變量綁定表中的一個對象無法與MIB中的任何對象標識符匹配,或者要檢索的對象是一個數據塊(子樹或表),沒有對象實例生成。在這些情況下,響應實體返回的GetResponse PDU中錯誤狀字段置為noSuchName,錯誤索引設置為一個數,指明有問題的變量。變量綁定表中不返回任何
8、值。響應實體可以提供所有要檢索的值,但是變量太多,一個響應PDU裝不下,這往往是由下層協議數據單元大小限制的。這時響應實體返回一個應答PDU,錯誤狀態字段置為tooBig。由于其他原因(例如代理不支持)響應實體至少不能提供一個對象的值,則返回的PDU中錯誤狀態字段置為genError,錯誤索引置一個數,指明有問題的變量。變量綁定表中不返回任何值。GetNext命令檢索變量名指示的下一個對象實例,但是并不要求變量名是對象標識符,或者是實例標識符。3.3.2 檢索未知對象GetNext可用于有效地搜索表對象3.3.3檢索表對象Set命令用于設置或更新變量的值。它的PDU格式與Get是相同的,但是在
9、變量綁定表中必須包含要設置的變量名和變量值。對于Set 命令的應答也是GetResponse,同樣是原子性的。如果所有的變量都可以設置,則更新所有變量的值,并在應答的GetResponse中確認變量的新值;如果至少有一個變量的值不能設置,則所有變量的值都保持不變,并在錯誤狀態中指明出錯的原因。Set出錯的原因與Get是類似的(tooBig、noSuchName和genError),然而若有一個變量的名字和要設置的值在類型、長度或實際值不匹配,則返回錯誤條件badValue。3.3.4表的更新和刪除陷入是由代理向管理站發出的異步事件報告,不需要應答報文。SNMPv1規定了6種陷入條件,另外還有設
10、備制造商定義的陷入:coldStart 發送實體重新初始化,代理的配置已改變,通常是由系統失效引起的。warmStart 發送實體重新初始化,但代理的配置沒有改變,這是正常的重啟動過程。linkDown 鏈路失效通知,變量綁定表的第一項指明對應接口表的索引變量及其值。linkUp 鏈路啟動通知,變量綁定表的第一項指明對應接口表的索引變量及其值。authenticationFailure 發送實體收到一個沒有通過認證的報文。egpNeighborLoss 相鄰的外部路由器失效或關機。enterpriseSpecific 由設備制造商定義的陷入條件,在特殊陷入(specific-trap)字段指明
11、具體的陷入類型。3.3.5陷入操作3.4 SNMP功能組3.5 實現問題支持擴展的MIB圖形用戶接口自動發現機制可編程的事件高級網絡控制功能面向對象的管理模型用戶定義的圖標3.5.1 網絡管理站的功能通常輪詢頻率與網絡的規模和代理的多少有關。而網絡管理性能還取決于管理站的處理速度、子網數據速率、網絡擁塞程度等眾多的因素,所以很難給出準確的判斷規則。輪詢只是采用get請求/響應這種簡單形式,而且管理站全部時間都用來輪詢,于是我們有下面的不等式: NT/, 其中 N=被輪詢的代理數 T=輪詢間隔 =單個輪詢需要的時間。3.5.2 輪詢頻率與下列因素有關:管理站生成一個請求報文的時間從管理站到代理的
12、網絡延遲代理處理一個請求報文的時間代理產生一個響應報文的時間從代理到管理站的網絡延遲管理站處理一個響應報文的時間為了得到需要的管理信息,交換請求/響應報文的數量由于輪詢的性能限制,SNMP不適合管理很大的網絡。輪詢產生的大量管理信息傳送可能引起網絡響應時間的增加。SNMP不適合檢索大量數據,例如檢索整個表中的數據。SNMP的陷入報文是沒有應答的,管理站是否收到陷入報文,代理不得而知。這樣可能丟掉重要的管理信息。SNMP只提供簡單的團體名認證,這樣的安全措施是很不夠的。SNMP并不直接支持向被管理設備發送命令。SNMP的管理信息庫MIB-2支持的管理對象是很有限的,不足以完成復雜的管理功能。SN
13、MP不支持管理站之間的通信,而這一點在分布式網絡管理中是很需要的。3.5.3 SNMPv1的局限性SNMPv2 SMI引入了4個關鍵的概念:對象的定義概念表通知的定義信息模塊3.6 SNMPv2管理信息結構SNMPv2對象宏定義3.6.1 對象的定義OBJECT-TYPE MACRO:= BEGIN TYPE NOTATION:=“SYNTAX” Syntax UnitsPart “MAX-ACCESS” Access “STATUS” Status “DESCRIPTION” Text ReferPart IndexPart DefValPart VALUE NOTATION:=value
14、(VALUE ObjectName) ENDSNMPv2把表分為兩類禁止刪除和生成行的表:這種表的最高的訪問級別是read-write。在很多情況下這種表由代理控制,表中只包含read-only型的對象允許刪除和生成行的表:這種表開始時可能沒有行,由管理站生成和刪除行。行數可由管理站或代理改變3.6.2 表的定義允許生成和刪除行的表必須有一個列對象,其SYNTAX子句的值為RowStatus, MAX-ACCESS子句的值為read-write,這種列叫做概念行的狀態列。狀態列可取6種值active(可讀寫)notInService(可讀寫)notReady(只讀)createAndGo(只寫
15、不讀)createAndWait(只寫不讀)destroy(只寫不讀)3.6.3 表的操作1. 行的生成生成概念行的過程可以分成以下4個步驟(1)選擇索引對象的實例標識符(2)管理站通過事務處理產生和激活概念行(3)初始化非默認值對象(4)激活概念行2. 概念行的掛起當概念行處于active狀態時,如果管理站希望概念行脫離服務,以便進行修改,則可以發出set命令,把狀態列由active置為notInService。這時有兩種可能:若代理不執行該操作,則返回wrongValue若代理可執行該操作,則返回noError表定義中的DESCRIPTION子句需指明,在何種情況下可以把狀態列置為notI
16、nService3. 概念行的刪除管理站發出set命令,把狀態列置為destroy,如果這個操作成功,概念行立即被刪除SNMPv2提供了通知類型的宏定義NOTIFICATION-TYPE,用于定義異常條件出現時SNMPv2實體發送的信息SNMPv2還引入了信息模塊的概念,用于說明一組有關的定義。共有3 種信息模塊:MIB模塊:包含一組有關的管理對象的定義。MIB的依從性聲明模塊:使用MODULE-COMPLIANCE和OBJECT-GROUP宏說明有關管理對象實現方面的最小要求。代理能力說明模塊:用AGENT-CAPABILITIES宏說明代理實體應該實現的能力3.6.4 通知和信息模塊1.
17、系統組SNMPv2的系統組是MIB-2系統組的擴展3.6.5 SNMPv2管理信息庫2. SNMP組這個組是由MIB-2的對應組改造而成的,有些對象被刪除了,同時又增加了一些新對象3. MIB對象組這個新組包含的對象與管理對象的控制有關,分為兩個子組第一個子組snmpTrap由兩個對象組成:snmpTrapOIDsnmpTrapEnterprise第二個子組snmpSet僅有一個對象snmpSerialNo,這個對象用于解決set操作中可能出現的兩個問題:一個管理站可能向同一MIB對象發送多個set操作,保證這些操作按照發送的順序在MIB中執行是必要的,即使在傳送過程中次序發生了錯亂。多個管理
18、站對MIB的并發操作可能破壞了數據庫的一致性和精確性。解決這些問題的方法如下。snmpSerialNo的語法是TestAndIncr(文字約定為0.2147483647之間的一個整數),假設它的當前值是K,1)如果代理收到的set操作置snmpSerialNo的值為K,則這個操作成功,響應PDU中返回K值,這個對象的新值增加為K(mod 231);2)如果代理收到一個set操作,置這個對象的值不等于K,則這個操作失敗,返回錯誤值inconsistentValue.4. 接口組MIB-2定義的接口組經過一段時間的使用,發現有很多缺陷RFC1573 對MIB-2接口組做了一些小的修改,主要是糾正了
19、上面提到的有些問題。RFC1573還對接口組增加了4個新表5. 接口擴展表6. 接口堆棧表接口堆棧表說明接口表中屬于同一物理接口的各個行之間的關系,指明哪些子層運行于哪些子層之上7. 接口測試表接口測試表的作用是由管理站指示代理系統測試接口的故障8. 接收地址表接收地址表包含每個接口對應的各種地址(廣播地址、組播地址和單地址)SNMPv2提供了3種訪問管理信息的方法:管理站和代理之間的請求/響應通信,這種方法與SNMPv1是一樣的。管理站和管理站之間的請求/響應通信,這種方法是SNMPv2特有的,可以由一個管理站把有關管理信息告訴另外一個管理站。代理系統到管理站的非確認通訊,即由代理向管理站發
20、送陷入報文,報告出現的異常情況。SNMPv1中也有對應的通信方式。3.7 SNMPv2協議數據單元SNMPv2報文的結構分為3部分:版本號、團體名和作為數據傳送的PDU。3.7.1 SNMPv2報文SNMPv2實體發送一個報文一般要經過下面4個步驟:根據要實現的協議操作構造PDU;把PDU、源和目標端口地址以及團體名傳送給認證服務,認證服務產生認證碼或對數據進行加密,返回結果;加入版本號和團體名,構造報文;進行BER編碼,產生0/1比特串,發送出去SNMPv2實體接收到一個報文后要完成下列動作:對報文進行語法檢查,丟棄出錯的報文;把PDU部分、源和目標端口號交給認證服務。如果認證失敗,發送一個
21、陷入,丟棄報文;如果認證通過,則把PDU轉換成ASN.1的形式;協議實體對PDU做句法檢查,如果通過,根據團體名和適當的訪問策略作相應的處理。SNMPv2 共有6種協議數據單元,分為3種PDU格式3.7.2 SNMPv2 PDU這些協議數據單元在管理站和代理系統之間或者是兩個管理站之間交換,以完成需要的協議操作如果該變量的對象標識符前綴不能與這一請求可訪問的任何變量的對象標識符前綴匹配,則返回一個錯誤值noSuchObject;如果變量名不能與這一請求可訪問的任何變量名完全匹配,則返回一個錯誤值noSuchInstance。這種情況可能出現在表訪問中:訪問了不存在的行,或正在生成中的表行等;如
22、果不屬于以上情況,則在變量綁定表中返回被訪問的值。如果由于任何其它原因而處理失敗,則返回一個錯誤狀態genErr,對應的錯誤索引指向有問題的變量。如果生成的響應PDU太大,超過了本地的或請求方的最大報文限制,則放棄這個PDU,構造一個新的響應PDU,其錯誤狀態為tooBig,錯誤索引為0,變量綁定表為空。1. GetRequestPDU對變量綁定表中指定的變量在MIB中查找按照詞典順序的后繼變量,如果找到,返回該變量(對象實例)的名字和值。如果找不到按照詞典順序的后繼變量,則返回請求PDU中的變量名和錯誤值endOfMibView。如果出現其它情況使得構造響應PDU失敗,以與GetReques
23、t類似的方式返回錯誤值。2. GetNextRequestPDU假設GetBulkRequestPDU變量綁定表中有L個變量,該PDU的“非重復數”字段的值為N,則對前N個變量應各返回一個詞典后繼。再設請求PDU的“最大后繼數”字段的值為M,則對其余的R=L-N個變量應該各返回最多M個詞典后繼。如果可能,總共返回N+R*M個值。如果在任何一步查找過程中遇到不存在后繼的情況,則返回錯誤值endOfMibView。3. GetBulkRequestPDU這個請求的格式和語義與SNMPv1的基本相同,差別是處理響應的方式不同。SNMPv2實體分兩個階段處理這個請求的變量綁定表,首先是檢驗操作的合法性
24、,然后再更新變量。如果至少有一個變量綁定對的合法性檢驗沒有通過,則不進行下一階段的更新操作。所以這個操作與SNMPv1一樣,是原子性的。4. SetRequestPDU陷入是由代理發給管理站的非確認性消息TrapPDU的變量綁定表中應報告下面的內容:sysUpTime.0的值,即發出陷入的時間。snmpTrapOID.0的值,這是SBNPv2 MIB對象組定義的陷入對象的標識符。有關通知宏定義中包含的各個變量及其值。代理系統選擇的其他變量的值。5. TrapPDU這是管理站發送給管理站的消息,PDU格式與Get等操作相同,變量綁定表的內容與陷入報文的一樣。6. InformRequestPDU
25、SNMPv2增加的管理站之間的通信機制是分布式網絡管理所需要的功能特征,為此引入了通知報文InformRequest和管理站數據庫(manager-to-manager MIB)。管理站數據庫主要由3個表組成:snmpAlarmTablesnmpEventTablesnmpEventNotifyTable3.7.3 管理站之間的通訊3.8 SNMPv33.8.1 SNMPv3管理框架SNMP引擎提供下列服務:發送和接收報文,認證和加密報文,控制對管理對象的訪問。3.8.2 SNMP引擎1. 調度器調度器的功能包括:向/從網絡中發送/接收SNMP報文,確定SNMP報文的版本,并交給相應的報文處理
26、模塊處理,為接收PDU的SNMP應用提供一個抽象的接口, 為發送PDU的SNMP應用提供一個抽象的接口。2. 報文處理子系統3. 安全子系統4. 訪問控制子系統SNMPv3的應用程序分為5種命令生成器(command generators)命令響應器(command responders)通知發送器(notification originators)通知接收器(notification receivers)代理轉發器(proxy forwarders)3.8.3 應用程序管理站3.8.4 SNMP 管理站和代理代理標準規定安全模塊必須提供防護的兩種主要威脅是:修改信息(Modification
27、 of Information)假冒(Masquerade)3.8.5 基于用戶的安全模型(USM)標準還規定安全模塊必須對兩種次要威脅提供防護:修改報文流(Message Stream Modification)消息泄露(Disclosure)有兩種威脅是安全體系結構不必防護的,因為它們不是很重要,或者這種防護沒有多大作用:拒絕服務(Denial of Service)通信分析(Traffic Analysis)RFC2574把安全協議分為3個模塊:時間序列模塊:提供對報文延遲和重放的防護。 認證模塊:提供完整性和數據源認證,加密模塊:防止報文內容的泄露在VACM模型中要用到以下概念:SNM
28、P上下文(context)組(group)安全模型(securityModel)安全級別(securityLevel)操作(operation)3.8.6 基于視圖的訪問控制(VACM)模型1. 視圖和視圖系列為了安全,我們需要把某些組(group)的訪問權限制在一個管理信息的子集中。提供這種能力的機制就是MIB視圖視圖限定了SNMP上下文中管理對象類型(或管理對象實例)的一個特殊集合由于列對象的格式是類似的,所以可以把它們聚合成一個結構,叫做視圖樹系列(ViewTreeFamily)如果下列兩個條件都成立,則該對象實例屬于視圖樹系列:管理對象標識符至少包含了系列名包含的那些子標識符;對應于掩碼為1的位,管理對象標識符中的子標識符必須與系列名中的對應子標識符相匹配。2. VACM MIB的組成VACM MIB由幾個表組成vacmC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建省莆田市莆田第二十五中學2024?2025學年高一下學期3月月考 數學試題(含解析)
- 急救藥品相關知識考核試題
- 遼寧師范大學《平面廣告設計》2023-2024學年第二學期期末試卷
- 四川省自貢市曙光中學2024-2025學年初三下學期第二次段考物理試題試卷含解析
- 山東省郯城縣重點名校2025年第二學期初三第二次模擬考試語文試題含解析
- 山東省棗莊市滕州市2024-2025學年初三下學期開學摸底考試化學試題含解析
- 遼寧建筑職業學院《廣播電視敘事學》2023-2024學年第一學期期末試卷
- 曲阜遠東職業技術學院《特殊兒童早期干預》2023-2024學年第一學期期末試卷
- 武漢工程大學郵電與信息工程學院《微分幾何實驗》2023-2024學年第二學期期末試卷
- 豫東名校2025年第二學期高三期末考試歷史試題試卷含解析
- 緊密型縣域醫共體總醫院一體化運行工作方案
- 2025年山東省春季高考模擬考試英語試卷試題(含答案詳解)
- 高考英語3500詞高頻單詞詞塊默寫
- 子宮脫垂護理
- CHT 8023-2011 機載激光雷達數據處理技術規范
- 河北省唐山市路北區2023-2024學年八年級下學期4月期中物理試題
- 2024屆高中語文高考作文資料及素材系列
- 醫院各科室物品采購清單
- 中國镥-177(Lu-177)市場發展現狀和未來五年前景分析
- 【中學生數學學習習慣和學習狀況調研探析報告9900字(論文)】
- 舞蹈就業能力展示
評論
0/150
提交評論