网络管理PPT课件
14
开发基于SNMP的网络管理程序,和开发其他基于客户 机/服务器模式的网络应用程序没有本质的区别。如果程序不 准备处理陷阱信息,那么网络管理程序实际上就是一个普通 的客户端程序。开发主要包括以下内容:构造正确的PDU, 组成SNMP报文;对发送(接收)的SNMP报文进行BER编 码(解码);接收并处理陷阱信息。
3
无论使用什么管理平台,设计网络管理应用程 序都要首先确定以下内容:
确定被管理节点的网络地址(IP地址,IPX地址,DNS 主机名);
确定远程目标的端口号(UDP161,专用端口号大于 1024);
确定接收陷入的端口号(UDP162,专用端口号大于 1024);
4
确定团体名(通常为public,如果使用两个团 体名,则read-only团体名为public,read-write团体 名为private);
6
网络发现
网络发现通常包含两部分内容。首先是探测活动站点, 这可以通过向子网中的所有站点发送ICMP报文,把收到应 答的站点标记为活动站点;或者读取ARP缓冲区以及本地 路由器和管理主机的接口表,发现可连接的设备,然后有 选择的发送ICMP报文。其次是标识SNMP管理站点,这可 以通过向活动站点发送GetRequest报文,获取有关信息。
根据收集的信息可以建立网络发现数据库,视其复杂性 可用Text文件、Windows注册表或实际的数据库引擎(如 Microsoft ACCESS等)实现。最后还要建立网络拓扑映像, 把发现的各个子网拓扑结构用图形表示出来,也可用多个窗 口分别显示。
7
管理站轮询。
定期轮询活动站点,可以用ICMP报文检查站点活动状 态,或者利用SNMP收集管理信息。
列对象的情况相对复杂。虽然列对象可以有多个对象实 例,但运行期间,同一个表中列对象的实例数是相等的。由 MIB中表产生的SNMP变量数要根据实际情况而定。
表产生的SNMP变量可以看作一个多维动态数组,如表 中有n个列对象,就产生一个n维动态数组。
变量标识符就是列对象实例标识符。 SNMP变量对网络管理程序的开发十分重要,管理过程 的实质是程序对于SNMP变量的操作。
确定响应定时器等待时间间隔; 确定重复请求次数; 确定轮询时本功能
网络管理应用程序的基本功能是辅助管理员监 视网络,发现活动的网络设备,排除网络故障,具 体包括以下内容:
✓网络发现 ✓管理站轮询 ✓MIB编译器和数据库 ✓MIB浏览器 ✓MIB搜索器 ✓陷入信息记录
BER编码处理后的SNMP报文,使用UDP进行封装,并 设置服务器端(SNMP代理)IP地址和端口号161。接收到返 回的应答包后,再对SNMP报文进行解码处理。
15
SNMPv1的报文由SNMP版本号、共同体字符串和 一个附加的PDU结构组成。BER编码的对象是整个报文, 而不仅仅是PDU部分。UDP报文的数据部分,就是一个 经过BER编码处理的完整SNMP报文。图8-1所示是网络 管理程序发送的SNMP请求报文使用的UDP报文格式。
8
MIB编译器和数据库
MIB模块以ASN.1编写,以ASCⅡ文件存储,经编译后 转换成代理可利用的格式。MIB数据库是MIB模块的集合。 简单的应用可以不使用MIB数据库,这种情况下管理员发送 请求时要手工输入变量的OID、数据类型和数据值,同时要 记住常用的OID,解释需要的MIB模块。复杂的应用通过 MIB数据库把对象描述符变换成OID(数字形式的子标识 符),确定存储的数据类型和访问方式。
SNMP编程主要包括两大部分:网络管理程序 的开发和SNMP代理软件的开发。网络管理程序主 要运行在管理端,代理软件则运行在特定的网络被 管设备上。
13
1.SNMP编程内容 从客户机/服务器的角度分析,网络管理程
序和SNMP代理既是客户机,同时又充当服务器 的角色。作为服务器,网络管理程序监听UDP端 口162,接收SNMP代理发送的陷阱消息;SNMP 代理监听UDP端口161,接收网络管理程序发送 的各种查询请求。作为客户机,网络管理程序可 以随时向SNMP代理发送查询请求,而SNMP代 理则可以随时向网络管理程序发送陷阱信息。
9
MIB浏览器
该程序的功能是用搜索目录树的方法,定位和显示MIB 中的被管理对象的值,可以通过向某个MIB对象发送 GetNextRequest请求,接收和显示变量绑定表中的内容。
10
MIB搜索器
该程序是比较简单的浏览器,用于发现被管理对象的 MIB。在SNMP中没有标准的方法使得被管理节点公布其名 字、版本号、MIB模块的内容及其支持的对象。MIB搜索器 可以动态的发现各个站点中可以访问的对象,但只能检索存 储在变量中的MIB信息,其他MIB模块数据,如对象标识符、 访问模式等不能检索。因而MIB搜索器不能替代经过编译的 MIB模块。
第8章 网络管理开发
Page 1
本章将在前文详细分析典型网络管理系统功 能和使用的基础上,具体介绍Windows系统下网 络管理软件开发的流程和方法。
2
8.1 网络管理开发概述
通用的网络管理应用程序通常称做网络管理 平台,它提供一组通用的网络管理功能,也提供 实现专用管理程序的工具,支持基本的管理功能。
16
2.SNMP变量
SNMP变量是运行期间SNMP代理维护的被管理对象实 例。网络管理程序通过查询SNMP变量的值,获知被管理设 备的网络运行状态;通过设置SNMP变量值,达到远程配置 网络参数的目的。无论是查询还是设置操作,都离不开 SNMP变量。
17
SNMP代理中有些SNMP变量是由代理所实现的MIB所 决定的。MIB中的标量对象只有一个实例,因此一个标量对 象在代理中只产生一个SNMP变量。
11
陷入信息记录
管理应用接收到一个陷入报文后,可以在拓扑结构图上 显示一个图标,或弹出一个消息窗口,甚至发出声音告警。 同时把陷入数据及其时间和地址写入陷入记录文件。
12
8.1.2 SNMP编程任务
SNMP是网络管理程序和SNMP代理之间的通 信协议,主要用来管理网络设备,到目前为止几乎 所有的网络产品都要为其提供支持,以方便管理员 的管理和软件开发人员的开发。