ASN.1:
高级数据描述语言,描述数据类型、结构、组织及编码方法。包含语法符号和编码规则两大部分。SNMP使用ASN.1描述协议数据单元(PDU)和管理对象 信息库(MIB);
BER:
是 ASN.1中的基本编码规则。描述具体的ASN.1对象如何编码成比特流在网络上进行传输。SNMP使用BER作为编码方案,数据首先经过BER编码,再 经由传输层协议(一般是UDP)发送往接收方。接收方在SNMP端口收到PDU后,经过BER解码后,得到具体的SNMP操作数据。
SMI
是SNMP的描述方法。ASN.1功能很强大,但SNMP只用到其中一小部分,为了方便使用,对这部分内容做了描述,限定了范围,这就是SMI。SMI由 ASN.1的一个子集合和一部分自定义的类型、宏等组成。SMI是ASN.1的一个子集和超集。
MIB:
使用SMI中定义的类型和ASN.1中的基本类型进行对象描述,是一个使用SMI描述的管理信息库。每一类关心的事件都有一组MIB,比如网络接口有一棵 MIB树,TCP有一棵MIB树,UDP也有一棵状态树。定义了数据格式、类型、顺序、意义等;
PDU
是网络中传送的数据包,SNMP的协议数据单元。每一种SNMP操作物理上都对应一个PDU。PDU是基本的通信格式,使用ASN.1描述,使用BER编 码,通过传书层协议传送;
SNMP是应用层协议,它要求两端的协议实体交换各种报文,而低层要求用户数据都是BYTE序列,这就产生了一个问题: SNMP协议实体如何从接受到的一个BYTE序列中识别出报文又如何把一个用内部数据结构表示的报文转换成一个可供发送的BYTE序列, 也就是编解码问题。
解决这个问题,就需要一个定义从实际的软件数据结构中抽象出来的数据类型的表示方法,称为抽象句法。
ASN.1就是用来描述抽象记法的语言,事实上可应用与任何协议层,在它的基础上,通过规定编码规则,就可以确定数据在传送中的八比特组的 值。
转载: http://hi.baidu.com/wucg2008/blog/item/130c4d868006af2e67096e83.html