1.什么是ASN.1(抽象语法标记1)?

ASN.1(Abstract Syntax Notation One)是ITU-T的一个标准集,它用来编码及表示通用数据类型,这些数据类型有可打印串值,八位位组串值,位串值,整数值以及用可移值方式组合而成的其他类型序列值。简单的说,ASN.1指定了以何种方式对非平凡的数据类型进行编码,以便其他任何平台及第三方工具都能够解释其内容。比如,字母a在一些平台以ASCII编码为十进制数值97,而在其他非ASCII平台上,可能会是另外的编码.而ASN.1指定了一种编码方式,在任何平台上,字母a的编码都是统一的.

2.ASN.1语法.

ASN.1语法遵循传统的巴科斯范式BNF风格.最基本的表达式如:Name ::= type . 表示为定义某个名称为Name的元素,它的类型为type. 例如: MyName ::= IA5String . 表示为定义了一个名为MyName的元素或变量,其类型为ASN.1类型IA5String (类似于ASCII字符串). 阅读全文 »

 


通信基础知识:SNMP协议PDU报文格式解析一文中,对SNMP协议格式进行了简单介绍。为进一步学习和掌握SNMP协议,本文对SNMP协议报文再进行了深入分析,使自己看到snmp报文时,可对其进行解析。

分析SNMP协议报文,除了需要掌握SNMP报文格式外,需要掌握两点知识——ASN.1和BER。

1. ASN.1和BER介绍

SNMP协议用于两台设备之间的信息传递,而这两台设备也就是两个系统各种各样。为实现信息传递,就必须对传输数据进行规范和约定,使其与具体的设备和系统独立开来。为此,SNMP采用了ASN.1(Abstract Syntax Notation One)——抽象语法标记。 阅读全文 »

 


SNMP五种协议数据单元

SNMP规定了5种协议数据单元PDU(也就是SNMP报文),用来在管理进程和代理之间的交换。

  • get-request操作:从代理进程处提取一个或多个参数值(网管系统发送)
  • get-next-request操作:从代理进程处提取紧跟当前参数值的下一个参数值(网管系统发送)
  • set-request操作:设置代理进程的一个或多个参数值(网管系统发送)
  • get-response操作:返回的一个或多个参数值。这个操作是由代理进程发出的,它是前面三种操作的响应操作(代理发送)
  • trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生(代理发送)

前面的3种操作是由管理进程向代理进程发出的,后面的2个操作是代理进程发给管理进程的,为了简化起见,前面3个操作叫做get、get-next和set操作。下图描述了SNMP的这5种报文操作。请注意,在代理进程端是用熟知端口161俩接收get或set报文,而在管理进程端是用熟知端口162来接收trap报文。 阅读全文 »

© 2012 velep.com | reille blog | 管理| 粤ICP备12094833号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

无觅相关文章插件,快速提升流量