自考“計算機網(wǎng)絡(luò)管理”知識重點(3)

  • 發(fā)布時間:2024-09-15 16:21:23
  • 來源:本站整理
  • 閱讀:
導(dǎo)讀:
  第三章 簡單網(wǎng)絡(luò)管理協(xié)議 SNMPv1
  考試要求
  1.SNMPv1支持的操作,要求達到識記層次
  SNMPv1 PDU的格式
  SNMPv1報文的應(yīng)答序列
  報文的發(fā)送和接收過程
  2.SNMPv1的安全機制,要求達到識記層次
  團體的概念
  SNMPv1的簡單認證過程
  SNMPv1可采用的訪問策略
  3.SNMPv1的操作,要求達到綜合

1.SNMPv1支持的操作

SNMP僅支持對管理對象值的檢索和修改等簡單操作。具體地說, SNMP實體可以對MIB-2中的對象支持執(zhí)行下列操作:

。 Get:管理站用于檢索管理信息庫中標(biāo)量對象的值。

。 Set:管理站用于設(shè)置管理信息庫中標(biāo)量對象的值。

。 Trap:代理用于向管理站報告管理對象的狀態(tài)變化。

2.SNMP PDU格式

RFC1157給出了SNMPv1協(xié)議的定義,這個定義是用ASN.1表示的,在SNMP管理中,管理站和代理之間交換的管理信息構(gòu)成了SNMP報文。報文由3部分組成,即版本號、團體名和協(xié)議數(shù)據(jù)單元(PDU)。報文頭中的版本號是指SNMP的版本,RFC1157為第一版。團體名用于身份認證,我們將在下一節(jié)介紹SNMP的安全機制時談到團體名的作用。SNMP共有5種管理操作,但只有4種PDU格式。管理站發(fā)出的3種請求報文GetRequest、 GetNextRequest和SetRequest采用的格式是一樣的,代理的應(yīng)答報文格式只有一種:GetResponsePDU,從而減少了PDU的種類。

3.報文應(yīng)答序列

SNMP報文在管理站和代理之間傳送,包含GetRequest、GetNextRequest和SetRequest的報文由管理站發(fā)出,代理以GetRequest響應(yīng)。Trap報文由代理發(fā)給管理站,不需要應(yīng)答。一般來說,管理站可連續(xù)發(fā)出多個請求報文,然后等待代理返回的應(yīng)答報文。如果在規(guī)定的時間內(nèi)收到應(yīng)答,則按照請求標(biāo)識進行配對,亦即應(yīng)答報文必須與請求報文有相同的請求標(biāo)識。

4.報文發(fā)送和接收

當(dāng)一個 SNMP協(xié)議實體(PE)發(fā)送報文執(zhí)行下面的過程:首先是按照ASN.1的格式構(gòu)造PDU,交給認證進程。認證進程檢查源和目標(biāo)之間是否可以通信,如果通過這個檢查則把有關(guān)信息(版本號、團體名、PDU)組裝成報文。最后經(jīng)過BER編碼,交傳輸實體發(fā)送出去。

當(dāng)一個 SNMP協(xié)議實體(PE)接收到報文時執(zhí)行的過程:首先是按照BER編碼恢復(fù)ASN.1報文,然后對報文進行語法分析、驗證版本號和認證信息等。如果通過分析和驗證,則分離出協(xié)議數(shù)據(jù)單元,并進行語法分析,必要、時經(jīng)過適當(dāng)處理后返回應(yīng)答報文。在認證檢驗失敗時可以生成一個陷入報文,向發(fā)送站報告通信異常情況。無論何種檢驗失敗,都丟棄報文。

SNMP操作訪問對象實例,而且只能訪問對象標(biāo)識符樹的葉子結(jié)點。然而為了減少通信負載,我們希望一次檢索多個管理對象,把多個變量的值裝入一個PDU.這時要用到變量綁定表。RFC1157建議在Get和GetNext協(xié)議數(shù)據(jù)單元中發(fā)送實體把變量置為ASN.1的NULL值,接收實體處理時忽略它,在返回的應(yīng)答協(xié)議數(shù)據(jù)單元中設(shè)置為變量的實際值。

(二)SNMPv1的安全機制

1.團體的概念

SNMP網(wǎng)絡(luò)管理是一種分布式應(yīng)用。這種應(yīng)用的特點是管理站和被管理站之間的關(guān)系可以是一對多關(guān)系,即一個管理站可以管理多個代理,從而管理多個被管理設(shè)備。另一方面,管理站和代理之間還可能存在多對一的關(guān)系。代理控制自己的管理信息庫,也控制多哥管理站對管理信息庫的訪問,例如,只有授權(quán)的管理站才允許訪問管理信息庫,或者限制不同的管理站可以訪問管理信息庫的不同部分。另外,委托代理也可能按照預(yù)定的訪問策略控制對其代理的設(shè)備的訪問。RFC1157為此提供的認證和控制機制就是這種最初等最基本的團體名驗證功能。

2.簡單的認證服務(wù)

一般來說,認證服務(wù)的目的是保證通信是經(jīng)過授權(quán)的。具體到 SNMP環(huán)境中,認證服務(wù)主要是保證接收的報文來自它所聲稱的源。RFC1157提供的只是最簡單的認證方案:從管理站發(fā)送到代理的報文(Get,Set等)都有一個團體名,就像是口令字一樣。通過團體名驗證的報文才是最有效的。

3.訪問策略

前面說過,代理系統(tǒng)可以通過設(shè)置團體選擇訪問 MIB的管理站,或者通過定義管理對象的訪問模式限制管理站對MIB的訪問。這樣,所謂的訪問控制就有兩方面的含義:

。 MIB視閾:MIB中對象一個子集,對不同的團體可以定義不同的視閾(View)。屬于同一視閾的對象不必屬于同一子樹。

。訪問模式:集合 {read-only,read-write}的一個元素。對于一個團體可以定義一種訪問模式。

4.委托代理服務(wù)

團體形象的概念同樣適用于委托代理服務(wù)。通常,委托代理是代表不支持 SNMP的設(shè)備工作的。但是在有些情況下,被代理的設(shè)備也可能支持TCP/IP和SNMP,而委托代理的作用是減少被代理的設(shè)備與管理站之間的交互過程。對于被代理的設(shè)備,委托代理定義并且維護一種SNMP訪問策略。委托代理知道那些MIB對象代表被管理的設(shè)備,也知道這些設(shè)備的訪問模式。

(三)SNMPv1操作

1.檢索簡單對象

檢索簡單的標(biāo)量對象值可以用 Get操作,如果變量綁定表中包含多個標(biāo)量,一次還可以檢索多個標(biāo)量對象的值。接收GetRequest的SNMP實體以請求標(biāo)識相同的GetRequest響應(yīng)。特別要注意的識GetRequest操作的原子性:如果所有請求的對象值可以得到,則給予應(yīng)答;反之,只要有一個對象的值得不到,則可能返回下列錯誤條件之一:

。變量綁定表中得一個對象無法與 MIB中的任何對象標(biāo)識符匹配,或者要檢索得對象是一個數(shù)據(jù)塊(子樹或表),沒有對象實例生成。在這些情況下,響應(yīng)實體返回得GetRequestPDU中錯誤狀態(tài)字段置為noSuch Name,錯誤索引設(shè)置為一個數(shù),指明有問題變量。變量綁定表中不返回任何值。

。響應(yīng)實體可以提供所有要檢索的值,但是變量太多,一個響應(yīng) PDU裝不下,這往往是由下曾協(xié)議數(shù)據(jù)單元大小限制的。這時響應(yīng)實體返回一個應(yīng)答PDU,錯誤狀態(tài)字段置為tooBig。

。由于其他原因(例如代理不支持)響應(yīng)實體至少不能提供一個對象的值,則返回的 PDU中錯誤字段置為genError,錯誤索引置一個數(shù),指明有問題的變量。變量綁定表中不返回任何值。

2.檢索未知對象

Get Next命令檢索變量名指示下一個對象實例,但是并不要求變量名是對象標(biāo)識符,或者是實例標(biāo)識符。

3.檢索表對象

GetNext可用于有效地搜索表對象。

4.表的更新和刪除

Set 命令用于設(shè)置或更新變量的值。它的 PDU 格式與 Get 是相同的,但是在變量綁定表中必須包含要設(shè)置的變量名和變量值。對于 Set 命令的應(yīng)答也是 GetResponse ,同樣是原子性的。如果所有的變量都可以設(shè)置,則更新所有變量的值,并在應(yīng)答 GetResponse 中確認變量的新值;如果至少有一個變量的值不能設(shè)置,則所有變量的值都保持不變,并在錯誤狀態(tài)中指明出錯的原因。 Set 出錯的原因與 Get 是類似的( tooBig,noSuchName 和 genError ),然后若有一個變量的名字和要設(shè)置的值在類型、長度或?qū)嶋H方面不匹配,則返回錯誤條件 badValue .

5. 陷入操作

陷入是由代理向管理站發(fā)出的異步事件報告,不需要應(yīng)答報文。 SNMP規(guī)定了6種陷入條件:

。 coldStart 發(fā)送實體重新初始化,代理的配置已改變,能常是由系統(tǒng)失效引起的。

。 warmStart 發(fā)送實體重新初始化,但代理的配置沒有改變,這是正常的重啟動過程。

。 linkDown 鏈路失效通知,變量綁定表的第一項指明對應(yīng)接口表的索引變量及其變值。

。 linkUp 鏈路啟動通知,變量綁定表的第一項指明對應(yīng)接口表的索引變量及其值。

。 authenticationFailure 發(fā)送實體收到一個沒有通過認證的報文。

。 egpNeighborLoss 相鄰的外部路由器失效或關(guān)機。

。 enterpriseSpecific 由設(shè)備制造商定義的陷入條件,在特殊陷入(specifc-trap)字段指明具體的陷入類型。

(四)SNMP功能組

SNMP組包含的西關(guān)系到SNMP協(xié)議的實現(xiàn)和操作。這一組共有30個對象,在只支持SNMP站管理功能或只支持SNMP代理功能的實現(xiàn)中,有些對象是沒有值的。除了最后一個對象,這一組的其他對象都是只讀的計數(shù)器。對象snmpEnableAutheuTrap可以由管理站設(shè)置,它指示是否允許代理產(chǎn)生“認證失效”陷入,這種設(shè)置優(yōu)先于代理自己的配置。這樣就提供了一種可以排除所有認證失效陷入的手段。

(五)實現(xiàn)問題

1.網(wǎng)絡(luò)管理站的功能

。支持擴展的 MIB:強有力的SNMP對管理信息庫的支持必須是開放的。特別對于管理站來說,應(yīng)該能夠裝入其他制造商定義的擴展MIB.

。圖形用戶接口:好的用戶接口可以使網(wǎng)絡(luò)管理工作更容易更有效。通常要求具有圖形用戶接口,而且對網(wǎng)絡(luò)管理的不同部分有不同的窗口。例如能夠顯示網(wǎng)絡(luò)拓撲接口、顯示設(shè)備的地理位置和狀態(tài)信息,可以計算并顯示通信統(tǒng)計數(shù)據(jù)圖表,具有各種輔助計算工具等。

。自動發(fā)現(xiàn)機制:要求管理站能夠自動發(fā)現(xiàn)代理系統(tǒng),能夠自動建立圖標(biāo)并繪制出連接圖形。

。可編程的事件:支持用戶定義事件,以及出現(xiàn)這些事件時執(zhí)行的動作。例如路由器失效時應(yīng)閃動圖標(biāo)或改變圖標(biāo)的顏色,顯示錯誤狀態(tài)信息,向管理員發(fā)送電子郵件,并啟動故障檢測程序等。

。高級網(wǎng)絡(luò)控制功能:例如配置管理站使其可以自動地關(guān)閉有問題的集線器、自動地分離出活動過度頻繁地網(wǎng)段等。這樣地功能要使用 set操作。由于SNMP欠缺安全性,很多產(chǎn)品不支持set操作,所以這種要求很難滿足。

。面向?qū)ο蟮毓芾砟P停?SNMP其實不是面向?qū)ο蟮南到y(tǒng)。但很多產(chǎn)品是面向?qū)ο蟮南到y(tǒng),也能支持SNMP.

。用戶定義的圖標(biāo):方便用戶為自己的網(wǎng)絡(luò)設(shè)備定義有表現(xiàn)力的圖標(biāo)。

2.輪詢頻率

我們需要一種能提高網(wǎng)絡(luò)管理性能的輪詢策略,以決定合適的輪詢頻率。通常輪詢頻率與網(wǎng)絡(luò)的規(guī)模和代理的多少有關(guān)。而網(wǎng)絡(luò)管理性能還取決于管理站的處理速度、子網(wǎng)數(shù)據(jù)速率、網(wǎng)絡(luò)擁擠程度等眾多的其他因素,所以很難給出準(zhǔn)確的判斷規(guī)則。為了使問題簡化,我們假定管理站以次只能與一個代理作用,輪詢只是采用 get請求/響應(yīng)這種簡單形式,而且管理站全部時間都用來輪詢,于是我們有下面的不等式:

3.SNMPv1的局限性

用戶利用 SNMP進行網(wǎng)絡(luò)管理時一定要清楚SNMPv1本身的局限性:

。由于輪詢的性能限制, SNMP不適合管理很大的網(wǎng)絡(luò)。輪詢產(chǎn)生的大量管理信息傳送可能引起網(wǎng)絡(luò)響應(yīng)時間的增加。

。 SNMP不適合檢索大量的數(shù)據(jù),例如檢索整個表中的數(shù)據(jù)。

。 SNMP的陷入報文時沒有應(yīng)答的,管理站是否收到陷入報文,代理不得而知。這樣可能丟掉很重要得管理信息。

。 SNMP只提供簡單的團體名認證,這樣的安全措施時很不夠的。

。 SNMP并不直接支持向被管理設(shè)備發(fā)送命令。

。 SNMP的管理信息庫MIB-2支持的管理對象是有限的,不足以完成復(fù)雜的管理功能。

。 SNMP不支持管理站之間的通信,而這一點在分布式網(wǎng)絡(luò)管理中是很需要的。

以上局限性有很多在 SNMP的第2版都有所改進。

相關(guān)閱讀