?? 基于tcp-ip網絡的管理結構和標記.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0079)http://www.longen.org/S-Z/details~z/TCP-IPBasedNetworkManagementStructAndId.htm -->
<HTML><HEAD><TITLE>基于TCP/IP網絡的管理結構和標記</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1400" name=GENERATOR></HEAD>
<BODY>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD width="100%">
<H4>基于TCP/IP網絡的管理結構和標記</H4>
<P>1. 介紹</P>
<P>本文描述的是用于管理TCP/IP網絡的一般結構和方法。本文不說明具體的解決方法,也不是什么協議和數據結構,如果需要這方面的內容請參閱SNMP和MIB的說明。在IEEE中有文章是關于Internet管理結構和方法的,本文基本上來自于這篇文章,但在以下幾方面有所不同:那篇文章主要說明OSI類型網絡的管理,對于SNMP并不適用。本文要達到兩個目標:通用性和可擴展性,雖然網絡管理的研究已經開展了許多年,但是對這方面問題的理解的深度和廣度不見得有多好。通過給出一個通用的SMI,可以為未來的發展打好一個基礎。</P>
<P>2. 管理信息的結構和標記</P>
<P>管理對象通過虛擬信息存儲訪問,我們稱這一結構為管理信息庫或MIB。MIB中的對象以ASN.1定義。每個對象有自己的名字,語法和編碼。名字就象對象標記,它是一個管理管理用的名字。對象類型的請求定義了和對象類型相一致的抽象數據結構。雖然這可以通過ASN.1進行定義,但在本文中還是加以了限制。這種限制是為了定義的結果更為一般。對象類型的編碼說明對象類型的實例如何通過對象的類型語法表示。通常將對象的語法和編碼通過對象的定義進行連結,這也是對象在網絡上傳輸的形式。至于定義MIB或管理協議,這不是本文的工作,本文只是通過一個綱領性的說明陳述一般性的原則。當然,在有些時候,定義也加以了限制,這是為某種特定的管理而加的,在具體實現時可以不用管這些限制。</P>
<P>2.1 名字</P>
<P>名字用于標記管理對象。對象標記概念用于進行定義。無論對象是什么語義,對象標記是確定某些對象的方法。對象標記是根據全局樹而來的整數串。這個樹和一些標記過的結點相連。每個結點還有子結點。我們對對象標記的理解應該是建立在對這個全局樹進行遍歷的基礎上的。一個標記就是一個簡單的文本描述和一個整數。根結點不標記,它至少要有三個子結點,一個子結點由國際標準化組織管理,標記為iso(1);另一個由CCITT管理,標記為ccitt(0);第三個由兩者共同管理,標記為:joint-iso-ccitt(2)。在iso(0)下,ISO有一個子樹用于其它國際組織,org(3),對于子結點來說,兩個留給美國國家標準和技術局,另一個由NIST轉給美國國防部,dod(6)。</P>
<P>就本文來說,DoD未指明它如何管理自己的對象標記子樹。本文假設DoD將給Internet分一個區,它由IAB由下面的方式管理:</P>
<P>internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }</P>
<P>也就是說,對象標記的Internet子樹以1.3.6.1開始。本文作為IAB同意的標準,說明管理對象標記子樹的策略。開始時,四個結點是這樣的:</P>
<P>directory OBJECT IDENTIFIER ::= { internet 1 }<BR>mgmt OBJECT
IDENTIFIER ::= { internet 2 }<BR>experimental OBJECT IDENTIFIER ::= {
internet 3 }<BR>private OBJECT IDENTIFIER ::= { internet 4 }</P>
<P>2.1.1. 目錄</P>
<P>directory(1)子樹留作以后OSI目錄如何被用作Internet目錄。</P>
<P>2.1.2. Mgmt</P>
<P>mgmt(2)子樹用于標記定義在IAB文件中的對象。例如,如果定義初始Internet標準MIB的RFC被指定為管理文檔號1,此RFC可以被用作對象標記:{
mgmt 1 }或1.3.6.1.2.1來定義Internet標準的MIB。本文的后半部分將定義新的MIB標準。</P>
<P>2.1.3. Experimental</P>
<P>experimental(3)子樹定義用于Internet實驗的對象。例如實驗者可能接收到定義號17,那可用的對象標記就是:{
experimental 17 }或1.3.6.1.3.17。IANA對如何使用此子樹提出要求。</P>
<P>2.1.4. Private</P>
<P>private(4)子樹用于定義其它對象。此子樹最初只有一個孩子:</P>
<P>enterprises OBJECT IDENTIFIER ::= { private 1 }</P>
<P>使用enterprises(1)時可以允許提供網絡子系統的機構來注冊它們產品的模型。在接收到子樹時,一個企業可以在子樹中定義新的MIB對象。而且此企業也應該在此子樹下注冊它的網絡子系統,這樣可以在管理協議中進行有效地管理。例如,如果"Flintstones,
Inc."生產網絡子系統,它會要求一個在企業子樹下的結點,這樣的結點可能進行如下編號:1.3.6.1.4.1.42,它可能在此下面注冊它自己的路由器為:1.3.6.1.4.1.42.1.1</P>
<P>2.2. 語法</P>
<P>語法是根據對象類型定義對象結構,定義時使用ASN.1,但ASN.1中的一些通用化需要加以限制。ObjectSyntax定義可用于不同對象類型的語法。</P>
<P>2.2.1. 原始類型</P>
<P>ASN.1中的原始類型包括INTEGER,OCTET STRING,OBJECT
IDENTIFIER和NULL。如枚舉整數列為一個對象類型,擁有值0的命名號不應該出現在枚舉列表中,而且不能使用此值。</P>
<P>2.2.2. 構造類型</P>
<P>ASN.1中的SEQUENCE可用,使用它可以建立對于列或表。對于列,語法如下:</P>
<P>SEQUENCE { <type1>, ..., <typeN> }</P>
<P>其中<type>是原始類型。對于表,語法如下:</P>
<P>SEQUENCE OF <entry></P>
<P>其中<entry>指向列。</P>
<P>2.2.3. 定義的類型</P>
<P>允許在一個新應用產品的范圍內定義新類型,新類型必須能夠分解為基本類型,列,表或其它新類型。</P>
<P>2.2.3.1. NetworkAddress</P>
<P>此類型代表多個可能的協議族中的一個地址格式。當前只有只允許Internet協議族。</P>
<P>2.2.3.2. IpAddress</P>
<P>這種定義的類型代表32位的IP地址,它表示為長度為4的字符串。在ASN.1類型使用ASN.基本編碼規則進行編碼時,只能使用原始編碼形式。</P>
<P>2.2.3.3. Counter</P>
<P>這種定義的類型代表一個非負整數,它只能增加,直到最大值。當達到最大值后,它會返回0重新開始。本文指定它的最大值為2^32-1,也就是4294967295。</P>
<P>2.2.3.4. Gauge</P>
<P>此類型代表一個非負整數,它可以可以增加或減少,但在最大值時停止。本文指定它的值為2^32-1,也就是4294967295。</P>
<P>2.2.3.5. TimeTicks</P>
<P>此類型為非負整數,用于記錄從一時間點起經過了多少個百分之一秒的時間。</P>
<P>2.2.3.6. Opaque</P>
<P>此類型支持對ASN.1語法進行擴充的能力。只類型只要求接收方能夠對數據進行解密,并沒有要求接收方一定要理解其內容。</P>
<P>2.3. 編碼</P>
<P>在對象類型的實例實編碼以后,它的值可以將ASN.1的基本編碼規則用于對象類型的語法而進行傳輸。</P>
<P>3. 管理對象</P>
<P>本文不定義MIB對象,但本文指定一種可被其它文章使用的的格式。一個對象定義通常包括下面五個域:
<UL>
<LI>OBJECT:是一個字符串名,它叫OBJECT DESCRIPTOR,它指定對象類型,這個類型和OBJECT
IDENTIFIER相對應。
<LI>語法:對象類型的抽象語法。它必須可以解析到ASN.1類型ObjectSyntax的一個實例上。
<LI>定義:對對象類型語義的文本描述。實現中必須保證對象的實例滿足這個定義,因為這個MIB是用于多廠商環境中的,要照顧到它們的情況。對象在不同的機器上有相同的意義是很重要的。
<LI>訪問:取只讀,讀寫,只寫或不能訪問這四個值。
<LI>狀態:強制(mandatory),可選(optional)或過時的(obsolete)。 </LI></UL>
<P>以后的文檔中可能會定義其它域。</P>
<P>3.1. 對象名</P>
<P>在Internet標準中的MIB中的對象名中不能有0,此值留作擴展。每個和對象類型相對應的OBJECT
DESCRIPTOR應該有獨一無二的,可記憶和打印的字符串名。這對于人們的閱讀和開發對象用戶接口的表機制很有好處。</P>
<P>3.2. 對象類型和實例</P>
<P>一個對象類型就是一類可管理的對象的定義,而對象實例就是一個對象類型的實例,而這個實例已經有值了。例如,路由表入口的定義在MIB中已有定義,這個定義和一個對象類型相關,給定路由表的單個入口中的那個存在一會兒的值就是對象類型的實例。MIB中定義了許多對象類型,每個類型通過OBJECT
IDENTIFIER標記,同時也有一個文本名,稱為OBJECT
DESCRIPTOR。這標明MIB中的數據如果被訪問是由特定協議決定的,而不在MIB中規定。</P>
<P>一個對象類型可以定義在MIB中,這樣一個對象類型的實例可以代表一些信息的集合,也被一些次要對象類型號的實例所代表。例如,假設下面的對象是定義在MIB中的:
</P>
<P>OBJECT: atIndex { atEntry 1 }<BR>Syntax: INTEGER<BR>Definition:
物理地址的接口號<BR>Access: read-write.<BR>Status: mandatory.</P>
<P>OBJECT: atPhysAddress { atEntry 2 }<BR>Syntax: OCTET
STRING<BR>Definition: 與介質相關的物理地址<BR>Access: read-write.<BR>Status:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -