SMI
来自站长百科
SMI(管理信息结构)是简单网络管理协议(SNMP)的一部分,指定了在SNMP的MIB中用于定义管理目标的规则,SMI也是一种语言,是为了确保网络管理数据的语法和语义明确和无二义性而定义的语言,定义被管理网络实体中特定数据的语言、数据类型、对象模型,以及写入和修改管理信息的规则,在SNMP中数据类型并不多,这里我们就讨论这些数据类型,而不关心这些数据类型在实际中是如何编码的。
SMI相关定义信息[ ]
- INTEGER 一个变量虽然定义为整型但也有多种形式,有些整型变量没有范围限制,有些整型变量定义为特定的数值,有些整型变量定义一个特定的范围(例如UDP和TCP的端口号就从0到65535)。
- OCTER STRING 0或多个8bit字节,每个字节值在0~255之间,对于这种数据类型和下一种数据类型的BER编码,字符串的字节个数要超过字符串本身的长度,这些字符串不是以NULL结尾的字符串。
- DisplayString 0或多个8bit字节,但是每个字节必须是ASCII码,在MIB-II中所有该类型的变量不能超过255个字符(0个字符是可以的)。
- OBJECT IDENTIFIER 对象识别符,由一列整数组件组成用于识别一个对象,如算法、属性类型、或定义了其他对象识别符的注册机构。
- NULL 代表相关的变量没有值,如在get或get-next操作中变量的值就是NULL,因为这些值还有待到代理进程处去取。
- IPAddress 4字节长度的OCTER STRING,以网络序表示的IP地址,每个字节代表IP地址的一个字段。
- PhysAddress OCTER STRING类型,代表物理地址,如如以太网物理地址为6个字节长度。
- Counter 非负的整数,可从0递增到232—1(4294976295),达到最大值后归0。
- Gauge 非负的整数,取值范围为从0到4294976295(或增或减),达到最大值后锁定直到复位。例如MIB中的tcpCurrEstab就是这种类型的变量的一个例子,它代表目前在ESTABLISHED或CLOSE_WAIT状态的TCP连接数。
- TimeTicks 时间计数器以0.01秒为单位递增,但是不同的变量可以有不同的递增幅度,所以在定义这种类型的变量的时候,必须指定递增幅度。例如MIB中的sysUpTime变量就是这种类型的变量,代表代理进程从启动开始的时间长度,以多少个百分之一秒的数目来表示。
SMI的SEQUENCE应用[ ]
SEQUENCE这一数据类型与C程序设计语言中的“structure”类似,一个SEQUENCE包括0个或多个元素,每一个元素又是另一个ASN.1数据类型,例如MIB中的UdpEntry就是这种类型的变量,它代表在代理进程侧目前“激活”的UDP数量(“激活”表示目前被应用程序所用),在这个变量中 包含两个元素:
- IPAddress类型中的udpLocalAddress,表示IP地址。
- INTEGER类型中的udpLocalPort,从0到65535表示端口号。
SMI的SEQUENDEOF应用[ ]
- 首先SEQUENDEOF是一个向量的定义,其所有元素具有相同的类型,如果每一个元素都具有简单的数据类型,例如是整数类型那么我们就得到一个简单的向量(一个一维向量),但是我们将看到SNMP在使用这个数据类型时其向量中的每一个元素是一个SEQUENCE(结构),因而可以将它看成为一个二维数组或表。
- 其次SMI是WMP专用字幕文件格式,如果在播放的文件目录中有格式正确且与歌曲同名的SMI文件那么WMP都会识别。
- 最后SMI和SRT一样都是文本字幕格式,可以用记事本或者Ultraedit打开进行编辑,使用时候先安装字幕插件VobSub软件再下载SMI字幕,将其与影片放置在同一目录下并且保证文件名相同,这样用Media Player观看时VobSub会自动调用相应字幕。
SMI在服务器领域应用[ ]
SMI技术有如下应用:
- 数据包重试:SMI是至强7500处理器的内存接口,SMI是至强7500处理器与内存缓冲芯片间的连接总线,这一技术允许在检测到错误后进行数据或指令的重新传输。
- SMI时钟失效切换(SMIclock failover): 每个SMI总线有两个时钟发生器与相应的时钟通道,当其中一个失效后,能自动的切换至另一个,以保证SMI的正常运行。
- SMI通道失效切换(SMIlane failover):每条SMI总线包含有32个数据通道以及一个备用的数据通道(即总的数据通道为33个),当一道数据通道出现问题时将以这个备用的数据通道进行替换,以确保SMI的可用性。