- 2
- 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( )验证共同体名是否合法。共同体名的系统缺省设置为:对于具有共同体名pub或public的管理站只能执行get操作,而具有共同体名priv或private的管理站可以进行set操作。通过共同体名验证后,代理调用用户定义的MIB访问函数,并将其所提供的信息构成pdu,交给snmpIoWrite( )返回给管理站。 (3) 退出代理程序 当用户需要停止snmp代理,调用snmpdExit( ),由它调用 MIB 中止例程并且释放所有代理的资源,之后所有的SNMP 服务都不再被支持。 开发SNMP代理主要包括两方面的工作即MIB的转化和扩展MIB,以下将分别介绍。 2. MIB的转化 由于MIB都是用ASN.1编写的,需要将其转化成C/C++的数据结构,才能用程序实现。对MIB文文件的转化工作是费时而且易错的,所幸的是WindNet SNMPv1/v2软件包中提供的mibcomp可以将MIB编译成c代码,并将每一个MIB变量与其相应的读写例程联系在一起。具体操作过程如下。 (1)检查MIB中是否存在错误 这一步是对要转化的MIB(如example.mib)进行语法检查,标准MIB文件一般都定义得很规范,语法上很少出错,而对于自定义的MIB来说,这一步很重要,它可以帮助MIB编写者检查一些疏忽的语法错误。它使用的命令如下。mibcomp -check example.mib (2)创建MIB树 每个代理都有一棵自己支持的MIB树,如果管理站所要查询或设置的变量不在该MIB树内,代理向管理站返回noSuchName 的错误信息。 在创建MIB树的过程中,同时在MIB树中每个叶子结点中赋予get、set等操作的函数指针,使用如下命令生成c代码文件exampleTree.c。 mibcomp -o exampleTree.c -stub example.mib 使用如下命令生成头文件exampleLeaf.h,它是用来定义每个叶子值的。 mibcomp -o exampleLeaf.h -leaf example.mib (3)生成例程函数的头文件及c代码文件 通过使用mibcomp的-skel和-stub两个参数可以分别生成例程函数相应的用作函数声明的头文件和例程函数的c代码文件。但是实际开发中发现生成c代码不能适用要求,需要自己重新编写。 使用如下命令生成头文件exampleHead.h。 mibcomp -o exampleHead.h - skel example.mib 使用如下命令生成c文件exampleC.c。 mibcomp -o exampleC.c - stub example.mib (4)为管理站创建.rt文件 .rt文件是用来向管理站说明代理的MIB树,通过如下命令生成。 mibcomp -o exampleMib.rt -readtree. example.mib 至此,就基本上完成了MIB的转化工作。 3.扩展MIB的实现 Vxworks已经完成对MIB-II的实现,并支持扩展MIB的实现。对MIB的扩展实际上是为网络设备所支持的各MIB编写访问函数,同时根据自己的需要对MIB-II的相关组重新编写,具体过程如下。 首先,利用MIB编译器可以把用ASN.1语言描写
您可能关注的文档
- PQRASME要求填写的焊接工艺评定报告.doc
- Practical Automatic Determination of Causal Relationships in Software Execution Traces.pdf
- Prediction of Physical, Color, and Sensory Characteristics of Broiler Breasts by VisibleNea.pdf
- Precision Spectroscopy of Pionic Atoms From Pion Mass Evaluation to Tests of Chiral Perturb.pdf
- Predictive Evaluation of Econometric Forecasting Models in Commodity Futures Markets.pdf
- Predicting the Performance of Randomized Parallel Search An Application to Robot Motion Pla.pdf
- PRELIMINARY VERSION A Design Diversity Metric and Analysis of Redundant Systems.pdf
- Present and NearFuture Reflected Light Searches for CloseIn Planets.pdf
- prepared for a special issue of abour Economics,.pdf
- Present and Future Electroweak Precision Measurements and the Indirect Determination of the.pdf
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- 湖北省武昌某中学2024-2025学年高一年级下册3月月考数学试卷(解析).pdf VIP
- 综合应用能力事业单位考试(社会科学专技类B类)试题与参考答案.docx VIP
- HomeFacialPro+品牌手册(精品).pdf VIP
- 昆明市一中2026届高三年级12月第五次联考数学试卷(含答案详解).pdf
- 2025年国家开放大学(电大)《供应链管理》期末考试复习试题及答案解析.docx VIP
- 2025年广州市中考数学试题卷(含答案解析).docx
- 2025年重庆市中考化学试卷真题及答案.docx VIP
- 基于YOLOv5s的校园场景多目标巡检系统研究.pdf
- 跨越施工专题培训.pptx
- 2025【基于PID算法的温湿度控制系统的设计7200字(论文)】.docx VIP
原创力文档

文档评论(0)