基于TCP/IP的网络管理包含3个组成部分:

  • 一个管理信息库MIB:MIB包含所有代理进程的所有可被查询和修改的参数
  • 关于MIB的一套公用的结构和表示符号,即SMI(管理信息结构)
  • 管理进程和代理进程之间的通信协议,即SNMP(简单网络管理协议)

SNMP在运输层大多使用UDP

协议

关于管理进程和代理进程之间的交互信息,SNMP定义了5种报文:

  1. get-request操作:从代理进程处提取一个或多个参数值
  2. get-next-request操作
  3. set-request操作:设置代理进程的一个或多个参数值
  4. get-response操作:返回的一个或多个参数值。此操作由代理进程发出,其是前面3种操作的响应操作
  5. trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生

封装成UDP数据报的5种操作的SNMP报文格式如下:

  • PDU:协议数据单元,也即是分组
  • 共同体:一个字符串。这是管理进程和代理进程之间的口令,明文格式,默认值是public
  • 请求标识:由管理进程设置,由代理进程在get-response中返回。作用是使客户进程能够将服务器进程发出的响应和客户进程发出的查询进行匹配
  • 差错状态字段:一个整数,由代理进程标注,指明有差错发生
  • 差错索引字段:一个整数偏移量,由代理进程标注,指明当有差错发生时,差错发生在哪个参数,且只有在发生noSuchName、readOnly、badValue差错时才进行标注
  • 在get、get-next和set的请求数据报中,包含变量名称和变量值的一张表。对于get和get-next操作,变量值部分被忽略,也就是不需要填写。

管理信息结构(SMI)

INTEGER
OCTER STRING
DisplayString
OBJECT IDENTIFIER 下一节中详讲
NULL
IpAddress
PhysAddress
Counter
Gauge
TimeTicks
SEQUENCE
SEQUENCE OF

对象标识符(OBJECT IDENTIFIER)

对象标识是一种数据类型,它指明一种“授权”命名的对象。 “授权”的意思就是这些标识不是随便分配的,它是由一些权威机构进行管理和分配的。

对象标识是一个整数序列,以点(“.”)分隔。这些整数构成一个树型结构,类似于DNS或Unix的文件系统,如图:

图中所有的MIB变量都从1.3.6.1.2.1这个标识开始,树上的每个结点同时还有一个文字名。如标识1.3.6.1.2.1就和iso.org.dod.internet.memt.mib对应

管理信息库(MIB)

MIB被划分成若干个组,如上面的图25-6所示,system、 interfaces、at、ip、tcp、udp等。现在讨论udp组中的变量。

udp组

UDP组的结构如下:


system组

interface组

本组定义了一个简单变量和一个表格变量:

at组

ip组

多个简单变量+3个表格变量:

icmp组

tcp组

实例标识

当对MIB变量进行操作(如查询和设置变量的值时),必须对MIB的每个变量进行标识。只有叶子结点是可操作的。

简单变量的实例标识

通过在其对象标识后面添加“.0”来处理。

如上图25-8中的计数器udpInDatagrams,它的对象标识是1.3.6.1.2.1.7.1,它的实例标识是1.3.6.1.2.1.7.1.0,相对应的文字名称是iso.org.dod.internet.mgmt.mib.udp.udpInDatagrams.0。这个变量处理后通常可以缩写为udpInDatagrams.0

表格的实例标识

以上图25-8中的UDP监听表为例:

字典式排序

MIB中按照对象标识进行排序时有一个隐含的排序规则。MIB表格是根据其对象标识按照字典的顺序进行排序的。这就意味着图25-12中的6个变量排序后的情况如图25-13所示。

从这种字典式排序中可以得出两个重要结论:
1.在表格中,一个给定变量(在这里指udpLocalAddress)的所有实例都在下个变量(这里指udpLocalPort)的所有实例之前显示。这暗示表格的操作顺序是“先列后行”的次序。这是由于对对象标识进行字典式排序所得到的,而不是按照人们的阅读习惯而排列的。

2.表格中对行的排序和表格中索引的值有关。在图25-13中,67的字典序小于161,同样161的字典序小于520

Trap

6种特定的trap类型,第7种trap类型是由供应商自己定义的特定类型:

一些简单的例子

TCP/IP详解之:SNMP的更多相关文章

  1. 《TCP/IP详解卷1:协议》第1章 概述-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  2. 『TCP/IP详解——卷一:协议』读书笔记——01

    从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...

  3. TCP/IP详解学习笔记- 概述

    TCP/IP详解学习笔记(1)-- 概述1.TCP/IP的分层结构      网络协议通常分不同层次进行开发,每一层分别负责不同的同信功能.TCP/IP通常被认为是一个四层协议系统.      如图所 ...

  4. 《TCP/IP详解 卷1:协议》系列分享专栏

    <TCP/IP详解卷1:协议>是一本详细的TCP/IP协议指南,计算机网络历久不衰的经典著作之一. 作者理论联系实际,使读者可以轻松掌握TCP/IP的知识.阅读对象为计算机专业学生.教师以 ...

  5. 《TCP/IP详解 卷1:协议》第3章 IP:网际协议

    3.1 引言 IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP及IGMP数据都以IP数据报格式传输(见图1-4).许多刚开始接触TCP/IP的人对IP提供不可靠.无连接的数据报 ...

  6. 第8章 应用协议 图解TCP/IP 详解

    第8章 应用协议 图解TCP/IP 详解 8.1 应用层协议概要 应用层协议的定义 TCP和IP等下层协议是不依赖上层应用类型.实用性非常广的协议.而应用协议则是为了实现某种应用而设计和创造的协议. ...

  7. 网络编程TCP/IP详解

    网络编程TCP/IP详解 1. 网络通信 中继器:信号放大器 集线器(hub):是中继器的一种形式,区别在于集线器能够提供多端口服务,多口中继器,每个数据包的发送都是以广播的形式进行的,容易阻塞网络. ...

  8. 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议

    4.1 引言 本章我们要讨论的问题是只对TCP/IP协议簇有意义的IP地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络如 ...

  9. TCP/IP详解 读书笔记(一):概述

    分层 网络协议通常分不同层次进行开发,每一层负责不同的职责,一个协议簇指的是一组不同层次上的多个协议的组合. TCP/IP通常被认为是一个四层协议系统: 链路层:主要是处理与电缆或其他传输媒介的物理接 ...

  10. TCP/IP详解学习笔记

    TCP/IP详解学习笔记(1)-基本概念 TCP/IP详解学习笔记(2)-数据链路层 TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议 TCP/IP详解学习笔记(4)-ICMP协议, ...

随机推荐

  1. ios属性和成员变量写在.h文件和.m文件中 区别?

    1  其实是一样的.在.m文件上只能.m文件内部的才能访问的这个变量,如果在.h文件中,其他的文件也可以访问到这个变量. 2  写.h文件里边可以和其他的类进行交互,写.m里边只是在本类中使用! 3 ...

  2. 利用@media实现IE hack

    虽然对IE深恶痛绝,却不能拒绝. 使用@media实现IE hack的方法,以记之. 仅IE6和IE7识别@media screen\9 { .selector { property: value; ...

  3. linux 系统下java开发环境的配置

    在安装之前,确保你的linux系统下有 jdk,jboss等相关软件 一.配置JDK环境变量 步骤: 解压缩JDK文件: unzip jdk1.6.0_31.zip 目录下显示文件夹jdk1.6.0_ ...

  4. c++设计模式之状态模式

    一. 状态模式 定义:允许一个对象在其内部状态改变时改变它的行为.对象看起来似乎修改了它的类. 实现方式1: workstate 状态抽象类 workstate1 状态实现类1 workstate2 ...

  5. 内存操作相关内核 API 的使用

    1.RtlCopyMemory .RtlCopyBytes.RtlMoveMemory: 2.RtlZeroMemory.RtlFillMemory: 3.RtlEqualMemory: 4.ExAl ...

  6. UVA11361 Investigating Div-Sum Property(数位dp)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud 题目意思:问在区间[A,B]有多少个数不仅满足自身是k的倍数,而且其各个位数上的和 ...

  7. 关于阿里云ESC上go语言项目编译6l: running gcc failed: Cannot allocate memory

    (1)前段时间将自己的阿里云服务器上的系统由centos 6.5换为了ubuntu 14,其他的硬件配置都没有发生改变,将服务器上的数据恢复并且重新安装了golang的编译环境后,发现使用go bui ...

  8. project euler 26:Reciprocal cycles

    A unit fraction contains 1 in the numerator. The decimal representation of the unit fractions with d ...

  9. mysql 针对单张表的备份与还原

    A.MySQL 备份工具xtrabackup 的安装 . percona 官方xtrabackup 的二进制版本:二进制版本解压就能用了. . 解压xtrabackup & 创建连接 -Lin ...

  10. (转)使用scp命令在linux操作系统之间传递文件

    一.关于scp scp是英文secure copy (remote file copy program)的简称,主要用于在两台主机之间通过网络拷贝文件.scp使用ssh协议进行数据传递,其认证方式和安 ...