目录
- 前言
- 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的网络管理模型包括以下关键元素:管理站、代理者、管理信息库、网络管理协议。
管理站
通常是一个
独立的设备
、也可以利用共享技术实现。作为网络管理员
与网络管理系统的接口
。
基本构成为:
- 一组具有分析数据、发现故障等功能的
管理程序
。 - 一个用于网络
管理员监控
网络的接口
。 - 将网络管理员的要求转变为对远程网络元素实际监控的能力。
- 一个从所有被管网络实体的MIB(信息库)中抽取信息的数据库。
代理者
装备了SNMP的平台。如主机、网桥、路由器及集线器均可作为代理者工作。与网络管理员通过SNMP协议进行交互。
负责接收和处理来自网关的各种报文、并随机的为网络管路员报告一些意外事件。
MIB
网络管理中的
资源(中的某些数据变量)是以对象作为表示的
、称为被管理的对象
。
MIB就是这个对象的集合
、由代理者进行维护
、负责对库中对象的读取、设置
。
管理者通过读取这些对象的值来进行网络监控、也可以在代理处产生动作、还可以主动修改变量的值来改变配置。
网络管理协议(SNMP协议)
管理者和代理者之间的通讯协议
主要包括以下能力:
- GET:管理者读取代理者处对象的值。
- SET:管理者设置代理者处对象的值。
- Trap:代理者向管理者通报重要的事件。
此外、协议中并不规定管理站与代理者的比例。
——————
-
网络管理协议体系结构
SNMP为应用层协议、属TCP/IP协议族、通过UDP协议来进行通讯。
在UDP、IP以及有关的特殊网络协议(如Ethernet、FDDI、X.25)之上实现。
如图所示、所有动作都是单项的。
管理者发出三种请求(getreq、getnextreq、setreq)、代理者都会做出应答(get-res)。
代理者也可以主动发出Trap(event)消息、管理者也会做出应答(get-res)。
由于SNMP是基于UDP的应用层协议、所以其也是无连接的。管理者与代理者之间的每次数据交换、都是一次独立的传送。
————————
-
陷阱引导轮询(Trap-directed polling)
管理者
需要以轮询
的方式、获取
所有代理者所维护对象的数据
。
但在数量太大时无法保证及时的轮询所有代理者。
《陷阱引导轮询》则为此而生。
具体流程
- 初始化时、管理者轮询所有知道关键信息(如接口特性、性能等)的代理者。
- 一旦建立了基准、管理者将降低轮询频率。
由每个代理者负责向代理站报告异常事件(崩溃、重启、过载等)。 -
发生异常、直接轮询代理者相邻代理者。
以获取信息以及对异常进行诊断
陷阱引导轮询使网络上基本不传送管理者不需要的信息、代理者也不需要频繁的应答信息请求。
————————
-
代管(Proxies)
由于某些原因(不支持TCP/IP、容量小不)使得一些设备不能装载SNMP。代管解决了这个问题
一个SNMP代理者、可以作为多个其他设备的代管人。
需要注意的是即使不需要装载SNMP协议、被托管者也需要有自己的网管协议。不需要维护MIB、代理软件等复杂的工作、只需要具备接收和发送的功能即可。
SNMP管理信息
SNMP的基础是MIB数据库。每个被管理的资源由对象来表示、MIB是这些对象的有结构的集合。
在SNMP中、MIB实际上是一个树型结构数据库。
网络中的每个系统(工作站、服务器、路由器等)都有一个反应自己系统中被管理者状态的MIB。
管理者可以通过提取MIB的值来检测对应资源、也可以通过修改对象的值来控制对应资源。
-
MIB的结构(V2)
SNMP中所有的对象都被排列在一个树状结构中。处于叶子位置上的对象是实际被管对象。
- 对象标识符(Object Idfentifier)
对象在MIB中唯一的标识。一旦设置便不能被删除(除非将对象设置为过时)
上图中的mid就的标识符就是1.2.3.6.1.2.1
。 - ststem:系统总体信息
硬件、厂商、操作系统、负责人信息、该节点的无理地点等等 - interface:系统到子网接口的信息
实体物理结构一般信息、机器的配置、各接口的事件统计 - at(address translation):互联网到子网地址的映射
由一个表构成、表中的每一行对应一个物理接口。提供网络地址向物理地址的映射。 - ip:系统中IP的实现和运行信息
IP层流量、路由选择信息、性能和故障统计(丢包数、重组数等等)等等。 - icmp:系统中ICMP的实现和运行信息
该节点实现ICMP的情况(有多少重定向、不可达等反馈) - tcp:系统中TCP的实现和运行信息
重传时间的最大最小值、链接失败的次数等等 - udp:系统中UDP的实现和运行信息
发出数、接受数、当前UDP用户信息等等 - egp:系统中EGP的实现和运行信息
- snmp:系统中SNMP的实现和运行信息