当前位置: 首页 > news >正文

使用MIB builder自定义物联网网关的MIB结构

文章目录

  • 物联网网关初识(了解即可)
  • IoT的通用MIB库结构
  • MIB Builder开发流程指导
  • 问题总结
    • 子叶没所属分组
    • 值范围不为0

物联网网关初识(了解即可)

  • 网关又称网间连接器、协议转换器。简单说,物联网网关是一台智能计算机,作为管理所有连接物联网设备、传感器和执行器的中央集线器。
  • 它充当入口,聚合、处理和过滤各种物联网设备发送的所有数据和信息,然后再发送到云端。更先进的物联网网关能够执行复杂的边缘计算应用程序,例如人工智能。在这种情况下,物联网网关在边缘处理大部分数据,并且能够在边缘运行实时决策,而无需云的任何帮助。
    在这里插入图片描述
  • 物联网网关特点
    • 工业级设计,选用高清触摸屏
    • 物联网网关存储量大,数据不会丢失
    • 支持多种通讯协议,通讯效率高和方便
  • 物联网网关功能
    1. 协议转换能力:从不同的感知网络到接入网络的协议转换、将下层的标准格式的数据统一封装、保证不同的感知网络的协议能够变成统一的数据和信令;将上层下发的数据包解析成感知层协议可以识别的信令和控制指令。
    2. 可管理能力:首先要对网关进行管理,如注册管理、权限管理、状态监管等。网关实现子网内的节点的管理,如获取节点的标识、状态、属性、能量等,以及远程实现唤醒、控制、诊断、升级和维护等。由于子网的技术标准不同,协议的复杂性不同,所以网关具有的管理性能力不同。
    3. 广泛的接入能力:物联网网关进行标准化工作,如传感器工作组,实现各种通信技术标准的互联互通。

IoT的通用MIB库结构

通用物联网(IoT)网关设备管理的MIB库设计,应当涵盖设备的基本配置、状态信息、性能指标和安全管理等方面。以下是一个设计示例及其设计原因:

  1. 设备基本信息(deviceInfoGroup)

    • 设备型号(deviceModel)
    • 序列号(serialNumber)
    • 固件版本(firmwareVersion)
    • 启动时间(uptime)

    **设计原因:**这些信息为网络管理员提供了设备的基本身份信息,便于跟踪和管理设备。

  2. 网络配置信息(networkConfigGroup)

    • IP地址(ipAddress)
    • 子网掩码(subnetMask)
    • 默认网关(defaultGateway)
    • DNS服务器(dnsServers)

    **设计原因:**网络配置是设备通信的基础,这些信息是进行故障诊断和网络设置的关键信息。

  3. 设备状态信息(deviceStatusGroup)

    • CPU使用率(cpuUtilization)
    • 内存使用率(memoryUtilization)
    • 存储空间使用率(storageUtilization)
    • 网络接口状态(interfaceStatus)

    **设计原因:**这些状态信息可以帮助网络管理员监控设备性能,并及时发现和解决问题。

  4. 设备性能指标(devicePerformanceGroup)

    • 数据吞吐量(dataThroughput)
    • 数据包丢失率(packetLossRate)
    • 响应时间(responseTime)
    • 设备温度(deviceTemperature)

    **设计原因:**这些性能指标对于确保设备能够高效稳定运行至关重要,同时有助于规划网络资源和容量。

  5. 连接的设备信息(connectedDevicesGroup)

    • 连接设备的数量(connectedDevicesCount)
    • 每个设备的标识信息(deviceId)
    • 每个设备的状态信息(deviceStatus)
    • 每个设备的网络统计信息(deviceNetStats)

    **设计原因:**IoT网关通常连接多个设备,管理这些设备的信息对于整个网络的健康至关重要。

  6. 安全管理(securityManagementGroup)

    • 认证错误计数(authErrorCount)
    • 密码强度设置(passwordStrengthOption)
    • 加密标准使用情况(encryptionStandardsUsed)
    • 安全事件日志(securityEventLog)

    **设计原因:**安全性是物联网环境中的一个重要话题,这些指标可以帮助网络管理员维护网络的安全状态。

  7. 远程管理(remoteManagementGroup)

    • 支持的远程管理协议(supportedRemoteProtocols)
    • 远程管理状态(remoteManagementStatus)
    • 远程更新能力(remoteUpdateCapability)

    **设计原因:**远程管理能力对于分散布置的物联网设备而言非常重要,它允许管理员从远端配置和更新设备。

  8. 事件和告警(eventsAndAlarmsGroup)

    • 事件日志(eventLog)
    • 当前活动告警(currentActiveAlarms)
    • 历史告警记录(historicalAlarmsRecord)

    **设计原因:**事件和告警记录对于及时响应设备和网络问题是必需的,它们可以帮助快速定位问题并采取相应行动。

注意:每个组都应该定义为一个独立的MIB模块,使用Object Identifiers(OIDs)进行组织,确保与其他MIB库的唯一性和互操作性。这样设计的目的是为了提供一个全面的视图来管理和监控IoT网关设备的运行状况。

MIB Builder开发流程指导

  • 使用MIB Builder定义物联网网关设备的MIB数据结构,需要遵循结构化的定义语法(通常是SMIv2, Structure of Management Information Version 2)。
  • MIB定义是用asn.1(Abstract Syntax Notation One)语言书写的,它定义了如何管理网络对象及其层次结构。

设计一个MIB包括以下几个步骤:

  1. 确定OID树结构: 。通常,私有企业会从1.3.6.1.4.1iso.org.dod.internet.private.enterprise)后附加一个为企业分配的特定数字,作为他们私有分支的起点。使用文档参考MG-SOFT MIB builder and compile

    • 注意导入系统SNMPv2-SMI.my的enterprise进行开发
    yourCompany OBJECT IDENTIFIER ::= { enterprise 9999 }
    iotGatewayMIB OBJECT IDENTIFIER ::= { yourCompany 1 }
    
  2. 定义SMI结构: 使用结构化管理信息(SMI)标准定义数据类型、模块结构和命名规则。

  3. 定义MIB模块: 包括MIB的版本、导入的依赖项、命名空间等。

    IoT-GATEWAY-MIB DEFINITIONS ::= BEGIN
    IMPORTSMODULE-IDENTITY, OBJECT-TYPE, ... FROM SNMPv2-SMI...;
    
  4. 定义模块身份(Module Identity)和更新修订记录: 这为整个MIB模块提供了身份和版本历史。

    iotGateway MODULE-IDENTITYLAST-UPDATED "202303150000Z"ORGANIZATION "Your Company Name"CONTACT-INFO "Your Contact Information"DESCRIPTION "MIB for managing IoT Gateway devices."REVISION "202303150000Z" DESCRIPTION "Initial version."::= { iotGatewayMIB 1 }
    
  5. 定义主要对象组: 按照功能对对象进行分组,如之前所述的各个分组。

  6. 定义具体的管理对象: 这些是具体的OIDs,代表了网关设备的各种属性和可管理的数据点。

    deviceModel OBJECT-TYPESYNTAX OCTET STRINGMAX-ACCESS read-onlySTATUS currentDESCRIPTION"A textual description of the device model."::= { deviceInfoGroup 1 }
    
  7. 定义主要功能描述:

    • 设备管理(如配置、状态)
    • 性能监控(如CPU、内存使用)
    • 网络管理(如连接状态、IP配置)
    • 安全特性(如访问控制、加密)
    • 告警和事件处理
  8. 定义Trap事件: Trap是SNMP中用于异步通知管理工具的机制。您需要定义特定情况下将触发的Trap事件。

    iotGatewayHighCpuUsage NOTIFICATION-TYPEOBJECTS { cpuUtilization }STATUS currentDESCRIPTION"This trap is sent when the CPU usage exceeds a predefined threshold."::= { iotGatewayTraps 1 }-- Define 'iotGatewayTraps' as a separate identifier within the iotGateway MIB
    
  9. 结束MIB定义:

    END
    

下面是各个组的一些定义示例和指导:

  1. 设备基本信息 (deviceInfoGroup)
deviceInfoGroup OBJECT IDENTIFIER ::= { yourMIBroot 1 }deviceModel OBJECT-TYPESYNTAX      OCTET STRINGMAX-ACCESS  read-onlySTATUS      currentDESCRIPTION "The model identifier for the IoT Gateway."::= { deviceInfoGroup 1 }serialNumber OBJECT-TYPESYNTAX      OCTET STRINGMAX-ACCESS  read-onlySTATUS      currentDESCRIPTION "The serial number of the IoT Gateway."::= { deviceInfoGroup 2 }firmwareVersion OBJECT-TYPESYNTAX      OCTET STRINGMAX-ACCESS  read-onlySTATUS      currentDESCRIPTION "The firmware version running on the IoT Gateway."::= { deviceInfoGroup 3 }uptime OBJECT-TYPESYNTAX      TimeticksMAX-ACCESS  read-onlySTATUS      currentDESCRIPTION "The time since the IoT Gateway last restarted."::= { deviceInfoGroup 4 }
  1. 网络配置信息 (networkConfigGroup)
networkConfigGroup OBJECT IDENTIFIER ::= { yourMIBroot 2 }
-- Define objects such as ipAddress, subnetMask, etc., in a similar manner.
  1. 设备状态信息 (deviceStatusGroup)
deviceStatusGroup OBJECT IDENTIFIER ::= { yourMIBroot 3 }
-- Define objects such as cpuUtilization, memoryUtilization, etc., in a similar manner.
  1. 设备性能指标 (devicePerformanceGroup)
devicePerformanceGroup OBJECT IDENTIFIER ::= { yourMIBroot 4 }
-- Define objects such as dataThroughput, packetLossRate, etc., in a similar manner.
  1. 连接的设备信息 (connectedDevicesGroup)
connectedDevicesGroup OBJECT IDENTIFIER ::= { yourMIBroot 5 }
-- Define objects such as connectedDevicesCount, deviceId, etc., in a similar manner.
  1. 安全管理 (securityManagementGroup)
securityManagementGroup OBJECT IDENTIFIER ::= { yourMIBroot 6 }
-- Define objects such as authErrorCount, passwordStrengthOption, etc., in a similar manner.
  1. 远程管理 (remoteManagementGroup)
remoteManagementGroup OBJECT IDENTIFIER ::= { yourMIBroot 7 }
-- Define objects such as supportedRemoteProtocols, remoteManagementStatus, etc., in a similar manner.
  1. 事件和告警 (eventsAndAlarmsGroup)
eventsAndAlarmsGroup OBJECT IDENTIFIER ::= { yourMIBroot 8 }
-- Define objects such as eventLog, currentActiveAlarms, etc., in a similar manner.

问题总结

子叶没所属分组

  • 警告信息

    WARNING:	OBJECT-TYPE "historicalAlarmsRecord" is not included in any group defined in the current module.
    
  • 在分组下引入相符的gruop组件,然后将该分组下的子叶加入分组即可解决!
    在这里插入图片描述

值范围不为0

  • 注意自定义范围时,将起始值设置为非0即可!
http://www.lryc.cn/news/258989.html

相关文章:

  • 特权FPGA学习笔记
  • 利用阿里云 DDoS、WAF、CDN 和云防火墙为在线业务赋能
  • Mysql的事务日志
  • 三、Shell 环境
  • 2023年第三届产业数字化【金铲奖】重磅来袭!
  • node.js安装和配置
  • 【周报2023.12.09】
  • 基于ssm大学生创新创业平台项目管理子系统设计与实现论文
  • JS基础之原型原型链
  • 【力扣100】54.螺旋矩阵
  • UI 优先的统一身份认证系统 Casdoor
  • Realme X7 Pro Root 刷机教程
  • postgresql自带指令命令系列三
  • Java_mybatis-结果集映射-ResultTypeResultMap
  • 【Java】MySQL存储 MD5 值应该用 VARCHAR 还是CHAR?
  • pytorch中五种常用随机矩阵构造方法:rand、randn、randn_like、randint、randperm
  • 2023第二届全国大学生数据分析大赛A完整原创论文(含摘要+问题分析+模型建立与求解+python代码)
  • Qt 面试指南
  • 开利网络的数字化技术加持下,加快扶贫和乡村振兴的效果和进程!
  • PR剪辑视频做自媒体添加字幕快速方式(简单好用的pr视频字幕模板)
  • 金融行业文件摆渡,如何兼顾安全和效率?
  • [足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-1开环系统与闭环系统Open/Closed Loop System
  • 每日一题,杨辉三角
  • Java_Mybatis_缓存
  • C#基础面试题集
  • 可视化监管云平台EasyCVR宠物粮食食品厂智能视频监控方案
  • ArkUI组件
  • C语言--动态内存【详细解释】
  • 施工现场安全管理系统
  • 电线电缆行业生产管理MES系统解决方案