专栏首页cwl_Java速读原著-TCP/IP(SNMP实例标识)

速读原著-TCP/IP(SNMP实例标识)

第25章 SNMP: 简单网络管理协议

25.6 实例标识

当对M I B变量进行操作,如查询和设置变量的值时,必须对M I B的每个变量进行标识。首先,只有叶子结点是可操作的。S N M P没法处理表格的一整行或一整列。回到图2 5 - 7,在图2 5 - 8和图2 5 - 9中描述过的变量就是叶子结点,而m i b、u d p、u d p T a b l e和u d p E n t r y就不是叶子结点。

25.6.1 简单变量

对于简单变量的处理方法是通过在其对象标识后面添加“ . 0”来处理的。例如图2 5 - 8中的计数器u d p I n D a t a g r a m s,它的对象标识是1 . 3 . 6 . 1 . 2 . 1 . 7 . 1,它的实例标识是1 . 3 . 6 . 1 . 2 . 1 . 7 . 1 . 0,相对应的文字名称是i s o . o r g . d o d . i n t e r n e t . m g m t . m i b . u d p . u d p I n D a t a g r a m s . 0。虽然这个变量处理后通常可以缩写为 u d p I n D a t a g r a m s . 0,但我们还是要提醒读者在S N M P报文中(图2 5 - 2)该变量的名称是其对象的标识 1 . 3 . 6 . 1 . 2 . 1 . 7 . 1 . 0。

25.6.2 表格

表格的实例标识就要复杂得多。回顾一下图 2 5 - 8中的UDP 监听表。每个M I B中的表格都指明一个以上的索引。对于 U D P监听表来说, M I B定义了包含两个变量的联合索引,这两个变量是:u d p L o c a l A d d r e s s,它是一个I P地址;u d p L o c a l P o r t,它是一个整数(在图2 5 - 9中的第1行就显示了这个索引)。

假设在U D P监听表中有3行具体成员:第1行的I P地址是0 . 0 . 0 . 0,端口号是6 7;第2行的I P地址是0 . 0 . 0 . 0,端口号是1 6 1;第3行的I P地址是0 . 0 . 0 . 0,端口号是5 2 0。如图2 5 - 11所示。

这意味着系统将从端口 6 7(B O O T P服务器)、端口1 6 1(S N M P)和端口 5 2 0(R I P)接受来自任何接口的U D P数据报。表格中的这 3行经过处理后的结果在图 2 5 -1 2中显示。

25.6.3 字典式排序

M I B中按照对象标识进行排序时有一个隐含的排序规则。 M I B表格是根据其对象标识按照字典的顺序进行排序的。这就意味着图 2 5 - 1 2中的6个变量排序后的情况如图 2 5 - 1 3所示。从这种字典式排序中可以得出两个重要的结论。

  1. 在表格中,一个给定变量(在这里指 u d p L o c a l A d d r e s s)的所有实例都在下个变量(这里指u d p L o c a l P o r t)的所有实例之前显示。这暗示表格的操作顺序是“先列后行”的次序。这是由于对对象标识进行字典式排序所得到的,而不是按照人们的阅读习惯而排列的。
  2. 表格中对行的排序和表格中索引的值有关。在图2 5 -1 3中,6 7的字典序小于1 6 1,同样1 6 1的字典序小于5 2 0。 图2 5 - 1 4描述了例子中U D P监听表的这种“先列后行”的次序。

在下节中,讲述到g e t - n e x t操作时,同样还会遇到这种“先列后行”的次序。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 快速学习-Scala变量

    变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。

    cwl_java
  • 速读原著-TCP/IP(管理信息库介绍)

    所谓管理信息库,或者M I B,就是所有代理进程包含的、并且能够被管理进程进行查询和设置的信息的集合。我们在前面已经提到了在RFC 1213 [McColghr...

    cwl_java
  • Java基础-变量和数据类型

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明...

    cwl_java
  • WordPress 如何判断一篇文章是否存在

    一直以来子凡都计划为泪雪网添加一个文章的收藏功能,直到现在也依旧也还只是在计划中,最近几天子凡在研究微信小程序,试图折腾用守望轩开源的WordPress微信小程...

    墨渊
  • WordPress 如何判断一篇文章是否存在

    用户1456630
  • 堆排序就这么简单

    一、堆排序介绍 来源百度百科: 堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指...

    Java3y
  • python使用sendmail在lin

    参考链接:How do I send mail from a Python script?

    py3study
  • linux shell编程学习笔记(3)

    (2)默认定义的变量只在当前的shell里可以使用,无法在子shell使用。要想定义的变量让所有的shell都可以用,要在系统启动时把它定义为全局变量

    py3study
  • 用户为王(二)

    "如果说你的桌面是一座城堡,那么应用就是城堡里挂着的画" 当前的几大手机操作系统把每个服务都区别开来。用户下载下来放在桌面的每个应用都和其他应用没什么联系。所以...

    BestSDK
  • c++ 网络编程(三)TCP/IP LINUX/windows 进程间的通信原理与实现代码 基于多进程的服务端实现

    原文链接:https://www.cnblogs.com/DOMLX/p/9613027.html

    徐飞机

扫码关注云+社区

领取腾讯云代金券