System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种NFV设备私有MIB实现方法技术_技高网

一种NFV设备私有MIB实现方法技术

技术编号:40951194 阅读:2 留言:0更新日期:2024-04-18 20:26
本发明专利技术公开一种NFV设备私有MIB实现方法,具体涉及网络NFV虚拟化技术领域,包括创建配置文件,以获得SNMPv2代理的相关参数;所述创建配置文件包括communities创建以及mib_modules创建;创建MIBgroup文件,定义私有MIB结构;在MIBgroup文件中构建私有MIB变量;对MIBgroup文件填充sysORTable数据结构;在SNMPv2代理启动时,使用选择编程语言将填充好的sysORTable数据注册到代理中,完成sysORTable注册,本发明专利技术相比原有定制私有MIB的方法,更快速更灵活。

【技术实现步骤摘要】

本专利技术涉及网络nfv虚拟化,更具体地说,本专利技术涉及一种nfv设备私有mib实现方法。


技术介绍

1、管理信息库(mib,managementinformationbase)管理信息库,是tcp/ip网络管理协议标准框架的内容之一,mib定义受控制设备必须要保存的数据项,nms系统可访问的受控设备的控制和状态信息等数据变量都保存在mib中。mib可以分为公有mib和私有mib两种,其中私有mib是公有mib的必要补充,当公司自行开发私有协议或者特有功能时,可以利用私有mib来完善snmp接口的管理功能。

2、最近几年新型的nfv技术带来诸多形态的虚拟网络设备,其实现方式、接口形态等与传统网络设备大相径庭,仍想通过snmp方式采集设备系统、网络信息等,传统snmp的公共mib库已无法满足新需求,需要进行私有mib库的开发。

3、传统的几种常见进行私有mib开发的方式(静态库方式、编译动态共享库、子代理扩展等)几种方式,均存在如下缺点:

4、1.mib的开发和维护变得更加复杂,不利于开发和维护;

5、2.随着mib的更新和修改,在静态库方式和编译动态共享库的情况下,版本管理成为一个挑战。


技术实现思路

1、为克服现有技术的上述缺陷,本专利技术的实施例提供一种nfv设备私有mib实现方法,以解决上述
技术介绍
中提出的问题。

2、为实现上述目的,本专利技术提供如下技术方案:一种nfv设备私有mib实现方法,包括:

3、创建配置文件,以获得snmpv2代理的相关参数;所述创建配置文件包括communities创建以及mib_modules创建;

4、创建mibgroup文件,定义私有mib结构;

5、在mibgroup文件中构建私有mib变量;

6、对mibgroup文件填充sysortable数据结构;

7、在snmpv2代理启动时,使用选择编程语言将填充好的sysortable数据注册到代理中,完成sysortable注册。

8、进一步地,在config目录,定义snmp.conf文件;

9、使用snmp协议在端口161上进行通信,并通过'mibs'目录来加载mib文件,所述加载的内容包括协议名称、端口号和mib模块路径。

10、进一步地,communities创建方法:

11、communities包含name和view,name为一个string,view表示oid的可见范围,”.”表示所有注册的节点均具有读写权限;

12、在snmp代理程序启动时,编写配置被加载和解析;当snmp代理接收到snmp请求时,根据请求中用户信息,检查相应的权限配置,确定请求是否合法以及是否允许执行特定的操作,如读取或写入mib变量。

13、进一步地,mib_modules创建方法:

14、当snmp代理接收到snmp请求时,使用oid来确定请求涉及的特定mib变量,然后根据mib_modules字典查找对应的mib文件名称;

15、一对组oid和name表示一个mib模块;组oid在snmp请求中显示为整个oid的前缀,并将在代理启动后立即在核心中的mib树中注册;组名为自定义的任何名称。

16、进一步地,oid定义mib结构的方法:

17、oid编码结构为树形结构,不同层次之间用“.”分隔,层数无限制;在标识对象时,标识符为由从树根到叶子全部路径上的结点顺序组合而成的一个字符串。

18、进一步地,ifgroup的定义:ifgroup是一个lua表(table),包含与网络接口相关的信息;

19、索引为1的元素:1元素是一个constint类型,其值由load_config函数返回的if_index_cache的长度决定;

20、索引为2的元素:元素是一个lua表,包含多个子元素,每个子元素表示一个特定的网络接口;

21、每个网络接口的子元素:子元素是网络接口的属性,包括索引、描述、mtu、mac地址或是否启用;

22、constindex用于表示接口的索引,其值由load_config函数返回的if_index_cache决定;

23、conststring用于表示接口的描述(desc),其值由load_config函数返回的if_cache['desc']决定;

24、constint用于表示接口的mtu,其值由load_config函数返回的if_cache['mtu']决定;

25、conststring用于表示接口的mac地址,其值由load_config函数返回的if_cache['macaddr']决定;

26、constint用于表示接口是否启用,其值由load_config函数返回的if_cache['up']决定;

27、constcount用于表示接口的统计信息,统计信息包括输入字节数、输入丢弃数、输入错误数、输出字节数、输出丢弃数或输出错误数,其值分别由对应的if_cache中的字段决定;

28、返回ifgroup:整个ifgroup表被返回;

29、在运行时,mibgroup文件调用load_config函数来加载配置,根据加载的配置,构建ifgroup数据结构,其中包含网络接口的各种信息;ifgroup数据结构用于snmp代理中,提供有关网络接口信息,接口信息包括状态和统计,通过响应snmp请求,以获得有关网络接口的信息。

30、进一步地,构建私有mib变量的方法,包括:

31、通过"snmp"的模块,定义一个mib组,其中包含有关系统信息的描述;使用mib.conststring函数来定义一个字符串类型的常量;

32、在运行时,通过调用mib.sh_call函数来执行系统命令,获取系统的详细描述信息,然后,将详细描述信息作为字符串赋值给sysgroup[sysdesc],通过mib组在snmp代理中使用,以获得有关系统描述的信息,使其通过snmp协议查询。

33、进一步地,对mibgroup文件填充sysortable数据结构的方法,包括:

34、定义or_entry_get函数:

35、or_entry_get函数接收两个参数,i表示条目的索引,name表示要获取的条目属性的名称;

36、若or_entry_cache中存在相应索引i的条目,则根据属性名称name获取相应的值;

37、对于属性名为'uptime'的情况,计算系统运行时间,并以100为单位返回;

38、定义sysgroup:

39、sysgroup是一个lua表,其中包含snmp的sysortable的相关信息;

40、sysortable本文档来自技高网...

【技术保护点】

1.一种NFV设备私有MIB实现方法,其特征在于,包括:

2.根据权利要求1所述的一种NFV设备私有MIB实现方法,其特征在于,在config目录,定义snmp.conf文件;

3.根据权利要求2所述的一种NFV设备私有MIB实现方法,其特征在于,communities创建方法:

4.根据权利要求3所述的一种NFV设备私有MIB实现方法,其特征在于,mib_modules创建方法:

5.根据权利要求4所述的一种NFV设备私有MIB实现方法,其特征在于,OID定义MIB结构的方法:

6.根据权利要求5所述的一种NFV设备私有MIB实现方法,其特征在于,ifGroup的定义:ifGroup是一个Lua表(table),包含与网络接口相关的信息;

7.根据权利要求6所述的一种NFV设备私有MIB实现方法,其特征在于,构建私有MIB变量的方法,包括:

8.根据权利要求7所述的一种NFV设备私有MIB实现方法,其特征在于,对MIBgroup文件填充sysORTable数据结构的方法,包括:

9.根据权利要求8所述的一种NFV设备私有MIB实现方法,其特征在于,所述sysOREntry包含中有四个变量,“sysORIndex”是“sysOREntry”的索引变量,索引变量的get方法在[value,err_stat]设置,以显示索引变量不可访问,即在SNMP响应中不可见;“err_stat”为defout的伪值,返回时忽略伪值,其他变量存储在“or_entry_cache”中,从配置文件或其他非RAM位置加载数据值,“or_entry_cache”包含多行,每行对应于“sysOREntry”中的字典排序变量。

10.根据权利要求9所述的一种NFV设备私有MIB实现方法,其特征在于,mib.module_methods.or_table_reg表示调用MIB模块中的module_methods成员的or_table_reg方法;

...

【技术特征摘要】

1.一种nfv设备私有mib实现方法,其特征在于,包括:

2.根据权利要求1所述的一种nfv设备私有mib实现方法,其特征在于,在config目录,定义snmp.conf文件;

3.根据权利要求2所述的一种nfv设备私有mib实现方法,其特征在于,communities创建方法:

4.根据权利要求3所述的一种nfv设备私有mib实现方法,其特征在于,mib_modules创建方法:

5.根据权利要求4所述的一种nfv设备私有mib实现方法,其特征在于,oid定义mib结构的方法:

6.根据权利要求5所述的一种nfv设备私有mib实现方法,其特征在于,ifgroup的定义:ifgroup是一个lua表(table),包含与网络接口相关的信息;

7.根据权利要求6所述的一种nfv设备私有mib实现方法,其特征在于,构建私有mib变量的方法,包括:

8.根据权利要求7所述的一种nfv设备...

【专利技术属性】
技术研发人员:温彦龙崔一佳王丽梅王振民吴桐华张欣
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1