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

news2025/1/21 1:01:57

文章目录

  • 物联网网关初识(了解即可)
  • 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进行开发

    iso(1).org(3).dod(6).internet(1).private(4).enterprise(1).yourCompany(9999)
    yourCompany OBJECT IDENTIFIER ::= { enterprise 9999 }
    iotGatewayMIB OBJECT IDENTIFIER ::= { yourCompany 1 }

    
    
  2. 定义SMI结构: 使用结构化管理信息(SMI)标准定义数据类型、模块结构和命名规则。

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

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

    iotGateway MODULE-IDENTITY
        LAST-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-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A textual description of the device model."
        ::= { deviceInfoGroup 1 }
    
  7. 定义主要功能描述:

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

    iotGatewayHighCpuUsage NOTIFICATION-TYPE
        OBJECTS { cpuUtilization }
        STATUS current
        DESCRIPTION
            "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-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The model identifier for the IoT Gateway."
    ::= { deviceInfoGroup 1 }

serialNumber OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The serial number of the IoT Gateway."
    ::= { deviceInfoGroup 2 }

firmwareVersion OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The firmware version running on the IoT Gateway."
    ::= { deviceInfoGroup 3 }

uptime OBJECT-TYPE
    SYNTAX      Timeticks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "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.coloradmin.cn/o/1290396.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java集合进阶(上)

集合 集合在Java开发中应用极为广泛,它其实就是一些常用的数据结构的包装类,分为单列集合(Collecton接口类,例如LinkdeList集合)和双列集合(Map接口类,例如HashMap集合)两种 Collection Coll…

Sprite Editor图片编辑器的使用_unity基础开发教程

Sprite Editor图片编辑器的使用 什么是Sprite Editor安装插件(3D项目)切片方式Automatic:自动切片Grid By Cell Size:按照像素大小进行切片Grid By Cell Count:按照个数进行切片Isometric Grid:等距网格切片…

Java利用UDP实现简单群聊

一、创建新项目 首先新建一个新的项目,并按如下操作 二、实现代码 界面ChatFrame类 package 群聊; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.net.InetAddress; public abstract class ChatFrame extends JFrame { p…

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含pytho、JS工程源码)+数据集+模型(一)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python环境TensorFlow 环境Jupyter Notebook环境Pycharm 环境 相关其它博客工程源代码下载其它资料下载 前言 本项目基于Keras框架,引入CNN进行模型训练,采用Dropout梯度下降算法,按比例…

MAC 系统在vs code中,如何实现自动换行

目录 问题描述: 问题解决: 问题描述: 在vscode中,有些时候,一行内容过多,如果不能自动换行,就需要拖动页面,才能看到完整的内容。如下图两行所示: 问题解决&#xff1a…

华为数通---使用基本ACL限制Telnet登录权限案例

组网需求 如下图所示,PC与设备之间路由可达,用户希望简单方便的配置和管理远程设备,可以在服务器端配置Telnet用户使用AAA验证登录,并配置安全策略,保证只有符合安全策略的用户才能登录设备。 配置通过Telnet登录设备…

在Spring Cloud中使用组件Ribbon和Feign,并分别创建子模块注册到Eureka中去

ok,在上篇文章中我们讲了在Spring cloud中使用Zuul网关,这篇文章我们将Spring Cloud的五大核心组件的Ribbon和Feign分别创建一个微服务模块。 题外话,本篇博客就是配置子模块,或者说是微服务,然后将微服务正式启动之前…

2024年江苏省职业院校技能大赛信息安全管理与评估 第三阶段教师组(样卷)

2024年江苏省职业院校技能大赛信息安全管理与评估 第三阶段教师组(样卷) 竞赛项目赛题 本文件为信息安全管理与评估项目竞赛-第三阶段教师组样题, 内容包括:网络安全渗透、理论技能与职业素养。 本次比赛时间为180分钟。 介绍 Ge…

Unity中Batching优化的GPU实例化(1)

文章目录 前言一、GPU实例化的规则1、必须满足 Mesh 网格一样2、只有OpenGL es 3.0及以上才支持(3.0及以上有部分硬件可能也不支持) 二、GPU实例化的应用场景1、公开几个成员属性,用于存放可以调整的数据2、用Random.insideUnitCircle随机生成…

Linux(ubuntu)利用ffmpeg+qt设计rtsp_rtmp流媒体播放器(完全从0开始搭建环境进行开发)

一、前言 从0开始搭建Linux下Qt、ffmpeg开发环境。 从安装虚拟机开始、安装Linux(Ubuntu)系统、安装Qt开发环境、编译ffmpeg源码、配置ffmpeg环境、编写ffmpeg项目代码、完成项目开发。 完全从0开始搭建环境进行开发 完全从0开始搭建环境进行开发 完全从0开始搭建环境进行开…

决策树 (人工智能期末复习)

几个重要概念 信息熵:随机事件未按照某个属性的不同取值划分时的熵减去按照某个属性的不同取值划分时的平均 熵。即前后两次熵的差值。 表示事物的混乱程度,熵越大表示混乱程度越大,越小表示混乱程度越小。 对于随机事件,如果它的…

【Hadoop_01】Hadoop介绍与安装

1、Hadoop、HDFS、YARN介绍(1)Hadoop简介与优势(2)Hadoop组成(3)HDFS概述(4)YARN概述(5)MapReduce概述 2、安装(1)Centos7.5软硬件安装…

数据仓库与数据挖掘复习资料

一、题型与考点[第一种] 1、解释基本概念(中英互译解释简单的含义); 2、简答题(每个10分有两个一定要记住): ① 考时间序列Time series(第六章)的基本概念含义解释作用(序列模式挖掘的作用); ② 考聚类(第五章)重点考…

用23种设计模式打造一个cocos creator的游戏框架----(四)装饰器模式

1、模式标准 模式名称:装饰器模式 模式分类:结构型 模式意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式比生成子类更为灵活。 结构图: 适用于: 当需要给一个对象在运行时添加更…

Linux系统调试课:网络性能工具总结

文章目录 一、网络性能指标二、netstat三、route四、iptables沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章一起了解下网络性能工具。 一、网络性能指标 从网络性能指标出发,你更容易把性能工具同系统工作原理关联起来,对性能问题有宏观的认识和把握。这样,…

网络层之IP数据报格式、数据报分片、IPv4、子网划分和子网掩码

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

轻快小miniconda3在linux下的安装配置-centos9stream-Miniconda3 Linux 64-bit

miniconda与anaconda的区别: Miniconda 和 Anaconda 是用于管理环境和安装软件包的 Python 发行版。它们之间的主要区别在于以下几点: 1. 安装内容和大小: Anaconda: Anaconda 是一个完整的 Python 数据科学平台,包含…

Kafka使用指南

Kafka简介架构设计Kafka的架构设计关键概念Kafka的架构设计关键机制 Partition介绍Partition工作机制 应用场景ACK机制介绍ACK机制原理ACK机制对性能的影响ACK控制粒度Kafka分区数对集群性能影响调整分区优化集群性能拓展Kafka数据全局有序 Kafka简介 Kafka是由Apache软件基金…

零基础小白怎么准备蓝桥杯-蓝桥杯竞赛经验分享

零基础小白怎么准备蓝桥杯-蓝桥杯竞赛经验分享 前言竞赛简介竞赛目的如何备战1.基础学习2.实战训练(非常重要) 资料分享 前言 博主在蓝桥杯中获得过十四届Java B 组的省一国二,本文为大家介绍一下蓝桥杯并分享一下自己的参赛经验。 竞赛简介…

2024年江苏省职业院校技能大赛信息安全管理与评估 第三阶段学生组(样卷)

2024年江苏省职业院校技能大赛信息安全管理与评估 第三阶段学生组(样卷) 竞赛项目赛题 本文件为信息安全管理与评估项目竞赛-第三阶段样题,内容包括:网络安全渗透、理论技能与职业素养。 本次比赛时间为180分钟。 介绍 GeekSe…