文章目录

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

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

网关又称网间连接器、协议转换器。简单说,物联网网关是一台智能计算机,作为管理所有连接物联网设备、传感器和执行器的中央集线器。它充当入口,聚合、处理和过滤各种物联网设备发送的所有数据和信息,然后再发送到云端。更先进的物联网网关能够执行复杂的边缘计算应用程序,例如人工智能。在这种情况下,物联网网关在边缘处理大部分数据,并且能够在边缘运行实时决策,而无需云的任何帮助。 物联网网关特点

工业级设计,选用高清触摸屏物联网网关存储量大,数据不会丢失支持多种通讯协议,通讯效率高和方便 物联网网关功能

协议转换能力:从不同的感知网络到接入网络的协议转换、将下层的标准格式的数据统一封装、保证不同的感知网络的协议能够变成统一的数据和信令;将上层下发的数据包解析成感知层协议可以识别的信令和控制指令。可管理能力:首先要对网关进行管理,如注册管理、权限管理、状态监管等。网关实现子网内的节点的管理,如获取节点的标识、状态、属性、能量等,以及远程实现唤醒、控制、诊断、升级和维护等。由于子网的技术标准不同,协议的复杂性不同,所以网关具有的管理性能力不同。广泛的接入能力:物联网网关进行标准化工作,如传感器工作组,实现各种通信技术标准的互联互通。

IoT的通用MIB库结构

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

设备基本信息(deviceInfoGroup)

设备型号(deviceModel)序列号(serialNumber)固件版本(firmwareVersion)启动时间(uptime) **设计原因:**这些信息为网络管理员提供了设备的基本身份信息,便于跟踪和管理设备。 网络配置信息(networkConfigGroup)

IP地址(ipAddress)子网掩码(subnetMask)默认网关(defaultGateway)DNS服务器(dnsServers) **设计原因:**网络配置是设备通信的基础,这些信息是进行故障诊断和网络设置的关键信息。 设备状态信息(deviceStatusGroup)

CPU使用率(cpuUtilization)内存使用率(memoryUtilization)存储空间使用率(storageUtilization)网络接口状态(interfaceStatus) **设计原因:**这些状态信息可以帮助网络管理员监控设备性能,并及时发现和解决问题。 设备性能指标(devicePerformanceGroup)

数据吞吐量(dataThroughput)数据包丢失率(packetLossRate)响应时间(responseTime)设备温度(deviceTemperature) **设计原因:**这些性能指标对于确保设备能够高效稳定运行至关重要,同时有助于规划网络资源和容量。 连接的设备信息(connectedDevicesGroup)

连接设备的数量(connectedDevicesCount)每个设备的标识信息(deviceId)每个设备的状态信息(deviceStatus)每个设备的网络统计信息(deviceNetStats) **设计原因:**IoT网关通常连接多个设备,管理这些设备的信息对于整个网络的健康至关重要。 安全管理(securityManagementGroup)

认证错误计数(authErrorCount)密码强度设置(passwordStrengthOption)加密标准使用情况(encryptionStandardsUsed)安全事件日志(securityEventLog) **设计原因:**安全性是物联网环境中的一个重要话题,这些指标可以帮助网络管理员维护网络的安全状态。 远程管理(remoteManagementGroup)

支持的远程管理协议(supportedRemoteProtocols)远程管理状态(remoteManagementStatus)远程更新能力(remoteUpdateCapability) **设计原因:**远程管理能力对于分散布置的物联网设备而言非常重要,它允许管理员从远端配置和更新设备。 事件和告警(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包括以下几个步骤:

确定OID树结构: 。通常,私有企业会从1.3.6.1.4.1(iso.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 }

定义SMI结构: 使用结构化管理信息(SMI)标准定义数据类型、模块结构和命名规则。 定义MIB模块: 包括MIB的版本、导入的依赖项、命名空间等。 IoT-GATEWAY-MIB DEFINITIONS ::= BEGIN

IMPORTS

MODULE-IDENTITY, OBJECT-TYPE, ... FROM SNMPv2-SMI

...;

定义模块身份(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 }

定义主要对象组: 按照功能对对象进行分组,如之前所述的各个分组。 定义具体的管理对象: 这些是具体的OIDs,代表了网关设备的各种属性和可管理的数据点。 deviceModel OBJECT-TYPE

SYNTAX OCTET STRING

MAX-ACCESS read-only

STATUS current

DESCRIPTION

"A textual description of the device model."

::= { deviceInfoGroup 1 }

定义主要功能描述:

设备管理(如配置、状态)性能监控(如CPU、内存使用)网络管理(如连接状态、IP配置)安全特性(如访问控制、加密)告警和事件处理 定义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

结束MIB定义: END

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

设备基本信息 (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 }

网络配置信息 (networkConfigGroup)

networkConfigGroup OBJECT IDENTIFIER ::= { yourMIBroot 2 }

-- Define objects such as ipAddress, subnetMask, etc., in a similar manner.

设备状态信息 (deviceStatusGroup)

deviceStatusGroup OBJECT IDENTIFIER ::= { yourMIBroot 3 }

-- Define objects such as cpuUtilization, memoryUtilization, etc., in a similar manner.

设备性能指标 (devicePerformanceGroup)

devicePerformanceGroup OBJECT IDENTIFIER ::= { yourMIBroot 4 }

-- Define objects such as dataThroughput, packetLossRate, etc., in a similar manner.

连接的设备信息 (connectedDevicesGroup)

connectedDevicesGroup OBJECT IDENTIFIER ::= { yourMIBroot 5 }

-- Define objects such as connectedDevicesCount, deviceId, etc., in a similar manner.

安全管理 (securityManagementGroup)

securityManagementGroup OBJECT IDENTIFIER ::= { yourMIBroot 6 }

-- Define objects such as authErrorCount, passwordStrengthOption, etc., in a similar manner.

远程管理 (remoteManagementGroup)

remoteManagementGroup OBJECT IDENTIFIER ::= { yourMIBroot 7 }

-- Define objects such as supportedRemoteProtocols, remoteManagementStatus, etc., in a similar manner.

事件和告警 (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即可!

参考文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。