第25章 SNMP: 簡單網絡管理協定
25.8 管理資訊庫(續)
現在繼續讨論M I B。我們僅僅介紹下列 M I B組:s y s t e m(系統辨別)、i f(接口)、a t(位址轉換)、i p、i c m p和t c p。
25.8.1 s y s t e m組s y s t e m組非常簡單,它包含7個簡單變量(例如,沒有表格)。圖2 5 - 1 6列出了s y s t e m組的名稱、資料類型和描述。
可以對n e t b路由器查詢一些簡單變量:
回到圖2 5 - 6中,s y s t e m的對象辨別符在i n t e r n e t . p r i v a t e . e n t e r p r i s e s組(1 . 3 . 6 . 1 . 4 . 1)中,在Assigned Numbers RFC文檔中可以确定下一個對象辨別符(1 2)肯定是指派給了廠家(E p i l o g u e)。
同時還可以看出, s y s S e r v i c e s變量的值是4與8的和,它支援網絡層(例如選路)和運輸層的應用(例如端到端)。
25.8.2 interface組
在本組中隻定義了一個簡單變量,那就是系統的接口數量,如圖2 5 - 1 7所示。
在該組中,還有一個表格變量,有 2 2列。表格中的每行定義了接口的一些特征參數。如圖2 5 - 1 8所示。
可以向主機s u n查詢所有這些接口的變量。如 3 . 8節中所示,我們還是希望通路三個接口,如果S L I P接口已經啟動:
對于第1個接口,采用g e t操作提取5個變量值,然後用g e t - n e x t操作提取第2個接口的相同的5個參數。對于第3個接口,同樣采用g e t - n e x t操作。
對于S L I P鍊路的接口類型,所報告的是一個點到點的專用串行鍊路,而不是 S L I P鍊路。此外,S L I P鍊路的速率沒有報告。
這個例子對我們了解 g e t - n e x t操作和“先列後行”次序之間的關系十分重要。如果我們鍵入指令“next ifDescr.1”,則系統傳回的是表格中的下一行所對應的變量,而不是同一行中的下個變量。如果表格是按照“先行後列”次序存放,我們就不能通過一個給定變
量來讀取下一個變量。
25.8.3 a t組
位址轉換組對于所有的系統都是必需的,但是在 M I B - I I中已經沒有這個組。從 M I B - I I開始,每個網絡協定組(如 I P組)都包含它們各自的網絡位址轉換表。例如對于 I P組,網絡位址轉換表就是i p N e t T o M e d i a T a b l e。
在該組中,僅有一個由3列組成的表格變量。如圖2 5 - 1 9所示。我們将用s n m p i程式中的一個新指令來轉儲 ( d u m p )整個表格。向一個叫做 k i n e t i c s的路由器(該路由器連接配接了一個 T C P / I P網絡和一個A p p l e Ta l k網絡)查詢其整個 A R P高速緩存。指令的輸出是字典式排序的整個表格内容。
讓我們來分析一下用t c p d u m p指令時的分組互動情況。當s n m p i要轉儲整個表格時,首先發出一條g e t - n e x t指令以取得表格的名稱(在本例中是a t),該名稱就是要擷取的第一個表項。
然後在螢幕上顯示的同時生成另一條g e t - n e x t指令。直到周遊完整個表格的内容後才終止。圖25-20顯示了在路由器中實際表格的内容。
注意圖中,接口2的A p p l e Ta l k協定的實體位址是32 bit的數值,而不是我們所熟悉的以太網的48 bit實體位址。同時請注意,正如我們所希望的那樣,在圖中有一條記錄和n e t b路由器(其I P位址是1 4 0 . 2 5 2 . 1 . 1 8 3)有關。這是因為n e t b路由器和k i n e t i c s路由器在同一個以太網中(1 4 0 . 2 5 2 . 1),而且k i n e t i c s路由器必需采用A R P來回送SNMP響應。
25.8.4 i p組
i p組定義了很多簡單變量和3個表格變量。圖2 5 - 2 1顯示了所有的簡單變量。
i p組中的第一個表格變量是 I P位址表。系統的每個 I P位址都對應該表格中的一行。每行中包含了5個變量,如圖2 5 - 2 2所示。
同樣可以向主機s u n查詢整個I P位址表:
輸出的接口号碼可以和圖 2 5 - 1 8中的輸出進行比較,同樣 I P位址和子網路遮罩可以和 3 . 8節中采用i f c o n f i g指令時的輸出進行比較。
i p組中的第二個表是 I P路由表(請回憶一下我們在 9 . 2節中講到的路由表),如圖2 5 - 2 3所示。通路該表中每行記錄的索引是目的 I P位址。
圖2 5 - 2 4顯示的是用s n m p i程式采用dump ipRouteTable指令從主機s u n得到的路由表。在這張表中,已經删除了所有 5個路由度量,那是由于這 5條記錄的度量都是- 1。在列的标題中,對每個變量名稱已經删除了 i p R o u t e這樣的字首。
為比較起見,下面的内容是我們用 n e t s t a t指令(在9 . 2節中曾經讨論過)格式顯示的路由表資訊。圖2 5 - 2 4是按字典序顯示的,這和n e t s t a t指令顯示格式不同:
i p組的最後一個表是位址轉換表,如圖 2 5 - 2 5所示。正如我們前面所說的, a t組已經被删除了,在這裡已經用I P表來代替了。
這裡顯示的是系統s u n上的A R P高速緩存資訊:
sun % arp -a
svr4 (140.252.13.34) at 0:0:c0:c2:9b:26
bsdi (140.252.13.35) at 0:0:c0:6f:2d:40
複制
相應的S N M P輸出
25.8.5 i c m p組
i c m p組包含4個普通計數器變量( I C M P封包的輸出和輸入數量以及 I C M P差錯封包的輸入和輸出數量)和2 2個其他I C M P封包數量的計數器: 11個是輸出計數器,另外 11個是輸入計數器。如圖2 5 - 2 6所示。
對于有附加代碼的 I C M P封包(請回憶一下圖 6 - 3中,有 1 5種封包代表目的不可達),S N M P沒有為它們定義專門的計數器。
25.8.6 t c p組
圖2 5 - 2 7顯示的是t c p組中的簡單變量。其中的很多變量和圖 1 8 - 1 2描述的T C P狀态有關。
現在向系統s u n查詢一些t c p組變量:
本系統(指 S u n O S 4 . 1 . 3)使用的是 Van Jacobson逾時重傳算法,逾時定時器的範圍在200 ms~12.8 s之間,并且對T C P連接配接數量沒有特定的限制(這裡的逾時上限 12.8 s恐怕有錯,因為我們在2 1章中曾經介紹大多數應用的逾時上限是 64 s )。
t c p組還包括一個表格變量,即 T C P連接配接表,如圖2 5 - 2 8所示。對于每個T C P連接配接,都對應表格中的一條記錄。每條記錄包含 5個變量:連接配接狀态、本地 I P位址、本地端口号、遠端 I P位址以及遠端端口号。
讓我們看一看在系統 s u n上的這個表。由于有許多伺服器程序在監聽這些連接配接,是以我們隻顯示該表的一部分内容。在轉儲全部表格的變量之前,我們必需先建立兩條 T C P連接配接:
sun % rlogin gemini g e m i n i的I P位址是1 4 0 . 2 5 2 . 1 . 1 1
複制
和
sun % rlogin localhost I P位址應該是1 2 7 . 0 . 0 . 1
複制
在所有的監聽伺服器程序中,我們僅僅列出了 F T P伺服器程序的情況,它使用 2 1号端口。
對于r l o g i n到g e m i n i,隻顯示一條記錄,這是因為g e m i n i是另外一個主機。而且我們僅僅能夠看到連接配接的用戶端資訊(端口号是 1 0 2 3)。但是Te l n e t連接配接,用戶端和伺服器端都顯示(用戶端口号是1 4 1 5,伺服器端口号是2 3),這是因為這種連接配接通過環回接口。同時我們還可以看到,F T P監聽伺服器程式的本地I P位址是0 . 0 . 0 . 0。這表明它可以接受通過任何接口的連接配接。