1.2.3 WinSNMP API简介
在Windows 2000中,微软封装并实现了SNMP协议,提供了一套可在Windows下开发SNMP协议相关程序的接口,即WinSNMP API。WinSNMP API为SNMP网管程序开发者提供开发式单一接口规范,它定义相关的过程调用、数据类型、数据结构及相关语法。
WinSNMP API以函数的形式封装了SNMP协议各部分,且针对SNMP使用UDP的特定设置了消息的重传机制和超时机制。基于WinSNMP的应用程序必须通过WSNMP32.DLL动态链接库访问WinSNMP API函数,WinSNMP API提供了七大类,约50个API函数。
1.3 论文所完成的工作
第2章主要介绍了网络管理的概念和SNMP技术。
第3章给出了所设计实现的网络数据流量测量软件的概要设计,对系统的构架和模块设计做了详细的介绍。
第4章给出了系统关键部分的详细设计,并给出部分编码。
第5章对程序界面和成果进行展示。
2 相关知识
2.1 网络管理的概念
网络管理(Network Management)的定义有狭义和广义之分。狭义的网络管理仅指对网络通信量等网络性能指标的管理。广义的网络管理则是指对网络应用系统的管理。一个有效、实用的网络每时每刻都离不开网络管理。网络管理是指可以管理整个网络及其中网络设备的软件系统。
完整的网络管理可以分为3个部分:管理对象、管理进程与管理协议。其中,管理对象是经过抽象的网络元素,应对网络中具体可操作的数据,例如网络设备的状态,网络性能的统计参数等。网管系统可管理的设备主要包括:交换机、路由器、网桥、网关、服务器等。管理进程是负责对网络对象进行管理的软件,根据管理对象值的变化来决定采取哪种操作。管理协议负责在管理进程与管理对象之间传递管理命令与响应信息。文献综述
在网络管理技术的发展过程中,很多标准化组织曾提出过自己的网管协议。常见的网管协议有:简单网络管理协议(SNMP)、通用管理信息协议(CMIP)、电信管理网络(TMN)与局域网管理协议(LMMP)。目前,SNMP是应用最多、支持最广的网管协议,它已经成为事实上的工业标准。
2.2 SNMP协议概述
SNMP协议是当前最流行的网络管理协议,绝大多数的网络设备支持该协议。1989年,IETF发布SNMP协议的第一个版本,通常称为SNMPv1协议。SNMPv1协议的设计目标是一种简单的网管协议,它只支持5种最基本的网管操作。
SNMP系统采用客户机/服务器工作模式,其包括两个组成部分:SNMP管理器与SNMP代理。 其中SNMP管理器是运行在网管工作站中的管理进程;SNMP代理是运行在网络设备中的管理进程。管理器通过向代理问询获得网络设备的工作状态信息,代理则负责处理和响应来自管理器的请求,并向管理器报告本地发生的重大事件。
SNMP服务在传输层采用的是UDP协议,在传输管理消息之前不需要先建立连接。SNMP定义的网管操作分为两种类型:普通操作和告警操作。其中,普通操作是由SNMP管理器主动向代理发送,需要SNMP代理返回响应的网管操作;告警操作是由SNMP代理主动向管理器发送,不需要SNMP管理返回响应的网管操作。当SNMP系统执行普通操作时,SNMP代理的角色是服务器,使用的熟知端口号为161;当SNMP系统执行告警操作时,SNMP管理器的角色是服务器,使用的熟知端口号为162。