网络协议补完计划--SNMP协议

目录

  • 前言
  • SNMP协议概述
  • SNMP基本框架
    • 网络管理体系结构
      • 管理站
      • 代理者
      • MIB
      • 网络管理协议(SNMP协议)
    • 网络管理协议体系结构
    • 陷阱引导轮询(Trap-directed polling)
    • 代管(Proxies)
  • SNMP管理信息
    • MIB的结构(V2)

前言

参照清华大学出版社-罗军周主编的《TCP/IP协议及网络编程技术》进行学习。
本篇主要参考第十四章:《SNMP网络管理体系结构》
SNMP协议在实际工作中基本用不到、毕竟我们不会去做系统的网络管理员、所以大概了解一下其工作原理吧。


SNMP协议概述

随着网络技术的发展、网络中存在的设备(工作站、服务器、网卡、路由器等)越来越多。而网络管理、就是为了协调管制这些设备而存在。

SNMP协议其前身是SGMP协议(简单网关监控协议)。作为一种应用层协议、定义了以系列协议组和规范。它们提供了一种从网络上的设备收集网络管理信息的方法、以便对网络上的设备进行监视管理。

TCP/IP协议族中的网络管理(但是通讯走的UDP协议)主要包含两个部分:网络管理站(也叫管理进程,manager)和被管设备(代理)、被管设备相应的进程称为代理进程。管理器控制和监视着一组代理。通常情况下、管理器是主机代理是路由器或server


SNMP基本框架

  • 网络管理体系结构

SNMP的网络管理模型包括以下关键元素:管理站、代理者、管理信息库、网络管理协议。

管理站

通常是一个独立的设备、也可以利用共享技术实现。作为网络管理员与网络管理系统的接口

基本构成为:

  1. 一组具有分析数据、发现故障等功能的管理程序
  2. 一个用于网络管理员监控网络的接口
  3. 将网络管理员的要求转变为对远程网络元素实际监控的能力。
  4. 一个从所有被管网络实体的MIB(信息库)中抽取信息的数据库。
代理者

装备了SNMP的平台。如主机、网桥、路由器及集线器均可作为代理者工作。与网络管理员通过SNMP协议进行交互。

负责接收和处理来自网关的各种报文、并随机的为网络管路员报告一些意外事件。

MIB

网络管理中的资源(中的某些数据变量)是以对象作为表示的、称为被管理的对象
MIB就是这个对象的集合、由代理者进行维护、负责对库中对象的读取、设置

管理者通过读取这些对象的值来进行网络监控、也可以在代理处产生动作、还可以主动修改变量的值来改变配置。

网络管理协议(SNMP协议)

管理者和代理者之间的通讯协议

主要包括以下能力:

  1. GET:管理者读取代理者处对象的值。
  2. SET:管理者设置代理者处对象的值。
  3. Trap:代理者向管理者通报重要的事件。

此外、协议中并不规定管理站与代理者的比例。

——————

  • 网络管理协议体系结构

SNMP为应用层协议、属TCP/IP协议族、通过UDP协议来进行通讯。
在UDP、IP以及有关的特殊网络协议(如Ethernet、FDDI、X.25)之上实现。

SNMP协议通信流程图

如图所示、所有动作都是单项的。
管理者发出三种请求(getreq、getnextreq、setreq)、代理者都会做出应答(get-res)。
代理者也可以主动发出Trap(event)消息、管理者也会做出应答(get-res)。

由于SNMP是基于UDP的应用层协议、所以其也是无连接的。管理者与代理者之间的每次数据交换、都是一次独立的传送。

————————

  • 陷阱引导轮询(Trap-directed polling)

管理者需要以轮询的方式、获取所有代理者所维护对象的数据
但在数量太大时无法保证及时的轮询所有代理者。
《陷阱引导轮询》则为此而生。

具体流程
  1. 初始化时、管理者轮询所有知道关键信息(如接口特性、性能等)的代理者。
  2. 一旦建立了基准、管理者将降低轮询频率。
    由每个代理者负责向代理站报告异常事件(崩溃、重启、过载等)。
  3. 发生异常、直接轮询代理者相邻代理者。
    以获取信息以及对异常进行诊断

陷阱引导轮询使网络上基本不传送管理者不需要的信息、代理者也不需要频繁的应答信息请求。

————————

  • 代管(Proxies)

由于某些原因(不支持TCP/IP、容量小不)使得一些设备不能装载SNMP。代管解决了这个问题
一个SNMP代理者、可以作为多个其他设备的代管人。

代管

需要注意的是即使不需要装载SNMP协议、被托管者也需要有自己的网管协议。不需要维护MIB、代理软件等复杂的工作、只需要具备接收和发送的功能即可。


SNMP管理信息

SNMP的基础是MIB数据库。每个被管理的资源由对象来表示、MIB是这些对象的有结构的集合。
在SNMP中、MIB实际上是一个树型结构数据库。
网络中的每个系统(工作站、服务器、路由器等)都有一个反应自己系统中被管理者状态的MIB。
管理者可以通过提取MIB的值来检测对应资源、也可以通过修改对象的值来控制对应资源。

  • MIB的结构(V2)

SNMP中所有的对象都被排列在一个树状结构中。处于叶子位置上的对象是实际被管对象。

MIB树状结构
  1. 对象标识符(Object Idfentifier)
    对象在MIB中唯一的标识。一旦设置便不能被删除(除非将对象设置为过时)
    上图中的mid就的标识符就是1.2.3.6.1.2.1
  2. ststem:系统总体信息
    硬件、厂商、操作系统、负责人信息、该节点的无理地点等等
  3. interface:系统到子网接口的信息
    实体物理结构一般信息、机器的配置、各接口的事件统计
  4. at(address translation):互联网到子网地址的映射
    由一个表构成、表中的每一行对应一个物理接口。提供网络地址向物理地址的映射。
  5. ip:系统中IP的实现和运行信息
    IP层流量、路由选择信息、性能和故障统计(丢包数、重组数等等)等等。
  6. icmp:系统中ICMP的实现和运行信息
    该节点实现ICMP的情况(有多少重定向、不可达等反馈)
  7. tcp:系统中TCP的实现和运行信息
    重传时间的最大最小值、链接失败的次数等等
  8. udp:系统中UDP的实现和运行信息
    发出数、接受数、当前UDP用户信息等等
  9. egp:系统中EGP的实现和运行信息
  10. snmp:系统中SNMP的实现和运行信息

你可能感兴趣的:(网络协议补完计划--SNMP协议)