由于计算机网络发展的趋势是规模不断扩大,复杂性不断增加,网络的异构程度越来越高,因此需要统一的网络管理体系结构和协议对网络进行管理。国际上许多机构和团体建立了一些网络管理标准框架:

1、故障管理

2、配置管理

3、计费管理

4、性能管理

5、安全管理

简单网络管理协议SNMPSimple Network Management Protocol)协议应用最为广泛SNMPv2扩充了功能,SNMPv3包含安全和远程配置。

SNMP是应用层协议,主要通过一组因特网协议及其所依附的资源提供网络管理服务。它提供了一个基本框架用来实现对鉴别、授权、访问控制以及网络管理政策实施的高层管理。

网络管理系统组成:

表1

被管理节点(或设备)

被监视的设备

管理代理(agent)

用来跟踪被管理设备状态的特殊软件或固件(firmware)

网络管理工作站

与在不同被管理节点中的代理通信,并且显示这些代理状态的中心设备

网络管理协议

被网络管理工作站和代理用来交换信息的协议

管理信息数据库

提供有关被管网络设备的信息

SNMP简单网络管理协议_SNMP简单网络管理协议

1

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

(1)管理信息库MIB(Management Information Base)

管理信息库包含所有代理进程的所有可被查询和修改的参数,它是网络管理系统中的重要组件,由系统内的许多被管对象及其属性组成。这些信息由管理进程和各个代理进程共享。MIB指明了网络元素所维持的变量(即能够被管理进程查询和设置信息)。图2给出了一个网络中所有可能的被管理对象集合的数据结构

SNMP简单网络管理协议_SNMP简单网络管理协议_02

图2

由图2可知,对象命名树的顶级对象有三个,即ISO、ITU-T(ccitt)和这两个组织的联合体。在ISO的下面有4个结点,其中的一个(标号3)是被标识的组织。接下一层有一个美国国防部(Department of Defense)的子树(标号6),再下面就是internet(标号1)。

在只讨论因特网中的对象时,可只画出internet以下的子树,并在internet结点旁边标注上{1.3.6.1}即可。最初的mib将其所管理的信息分为8个类别,见表2。现在的mib-2所包含的信息类别已超过40个。

表2

信息类型

标号

信息含义

system

1

主机或路由器的操作系统

interfaces

2

网络接口

address translation

3

地址转换(例如ARP映射)

ip

4

IP软件信息

icmp

5

ICMP软件信息

tcp

6

TCP软件信息

udp

7

UDP软件信息

egp

8

EGP软件信息


(2)管理信息结构SMI(Structure of Management Information)

管理信息结构是关于MIB的一套公用的结构和表示符号。

(3)SNMP

    SNMP是管理进程和代理进程之间的通信协议。

图3、4表示SNMP的实现模型。图3中,1、2、3、4、5分别表示获得请求get-request 、获得下一个请求get-next-request 、设置请求set-request 、获得响应get-response 、陷阱trap等操作。(SNMPv2定义了7个操作)

SNMP简单网络管理协议_SNMP简单网络管理协议_03

图3

SNMP简单网络管理协议_SNMP简单网络管理协议_04

图4

一个 SNMP 报文由三个部分组成,如图5所示:

公共 SNMP 首部

get/set首部或 trap 首部

变量绑定(Variable-bindings)

SNMP简单网络管理协议_SNMP简单网络管理协议_05

图5

1、公共SNMP首部

共有三个字段:

(1)版本,写入版本字段的是版本号减 1。对于 SNMPv1应写入0。

(2)共同体(community),共同体就是一个字符串,作为管理进程和代理进程之间的明文口令,常用的是 6 个字符“public”。

(3)PDU类型,根据 PDU 的类型,填入0-4中的一个数字。其对应关系如表3所示。

表3

PDU类型

名称

0

get-request

1

get-next-request

2

get-response

3

set-request

4

trap

SNMPv1定义了5种管理进程和代理进程之间的交互报文:

get-request操作:从代理进程处提取一个或多个参数值。

get-next-request操作:从代理进程处提取一个或多个参数的下一个参数值。

set-request操作:设置代理进程的一个或多个参数值。

get-response操作:返回的一个或多个参数值,这个操作是由代理进程发出的。它是前面3种操作的响应操作。

trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。

前3个操作由管理进程向代理进程发出,后两个是代理进程发给管理进程的。在代理进程端用熟知端口 161 来接收 get 或 set 报文,在管理进程端用熟知端口 162 来接收 trap 报文。

SNMP简单网络管理协议_SNMP简单网络管理协议_06

图6