网络管理的基本概念

  • 网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能,服务质量等。网络管理常简称为网管。
  • 网络管理并不是指对网络进行行政上的管理。

网络管理的五大功能

  • 故障管理:故障检测、隔离和纠正。
  • 配置管理:初始化网络、并配置网络。
  • 计费管理:记录网络资源的使用。
  • 性能管理:估价系统资源的运行状况及通信效率等。
  • 网络安全管理:对授权机制、访问控制、加密和加密关键字的管理。

网络管理的一般模型

计算机网络  简单网络管理协议 SNMP_计算机网络

网络管理模型中的主要构件

  • 管理站也常称为网络运行中心 NOC (Network Operations Center),是网络管理系统的核心。
  • 管理程序在运行时就成为管理进程。
  • 管理站(硬件)或管理程序(软件)都可称为管理者(manager)。Manager 不是指人,而是指机器或软件。
  • 网络管理员 (administrator) 指的是负责网络管理的人员。
  • 大型网络往往实行多级管理,因而有多个管理者,而一个管理者一般只管理本地网络的设备。

被管对象 (Managed Object)

  • 网络的每一个被管设备中可能有多个被管对象。
  • 被管设备有时可称为网络元素或网元。
  • 在被管设备中也会有一些不能被管的对象。

代理 (agent)

  • 在每一个被管设备中都要运行一个程序以便和管理站中的管理程序进行通信。这些运行着的程序叫做网络管理代理程序,或简称为代理。
  • 代理程序在管理程序的命令和控制下在被管设备上采取本地的行动。

网络管理协议

  • 网络管理协议简称为网管协议。
  • 网络管理协议是管理程序和代理程序之间进行通信的规则。
  • 网络管理员利用网络管理协议,通过管理站对网络中的被管设备进行管理。
  • 需要注意的是,网管协议本身不管理网络。

简单网络管理协议 SNMP

  • 简单网络管理协议SNMP (Simple Network Management Protocol) 中的管理程序和代理程序按客户–服务器方式工作。
  • 管理程序运行 SNMP 客户程序,向某个代理程序发出请求(或命令),代理程序运行 SNMP 服务器程序,返回响应(或执行某个动作)。
  • 在网管系统中,往往是一个(或少数几个)客户程序与很多的服务器程序进行交互。
  • SNMP 定义了管理站和代理之间所交换的分组格式。
  • 所交换的分组包含各代理中的对象(变量)名及其状态(值)。
  • SNMP 负责读取和改变这些数值。

网络管理的基本原理

若要管理某个对象,就必然会给该对象添加一些软件或硬件,但这种“添加”必须对原有对象的影响尽量小些。

SNMP 的指导思想

  • SNMP 最重要的指导思想就是要尽可能简单。
  • SNMP 的基本功能包括监视网络性能、检测分析网络差错和配置网络设备等。
  • 在网络正常工作时,SNMP 可实现统计、配置、和测试等功能。当网络出故障时,可实现各种差错检测和恢复功能。
  • 虽然 SNMP 是在 TCP/IP 基础上的网络管理协议,但也可扩展到其他类型的网络设备上。

SNMP 的基本功能

  • SNMP 最重要的指导思想就是要尽可能简单。
  • SNMP 的基本功能包括:
  1. 监视网络性能
  2. 检测分析网络差错
  3. 配置网络设备等。

SNMP 的管理站和委托代理

  • 整个系统必须有一个管理站。
  • 若网络元素使用的不是 SNMP 而是另一种网络管理协议,SNMP 协议就无法控制该网络元素。这时可使用委托代理 (proxy agent)。
  • 委托代理能提供协议转换和过滤操作等功能,对被管对象进行管理。
    计算机网络  简单网络管理协议 SNMP_计算机网络_02

SNMP 网络管理组成

  • SNMP 的网络管理由三个部分组成:
  1. SNMP 本身
  2. 管理信息结构 SMI (Structure of Management Information)
  3. 管理信息库 MIB (Management Information Base)。

管理信息结构 SMI

  • SMI 定义了命名对象和定义对象类型(包括范围和长度)的通用规则,以及把对象和对象的值进行编码的规则。
  • 这样做是为了确保网络管理数据的语法和语义的无二义性。但从 SMI 的名称并不能看出它的功能。
  • SMI 并不定义一个实体应管理的对象数目,也不定义被管对象名以及对象名及其值之间的关联。

管理信息库 MIB

  • MIB 在被管理的实体中创建了命名对象,并规定了其类型。
  • 管理程序使用 MIB 中的信息,对网络进行管理。
    计算机网络  简单网络管理协议 SNMP_计算机网络_03

管理信息结构 SMI

  • SMI 的功能:
  1. 被管对象应怎样命名;
  2. 用来存储被管对象的数据类型有哪些种;
  3. 在网络上传送的管理数据应如何编码。

SMI 规定所有被管对象必须在命名树上

计算机网络  简单网络管理协议 SNMP_计算机网络_04

SMI 使用 ASN.1

  • SMI 标准指明:所有的 MIB 变量必须使用抽象语法记法 1(ASN.1)来定义。
  • SMI 既是 ASN.1 的子集,又是 ASN.1 的超集。
  • ASN.1 的记法很严格,它使得数据的含义不存在任何可能的二义性。

SMI 数据类型

  • SMI 把数据类型分为两大类:
  1. 简单类型
  2. 结构化类型。
  • 数据分类型和值:
    • 类型:值集合的名字
    • 值:某个值集合中的一个元素

ASN.1 部分数据类型
计算机网络  简单网络管理协议 SNMP_计算机网络_05

基本编码规则 BER

  • ISO 在制订 ASN.1 语言的同时也为它定义了一种标准的编码方案,即基本编码规则 BER (Basic Encoding Rule)。
  • BER 指明了每种数据类型中每个数据的值的表示。
  • 发送端用 BER 编码,可将用 ASN.1 所表述的报文转换成唯一的比特序列。
  • 接收端用 BER 进行解码,得到该比特序列所表示的 ASN.1 报文。

用 TLV 方法进行编码

计算机网络  简单网络管理协议 SNMP_计算机网络_06

TLV 中的 T 字段定义数据的类型

计算机网络  简单网络管理协议 SNMP_计算机网络_07
计算机网络  简单网络管理协议 SNMP_计算机网络_08

TLV 中的 L 字段定义 V 字段的长度

计算机网络  简单网络管理协议 SNMP_计算机网络_09

TLV 中的 V 字段定义数据的值

计算机网络  简单网络管理协议 SNMP_计算机网络_10
计算机网络  简单网络管理协议 SNMP_计算机网络_11

计算机网络  简单网络管理协议 SNMP_计算机网络_12

TLV 中的 V 字段可嵌套其他数据元素的 TLV 字段

计算机网络  简单网络管理协议 SNMP_计算机网络_13

管理信息库 MIB

  • 被管对象必须维持可供管理程序读写的若干控制和状态信息。这些信息总称为管理信息库 MIB (Management Information Base) 。
  • 管理程序使用 MIB 中这些信息的值对网络进行管理(如读取或重新设置这些值)。
  • 只有在 MIB 中的对象才是 SNMP 所能够管理的。

SMI 规定所有被管对象必须在命名树上

计算机网络  简单网络管理协议 SNMP_计算机网络_14

节点 mib-2 所包含的信息类别举例

计算机网络  简单网络管理协议 SNMP_计算机网络_15

MIB 变量的例子

计算机网络  简单网络管理协议 SNMP_计算机网络_16

SNMP 的协议数据单元和报文

  • SNMP 的操作只有两种基本的管理功能:
  1. “读”操作,用 get 报文来检测各被管对象的状况;
  2. “写”操作,用 set 报文来改变各被管对象的状况。
  • SNMP 的这些功能通过探询操作来实现。

SNMP 的探询操作

  • 探询操作 —— SNMP 管理进程定时向被管理设备周期性地发送探询信息。
  • 探询的好处:
  1. 可使系统相对简单。
  2. 能限制通过网络所产生的管理信息的通信量。
  • 探询的缺点:
  1. 不够灵活,而且所能管理的设备数目不能太多。
  2. 开销也较大。

陷阱(trap)

  • SNMP 不是完全的探询协议,它允许不经过询问就能发送某些信息。这种信息称为陷阱,表示它能够捕捉“事件”。
  • 当被管对象的代理检测到有事件发生时,就检查其门限值。代理只向管理进程报告达到某些门限值的事件(即过滤)。
  • 过滤的好处是:
  1. 仅在严重事件发生时才发送陷阱;
  2. 陷阱信息很简单且所需字节数很少。

SNMP 是有效的网络管理协议

  • 使用探询(至少是周期性地)以维持对网络资源的实时监视。
  • 同时也采用陷阱机制报告特殊事件,使得 SNMP 成为一种有效的网络管理协议。

SNMP 使用无连接的 UDP

  • SNMP 使用无连接的 UDP。但 UDP 不保证可靠交付。
  • 在运行代理程序的服务器端用熟知端口 161 来接收 get 或 set 报文和发送响应报文(与熟知端口通信的客户端使用临时端口)。
  • 运行管理程序的客户端则使用熟知端口 162 来接收来自各代理的 trap 报文。

SNMPv1 定义的协议数据单元 (PDU) 类型

计算机网络  简单网络管理协议 SNMP_计算机网络_17

SNMP 的报文格式

计算机网络  简单网络管理协议 SNMP_计算机网络_18

Get-request 报文 ASN.1 编码

计算机网络  简单网络管理协议 SNMP_计算机网络_19

Get-request 报文 ASN.1 定义

计算机网络  简单网络管理协议 SNMP_计算机网络_20

Get-request 报文的 BER 编码

计算机网络  简单网络管理协议 SNMP_计算机网络_21
计算机网络  简单网络管理协议 SNMP_计算机网络_22