基于SNMP协议的网络管理系统(数据采集及分析).doc_第1页
基于SNMP协议的网络管理系统(数据采集及分析).doc_第2页
基于SNMP协议的网络管理系统(数据采集及分析).doc_第3页
基于SNMP协议的网络管理系统(数据采集及分析).doc_第4页
基于SNMP协议的网络管理系统(数据采集及分析).doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精选范本 摘要 近年来 随着网络技术的发展 计算机网络在我们的日常生活中的作用越 来越普遍 我们已经到了如此依赖计算机网络的地步 以至于网络的崩溃可能 意味着生意或日常生活的崩溃 因此保持良好的良好运行状态是至关重要的 这就是网络管理的由来 SNMP 是专门设计用在 IP 网络管理网络节点的一种标 准协议 它是一种应用层协议 SNMP 使网络管理员能够管理网络效能 发现 并解决网络问题以及规划网络增长 通过 SNMP 接收随机消息 及事件报告 网络管理系统就可获知网络出现了问题 本系统即是一个基于 SNMP 协议的网络管理系统 它通过获取各网络设备 的参数并存入数据库 从而帮助网络管理员实现对网络性能的管理 关键词 网络管理关键词 网络管理 SNMP 协议协议 网络设备网络设备 Abstract 精选范本 Along with the development of cross domain communication technology the effect in our day to day life of computer network was more and more universal in recent years We had arrived so relying on the condition of computer network to such an extent as to cross domain communication collapses probably to signify collapsing of business or day to day life Therefore the good running status that keeps good is essentional this is the origin of network management SNMP is one kind of standard agreement specially using at IP s network management network node and it is one kind of agreement to with application layer SNMP makes network managemers can manage cross domain communication efficacy and discovery and settlement cross domain communication question as well as the planning cross domain communication increases Receiving random news and incident report by way of SNMP the network management system can be learned that the cross domain communication had appeared the question Namely this system is baseding on the network management system of agreement to with SNMP s It exists side by side into the data base by way of the parameter to procure each cross domain communication equipment thus helps network managers realize the management to the network performance Keywords Keywords netnet managementmanagement SNMPSNMP protocolprotocol networknetwork devicesdevices 精选范本 第一章第一章 网络管理概论网络管理概论 1 11 1 网络管理的意义网络管理的意义 为了保证网络的正常运转 通常需要一个或多个被称为网络管理者的计算 机系统专家负责网络的安装 维护和故障检修等工作 对于网络管理者来说 有些网络问题是很容易解决的 而有些是相当复杂的 例如修理发生故障的设 备或是对由于灾难性的事件导致的严重后果进行修复 随着网络的进一步扩大 潜在问题的数目和严重程度会随之增加 网络管理者工作的范围和复杂程度也 在不断增长 为了完成任务 网络管理者需要有关计算机网络的大量信息以进 行有效的管理 为了帮助网络管理者完成这些工作 逐渐出现了网络管理的概 念 1 21 2 网络管理系统的概念网络管理系统的概念 网络管理系统是指规划 监督 控制网络资源的使用和网络的各种活动 以使网络的性能达到最优的系统 其目的在于提供对计算机网络进行规划 设 计 操作运行 管理 监视 分析 控制 评估和扩展的手段 从而合理地组 织和利用系统资源 提供安全 可靠 有效和友好的服务 网络管理是控制一个复杂的计算机网络使得它具有最高的效率和生产力的 过程 根据进行网络管理的系统的能力 这一过程通常包括数据采集 自动 地或通过管理者的手工劳动 数据处理 然后提交给管理者 并用在网络操作 中 它还可能包括数据分析并提供解决方案 甚至不需要打扰管理者而自动处 理一些情况 进一步它还可以产生对管理者管理网络有用的报告 网络管理对象一般包括路由器 交换机 HUB 等 近年来 网络管理对象 有扩大化的趋势 即把网络中几乎所有的实体 网络设备 应用程序 服务器 系统 辅助设备如 UPS 电源等都作为被管对象 给网络系统管理员提供一个全 面系统的网络视图 目前国际上较流行的网络管理系统有惠普 HP 公司的 open view IBM 公司的 Netview SUN 公司的 SunNet 以及近年来代表智能网络管 理方向的 Cabletron 公司的 SPECTRUM 1 31 3 网络管理的五个功能域网络管理的五个功能域 国际标准化组织 ISOISO 定义了网络管理的五个功能域 1 1 性能管理 性能管理可以检测网络中的软件 硬件和媒体的性能 主要包括三个方面 MIB 库管理 实时浏览 查询 设置网络代理的管理信息库 网络连接状况图形显示 直接操作图标进行性能管理 网络性能参数 包括 IP 数据报 传输差错率 流量特性等 动态图形显示 和分析 2 2 故障管理 精选范本 故障管理是对计算机网络中的问题和故障进行定位的过程 它包括五个步骤 在对网络性能进行统计分析的基础上 设置正常网络性能的门限值 实时监视 检测定位并报告错误和警告两种类别的网络故障情况 网络故障网络拓扑图的显示 记录和管理故障日志 提供辅助故障解决方案 给出专家建议 具有一定的智能性 3 3 配置管理 某些网络设备的配置决定着计算机网络的效率和性能 配置管理是发现和设 置 配置 这些关键网络设备的过程 主要包括 配置网络设备参数 包括对网络设备命名 分配 IP 地址 设置 MIB 变量 配置网络的缺省网关和整个网络的区域名功能 4 4 安全管理 一些连接在网络上的计算机的信息可能不想让所有的用户知道 这些信息称 为敏感信息 安全管理是控制对计算机网络中的信息的访问过程 安全管理内 容主要包括 用户帐号管理 非合法用户不能访问系统 用户权限管理 不同的用户设置不同的访问权限 5 5 计费管理 计费管理可以跟踪每个个人和团体用户对网络资源的使用情况 对其收取合 理的费用 这一方面可以维持网络的运行和发展 另一方面 管理者也可以根 据情况更好地为用户提供所需资源量 并促使用户合理地使用网络资源 计费流量控制 统计各端口 IP 输入输出报文数 输入输出字节数 计费情况日志浏览和管理 1 41 4 网络管理系统的结构网络管理系统的结构 关于如何建立有效的网络管理系统 目前有三种主要的方法 第一种是建 立一个管理整个网络的集中系统 第二种是建立一个分布在网络中的系统 第 三种方法是把前两种方法结合在一个层次型系统中 集中式结构由一个大系统去运行大部分所需应用程序 运行在管理系统中 的每个应用程序都将把信息存储在位于网络中心的同一个数据库中 在分布式系统中 几个对等网络管理系统同时运行在计算机网络中 而且 可以由不同的系统管理不同的网络设备 并不一定要求结构在地理上是分布的 但是尽管在这种方法中系统的处理是分布的 但通常需要一个中心数据库进行 信息存储 第三种可能的结构是将集中式和分布式的方法结合在一个层次型的系统中 集中方案中的中心主系统仍然存在于层次的根部 它用来收集所有的必要信息 并且允许来自网络各处的访问 然后 通过从分布式结构中建立对等系统 中 心系统授权网络管理子系统作为代表 这些子系统完成层次中子节点的功能 这种方法为构造一个网络管理系统结构提供了许多灵活选择 精选范本 第二章第二章 关键技术关键技术论述论述 2 12 1 SNMPSNMP 协议协议 2 1 12 1 1 SNMPSNMP 协议概述协议概述 SNMP 是专门设计用在 IP 网络管理网络节点 服务器 工作站 路由器 交换机及 HUB 等 上的一种标准协议 它是一种应用层协议 SNMP 使网络管 理员能够管理网络效能 发现并解决网络问题以及规划网络增长 通过 SNMP 接收随机消息 及事件报告 网络管理系统即可获知网络出现了问题 使用 SNMP 进行网络管理需要下面几个重要部分 管理基站 管理代理 管 理信息库和网络管理协议 管理基站通常是一个独立的设备 它用作网络管理 者进行网络管理的用户接口 基站上必须装备有管理软件 管理员可以使用的 用户接口和从 MIB 取得信息的数据库 同时为了进行网络管理 它应该具备将 管理命令发出基站的能力 管理代理是另一种网络设备 如主机 网桥 路由器和集线器等 这些设 备都必须能够接收管理基站发来的信息 它们的状态也必须可以由管理基站监 视 管理代理响应基站的请求进行相应的操作 也可以在没有请求的情况下向 基站发送信息 MIB 是对象的集合 它代表网络中可以管理的资源和设备 每个对象基本 上是一个数据变量 它代表被管理对象的一方面的信息 最后一个方面是管理协议 也就是 SNMP SNMP 的基本功能是 Set Get 和 Trap Set 它是一个特权命令 因为可以通过它来改动设备的配置或控制 设备的运行状态 Get 它是 SNMP 协议中使用率最高的一个命令 因为该命令 是从网络设备中获得管理信息的基本方式 Trap 它的功能就是在网络管理系 统没有明确要求的前提下 由管理代理通知网络管理系统有一些特别的情况或 问题发生了 SNMP 框架的核心是简单网络管理协议本身 协议提供了在管理者和代理之 间交换管理信息的一个直接的基本的方法 交换的基本单元是消息 它是由一 个外部的消息封装和一个内部的协议数据单元 PDU 组成 SNMP 的标准 MIB RFC1213 包含了丰富的对于管理数据网络非常有用的信息 当前可以从 许多网络设备中获取其中的任何一个 SNMP 被设计为在无连接的用户数据报协 议上运行 UDP 使用无连接的服务 因此 SNMP 不需要依靠在代理和管理站之 间保持连接来传输消息 但是 SNMP 能够实现在不同的传输层协议上运行 目前 SNMP 有 3 种 SNMPV1 SNMPV2 SNMPV3 第 1 版和第 2 版没有太大 差距 但 SNMPV2 是增强版本 包含了其它协议操作 与前两种相比 SNMPV3 则包 含更多安全和远程配置 为了解决不同 SNMP 版本间的不兼容问题 RFC3584 种定义 了三者共存策略 精选范本 2 1 22 1 2 SNMPSNMP 信息分类信息分类 表 2 1 SNMP 信息分类表 编码类 组 别内容描述 1系统类网络元素的名称 厂商 硬件类型 软件版本 启停 时间等 2接口类网络元素的接口数目 带宽 流量等 3地址迁移类物理地址和网络地址 如 IP 地址 对应关系等 4IP 信息类进 出 丢弃 IP 数据报的统计 IP 地址及掩码 路由 信息等 5ICMP 统计类ICMP 报文的统计信息 含出错分类统计 6TCP 信息类TCP 连接数 收发 TCP 报文统计 超时重发算法及次 数统计等 7UDP 信息类收发的 UDP 报文统计 8EGP 信息类支持外部网关协议 EGP 的路由器的流量统计信息 9待扩充 10待扩充 11SNMP 信息类SNMP 报文统计信息 2 1 32 1 3 SNMPSNMP 协议的协议数据单元协议的协议数据单元 SNMPv1 有 个基本协议数据单元 get request set request get next request get reponse trap SNMPv2 增加了两个 get bulk request inform request SNMPv3 主要是在安全上进行了加强 get request 操作 从代理进程处提取一个或多个参数值 get next request 操作 从代理进程处提取紧跟当前参数值的下一个参数值 get request 和 get next request 结合起来使用可以获得一个表中的对象 set request 作置代理进程的一个或多个参数值 get response 操作 返回的一个 或多个参数值 这个操作是由代理进程发出的 它是前面三种操作的响应操作 trap 操作 代理进程主动发出的报文 通知管理进程有某些事情发生 前面的 3 种操作是由管理进程向代理进程发出的 后面的两个操作是代理进程发给管 理进程的 图 2 1 描述了 SNMP 的这 5 种报文操作 请注意 在代理进程端是用 熟知端口 161 接收 get 或 set 报文 而在管理进程端是用熟知端口 162 来接收 trap 报文 精选范本 图 2 1 SNMP 的 5 种报文操作 图 2 2 是封装成 UDP 数据报的 5 种操作的 SNMP 报文格式 可见一个 SNMP 报文共有三个部分组成 即公共 SNMP 首部 get set 首部 trap 首部 变量绑 定 图 2 2 SNMP 报文格式 1 公共 SNMP 首部共三个字段 精选范本 a 版本 写入版本字段的是版本号减 1 对于 SNMP 即 SNMPV1 则应写入 0 b 共同体 community 共同体就是一个字符串 作为管理进程和代理进程之间的明文口令 常用的 是 6 个字符 public c PDU 类型 根据 PDU 的类型 填入 0 4 中的一个数字 其对应关系如表 2 2 所示意图 表 2 2 PDU 类型 PDU 类型名称 0get request 1get next request 2get response 3set request 4trap 2 get set 首部 a 请求标识符 request ID 这是由管理进程设置的一个整数值 代理进程在发送 get response 报文时 也要返回此请求标识符 管理进程可同时向许多代理发出 get 报文 这些报文 都使用 UDP 传送 先发送的有可能后到达 设置了请求标识符可使管理进程能 够识别返回的响应报文对于哪一个请求报文 b 差错状态 error status 由代理进程回答时填入 0 5 中的一个数字 见表 2 3 的描述 c 差错索引 error index 当出现 noSuchName badValue 或 readOnly 的差错时 由代理进程在回答时 设置的一个整数 它指明有差错的变量在变量列表中的偏移 表 2 3 差错状态描述 差错状 态 名字说明 0noError 一切正常 1tooBig 代理无法将回答装入到一个 SNMP 报文之中 2noSuchName 操作指明了一个不存在的变量 3badValue 一个 set 操作指明了一个无效值 或无效语法 4readOnly 管理进程试图修改一个只读变量 5genErr 某些其他的差错 精选范本 3 trap 首部 企业 enterprise 填入 trap 报文的网络设备的对象标识符 此对象标识 符肯定是在表 2 4 的对象命名树上的 enterprise 结点 1 3 6 1 4 1 下面的一 棵子树上 trap 类型 此字段正式的名称是 generic trap 共分为表 4 中的 7 种 表 2 4 trap 首部类型 4 变量绑定 variable bindings 指明一个或多个变量的名和对应的值 在 get request 或 get next request 报文中 变量的值应忽略 2 22 2 MIBMIB 和对象和对象 管理信息库 MIB Management Information Base 是对通过网络管理协议 可以访问信息的精确定义 在 RFC1052 中 IAB 建议优先定义一个用于 SNMP 和 CMS CMIP 的扩展 MIB MIB 使用一个层次型 结构化的形式 定义了一个设备 可获得的网络管理信息 每个设备为了和标准的网络管理协议一致 必需使用 MIB 中定义的格式显示信息 MIB 包括了所有对象列表 这些对象均与指示对象 类型的 OBJECT IDENTIFIER 相关 MIB 的结构是树形结构 有两种方式可以访 问 MIB 中对象的值 一种是快速访问 另一种慢速访问 快速访问时只用输入 一些数据 慢速访问时要加上其它信息 trap 类型名 字说 明 0coldStart 代理进行了初始化 1warmStart 代理进行了重新初始化 2linkDown 一个接口从工作状态变为故障状态 3linkUp 一个接口从故障状态变为工作状态 4authenticationF ailure 从 SNMP 管理进程接收到具有一个无效共 同体的报文 5egpNeighborLoss 一个 EGP 相邻路由器变为故障状态 6enterpriseSpeci fic 代理自定义的事件 需要用后面的 特定 代码 来指明 Sysobjectid 1 Mib 1 System 1If 2 Ifentry 1 Sysuptime 3 Ifnumber 1Sysdescr 2Attable 1 At 3 iftable 2 Atentry 1 精选范本 图 2 3 MIB 树结构 表 2 5 MIB II 中的对象 值名对象名对象标识符 OID对象描述 SysDeser 1 3 6 1 2 1 1 1 系统的描述 SysUptime 1 3 6 1 2 1 1 3 系统自上次启动 运行了多长时间 System 组 SysName 1 3 6 1 2 1 1 5 系统的名字 Ifnumber 1 3 6 1 2 1 2 1 端口数量 IfIndex 1 3 6 1 2 1 2 1 1 端口的序号 IfDescr 1 3 6 1 2 1 2 1 2 端口的名字 IfSpeed 1 3 6 1 2 1 2 1 5 端口的带宽 IfInOctets 1 3 6 1 2 1 2 1 10 端口接收到的字 节数 IfInDiscards 1 3 6 1 2 1 2 1 13 端口丢弃的输入 包数 IfInErrors 1 3 6 1 2 1 2 1 14 包含错误的输入 包数 IfOutOctets 1 3 6 1 2 1 2 1 16 端口发送的字节 数 IfOutDiscards 1 3 6 1 2 1 2 1 19 端口丢弃的输出 包数 IfOutErrors 1 3 6 1 2 1 2 1 20 包含错误的输出 包数 IfperStatus 1 3 6 1 2 1 2 1 8 端口的运行状态 IfAdminStatus 1 3 6 1 2 1 2 1 7 端口的管理状态 IfInUcastPkts 1 3 6 1 2 1 2 1 11 端口输入的单播 包数 IfInNUcastPkts 1 3 6 1 2 1 2 1 12 端口输入的非单 播包数 IfOutUcastPkts 1 3 6 1 2 1 2 1 17 端口输出的单播 包数 Interfaces 组 IfOutNUcastPkts 1 3 6 1 2 1 2 1 18 端口输出的非单 播包数 IpAdEntAddr 1 3 6 1 2 1 4 20 1 1 IpAddrEntry 的 IP 地址 IP 组 IpAdEntIfIndex 1 3 6 1 2 1 4 20 1 2 IpAddrEntry 的对 应端口号 SNMP MIB 对象的定义是十分严格的 定义指定了对象的数据类型 允许的 形式 取值范围和与其它 MIB 对象的关系 ASN 1 Abstract Syntax Notation One 抽象语法定义 定义方法用来定义每个对象 同时也定义整个 MIB 结构 精选范本 MIB 有两种不同对象数据结构 通用类型的专用类型 通用类型指的是整 数 字符串 空值 对象标识 序列和序列号 专用类型是指网络地址 IP 地 址 记数器 标准等 若要定义对象自身 必须使用 ASN 1 下面是一个基本的定义结构 DEFINITIONS BEGIN EXPORTS IMPORTS AssignmentList End 2 32 3 网络管理编程网络管理编程平台平台 目前市场上有很多网络管理编程平台 其中有代表性的是 AdventNet 公司的 AdventNet AdventNet SNMP API SUN 公司的 JMAPI 2 3 1 AdventNet SNMP API AdventNet SNMP API 是一个综合性的开发环境 包含了 Java SNMP 链接库 以及用来建立 SNMP 管理应用程序的协议堆栈 它的 API 支持三个版本的 SNMP 包括 SNMPv1 SNMPv2c 以及 SNMPv3 用最好的软件设计模式和 最佳化的表现来完成建制 透过强力的程序组保护 API 建立跨平台 及时监 控以及追踪网络的环境 AdventNet SNMP API 的多个 Java 包 1 High Level API High Level API 既可以用在用户代码中 也可用在可视 化 Java Builders 中的 Java Beans 组件 High Level API 由 Beans 和 GUI Java 包组成 建立 SNMP 应用程序和 Applets 使用 AdventNet SNMP Beans 包 建立网络管理应用是最简单的方法 2 Low Level API Low Level API 由实现 SNMP 通讯和符合 RFC 规范 SNMP 变 量的 Java 类组成 Snmp2 Java 包组成了 Low Level API Low Level API 是其 他 API 建立的基础 在应用程序需要涉及 SNMP 详细情况和对代码长度有限制的 应用时 推荐使用这个底层的 API 3 MIB Support API 在这个包里可用到的类提供了所有 MIB 操作支持 像 MIB 装载 卸载等等 Mib Java 包组成的 MIB 支持 API 4 SAS API SNMP Applet Server SAS 包提供了实现网络管理 Applet 与那些 因为 Applet 安全策略而被禁止直接通讯的被管设备的通信 SAS 包由 SAS API 组成 Applets 通过 SAS 用 TCP IP 协议 或者 HTTP 协议和设备通信 当我们 在防火墙限制下访问被管理设备时 HTTP 访问是相当有用的 2 3 22 3 2 JMAPIJMAPI 这是 SUN 公司为网络管理开发提供的一组编程接口 它提供了用户使用支 持 JAVA 的 WEB 浏览器执行管理任务的编程接口 JMAPI 提供了用户界面指导 精选范本 JAVA 类和开发集成系统 网络及网络管理应用的规范 使用 JMAPI 开发者可 以创建一致的应用系统 而同时可以减少学习时间 降低开发周期 JMAPI 的 组成包括 1 AdminView module AVM 它提供了一组 UI 模块 用来构造复杂的用户界面 2 Remote Method Invocation RMI 它是一个用于跨越机器界限通信的系统 在 JAVA 环境下运行 它使得 JMAPI 框架中的安全 分布式管理操作成为可能 3 Adimn Runtime Module ARM 为应用提供被管对象实例化的机制 4 Managed Object Compiler MOCO 该类帮助开发者使得开发过程合理化 5 Java relational Binding JRB 实现 Java 数据库连接 JDBC 允许 Java 对象存储在关系型数据库如 SQL Server 或 Oracle 中 2 42 4 C SC S 体系体系 客户机和服务器都是独立的计算机 当一台连入网络的计算机向其他计算 机提供各种网络服务 如数据 文件的共享等 时 它就被叫做服务器 而那些 用于访问服务器资源的计算机则被叫做客户机 严格说来 客户机 服务器模 型并不是从物理分布的角度来定义 它所体现的是一种网络数据访问的实现方 式 客户机 服务器系统有三个主要部件 数据库服务器 客户应用程序和网络 服务器负责有效地管理系统的资源 其任务集中于 数据库安全性的要求 数据库访问并发性的控制 数据库前端的客户应用程序的全局数据完整性规则 数据库的备份与恢复 客户端应用程序的的主要任务是 提供用户与数据库交互的界面 向数据库服务器提交用户请求并接收来自数据库服务器的信息 利用客户应用程序对存在于客户端的数据执行应用逻辑要求 网络通信软件的主要作用是 完成数据库服务器和客户应用程序之间的数 据传输 精选范本 第三章第三章 系统及开发工具系统及开发工具 3 13 1 硬件环境和软件平台硬件环境和软件平台 开发本系统的硬件环境如下 PIII667 处理器 256MB 内存 40G 硬盘 开发本系统的软件环境如下 Windows 2000 SQL Server2000 J2SDK1 4 2 07 AdventNet SNMP API 包 3 23 2 JavaJava 语言语言 Java 是由 Sun Microsystems 公司开发的一种新的面向对象的语言 可以 运行在各种操作系统中 它是一种网络编程语言 能最大限度地利用网络资源 Java 具有支持动画 增强用户交互 支持声音 可传送动态数据等功能 3 2 13 2 1 JavaJava 语言的特点语言的特点 Java 语言有下面一些特点 简单 面向对象 分布式 解释执行 鲁棒 安全 体系结构中立 可移植 高性能 多线程以及动态性 1 简单性 Java 语言是一种面向对象的语言 它通过提供最基本的方法来完成指定的 任务 只需理解一些基本的概念 就可以用它编写出适合于各种情况的应用程 序 Java 略去了运算符重载 多重继承等模糊的概念 并且通过实现自动垃 圾收集大大简化了程序设计者的内存管理工作 另外 Java 也适合于在小型机 上运行 它的基本解释器及类的支持只有 40KB 左右 加上标准类库和线程的 支持也只有 215KB 左右 库和线程的支持也只有 215KB 左右 2 面向对象 Java 语言的设计集中于对象及其接口 它提供了简单的类机制以及动态的 接口模型 对象中封装了它的状态变量以及相应的方法 实现了模块化和信息 隐藏 而类则提供了一类对象的原型 并且通过继承机制 子类可以使用父类 所提供的方法 实现了代码的复用 3 分布性 Java 是面向网络的语言 通过它提供的类库可以处理 TCP IP 协议 用户 可以通过 URL 地址在网络上很方便地访问其它对象 4 鲁棒性 精选范本 Java 在编译和运行程序时 都要对可能出现的问题进行检查 以消除错误 的产生 它提供自动垃圾收集来进行内存管理 防止程序员在管理内存时容易 产生的错误 通过集成的面向对象的例外处理机制 在编译时 Java 提示出可 能出现但未被处理的例外 帮助程序员正确地进行选择以防止系统的崩溃 另 外 Java 在编译时还可捕获类型声明中的许多常见错误 防止动态运行时不匹 配问题的出现 5 安全性 用于网络 分布环境下的 Java 必须要防止病毒的入侵 Java 不支持指针 一 切对内存的访问都必须通过对象的实例变量来实现 这样就防止程序员使用 特 洛伊 木马等欺骗手段访问对象的私有成员 同时也避免了指针操作中容易产 生的错误 6 体系结构中立 Java 解释器生成与体系结构无关的字节码指令 只要安装了 Java 运行时 系统 Java 程序就可在任意的处理器上运行 这些字节码指令对应于 Java 虚 拟机中的表示 Java 解释器得到字节码后 对它进行转换 使之能够在不同的 平台运行 7 可移植性 与平台无关的特性使 Java 程序可以方便地被移植到网络上的不同机器 同时 Java 的类库中也实现了与不同平台的接口 使这些类库可以移植 另外 Java 编译器是由 Java 语言实现的 Java 运行时系统由标准 C 实现 这使得 Java 系统本身也具有可移植性 8 解释执行 Java 解释器直接对 Java 字节码进行解释执行 字节码本身携带了许多编 译时信息 使得连接过程更加简单 9 高性能 和其它解释执行的语言如 BASIC TCL 不同 Java 字节码的设计使之能很 容易地直接转换成对应于特定 CPU 的机器码 从而得到较高的性能 10 多线程 多线程机制使应用程序能够并行执行 而且同步机制保证了对共享数据的 正确操作 通过使用多线程 程序设计者可以分别用不同的线程完成特定的行 为 而不需要采用全局的事件循环机制 这样就很容易地实现网络上的实时交 互行为 11 动态性 Java 的设计使它适合于一个不断发展的环境 在类库中可以自由地加入新 的方法和实例变量而不会影响用户程序的执行 并且 Java 通过接口来支持多 重继承 使之比严格的类继承具有更灵活的方式和扩展性 3 2 23 2 2 JavaJava AppletApplet Java 语言的特性使它可以最大限度地利用网络 Applet 是 Java 的小应 用程序 它是动态 安全 跨平台的网络应用程序 Java Applet 嵌入 HTML 语言 通过主页发布到 Internet 网络用户访问服务器的 Applet 时 这些 Applet 从网络上进行传输 然后在支持 Java 的浏览器中运行 由于 Java 语 言的安全机制 用户一旦载入 Applet 就可以放心地来生成多媒体的用户界面 精选范本 或完成复杂的计算而不必担心病毒的入侵 虽然 Applet 可以和图像 声音 动画等一样从网络上下载 但它并不同于这些多媒体的文件格式 它可以接收 用户的输入 动态地进行改变 而不仅仅是动画的显示和声音的播放 3 2 33 2 3 丰富的类库丰富的类库 Java 提供了大量的类以满足网络化 多线程 面向对象系统的需要 1 语言包提供的支持包括字符串处理 多线程处理 例外处理 数学函数处理 等 可以用它简单地实现 Java 程序的运行平台 2 实用程序包提供的支持包括哈希表 堆栈 可变数组 时间和日期等 3 输入输出包用统一的 流 模型来实现所有格式的 I O 包括文件系统 网络 输入 4 低级网络包用于实现 Socket 编程 5 抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件 包括窗 口 菜单 滚动条 对话框等 使得 Java 可以移植到不同平台的机器 6 网络包支持 Internet 的 TCP IP 协议 提供了与 Internet 的接口 它支持 URL 连接 WWW 的即时访问 并且简化了用户 服务器模型的程序设计 3 2 43 2 4 JavaJava 语言对未来软件的影响语言对未来软件的影响 Java 语言将对未来软件的开发产生影响 可从如下几个方面考虑 1 软件的需求分析 可将用户的需求进行动态的 可视化描述 以提供设计者 更加直观的要求 而用户的需求是各色各样的 不受地区 行业 部门 爱好 的影响 都可以用 Java 语言描述清楚 2 软件的开发方法 由于 Java 语言的面向目标的特性 所以完全可以用 O O 的 技术与方法来开发 这是符合最新的软件开发规范要求的 3 Java 语言的动画效果远比 GUI 技术更加逼真 尤其是利用 WWW 提供的巨大动 画资源空间 可以共享全世界的动态画面的资源 4 软件最终产品 用 Java 语言开发的软件可以具有可视化 可听化 可操作化 的效交互 动画与动作 要它停就停 要它继续就继续 而这是在电影与电视 播放过程中难以做到的 5 其它 使用 Java 语言对开发效益 开发价值都有比较明显的影响 利用 Java 的平台无关性和 Web 的一些特点 开发的网络管理系统可以运行 在任何 Java 的平台及浏览器中 这给网络挂你者提供了许多方便 它可以在 任何地方对自己的网络进行管理 目前 许多公司都看到了 Java 在网络管理方 面的应用前景 并推出了基于 Java 的网络管理系统开发包 如 AdventNet 网络 公司的 Advent Java SNMP Package SUN 公司的 JMAPI 3 33 3 SQLSQL ServerServer 数据库数据库 SQL Server 作为微软的产品一经推出就以其非常好的易用性和卓越的性能 赢得了广大用户的青睐 尤其是在中小型企业中 SQL Server 的应用更是普遍 它不仅可以运行在 Windows 2000 的大型多处理器的服务器中 就连在 Windows 精选范本 98 的电脑上用户也能轻松运行 由于其本身的高性能 高可靠性 高质量和高 易用性等优点使得逐步成为大规模联机事务处理 OLTP 数据仓库和电子商务 应用程序的优秀数据库平台 其主要特点包括如下 1 Internet 集成 SQL Server 数据库引擎提供完整的 XML 支持 它还具有构 成最大的 Web 站点的数据存储组件所需的可伸缩性 可用性和安全功能 2 可伸缩性和可用性 同一个数据库引擎可以在不同的平台上使用 从运行 Microsoft Windows 98 的便携式电脑 到运行 Microsoft Windows 2000 数据 中心版的大型多处理器服务器 SQL Server 企业版支持联合服务器 索引视图 和大型内存支持等功能 使其得以升级到最大 Web 站点所需的性能级别 3 企业级数据库功能 SQL Server 关系数据库引擎支持当今苛刻的数据处理环 境所需的功能 SQL Server 分布式查询使开发人员得以引用来自不同数据源的 数据 就好象这些数据是 SQL Server 数据库的一部分 同时分布式事务支持 充分保护任何分布式数据更新的完整性 复制同样使您得以维护多个数据复本 同时确保单独的数据复本保持同步 可将一组数据复制到多个移动的脱接用户 使这些用户自主地工作 然后将他们所做的修改合并回发布服务器 4 易于安装 部署和使用 SQL Server 中包括一系列管理和开发工具 这些工 具可改进在多个站点上安装 部署 管理和使用 SQL Server 的过程 这些功 能使您得以快速交付 SQL Server 应用程序 使客户只需最少的安装和管理开 销即可实现这些应用程序 5 数据仓库 SQL Server 中包括析取和分析汇总数据以进行联机分析处理 OLAP 的工具 SQL Server 中还包括一些工具 可用来直观地设计数据库并 通过 English Query 来分析数据 精选范本 第四章第四章 系统开发系统开发 4 14 1 总体设计总体设计 4 1 14 1 1 开发背景开发背景 网络性能管理可以测量网络中硬件 软件和媒体的性能 利用性能管理信 息 管理者可以保证网络具有足够的容量以满足用户的需要 性能管理的最大 作用是它可帮助网络管理者减少网络中过分拥挤和阻塞现象 从而为用户提供 一个稳定的服务 使用性能管理 管理者可以监控网络设备和连接情况 收集 到的数据能帮助管理者发现性能问题 甚至可能在它们对网络性能产生有害影 响之前就予以解决 性能管理在容量计划方面也有帮助作用 4 1 24 1 2 系统实现的功能系统实现的功能 本系统主要实现的功能是基于 Web 服务器的网络性能管理 对于一个网络 的性能 通常用几个参数共同进行衡量 信息流量 系统利用率 丢包率 冲 突率 广播包数 差错率 错误数据包等 通过对网络的实时监测 获取网络 设备的各项参数并分析入库 4 1 34 1 3 系统体系结构系统体系结构 本系统采用管理者和代理模式的简单集中式网络管理 整个网络性能管理 系统架构于 SNMP 模式的管理者和代理结构之上 系统和 SNMP 管理进程的交互 是通过 SNMP 协议软件提供的相关接口函数实现的 和数据库的交互是 JDBC 进 行的 HTTP 协议 JDBC SNMP 协议 图 4 1 系统体系结构 网络监控系统 Web Server 用户浏览器 Web Browser SQL Server 数据库 代理进程 代理进程 MIB 管理进程 管理进程 MIB 精选范本 4 1 44 1 4 方案选择方案选择 网络在不断发展 用户需求也在不断地发展 因此网络管理系统也必须不 断地提高和发展 在网络管理的五个主要方面中 性能管理最能直接体现网络 的各项指标 本系统即是一个基于 SNMP 协议的性能管理系统 要编程实现编程 平台则是必不可少的 原本打算使用 SUN 公司的 JMAPI 平台 但是它是一个收 费软件 因此我们只有采取别的方法 最后我们选择了 AdventNet SNMP API 平 台 4 24 2 详细设计详细设计 4 2 14 2 1 配置配置 JavaJava 运行环境运行环境 1 下载 最新版 JDK 例如 j2sdk1 4 2 本系统将其装在 D 下 2 安裝 JDK 编辑环境变量 Path 变量值设为 D j2sdk1 4 2 bin 4 2 24 2 2 配置基于配置基于 SNMPSNMP 协议的运行环境协议的运行环境 1 下载 Adventnet SNMP API 软件包 下载地址是 D 下 2 新建环境变量 SNMP HOME 变量值设为 D AdventNet SNMPI bin 3 新建环境变量 CLASS 变量值设为 D AdventNet SNMPI classes SNMP HOME jars AdventNetLogging jar SNMP HOME jars AdventNetSnmp jar 4 2 34 2 3 安装和配置安装和配置 SQLSQL ServerServer 要顺利地使用 Microsoft SQL Server 2000 首先要做的工作就是在安装的 过程中 对 SQL Server 2000 进行正确的安装和合理的配置 这是正常使用 SQL Server 2000 的前提和重要保障 在运行 SQL Server 2000 安装程序前 首先应执行以下几个操作 1 关闭注册表 R egedt32vexe 2 必须作为一个服务登录 3 必须具有在 SQL Server 计算机上登录的所有权限 4 检查软件和硬件要求 一切准备就绪后 将 SQL Server 2000 安装盘放入光驱 就可以按提示安装 了 精选范本 4 2 44 2 4 JavaJava 通过通过 JDBCJDBC ODBCODBC 接口访问数据库接口访问数据库 1 JDBC ODBC 接口 Java 应用程序通过 JDBC API java sql 与数据库连接 而实际的动作则是 由 JDBC 驱动程序管理器 JDBC Driver Manager 通过 JDBC 驱动程序与数据库系 统进行连接 ODBC Open DataBase Connectivity 即开放式的接口 它为用 户提供了一个访问关系数据库的标准接口 对于不同的数据库它提供了一套统 一的 API 可以使应用程序通过 API 访问任何提供了 ODBC 驱动程序的数据库 而目前所有的关系数据库都提供了 ODBC 驱动程序 所以 ODBC 已经成为数据库 访问的业界标准 并得到了广泛应用 JDBC ODBC 桥是一种 JDBC 驱动程序 它通过将 JDBC 操作转换为 ODBC 操作 来实现的 利用 JDBC ODBC 桥可以使程序开发人员不需要学习更多的知识就可 以编写 JDBC 应用程序 并能够充分利用现有的 ODBC 数据源 JDBC ODBC 桥驱 动程序可以使 JDBC 能够访问几乎所有类型的数据库 2 利用 Java 应用程序访问 SQL Server2000 数据库 1 建立数据库 启动 Microsoft SQL Server2000 打开 企业管理器 在 数据库 中 建立名为 wangbo 的数据库 并在其下制作名为 wangbo 的数据表 2 建立 ODBC 数据源和驱动程序 在控制面板上通过 管理工具 的 数据源 ODBC 打开 ODBC 数据源管 理器 对话框 单击 系统 DSN 选项卡 然后单击 添加 按钮 得到 创 建数据源 对话框 选择 SQL Server 并单击 完成 按钮 在出现的 建 立新的数据源到 SQL Server 对话框中的 数据源名称 项填写 aa 并选取 服务器名 然后单击 下一步 按钮 选择 使用网络登录 ID 的 Windows NT 验证 项目 单击 下一步 按钮 把默认的数据库改为 mydata 再单 击 下一步 单击 完成 按钮 然后可以单击 测试数据源 成功后 单 击 确定 按钮 完成了 ODBC 数据源和驱动程序的建立 4 2 54 2 5 具体实现具体实现 本系统分为系统参数采集分析和入库显示两个模块 我们使用基于 SNMPV2 协议的 get next request 访问 MIB 获取网络设备参数 从而进行性能管理 在获得各参数后 利用 JDBC 访问 SQL Server 数据库 数据采集模块如下 SQL Server 数据库 取监控信息 监控设置 数据存储 数据处理 数据采集 网络设备 精选范本 图4 2 数据采集流程 表4 1 用于性能管理的接 口对象 部分语句实现功能 SnmpPDU pdu new SnmpPDU UDPProtocalOptions ses opt new UDPProtocalOptions Ses opt setRemoteHost localhost Pdu setProtocalOptions ses opt 以上为设置被管设备为本机 pdu setCommand api GETNEXT REQ MSG 建立 getnext requext 报文 session open 开启会话 res pdu session syncSend pdu 发送和接收 PDU 报文 采集到性能管理应用一般要观察接口的错误率 要完成这些 需要首先找 出接口的总包数和错误

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论