LETOU乐投

LETOU乐投
    phone
    服务热线:
    18123937129
新闻资讯
当前地位:首页 > 新闻资讯 > 行业动态
基于FreeRTOS+LwIP的SNMP实现规划
浏览次数:2760
简介 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 的体式如下:

LETOU - 乐投(中文)官方网站

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:变量绑定字段。

LETOU - 乐投(中文)官方网站

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

LETOU - 乐投(中文)官方网站

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.
报头数据:重要蕴含新闻发送者所能支持的最大新闻尺寸、新闻是否进行加密/认证、选取的安全模式等描述内容。体式如下:

LETOU - 乐投(中文)官方网站

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

LETOU - 乐投(中文)官方网站

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 七种类型。体式如下:

LETOU - 乐投(中文)官方网站

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


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

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