在MIB中为SNMP分组列

时间:2017-08-28 18:15:27

标签: snmp mib

我在SNMP中有一个表格,如下所示:

Id    Name    A.x   A.y   B.x  B.y
1     Test     1     2     1    3
2     Next     3     4     5    6

我可以使用SNMP作为

来访问它
table.1.1 = 1             table.1.2 = 2
table.2.1 = Name          table.2.2 = Next
table.3.1 = 1             table.3.2 = 3
table.4.1 = 2             table.4.2 = 4
table.5.1 = 1             table.5.2 = 5
table.6.1 = 3             table.6.2 = 6

所以列的分配将是

1 = Id   2 = Name   3 = A.x   4 = A.y   5 = B.x   6 = B.y

然而由于某些原因(例如能够在“正确的顺序”中添加A.z和B.z),我希望列如下:

1 = Id   2 = Name   3.1 = A.x   3.2 = A.y   4.1 = B.x   4.2 = B.y

我的数据将如下所示:

table.1.1 = 1             table.1.2 = 2
table.2.1 = Name          table.2.2 = Next
table.3.1.1 = 1           table.3.1.2 = 3
table.3.2.1 = 2           table.3.2.2 = 4
table.4.1.1 = 1           table.4.1.2 = 5
table.4.2.1 = 3           table.4.2.2 = 6

基本上,SNMP(只要求所有数据都可以通过每个列的一些起始OID进行迭代,并且没有表的其他内部规则)允许这样做。

但是可以用MIB表达吗?

客户能够处理吗?

2 个答案:

答案 0 :(得分:0)

你可以做任何你想做的事。但是,如果你想遵守管理信息的结构"标准RFC 2578,然后是7.1.12概念 表

https://tools.ietf.org/html/rfc2578#section-7.1.12

解释您已经知道的规则。大多数应用程序都不会知道您的临时表布局。

答案 1 :(得分:0)

您建议的分配,其中某些列对象不是行的直接子节点,而是在它们之间有一个中间子节点,这是不合法的。相关规则在RFC 2578 section 7.10(2),OBJECT-TYPE值的映射:

中定义
  

(2)如果对象对应于概念行,则至少一个   赋值,概念行中每列的一个赋值   在那个物体下面。 每个的管理分配名称   列是通过附加唯一的正子标识符来派生的   概念行的管理分配名称。

强调我的。含义很明确:您的列'OID 必须由附加到行的OID的单个子标识符指定(请注意,“name”表示OBJECT IDENTIFIER值。文本标签为1倾向于认为名称被称为“描述符”。)