万利官网

    phone
    服务热线:
    18123937129
新闻资讯
当前地位:网站首页 > 新闻资讯 > 行业动态 >
基于FreeRTOS+LwIP的SNMP实现规划
浏览次数:0
本文档重要讲述SNMP的实现规划
简介 SNMP:单一网络治理和谈(Simple Network Management Protocol) ,是由互联网工程工作组界说的一套网络治理和谈 。SNMP能够使网络治理员通过一台工作站实现对推算机、路由器和其他网络设备的远程治理和监督 。利用SNMP和谈能够更好地治理和监控网络 。治理工作站能够远程治理所有支持该和谈的网络设备 ,如监督网络状态、批改网络设备配置、接管网络事务忠告等 。
SNMP作为TCP/IP和谈的一部门 ,其新闻是被封装到UDP和谈中进行传输的 。SNMP和谈重要由两大部门组成:网络治理站(也叫治理过程)和被管的网络单元(也叫被管设备) ,被管设备种类多多 ,好比:路由器、终端服务器、打印机等 。在本文档中 ,国民技术的N32G457QEL_EVB V1.1全职能开发板就充任被治理设备 。被管设备端和治理有关的软件叫代理法式(SNMP agent)或者代理过程 ,它是运行于设备上的代码或法式 。治理过程和代理过程之间的通讯能够有两种方式:一种是治理过程向代理过程提议的 ,询问其具体参数值(get操作)或者为其设置某个参数值(set操作);另一种是代理过程自动向治理过程提议的 ,向其汇报自身的某些沉要事务的产生(trap操作) 。到目前为止 ,SNMP共有三个版本:v1 ,v2和v3 。V1和v2有好多共同的特点 ,v3在前面版本的基础上加强了安全性方面的职能 。其各自的新闻体式、操作号令等将在后文中具体给出 。

本文档重要针对国民技术MCU N32G45x系列产品在搭载FreeRTOS + LwIP的场景下的以太网事俘:SNMP的利用



SNMP根基概想  由于 SNMP 由治理站(NMS)和被管设备组成 ,在具体实现中 ,NMS 掌管治理号令的发出、数据存储、数据分析 ,而运行于被管设备上的代理 agent 法式就掌管与治理站的 SNMP 通讯 。治理站与代理 agent 端通过治理信息库(MIB)进行接口统一 ,MIB 界说了设备中的被治理对象 。治理站和代理 agent 都实现了相应的MIB 对象 ,以此来鉴别双方的数据 ,实现通讯 。治理站向代理 agent 要求 MIB 中界说的数据 ,代理 agent 鉴别后 ,将治理提供的状态或者参数转换成 MIB 界说的体式 ,返回给治理站 ,就实现了一次治理操作 。


基于FreeRTOS+LwIP的SNMP实现规划



1.1 MIB  MIB 是(Management Information Base)治理信息库的缩写 。它是 SNMP 治理与 agent 之间能够正常沟通的桥梁 ,是资源和对象标识符 oid(object identifier)之间唯一对应关系的数据库 。任何一个被治理的资源都能够用 oid 来对应 。所谓 oid ,内容上是树形结构 ,每一个节点用一个数字对其进行标识 ,直至最终的资源 ,类似 PC 上的文件夹蹊径 。例如下图中:Iso.Org.Dod.Internet.Mgmt.Mib.System 对应的 oid 为:.1.3.6.1.2.1.1 。在现实开发中必要开发人员在 MIB 界说自己的 oid ,为了便于测试 ,本文档中使用的是下图 System 节点下的叶子节点对应的 oid 。



MIB框图


1.2 操作号令  Get-request 操作:SNMP 治理从 SNMP agent 获取一个或多各参数值;
Get-nest-request 操作:SNMP 治理从 SNMP agent 获取一个或多个参数的下一个参数值;
Get-bulk 操作:SNMP 治理从 SNMP agent 获取批量参数值 ,其中 ,non-repeaters 和 max-repetitions 两个字段必须设置 ,non-repeaters 是指前 n 个参数能够用 Get-nest-request 操作执行 ,max-repetitions 是指 n 之后的参数只能用 Get-nest-request 操作获取到最多 m 个参数值;
Set-request 操作:SNMP 治理设置 SNMP agent 的一个或者多个参数值;


Get-response 操作:SNMP agent 返回一个或多个参数值 ,是 SNMP agent 对 SNMP 治理的操作号令的响应;
Trap 操作:SNMP agent 自动发出的报文 ,主张是通知 SNMP 治理设备自身所产生的一些事务 ,执行该操作后 ,设备不会收到来自 SNMP 治理的回复报文;
Inform-request 操作:与 Tarp 操作类似 ,分歧的是 ,SNMP agent 自动发出该报文后 ,若是衔接通顺 ,将会收到来自 SNMP 治理的回复报文 。
在 SNMP 三个版本中 ,v1 版本只蕴含 Get-request 操作、Get-nest-request 操作、Set-request 操作、Getresponse 操作和 Trap 操作 。V2 和 v3 版本都蕴含以上所有操作 ,并且 v3 在 v2 的基础上增长了安全性方面的职能 。



1.3 报文体式  前面提到 SNMP 有 3 个分歧版本的和谈 ,接下来就看看它们各自的报文体式 。
1.3.1SNMPv1报文体式 
SNMPv1 报文重要由版本、集体名、SNMP PDU 三部门组成 ,如下图:


SNMPv1报文体式


版本:暗示 SNMP 的版本 ,版本字段的值是报文版本号减 1 ,若是是 SNMPv1 报文则对应字段值为 0 。
集体名:用于在 agent 与 NMS 之间实现认证 ,字符串大局 ,常用的是 “public”和“private” 。集体名蕴含“可读”和“可写”两种 ,执行 Get、Get-next 操作时 ,选取“可读集体名”进行认证;执行 Set 操作时 ,则选取“可写集体名”认证 。
SNMPv1 PDU:蕴含 PDU 类型、要求标识符、变量绑定列表等信息 。
其中 ,PDU 的体式如下:

万利官网-相信品牌力量

PDU Type:和谈数据单元的类型 。支持 Get-request PDU、Get-next-request PDU、Set-request PDU、response PDU 或 Trap PDU 五种类型 。
Request ID:要求标示字段 ,唯一的标示一个要求报文 。
Error Status:谬误状态标示字段 。SNMPv1 中谬误码蕴含:1、noSuchName:指定了一个代理不知路的对象;2、tooBig:代理不能一次把要求的了局放入到一个 PDU 中;3、badValue:进行 set 操作时辰把变量批改为一个无效的值;4、genErr:除以上谬误表的其他谬误 。
Error Index:谬误索引字段 。
Variable Bindings:变量绑定字段 。

万利官网-相信品牌力量

版本:暗示 SNMP 的版本 ,版本字段的值是报文版本号减 1 ,若是是 SNMPv2 报文则对应字段值为 1 。
集体名:用于在 agent 与 NMS 之间实现认证 ,字符串大局 ,常用的是 “public”和“private” 。集体名蕴含“可读”和“可写”两种 ,执行 Get、Get-next 操作时 ,选取“可读集体名”进行认证;执行 Set 操作时 ,则选取“可写集体名”认证 。
SNMPv2c PDU:蕴含 PDU 类型、要求标识符、变量绑定列表等信息 。
其中 ,PDU 体式如下:

万利官网-相信品牌力量

PDU Type:和谈数据单元的类型 。支持 Get-request PDU、Get-next-request PDU、Set-request PDU、
response PDU、Trap PDU、Get-bulk PDU 或 Inform PDU 七种类型 。
Request ID:要求标示字段 ,唯一的标示一个要求报文 。
Error Status:谬误状态标示字段 。SNMPv2c 中谬误码蕴含:1、wrongValue:进行 set 操作时辰把变量批改为一个无效的值;2、wrongEncoding:进行编码字段的值 ,与其他的字段不一致;3、wrongType:进行 set操作时辰把变量批改为一个无效的类型;4、wrongLength:进行 set 操作时辰把一个变量值设置成与它长度不一致的值;5、inconsistentValue:把一个变量设置为其他的情况下有效的值 ,当前情况下无效;6、noAccess:试图设置一个不成接见的值;7、notWritable:试图批改一个存在 ,但不能批改的值;8、noCreation:试图批改一个存在 ,但不能创建的值;9、inconsistentName:试图设置一个当前不存在且当前不能创建的变量;10、resourceUnavailable:设置过程中申请某些资源失败;11、commitFailed:set 操作失败;12、undoFailed:进行set 操作失败 ,有些赋值无法回复;13、genErr:除以上谬误表的其他谬误 。
Error Index:谬误索引字段 。
Variable Bindings:变量绑定字段 。


1.3.3 SNMPv3报文体式 
SNMPv3 报文结构从职能上来说 ,与 SNMPv1、SNMPv2c 的区别重要增长了报头数据和安全参数 ,如下图:

SNMPv3报文体式

版本:暗示 SNMP 的版本 ,该字段为 3.
报头数据:重要蕴含新闻发送者所能支持的最大新闻尺寸、新闻是否进行加密/认证、选取的安全模式等描述内容 。体式如下:

万利官网-相信品牌力量

Msg ID:能够使要求和应答互有关联 ,响应报文中的 Msg ID 和发送报文中的值一样 。
Msg Max size:新闻发送者支持的最大的新闻尺寸 。
Msg Sec Model:指了然发送方选取的安全模式 。
Msg Flag:要求报文指定是否要求回应 report 新闻 ,新闻是否进行了加密和认证 。
安全参数:蕴含用户名、密钥、加密参数等安全信息 。体式如下:

万利官网-相信品牌力量

Auth Engin ID:唯一的标识一个认证 。
Auth Engin Boots:从配置认证引擎到此刻 ,认证引擎沉新启动的次数 。
Auth Engin Time:从配置认证引擎到此刻的功夫 。
User Name:用户名 。
Auth Para:认证参数值 。
Priv Para:加密后的参数值 。
SNMPv3 PDU:蕴含 PDU 类型、要求标识符、变量绑定列表等信息 ,蕴含 Get-request PDU、Get-nextrequest PDU、Set-request PDU、response PDU、Trap PDU、Get-bulk PDU 或 Inform PDU 七种类型 。体式如下:

万利官网-相信品牌力量

Context Egine ID:SNMP 唯一标识符 ,和 PDU 类型一路决定应该发往那个利用法式 。
Context Name:指明高低文之间的关系 ,由利用法式决定 。
Data:报文的数据内容 。


cn
/news/10001/1.html
news
5 秒后自动关关
填写表单 ,获取产品询盘报价 X
  • wechat_cn 18123937129
  • 电话
  • 邮箱
  • 微信
  • QQ
  • Skype
  • 询盘
  • 关注微信号 ,惊喜等你来

    x
    wechat_cn
    (长按复造微信号 ,增长关注)
    18123937129
    【网站地图】