您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 热点APSNMP说明
热点APSNMP说明1参考...................................................................................................................................12对象...................................................................................................................................13源码和存放目录...............................................................................................................13.1适配模块说明...............................................................................................................23.2SNMP进程对MIB节点主要处理流程.....................................................................23.3私有MIB实现举例.....................................................................................................33.3.1节点实现...................................................................................................................33.3.2TRAP实现...............................................................................................................5MSG_CMM_FLASH_ERR.............................................................................................................5ERROR_OUT:;.............................................................................................................................5备注:MSG_CMM_FLASH_ERR消息具体是从那个模块发过来,它是组播还是单播消息等,对于SNMP模块来说,都可以不用太深入去了解,因为这些TRAP的告警都是从不同的模块发给SNMP模块的,所以具体消息的发出,可以由相应的模块负责人给出。如果有兴趣也可以通过查看源代码来了解。...........................................................................................53.4不同客户MIB库文件修改说明.................................................................................64其它说明及补充...............................................................................................................84.1关于SNMP后门实现..................................................................................................84.2关于SNMP调试方法..................................................................................................81参考SNMP代码实现源码和存放目录名称目录说明适配模块$SRC_HOME\src\appps\logic\snmpc配置和起停SNMPSNMP进程及公共MIB实现$SRC_HOME\src\opensource\snmp\net-snmp-5.4.1SNMP协议解析和部分公共MIB实现私有MIB实现$SRC_HOME\opensource\snmp\net-snmp-5.4.1\agent\mibgroup\tbs-private实现热点AP所有私有MIB节点的源码.MIB文件实现$SVN_SERVER/root/wireless/CPE/TBS/TBS-R2/doc/rfp/mib/WLAN-VERSION-2--ZTE(3902).MIB定义了所有热点AP所有私有MIB节点,作为与SNMPagent端通信的依据必须提供给SERVER端.3.1适配模块说明SNMPC通过动态创建snmpd运行所需的配置文件/tmp/snmpd.conf,然后调用/usr/sbin/snmpd-c/tmp/snmpd.conf-f-Lo–V命令将snmpd拉起,并维护snmpd运行状态机,而snmpd会向CMM注册其MID(MID_SNMPA),当snmpd收到网管发来的SNMP报文时,snmpd会向CMM发送MSG读写节点,CMM在向相关模块转发消息。CMM或其他模块也会向snmpd发送TRAP相关的MSG,snmpd处理后将TRAP相关信息封包为符合SNMPTRAP报文格式的报文发给网管平台3.2SNMP进程对MIB节点主要处理流程开始接收SNMP请求消息对消息中的community进行认证解析消息中的变量绑定根据变量OID在MIB树上查找相应节点调用节点上注册的回调处理函数生成应答包(对GET操作把值填入变量绑定)发送SNMP应答消息结束回调函数进行相应处理在net-snmp中,上述步骤我们主要是要关注回调函数处理这一步,在私有MIB实现中会对其做比较详细的说明。3.3私有MIB实现举例3.3.1节点实现以添加1.3.6.1.4.1.3902.1.7.114为例,假设该节点名nodeTest,树名为treeTest。1、在MIB文件中定义该节点,一般情况下,AP的MIB文件存放在以下路径:(3902).MIB(路径中的服务器地址可能会由于服务器的变迁而跟着改变)如果MIB文件中不存在treeTest树,先要定义树根节点,如下:treeTestOBJECTIDENTIFIER::={zteWLAN7}定义完树根节点后,定义叶子节点,如下:nodeTestOBJECT-TYPESYNTAXDisplayStringMAX-ACCESSread-onlySTATUScurrentDESCRIPTIONThedescriptionaboutthisnode.::={treeTest114}这样就完成了对nodeTest节点的定义,具体语法可以参考网上对ASN.1的相关说明文档。2、在src\opensource\snmp\net-snmp-5.4.1\agent\mibgroup\tbs-private\adslNodes.h定义MibTree本身结点的数字标识#defineOID_test1143、定义variable1结构类型的数组test_variables,数组的每个成员为MibTree的叶子结点,形式如下:structvariable1test_variables[]={{……….{OID_test,ASN_IPADDRESS,RWRITE,var_remoteSnmpEntry,1,{114}},…………};各成员说明:4、定义MibTree的OID数组形式如下:oidtest_variables_oid[]={IGD_OID_PREFIX,7};5、实现回调函数var_testEntry,原型为具体的实现方法可参照现有代码6、调用函数REGISTER_MIB(test,test_variables,variable1,test_variables_oid);将MibTree注册到MIB库中。3.3.2TRAP实现以添加OID为1.3.6.1.4.1.3902.1.30.6,告警码为21007的AP缓存写失败告警为例。1、在statictraps_infotraps_message[]数组中添加自己的成员,如下:statictraps_infotraps_message[]={……………….{FlashWriteError,21007,{IGD_OID_PREFIX,30,6},10},……………};2、在函数snmpa_MsgProcess添加处理其他模块如CMM发送过来的缓存写失败的消息MSG_CMM_FLASH_ERR#defineINDEX_FlashWriteError7/*7为描述该TRAP的trap_info结构在traps_message中的位置*/voidsnmpa_MsgProcess(ST_MSG*_pstMsg){intnRet=TBS_SUCCESS;…………..switch(pstMsg-stMsgHead.usMsgType){…………….caseMSG_CMM_FLASH_ERR:SNMPA_Send_Comm_Trap(&traps_message[INDEX_EncrptionChanged]);break;……..……….default:nRet=TBS_FAILED;SNMPA_TRACE(RecievedINGNOREDmessage,Itsidis%d.\n,pstMsg-stMsgHead.usMsgType);break;}//returnnRet;ERROR_OUT:;}备注:MSG_CMM_FLASH_ERR消息具体是从那个模块发过来,它是组播还是单播消息等,对于SNMP模块来说,都可以不用太深入去了解,因为这些TRAP的告警都是从不同的模块发给SNMP模块的,所以具体消息的发出,可以由相应的模块负责人给出。如果有兴趣也可以通过查看源代码来了解。3.4不同客户MIB库文件修改说明mib文件统一存放于以下目录:当需要为新的客户制作mib文件时,如果节点树没有改动,可以直接在已经做好的MIB文件上进行修改。例如,以ZTE的MIB文件为模版,需要修改的地方如下红色显示部分(只列出MIB文件开头部分)ZTEWLANDEFINITIONS::=BEGINIMPORTSifIndexFROMRFC1213-MIBOBJECT-GROUPFROMSNMPv2-CONFenterprises,IpAddress,Integer32,Counter64,OBJECT-TYPE,MODULE-IDENTITYFROMSNMPv2-SMIDisplayString,MacAddress,TruthValue,RowStatusFROMSNM
本文标题:热点APSNMP说明
链接地址:https://www.777doc.com/doc-2217418 .html