SNMP协议详解—消息调度与处理

本文详细介绍了SNMP引擎中的调度程序及其任务,包括调度程序如何处理消息,如何与消息处理子系统交互。文章还阐述了消息处理子系统、调度的元素如消息处理模型、PDU版本、PDU类型和发送PDU句柄,以及调度程序在发送和接收消息过程中的作用。同时,还讨论了应用如何在PDU调度器中注册和注销处理的PDU。
摘要由CSDN通过智能技术生成

1、调度程序

调度程序是SNMP引擎中的关键部分,每个SNMP引擎只有一个调度程序。其任务是调度任务给各个版本相应的消息处理模型,将PDU调度给相关的应用程序。

对于外流的消息,某个应用程序将提供被发送的PDU,添加一些准备和发送信息需要的数据之后,应用程序确定将要使用的消息处理模型的版本以及期望的安全处理。

对于引入的消息,调度程序确定版本信息,并将该消息传送给相应版本的消息处理模型提取消息数据,协同安全处理服务对该消息进行处理。版本确定之后,PDU调度程序决定该PDU应当发送给哪个应用程序。

 

2、消息处理子系统

消息处理子系统是SNMP引擎的一部分,它同调度程序交互处理对应版本的消息,消息处理子系统包含一个或多个消息处理模型。

 

3、消息处理和调度的元素

RFC3411中定义了如下元素:

contextEngineID
contextName
scopedPDU
maxSizeResponseScopedPDU
securityModel
securityName
securityLevel
messageProcessingModel

上述元素的值,对于引入的消息来说,相应版本的消息处理模块将它们的值提供给调度程序。对于流出的消息来说,由应用程序提供它们的值给调度程序。

对于某些版本的消息处理模块,这些值是从收到的消息中萃取而来;而对于其他的版本,这些值是通过某种算法计算或某种定义好的机制而来。而这种机制定义的值与调度程序不相关。

 

(1)   消息处理模型(messageProcessingModel

messageProcessingModel的值标识消息处理模型。消息处理模型描述从消息中萃取数据的特定版本过程、产生消息、调用安全模型对消息提供安全服务;消息处理模型还负责将数据从特定版本的消息格式转换为一般格式数据,或者将一般格式数据转换成特定版本格式的数据。

 

(2)   Pdu版本(PduVersion

PduVersion的值描述协议操作的详细版本信息和与其关联的PDU格式。例如:SNMPv1SNMPv2等。这个值还明确了消息中包含的PDU版本,同时指明了处理该PDU的应用程序。调度程序并不直接使用该值。

当应用程序请求调度程序向其他SNMP引擎发送PDU时,它将指定PduVeesion给调度程序,调度程序将该PduVersion

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值