当前位置: 代码迷 >> 综合 >> 【TCP-IP详解卷一:协议】ch25 SNMP:简单网络管理协议
  详细解决方案

【TCP-IP详解卷一:协议】ch25 SNMP:简单网络管理协议

热度:45   发布时间:2023-12-03 09:50:19.0

目录

      • 1. 引言
      • 2. 协议
        • 2.1 报文类型
        • 2.2 报文格式
      • 3. 管理信息结构
      • 4. 对象标识符
      • 5. 管理信息库介绍
        • 5.1 MIB中的UDP组
      • 6. trap
      • 7. ASN.1和BER
      • 8. SNMPv2

1. 引言

基于TCP/IP的网络管理组成:

  1. 管理信息库MIB,包含所有代理进程(被管设备端和管理相关的软件)的所有可以被查询和修改的参数
  2. 管理信息结构SMI,关于MIB的一套公用的结构和表示符号
  3. 简单网络管理协议SNMP,管理进程和代理进程之间的通信协议

2. 协议

2.1 报文类型

  1. get-request操作:从代理进程处提取一个或多个参数值
  2. get-next-request操作:从代理进程处提取一个或多个参数的下一个参数值
  3. set-request操作:设置代理进程的一个或多个参数值
  4. get-response操作:返回的一个或多个参数值(代理进程发出的,对3的响应操作)
  5. trap操作:代理进程主动发出的报文,通知管理进程有事发生
    在这里插入图片描述

2.2 报文格式

在这里插入图片描述

3. 管理信息结构

SNMP中的数据类型:

  1. INTEGER。整型(有多种形式)
  2. OCTER STRING。0或多个8位字节,每个字节值在0~255之间,字符串的字节数要超过字符串本身长度,且字符串不是以NULL结尾的
  3. DisplayString。0或多个8位字节,但每个字节必须是ASCII码
  4. OBJECT IDENTIFIER(下一节内容)
  5. NULL。在get和get-next操作中变量的值就是NULL
  6. IpAddress。4字节长的OCTER STRING,每个字节代表IP地址的一个字段。
  7. PhyAddress。OCTER STRING类型,代表物理地址。
  8. Counter。非负整数,从0递增到232 - 1后归0
  9. Gauge。非负整数,取值范围为0~232 - 1,达到最大值后锁定直至复位。
  10. TimeTicks。时间计数器,以0.01s为单位递增,定义时必须指定递增幅度。
  11. SEQUENCE。类似C语言中的“structure”,包含0或多个元素,每个元素是另一个ASN.1数据类型
  12. SEQUENCE OF。向量。

4. 对象标识符

以“.”分隔的整数序列,这些整数构成一个树形结构,类似DNS或Unix的文件系统。每个结点都有一个对应的文字名。
在这里插入图片描述

5. 管理信息库介绍

MIB包含所有代理进程(被管设备端和管理相关的软件)的所有可以被查询和修改的参数。
MIB被划分为若干组,如system、interfaces、at(地址转换)、ip组等。

5.1 MIB中的UDP组

在这里插入图片描述
变量之间的关系:
在这里插入图片描述

6. trap

代理进程主动发出的报文,通知管理进程有事发生。
在这里插入图片描述

7. ASN.1和BER

SNMP规范采用ASN.1语法,SNMP报文中比特的编码采用BER。
ASN.1:描述数据和数据特征的正式语言,与数据的存储以及编码无关。
BER:编码方法,例如对于整数64,BER要用3个字节表示,第一个字节说明类型为整数,第二个字节说明用了多少字节来存储(1),第三个字节才是该整数的值。

8. SNMPv2

与SNMPv1之间的区别:

  1. SNMPv2定义了一个新的分组类型get-bulk-request,可以高效率地从代理进程读取大块数据
  2. SNMPv2定义了一个新的分组类型inform-request,可以使一个管理进程向另一个管理进程发送信息
  3. SNMPv2定义了两个新的MIB——SNMPv2 MIB和SNMPv2-M2M MIB
  4. SNMPv2的安全性比SNMPv1高,可以提供鉴别和加密