使用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
    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即可!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/241487.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java】网络编程-UDP回响服务器客户端简单代码编写

这一篇文章我们将讲述网络编程中UDP服务器客户端的编程代码 1、前置知识 UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。 UDP的特点有:无连接、尽最大努力交付、面向报文、没有拥塞控制 本文讲…

《算法通关村——回溯模板如何解决回溯问题》

《算法通关村——回溯模板如何解决回溯问题》 93. 复原 IP 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.1.2.201" 和 "192.1…

IDEA2023找不到add framework support怎么解决

问题: 我的idea版本是2023.01,新版idea右键项目没有Add Framework Support,help里面也找不到相关的。 从project structue的facets里面添加就行了,都是一样的。 1.依旧是新建一个项目 2.file-->project structure--->facets 左上角加…

JavaEE 09 锁策略

1.锁策略 1.1 乐观锁与悲观锁 其实前三个锁是同一种锁,只是站在不同的角度上去进行描述,此处的乐观与悲观其实是指在预测的角度上看会发生锁竞争的概率大小,概率大的则是悲观锁,概率小的则是乐观锁 乐观锁在加锁的时候就会做较少的事情,加锁的速度较快,但是消耗的cpu资源等也会…

crmeb v5自动生成代码报错(adminInfo方法或404路由不存在的问题)

404 现象 调试器中出现了404 , 那肯定是路由出了问题,也就是说,crmeb 为我们生成的路由没有对应的加载上,先来看一下, 自动代码为我们生成的路由是什么样子的 所以有一种最简单的解决办法,就是 把 新生成的路由文件从子目录中挪出一级来,就可以解决404的问题了 下面来说…

python学习:浅拷贝与深拷贝详解

copy 一、 & is二、浅拷贝 & 深拷贝(一)、浅拷贝(二)、深拷贝 三、问题 一、’ ’ & ‘is’ ’ 和is是python对象比较常用的两种方式,简单来说,‘ ‘操作符比较对象之间的值是否相等,如 a b 而’is’操作符比较的是对象的身份标识是否相等,即它们是否是同一个…

「玩转 TableAgent 数据智能分析」实战数据分析演练

文章目录 前言TableAgent 功能亮点人人都是数据分析师融合创新应用的新成果 TableAgent 使用介绍登陆功能介绍申请认证 实战数据集分析一导入 CSV 文件数据发起提问TableAgent 应答结果贴切的服务推荐问题提问 实战数据集分析二分析结果分析哪个城市的未来人口最多 总结 TableA…

linux高级管理——访问MYSQL数据库

一、认识数据库系统: MySQL数据库系统也是一个典型的C/S(客户端/服务器)架构的应用,要访问MySQL数据库需要使用专门的客户端软件。在Linux系统中,最简单、易用的MySQL客户端软件是其自带的mysql命令工具。 1.登录到My…

光伏开发设计施工一体化系统都有哪些功能?

随着全球对可再生能源的需求不断增加,光伏行业得到了快速发展。同时也面临着一些挑战,例如初始投资成本高、需要大量土地和水资源等。鹧鸪云光伏与储能软件利用技术创新,促进光伏行业数字化升级。 一、智能测算 1.投融资表:采用…

【FPGA/verilog -入门学习6】verilog频率计数器

需求 在使能信号控制下,计算输入脉冲的每两个上升沿之间的时钟周期数并输出,即输出脉冲频率的计数值 输入信号 周期性脉冲信号:需要做检测的脉冲频率信号 使能信号:高电平进行频率计数,低电平清零计数器 输出信号 计数…

bootstrap:下拉菜单

<!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>下拉菜单DEMO</title> <link rel"stylesheet" type"text/css" href"/cdn.bootcss.com/bootstrap/3.3.2/css/bootstrap.min.css"…

TCP/IP详解——网络基本概念

文章目录 一、网络基本概念1. OSI 7层模型1.1 每层对应的协议1.2 每层涉及的设备1.2.1 物理层设备1.2.2 数据链路层设备1.2.3 网络层设备1.2.4 传输层设备1.2.5 交换机和路由器的应用1.2.6 问题 2. TCP/IP 4层模型3. 物理层传输介质3.1 冲突域 4. 数据链路层4.1 以太网帧结构4.…

​flutter 代码混淆

Flutter 应用混淆&#xff1a;Flutter 应用的混淆非常简单&#xff0c;只需要在构建 release 版应用时结合使用 --obfuscate 和 --split-debug-info 这两个参数即可。–obfuscate --split-debug-info 用来指定输出调试文件的位置&#xff0c;该命令会生成一个符号映射表。目前支…

mysql字段设计规范:使用unsigned(无符号的)存储非负值

如果一个字段存储的是数值&#xff0c;并且是非负数&#xff0c;要设置为unsigned&#xff08;无符号的&#xff09;。 例如&#xff1a; 备注&#xff1a;对于类型是 FLOAT、 DOUBLE和 DECIMAL的&#xff0c;UNSIGNED属性已经废弃了&#xff0c;可能在mysql的未来某个版本去…

C#学习笔记 - C#基础知识 - C#从入门到放弃

C# 第1节 C# 简单介绍1.1 C# 是什么1.2 C# 强大的编程功能1.3 C# 发展史1.4 C#与Java区别 第2节 C#程序结构2.1 Hello world2.2 C# 结构解析 第3节 C#基本语法3.1 第1节 C# 简单介绍 1.1 C# 是什么 C# 的发音为“C Sharp”&#xff0c;是一门由微软开发并获得了 ECMA&#xf…

Godot导出Android包报错:无效的包名称

问题描述 使用Godot为项目导出Android平台包时报错&#xff0c;提示&#xff1a;“无效的包名称&#xff1a;项目名称不符合包名格式的要求。请显式指定包名。” 解决办法 修改导出配置项“包->唯一名称”。 该项缺省值“org.godotengine.$genname”不能直接使用&#x…

Java版本+鸿鹄企业电子招投标系统源代码+支持二开+Spring cloud +鸿鹄电子招投标系统

项目说明 随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大&#xff0c;公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境&#xff0c;最大限度控制采购成本至关重要。为了符合国家电子招投标法律法规及相关规范&#xff0c;…

Debian openmediavault 自建Nas系统共享,raid5与btrfs文件系统无损原数据扩容

一、适用环境 1、企业自有物理专业服务器&#xff0c;一些敏感数据不外流时&#xff0c;使用openmediavault自建NAS系统&#xff1b; 2、在虚拟化环境中自建NAS系统&#xff0c;用于内网办公&#xff0c;或出差外网办公时&#xff0c;企业内的文件共享&#xff1b; 3、虚拟化环…

SD-WAN实现分公司与总部组网高效互联

随着企业的发展和扩张&#xff0c;对于分公司和总部的组网需求越来越多。然而企业分公司和总部之间的组网连接通常十分复杂&#xff0c;不仅消耗大量的预算&#xff0c;还耗费很长的部署时间。SD-WAN的出现使组网连接变得轻松、简单&#xff0c;提高了企业的网络连接效率和性能…

珠宝销售技巧培训之如何提升珠宝销售技巧

珠宝销售技巧培训之如何提升珠宝销售技巧 珠宝销售是一项需要技巧和策略的工作。在竞争激烈的珠宝市场中&#xff0c;销售人员需要不断提升自己的销售技巧&#xff0c;以吸引更多的客户并保持他们的忠诚度。本文将介绍一些提升珠宝销售技巧的方法&#xff0c;包括了解客户需求…