编写一个“手机信息”的 mib 库,该 mib 库位于enterprises节点下(网络管理上机作业)
问题描述:
编写一个“手机信息”的 mib 库,该 mib 库位于enterprises节点下、编号为你的学号后3位节点下面。下级节点包括:
-
型号 – 字符串,只读
-
CPU型号 - 字符串,只读
-
操作系统 - 整数,只读。取值范围:1-Android 2-iOS 3-其它
-
内存总大小 – 整数,只读。单位:GB,取值范围:1-64
-
存储总大小 - 整数,只读。单位:GB,取值范围:16-1024
-
生产厂商 - 字符串,只读
-
是否支持5G - Boolean,只读
-
当前内存使用量 - Gauge,只读。单位:GB,取值范围:1-64
-
当前存储使用量 - Gauge,只读。单位:GB,取值范围:1-64
-
手机名称 - 字符串,读写
-
手机已安装应用个数 - 整数
-
已安装的应用信息(表格)
-
appIndex – 应用索引,整数,具备唯一性,为索引列
-
应用名称 – 字符串,只读
-
占用存储空间大小 – 整数,只读。单位:MB
-
安装时间 - 字符串,只读
-
要求:可通过 MIB Browser 成功加载。
提交作业:MIB库(文本文件,可作为附件提交) + MIB Browser正确加载的截图(可作为附件提交)
PHONEDATA-MIB DEFINITIONS ::= BEGIN
IMPORTS
enterprises
FROM RFC1155-SMI
FROM RFC1212;
phone OBJECT IDENTIFIER ::= { enterprises 你学号的后三位如011 }
String ::= OCTET STRING
Int ::= INTEGER
--型号 – 字符串,只读
PhoneModel OBJECT-TYPE
SYNTAX String (SIZE(0..10))
ACCESS read-only
STATUS mandatory
DESCRIPTION "HONOR 30"
::= { phone 1 }
--CPU型号 - 字符串,只读
CPUModel OBJECT-TYPE
SYNTAX String (SIZE(0..10))
ACCESS read-only
STATUS mandatory
DESCRIPTION "Kirin 985"
::= { phone 2 }
--操作系统 - 整数,只读。取值范围:1-Android 2-iOS 3-其它
OS OBJECT-TYPE
SYNTAX Int (1..3)
ACCESS read-only
STATUS mandatory
DESCRIPTION "OS VISION, 1-Android 2-iOS 3-Others"
::= { phone 3 }
--内存总大小 – 整数,只读。单位:GB,取值范围:1-64
Storage OBJECT-TYPE
SYNTAX Int (1..64)
ACCESS read-only
STATUS mandatory
DESCRIPTION "Internal Storage, units: GB"
::= { phone 4 }
--存储总大小 - 整数,只读。单位:GB,取值范围:16-1024
Memory OBJECT-TYPE
SYNTAX Int (16..1024)
ACCESS read-only
STATUS mandatory
DESCRIPTION "Main Memory, units: GB"
::= { phone 5 }
--生产厂商 - 字符串,只读
Manufacturer OBJECT-TYPE
SYNTAX String (SIZE(0..10))
ACCESS read-only
STATUS mandatory
DESCRIPTION "HONOR"
::= { phone 6 }
--是否支持5G - Boolean,只读
FiveG OBJECT-TYPE
SYNTAX BOOLEAN
ACCESS read-only
STATUS mandatory
DESCRIPTION "Y/N 5G Support"
::= { phone 7 }
--当前内存使用量 - Gauge,只读。单位:GB,取值范围:1-64
StorageUsed OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION "StorageUsed, units: GB"
::= { phone 8 }
--当前存储使用量 - Gauge,只读。单位:GB,取值范围:1-64
MemoryUsed OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION "MemoryUsed, units: GB"
::= { phone 9 }
--手机名称 - 字符串,读写
PhoneName OBJECT-TYPE
SYNTAX String (SIZE(0..10))
ACCESS read-write
STATUS mandatory
DESCRIPTION "DJC's HONOR 30"
::= { phone 10 }
--手机已安装应用个数 - 整数
AppInstalled OBJECT-TYPE
SYNTAX Int (0..1000)
ACCESS read-write
STATUS mandatory
DESCRIPTION "The Number Of Installed Apps"
::= { phone 11 }
--已安装的应用信息(表格)
AppTable OBJECT-TYPE
SYNTAX SEQUENCE OF Status
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "The Status Of Installed Apps"
::= { phone 12 }
--子对象
AppStatus OBJECT-TYPE
SYNTAX Status
ACCESS not-accessible
STATUS mandatory
DESCRIPTION "The Index Of Installed Apps"
INDEX { appIndex }
::= { AppTable 1 }
--声明Status所包含的对象及类型,用sequence创建表格类型的对象
Status ::=
SEQUENCE {
appIndex
Int,
AppName
String,
Occupy
Int,
IntallTime
String
}
--appIndex – 应用索引,整数,具备唯一性,为索引列
appIndex OBJECT-TYPE
SYNTAX Int(0..1024)
ACCESS read-only
STATUS mandatory
DESCRIPTION "The Index Of Installed Apps"
::= { AppStatus 1 }
--应用名称 – 字符串,只读
AppName OBJECT-TYPE
SYNTAX String (SIZE(0..20))
ACCESS read-only
STATUS mandatory
DESCRIPTION "The Name Of Installed Apps"
::= { AppStatus 2 }
--占用存储空间大小 – 整数,只读。单位:MB
Occupy OBJECT-TYPE
SYNTAX Int(0..1024)
ACCESS read-only
STATUS mandatory
DESCRIPTION "The Storage Occupied by Installed Apps"
::= { AppStatus 3 }
--安装时间 - 字符串,只读
IntallTime OBJECT-TYPE
SYNTAX String (SIZE(0..30))
ACCESS read-only
STATUS mandatory
DESCRIPTION "The Install Time of Apps"
::= { AppStatus 4 }
END
结果截图如下