097VC++串口简单网络管理研究与实现
                    联系方式 Email: lw510@qq.com      QQ: 497053418       MSN: lw510@qq.com
以下仅为该设计的基本说明介绍,若需要完整的设计和论文,建议您购买本设计.
097VC++串口简单网络管理研究与实现样本
(样本只提供该系统的基本情况介绍,若需要完整的设计和论文,建议您购买本系统,凡是购买本站系统的,本站均根据您的要求,把系统上的开发信息,题目等修改成符合您的要求)
 

本系统开发工具:VC++
本设计包含内容:源代码+毕业论文+开题报告+答辩稿
论文大概:
 
 
 
串口简单网络管理研究与实现
 摘 要
简单网络管理协议(SNMP)是目前TCP/IP网络中应用最为广泛的网络管理协议。1990年5月,RFC1157定义了SNMP(simplenetworkmanagementprotocol)的第一个版本SNMPv1。RFC1157和另一个关于管理信息的文件RFC1155一起,提供了一种监控和管理计算机网络的系统方法。因此,SNMP得到了广泛应用,并成为网络管理的事实上的标准。
SNMP在90年代初得到了迅猛发展,同时也暴露出了明显的不足,如,难以实现大量的数据传输,缺少身份验证(Authentication)和加密(Privacy)机制。因此,1993年发布了SNMPv2,使得SNMP的安全性、兼容性、故障处理能力等得到了进一步完善和补充。
本文使用Vsiual C++6.0模拟实现了一个SNMP网络管理系统,用一个服务
器通过SNMP协议管理客户机串口通信。程序实现了串口通信、UDP网络通信、SNMP协议模拟,可利用本系统查询远端计算机的串口设置和流量等信息。系统的串口通信模块可以通过串口发送字符,实际上是一个串口测试软件。
 
 关键词: 网络管理,串口通信,UDP通信,SNMP
 
Abstract
Simple Network Management Protocol (SNMP) is the network TCP/IP most widely used network management protocol. May 1990. RFC1157 defines the SNMP (simplenetworkmanagementpr ystems), the first version of SNMPv1. RFC1157 and another on the management of information in the document RFC1155. provide a monitoring and management of the computer network systems approach. Therefore, SNMP is a widely used and has become the de facto network management standard.
SNMP has been the rapid development in the early 1990s, but also exposed the obvious shortcomings, such as difficult to achieve a large amount of data transmission, lack of authentication (Authentication) and encryption (Privacy) mechanisms. Therefore, in 1993 issued a SNMPv2, making SNMP security, compatibility, Fault handling capacity has been further improved and complemented.
In this paper we simulate a SNMP network management system using C + + 6.0 Vsiual, It’s a server management through SNMP client serial communication. Realization of serial communication, UDP network communication, SNMP simulation, could use the query remote computer serial port settings and the flow of information. System serial communication module can be sent through the serial port of characters is actually a serial test software.
Keywords: Network Management, Serial Communication,UDP communication,SNMP
 
目  录
第一章 绪 论 - 4 -
1.1课题背景 - 4 -
1.2 系统实现思想 - 6 -
1.3 本文的工作 - 7 -
第二章 系统的总体设计 - 8 -
2.1 系统结构 - 8 -
2.2 系统模块分解 - 8 -
2.3 实验方法 - 9 -
第三章 系统的实现和关键技术 - 10 -
3.1 SNMP详解 - 10 -
3.1.1 网络管理概述 - 10 -
3.1.2 网络管理系统的要素 - 10 -
3.1.3 SNMP协议概述 - 11 -
3.1.4 SNMP的命令和报文 - 13 -
3.1.5 MIB概述 - 14 -
3.1.6 MIB的访问方式 - 16 -
3.2 UDP通信技术 - 16 -
3.2.1 UDP协议简介 - 16 -
3.2.2 用套接字实现UDP协议的网络通信 - 17 -
3.3 串口通信技术 - 18 -
3.4 重点功能介绍 - 28 -
3.4.1 代理程序的实现 - 28 -
3.4.2 管理程序的实现 - 32 -
第四章 总 结 - 33 -
 致谢 - 34 -

第一章 绪 论
1.1课题背景
随着网络技术的发展和网络应用的深入,网络的复杂性在不断增长,对网络设备管理的要求也日益增加。网络的复杂 性,使得被管理的设备在系统中不是集中的,而是分散的。管理这样分散、复杂的系统,必须依靠网络设备管理系统。一个典型的网络设备管理系统包括4个组成部 分:管理器、管理代理、管理信息数据库和受托代理。一般说来,前3个部分是必需的,第4个根据需要选择使用。
在网络设备管理系统中,管理器协助网络管理员完成管理整个网络的工作。网络管理软件要求管理代理定期收集重要的设备信息,这些信息将用于确定网络设备和网络整体运行状态是否正常。管理器应该定期查询管理代理收集到的设备运转状态、配置及性能等方面的信息。
管理代理(Agent)是一种特殊的软件或固件,包含了一个特定设备及该设备所处环境的信息。当一个管理代理被安装到一个设备上时,这个设备就 被列为“被管理的”。管理代理可以获得所驻留设备的运转状态、设备特性和系统配置等相关信息。它就像是每个被管理设备的经纪人,完成管理器布置的信息采集 任务。管理代理行使管理系统与管理代理所驻留设备的中介职能,通过管理信息数据库(MIB)中的内容来管理该设备。管理信息数据库中所包含的数据,随被安 装设备的不同而不同。
安装在网络管理工作站上的管理器,向管理代理收集设备信息时有轮询和中断两种方法。网络管理工作站可以通过轮询管理代理获得关于设备的信息,可 以修改、增加或者删除代理中的表项,可以为设备中特定的事件设置阈值。当设备中发生某个闽值超过设定范围的异常事件时,管理代理可以立即向网络管理工作站 发送自陷信息,通过基于中断的方法通知网络管理工作站进行处理。
在一些特殊情况下,一个特定设备可能因为系统资源的缺乏,或者因为该设备不支持管理代理所需要的传输协议,而不能实现管理代理。这时可以使用受 托代理(Proxy agent)。受托代理不在被管理的网络设备上运行,而是在另一台设备上运行。受托代理把它接收到的网络管理工作站命令,翻译成被托管设备所支持的管理命 令。因此,受托代理发挥着应用程序网关的作用,在标准网络设备管理器软件和不直接支持该标准协议的系统之间充当桥梁。
管理器和管理代理在通过网络进行通信时,必须遵循特定的协议。使用最普遍的协议是简单网络管理协议(SNMP,Simple Network Management Protocol)。它是一个应用层协议,属于TCP/IP协议族的一部分。SNMP协议目前有两个版本:SNMP v1和SNMP v2。这两个版本有一些共同特性,但SNMP v2提供了一些加强的功能。另外一个版本SNMP v3的标准化也在进行当中。SNMPv3的重点是安全、可管理的体系结构和远程配置。
SNMP是分布式的管理协议,一个系统可以只作为SNMP管理器或SNMP代理中的单一角色,也可以同时完成这两者的功能。如果一个系统既作为管理器,又作为代理的话,此时可能需要另外一台管理器,用它来查询被管理的设备,并提供信息的汇总等。
SNMP不是一种面向连接的协议,它通过使用请求报文和返回响应的方式,在SNMP代理和管理器之间传送信息。这种机制减轻了SNMP代理的负 担,提供了一种独有的方式来处理可靠性和故障检测方面的问题。SNMP协议还定义了数据包的格式,以及网络管理器和管理代理之间的信息交换,对管理代理的 MIB数据对象进行控制,可用于处理管理代理定义的各种任务。
在网络界,除SNMP、SNMPv2、CMIP以外,现在正兴起一些新的网络管理协议和环境。其中,以分布式计算环境(DME,DistributedManagementEnvironment)最为著名。DME是由OSF(开放软件基金会)提出的。OSF是一个非盈利的研究和开发组织,其目标是提供一个软件解决方案,使来自不同厂家的计算机可以协同工作于一个真正的开放系统计算环境下。其文档以RFT(RequestforTechnology)的形式提供。
DME代表了一种结构。在此结构下,管理系统和网络可以很好地结合。它可以构成分布式系统管理的基础,并保持与现有网络管理方案的结合。它独立于操作系统,并支持事实上的和正式的网络与系统管理标准。DME的结构有许多新颖之处。以前,无论是网络管理还是系统管理,管理员通过修改与一个资源或服务相关的数据、通过对一些服务和数据进行操作来进行管理。而在DME环境下,信息和操作都被划分为对象。DME以对象为单位对系统进行管理。所有DME管理操作有一个一致的界面和风格:通过与对象通信。这种设计的很大好处是模块性很强,完全是一种面向对象的管理方式,系统易于管理和开发。ISV们可以建立自己的某些特定管理功能的对象库或被管对象库,然后将其加入到已有的管理应用程序中。这一切由于DME面向对象的管理方式而变得简单。
DME有两个关键概念:应用程序服务和框架(Framework)。应用程序服务提供一些最重要的系统管理功能,而框架则提供开发系统管理应用程序所用的构造模块(buildingblock)。这种设计提供了与现有解决方案的一致性,并可在多厂商分布式网络环境中进行互操作。DME应用程序服务包括软件管理(SoftwareManagement)、许可权管理(LicenseManagement)、打印服务(PrintingServices)和事件管理(EventManagement)。它们以一组模块和API的形式提供,有一个一致的用户界面。DME还提供机制,使开发商可以很容易地加入新的服务。DME框架由一组功能全面的构造模块组成,使新网管应用程序的开发变得简单。这些组成是:
管理请求代理(MRB,ManagementRequestBrokers)MRB是DME框架的核心组成。在DME下,所有对对象的请求都被MRB接收。MRB负责找到这个对象在网络中的位置,然后转发请求。MRB支持现有的网络管理协议SNMP、CMIP,用它们收集网络中的设备信息。MRB还支持基于RPC(RemoteProcedureCall)的管理协议。
 对象服务器对象服务器用来管理和维护网络中的对象。DME提供两种类型的对象服务器,一个用于短期任务(如更换口令等),另一个用于长期任务(如监视一个网络)。
事件管理服务当网络中出现问题或发生变化时,需要通知管理应用程序。DME的事件管理服务提供了转发、登录和过滤这类通知的功能,可以对过滤器进行编程来分析一个事件通告的属性,并将此事件与某个特定的动作联系起来。另外,为了使此服务易于使用,DME还提供了用于定义事件的高级模板语言。
 数据管理服务DME提供了一个管理数据库,用来存放网络被管对象的有关数据信息。此管理数据库存放在磁盘上。
目前,DME的主要问题是缺乏支持,尚未得到进一步的实践检验。
1.2
 
 

第二章 系统的总体设计
2.1 系统结构
 系统的硬件环境最少可以由1台计算机来模拟(既模拟服务器,也模拟串口通信终端),也可以由3台或者更多计算机模拟,下边给出3台计算机模拟时的物理连接图:
 
2.2 系统模块分解
 根据以上系统结构,把整个系统划分为两个模块来实现,模块的划分和各相关功能简介如下:
1> 代理程序
 串口通信
可以选择串口,配置串口参数,从串口发送、接收数据
 UDP网络通信
可以回答管理程序的查询报文,并在串口切换时发送trap报文。
 2> 管理程序
 UDP网络通信
发送SNMP查询报文,并接收从道理程序返回的数据。
 实现查询功能
查询代理程序的波特率、数据流量、校验位、数据位等信息。
 显示操作列表
显示操作时间、操作对象、返回结果、收到的trap信息
2.3 实验方法
 首先,按系统结构图构建硬件实验环境,在3台计算机中分别安装代理程序和管理程序。然后在程序中设置IP地址,在代理程序中输入服务器IP地址,在管理程序中输入客户机IP地址。
 完成以上配置之后,我们就可以开始实验了。在管理程序端单击各查询按钮,可以看到所接收的串口配置信息。我们可以在代理程序端修改各参数,修改后在管理程序中重新收参数,可以看到修改之后的参数。
 另外,在代理程序中修改串口号,修改之后可以在管理程序的操作列表中看到trap报文所发送的信息。
 
 
 
 另外,程序实现了串口参数的配置和发送、接收字符数的统计功能。程序主界面如下图所示。
 
 串口通信的大概过程如下:
 打开串口
在本程序中,调用CreateFile函数实现,代码如下:
hCom=CreateFile(m_strPort,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,NULL);
 if(hCom==INVALID_HANDLE_VALUE)
  return FALSE;
 配置串口参数
首先调用GetComState函数获取设备描述DCB,然后修改DCB中相关的参数项,如波特率、校验位、数据位、停止位等信息,最后用修改后的DCB配置串口(调用SetComState函数实现)。
 读写串口
读串口:ReadFile;写串口:WriteFile。
 关闭串口
调用CloseHandle函数关闭串口
 打开串口和配置串口参数是在OpenConnection函数中实现的,该函数的流程图如下:
 
 代理程序的UDP通信模块在一个线程中实现,线程函数位ThreadUdp,在线程中完成套接字创建、绑定、读写事件监视等功能,流程如如下:
 
3.4.2 管理程序的实现
 管理程序完成端口的查询功能和指令显示功能。UDP通信参数封装在类CParamUdp中,在该提供了几个查询接口,有查询波特率、查询流量、查询。SNMP数据定义和解析封装在类CSnmpProtocol中,该类实现数据的解包和分析功能。SNMP报文结构定义封装在tagSnmpHead结构中。
 UDP通信使用一个工作线程完成,线程函数为ThreadUdp,函数流程和代理程序中的UDP通信线程相同,请参考3.4.1。
 程序主界面如下图所示:
 

 
第四章 总 结
本系统开发过程中用到了许多学过的知识,具体说来有数据结构、C语言程序设计、微机接口、软件工程等等。在编程中发现这些学科相互联系,相辅相成,在以后更加复杂的系统中肯定会涉及到更多、更复杂的学科,需要我们认真学习和掌握的东西实在是太多了。
本软件用多线程实现,线程的控制技术和同步技术在软家中也有所体现。软件使用面向对象技术实现,对许多操作和参数进行了封装,使得各变量的描述和接口的定义显得更加直观、清晰,使用更加方便。
 本软件的功能还是显得比较单一,距离实用还是有很大差距。从功能上来说,软件目前只能实现查询功能和接收Trap功能,如果加入设置功能和其他功能的话,软件将更有实际意义。
 由于本人学习VC时间不长,程序的设计方面不够规范,有些简单的想法却用了很长的代码来实现造成了代码冗余,还有部分想法没有实现。我将在今后的学习中不断完善自己。
 
 致谢
通过这次毕业设计,我学会了综合的运用大学四年学的东西,学会了用严谨的软件工程学来做设计,为我走向社会打下了一个不错的基础,从一开始的比较迷茫,到最后能成功完成了这次设计,这里面有老师和同学们的帮助,也有自己努力。在这里我对所有帮助过我的老师和同学们表示最衷心的感谢。
 

 

 
097VC++串口简单网络管理研究与实现
 

关闭窗口

与本站联系的时候,为了提高效率,请告诉本站您需要的设计编号与题目。如:001VBAC人事管理系统
编码说明:001VBAC人事管理系统,其中001VBAC 为该毕业设计的编号,VB代表开发语言,AC代表数据库(ACCESS)
版权所有:510计算机论文网:http://www.lw510.com/程序制作:510论文
Email: LW510@QQ.COM  QQ: 497053418   MSN: LW510@QQ.COM