今天上午主要理解SNMP网络管理协议的基本内容以及掌握常用网络管理软件的使用方法(Solar Winds)
一理解SNMP网络管理协议的基本内容
基于 TCP/IP 的网络管理包括两部分:网络管理站 (manager) 和被管理的网络单元(被管设备)。这些被管设备的共同点就是都运行 TCP/IP 协议。管理进程和代理进程之间的通信有两种方式,一种是管理进程向代理进程发出请求,询问参数值,另一种方式是代理进程主动向管理进程报告某些重要的事件。
基于 TCP/IP 的网络管理包含 3 个组成部分:
( 1 ) 一个管理信息库( MIB )。管理信息库包含所有代理进程的所有可被查询和修改的参数。
( 2 ) 关于 MIB 的公用结构和表示符号,叫做管理信息结构 SMI 。例如: SMI 定义计数器是一个非负整数,它的计数范围是 0-4294967295 ,当达到最大值后,又从 0 开始。
( 3 ) 管理进程和代理进程之间的通信协议,叫做简单网络管理协议 SNMP 。 SNMP 包括数据交换的格式等,主要采用 UDP 协议。
1 、协议: SNMP 定义了 5 种报文:
( 1 ) get-request 操作:从代理进程处提取一个或多个参数值。
( 2 ) get-next-request 操作:从代理进程处提取一个或多个参数的下一个参数值。
( 3 ) set-request 操作:设置代理进程的一个或多个参数值。
( 4 ) get-response 操作:由代理进程发出的一个或多个参数值。它是 3 种的响应操作。
( 5 ) trap 操作:代理进程主动发出的报文,通知管理进程由事情发生。
前面 3 个操作是由管理进程向代理进程发出的,后两个是代理进程发给管理进程的。
说明: ◆ 前 4 种操作是简单的请求-应答方式,由于采用 UDP 协议,因此一定要有超时和重传机制。
◆ 管理进程采用 UDP 的 161 端口,代理进程使用 UDP 的 162 端口,因此一个系统可以同时为管理进程和代理进程。
◆ 下面是 UDP 数据报 5 种操作的 SNMP 报文:
IP 首部 |
UDP 首部 |
版本 0 |
共同体 |
PDU 类型( 0 - 3 ) |
请求标识 |
差错状态( 0 - 5 ) |
差错索引 |
名称 |
值 |
名称 |
值 |
... |
PDU 类型 4 |
企业 |
代理地址 |
Trap 类型( 0 - 6 ) |
特定代码 |
时间戳 |
名称 |
值 |
... |
(1) SNMP 报文的长度取决域变量的类型和值。
(2) 版本字段为 0 ,表示为 SNMP V1 。
(3) PDU 为协议数据单元,即分组。
PDU 类型 |
名称 |
0 |
Get-request |
1 |
Get-next-request |
2 |
Get-response |
3 |
Set-request |
4 |
Trap |
(4) 共同体为一个字符串,这是管理进程和代理进程之间的口令,是明文格式,默认为 public 。
(5) 对于 get 、 get-next 和 set 操作,请求标识由管理进程设置,然后由代理进程在 get-response 中返回。这个字段的作用是使客户进程(目前是管理进程)能够将服务器进程(即代理进程)发出的响应和客户进程发出的查询进行匹配。这个字段允许管理进程对一个或多个代理进程发出多个请求,并且从返回的应答中分类。
(6) 差错状态字段是一个整数,由代理进程设置,指明有错误发生。
差错状态 |
名称 |
描述 |
0 |
NoError |
没有错误 |
1 |
TooBig |
代理进程无法把响应放在一个 SNMP 消息中发送 |
2 |
NoSuchName |
操作一个不存在的变量 |
3 |
BadValue |
Set 操作的值或语法有错误 |
4 |
ReadOnly |
管理进程试图改变一个只读变量 |
5 |
genErr |
其他错误 |
(7) 在 get 、 get-next 和 set 的请求数据报中,包含变量名称和变量值的表,对于 get 和 get-next 操作,变量值部分被忽略。
2 、 管理信息结构 SMI
(1) INTEGER :有些整形变量没有范围限制,有些整形变量定义为特殊的数值。
(2) OCTER STRING : 0 或多个 8 位字节,每个字节值在 0 - 255 之间。
(3) DisplayString : 0 或多个 8 位字节,每个字节必须是 ASCII 码,所有该类型的变量不能超过 255 个字符。
(4) OBJECT IDENTIFIER :
(5) NULL :相关变量还没有值。
(6) IPAddress : 4 字节的 OCTER STRING ,以网络序表示的 IP 地址,每个字节代表 IP 地址的一个字段。
(7) PhyAddress : OCTER STRING 类型,代表物理地址。
(8) Counter :非负整数,范围为 0 - 4294976295 ,达到最大后从 0 开始。
(9) Gauge :非负整数,范围为 0 - 4294976295 ,或增或减,达到最大值后锁定,直到复位。
(10) TimeTicks :时间计数器,以 0.01 秒递增,但是不同的变量可以有不同的递增幅度,所以定义该类变量时必须指定递增幅度。
(11) SEQUENCE :类似于结构,包括 0 个或多个元素。
(12) SEQUENCE OF :向量,其所有元素具有相同的类型。
3 、 对象标识符
对象标识是一种数据类型,它指明一种授权命名的对象。对象标识是一个整数序列,以点分隔。这些整数构成一个树型结构,类似于 DNS 和文件系统。对象标识从顶部开始,顶部没有标识,以 root 表示。所有的 MIB 变量都从 1.3.6.1.2.1 这个标识开始。树上的每个节点还有文字名,例如 1.3.6.1.2.1 就和 iso.org.dod.internet.memt.mib 对应。
4 、 管理信息库 MIB
管理信息库就是所有代理进程包含的,并且能够被管理进程进行查询和设置的信息的集合。 UDP 组中包含几个变量和一个表格。变量为: udpInDatagram(1) 、 udpNoPorts(2) 、 udpInErrors(3) 、 udpOutDatagram(4) ,表格为 udpTable(5) 。
名称 |
数据类型 |
R/W |
描述 |
udpInDatagram |
Counter |
R |
UDP 数据报输入数 |
udpNoPorts |
Counter |
R |
没有发送到有效端口的 UDP 数据报个数 |
udpInErrors |
Counter |
R |
接收到的有错误的 UDP 数据报个数 |
udpOutDatagram |
Counter |
R |
UDP 数据报输出数 |
在 udpTable 中有 2 个变量:
UDP 监听表,索引= <udpLocalAddress>.<udpLocalPort> |
|||
名称 |
数据类型 |
R/W |
描述 |
udpLocalAddress |
IpAddress |
R |
监听进程的本地 IP 地址, 0.0.0.0 代表接收任何接口的数据报 |
udpLocalPort |
[0..65535] |
R |
监听进程的本地端口号 |
5 、 实例标识
对 MIB 变量进行操作,必须对 MIB 的每个变量进行标识。只有叶子节点是可操作的 SNMP 没法处理表格的一整行或一整列。
( 1 ) 简单变量:
对于简单变量的处理是通过在其对象标识后面添加 ".0" 处理。例如对象标识是 1.3.6.1.2.1.7.1 ,则实例标识是 1.3.6.1.2.1.7.1.0 。
( 2 ) 表格
每个 MIB 中的索引都包含一个以上的索引。对于 UDP 监听表来说, MIB 定义了包含两个变量的联合索引。假定 UDP 监听表中有 3 行具体成员:
0 . 0 . 0 . 0 67
0 . 0 . 0 . 0 161
0 . 0 . 0 . 0 520
这表明系统将从端口 67 、 161 和 520 接收来自任何接口的 UDP 数据报。这三行数据处理后为:
行 |
对象标识 |
简称 |
值 |
1 |
1.3.6.1.2.1.7.5.1.1.0.0.0.0.67 |
UdpLocalAddress.0.0.0.0.67 |
0.0.0.0 |
2 |
1.3.6.1.2.1.7.5.1.1.0.0.0.0. 161 |
UdpLocalAddress.0.0.0.0. 161 |
0.0.0.0 |
3 |
1.3.6.1.2.1.7.5.1.1.0.0.0.0. 520 |
UdpLocalAddress.0.0.0.0. 520 |
0.0.0.0 |
( 3 ) 字典式排序
MIB 中按照对象标识进行排序有一个隐含规则, MIB 表格是根据其对象标识按照字典的顺序进行排序的。上面表格排序后如下所示:
行 |
对象标识 |
简称 |
值 |
1 |
1.3.6.1.2.1.7.5.1.1.0.0.0.0.67 |
UdpLocalAddress.0.0.0.0.67 |
0.0.0.0 |
2 |
1.3.6.1.2.1.7.5.1.2.0.0.0.0. 67 |
UdpLocalPort.0.0.0. 67 |
67 |
在表格中,一个给定变量的所有实例都在下个变量的所有实例之前显示。这意味表格的操作顺序是先行后列的。
表格中对行的排序和表格中索引的值有关。
6 、 管理信息库 MIB ( 2 )
( 1 ) system 组:
system 组包含 7 个变量,没有表格,分别是: sysDescr 、 sysObjectID 、 sysUpTime 、 sysContact 、 sysName 、 sysLocation 、 sysServices 。
( 2 ) interface 组
interface 组只定义了一个简单变量,是系统的接口数量。该组还有一个表格变量,有 22 列。
( 3 ) at 组
at 组是地址转换组,在该组中仅有一个由 3 列组成的表格变量。
( 4 ) ip 组
ip 组定义了很多简单变量和 3 个表格变量(地址表、路由表、地址转换表)。
( 5 ) icmp 组
icmp 组包含 4 个普通计数器变量( ICMP 报文的输出和输入数量以及 ICMP 差错报文的输入和输出数量)和 22 个其他 ICMP 报文数量的计数器, 11 个输出计数器, 11 个输入计数器。
( 6 ) tcp 组
tcp 组包含 14 个简单变量,主要为 TCP 状态。还包含 1 个表格变量,即 TCP 连接表。
7 、 Trap :
一共有 6 中 trap PDU 的格式,第 7 中类型是供应商自己定义的特殊类型。
二 掌握常用网络管理软件的使用方法(Solar Winds)
SolarWindsOrion 能提高网络中关键应用的可靠性,在网络与服务器出现故障时及时排查问题,并告知网络主管可能带来的其它影响。
SolarWinds网络监控系统是一套十分成熟的网络监控系统。使用SolarWinds监控您的网络,可以及时发现网络中的异常情况,集中化的管理架构可以方便的快捷的辅助网络管理员完成故障的排查和解决,进而保证网络的正常运行。同时,SolarWinds网络监控系统还可以监控网络端到端链路的状态,当网络中任一链路发生问题的时候也可以根据预设的阈值进行报警。SolarWinds网络监控解决方案保障了网络的安全稳定运行。
SolarWinds Engineer’s Edition 工程师版 包括以下工具:
1. 网络性能监控(Network Performance Monitoring):带宽测量(Bandwidth Gauges )、路由CPU负荷(Router CPU Load)、带宽监控(Bandwidth Monitor)、CPU测量(CPU Gauge)、网络性能监控器(Network Performance Monitor)、SNMP图象和高级CPU上传(Advanced CPU Load )。
2. 网络发现(Network Discovery):子网列表(Subnet List)、Ping Sweep、和IP网络浏览器(IP Network Browser)、DNS核查(DNS Audit)、IP地址管理(IP Address Management)、MAC地址发现(MAC Address Discovery)、SNMP Sweep、网络定位(Network Sonar)。
3. 用于Cisco网络的工具:IP网络浏览器(IP Network Browser)、路由CPU负荷(Router CPU Load)、配置下载(Config Downloader)、配置上传(Config Uploader)、配置编辑器/浏览器(Config Editor/Viewer)、Proxy Ping、对比运行VS启动配置(Compare Running vs. Startup Configs.)、路由器密码加密术(Router Password Decryption)、CPU测量(CPU Gauge)、路由器安全检查(Router Security Check)和高级CPU上传(Advanced CPU Load )。
4. 网络监控(Network Monitoring):Watch It!、网络监控器(Network Monitor)、Syslog 服务器、路由CPU负荷(Router CPU Load)、高级ping和网络性能监控器(Network Performance Monitor)。
5. IP地址管理(IP Address Management ):先进的子网计算器(Advanced Subnet Calculator)、DNS / Who Is Resolver、DHCP Scope Monitor、DNS核查(DNS Audit)、IP地址管理(IP Address Management)、Ping Sweep。
6. 安全性(Security):路由安全性检查(Router Security Check)、TCP Reset、字典编辑器(Dictionary Editor)、SNMP Brute Force 攻击、SNMP词典攻击(Dictionary Attack)、路由器密码加密术(Router Password Decryption)。
7. Ping & Diagnostic :ping、高级ping、Trace Route、Proxy Ping、Ping Sweep。
8. MIB浏览器:MIB Walk、更新系统MIBs(Update System MIBs)、MIB浏览器(MIB Viewer )、MIB浏览器和SNMP图象。
9. 其它:TFTP服务器、WAN Killer、Wake-On-Line。