SNMP代理的设计与实现.docxVIP

  • 3
  • 0
  • 约2.82千字
  • 约 3页
  • 2015-09-26 发布于重庆
  • 举报
SNMP代理的设计与实现

SNMP代理的设计与实现   1. SNMP代理模块工作流程   SNMP代理模块包括6个子模块,如图2所示。   SNMP代理是一个单任务,采用先进先出队列,一次处理一个PDU。代理从管理站接收PDU后,对其进行语法分析,将其转换成一个可用的内部数据结构,将MIB变量映射成本地变量,判断请求的MIB对象是否在代理的MIB树中,如果存在,调用对应的MIB变量处理例程来处理,命令执行完之后,再将内部数据格式转换回ASN.1格式创建响应PDU,调用Socket的sendto()函数将它发送给管理站。   (1)初始化   SNMP代理在启动时通过调用usrSnmpInit( )产生一个任务tSnmpd,进入任务的主要入口函数是snmpIoMain( )。在初始化工作结束后,snmpIoMain( )调用snmpdInitFinish( ),并由snmpdInitFinish( )向管理站发送trap,通知它代理已经开始工作,然后进入消息处理循环,如图3所示。   (2)消息处理循环   首先支持例程snmpIoBody( )在UDP端口161收听消息,收到消息后交给snmpdPktProcess()处理,snmpdPktProcess( )将消息传给snmpIoCommunityValidate( ),snmpIoCommunityValidate( )验证共同体名是否合法。共同体名的

文档评论(0)

1亿VIP精品文档

相关文档