前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >速读原著-TCP/IP(SNMP示例)

速读原著-TCP/IP(SNMP示例)

作者头像
cwl_java
发布2020-03-17 10:57:43
3880
发布2020-03-17 10:57:43
举报
文章被收录于专栏:cwl_Java

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

25.7 一些简单的例子

在本节中,我们将介绍如何从 S N M P代理进程处获取变量的值。对代理进程进行查询的软件属于I S O D E系统,叫做s n m p i。两者在[Rose 1994]中有详细的介绍。

25.7.1 简单变量

对一个路由器取两个U D P组的简单变量值:

在这里插入图片描述
在这里插入图片描述

其中,- a选项代表要和之通信的代理进程名称, - c选项表示S N M P的共同体名。所谓共同体名,就是客户进程(在这里指 s n m p i)提供、同时能被服务器进程(这里指代理进程g a t e w a y)所识别的一个口令,共同体名称是管理进程请求的权限标志。代理进程允许客户进程用只读共同体名对变量进行读操作,用读写共同体名对变量进行读和写操作。S n m p i程序的输出提示符是 s n m p i >,在后面可以键入如g e t这样的命令,该软件将把它转化为S N M P中的g e t - r e q u e s t报文。当结束时,键入 q u i t就退出(在后面的例子中,我们将省略掉q u i t的操作)。 图2 5 - 1 5显示的是对于这个例子t c p d u m p的两行输出结果。

在这里插入图片描述
在这里插入图片描述

对这两个变量的查询请求是封装在一个 U D P数据报中的,而响应也在一个 U D P数据报中。显示的变量是以其对象标识的形式显示的,这是在 S N M P报文中实际传输的内容。我们必须指定这两个变量的实例是 0。注意,变量的名称(它的对象标识)同样也在响应中返回。在下面我们将看到对于g e t - n e x t操作这是必需的。

25.7.2 get-next操作

g e t - n e x t操作是基于 M I B的字典式排序的。在下面的例子中,首先向代理进程询问U D P后的下一个对象标识(由于不是一个叶子对象,没有指定任何实例)。代理进程将返回U D P组中的第1个对象,然后我们继续向代理进程取该对象的下一个对象标识,这时候第 2个对象将被返回。重复上面的步骤直到取出所有的对象为止。

在这里插入图片描述
在这里插入图片描述

这个例子解释了为什么 g e t - n e x t操作总是返回变量的名称,这是因为我们向代理进程询问下一个变量,代理进程就把变量值和名称一起返回了。

采用这种方式进行 g e t - n e x t操作,我们可以想象管理进程只要做一个简单的循环程序,就可以从M I B树的顶点开始,对代理进程一步步地进行查询,就可以得出代理进程处所有的变量值和标识。该方式的另外一个用处就是可以对表格进行遍历。

25.7.3 表格的访问

对于“先列后行”次序的U D P监听表,只要采用前面的简单查询程序一步一步地进行操作,就可以遍历整个表格。只要从询问代理进程 u d p T a b l e的下一个变量开始就可以了。由于u d p T a b l e不是叶子对象,我们不能指定一个实例,但是g e t - n e x t操作依然能够返回表格中的下一个对象。然后就可以以返回的结果为基础进行下一步的操作,代理进程也会以“先列后行”的次序返回下一个变量,这样就可以遍历整个表格。我们可以看到返回的次序和图25-14相同。

在这里插入图片描述
在这里插入图片描述

但是管理进程如何知道已经到达表格的最后一行呢?既然g e t - n e x t操作返回结果中包含表格中的下一个变量的值和名称,当返回的结果是超出表格之外的下一个变量时,管理进程就可以发现变量的名称发生了较大的变化。这样就可以判断出已经到达表格的最后一行。例如在我们的例子中,当返回的是s n m p I n P k t s变量的时候就代表已经到了U D P监听表的最后一个变量了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/03/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第25章 SNMP: 简单网络管理协议
    • 25.7 一些简单的例子
      • 25.7.1 简单变量
      • 25.7.2 get-next操作
      • 25.7.3 表格的访问
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档