毕业设计(论文)-网络故障自动检测智能系统设计与实现[管理资料]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河北经贸大学毕业论文
网络故障自动检测智能系统设计与实现
专业名称计算机科学与技术
班级07级2班
学生姓名
指导教师
完成时间2011年5月
摘要
随着社会科技的进步,计算机网络已经成为人们日常信息传输、交互、共享的基础。

在网络的使用过程中,不可避免的会产生一些网络故障。

对于很多非专业的计算机使用人员,他们只能描述故障的现象,很少有人能够描述出故障的产生原因,产生过程以及网络的状态,更不会自己分析,判断和解决,而这些问题在人们的工作中也越来越频繁。

所以网络故障的自动检测越来越受到人们的重视,因为它可以给非专业的人员反馈回故障的位置、原因,帮助他们尽可能的自己去解决,省去找人维修的时间和费用,同时这些反馈信息也减少了专业人员查找故障的时间,提高了网络维护人员解决网络问题的效率。

而且随着计算机普及的程度越来越高以及计算机软件产业迅速发展,把查找问题方法数学模型化,再用编程应用软件,实现管理的自动化和智能化也成为当今社会的主流和趋势。

本系统使用C# Framework ,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。

本系统中通过在C#语言中嵌入网络命令,通过网络管理员常用的用网络命令探测网络故障的方式,表层用C#语言覆盖,从而完成整个系统功能的实现。

关键词网络故障;网络命令;系统;.Net Framework
ABSTRACT
As society advances in technology, computer networks have become a dairy basis of information transmission, interaction and sharing. Process of using the network, inevitably have some network problems. For many non-professional computer users, who can only describe the phenomenon of fault, few can describe the cause of the fault, for example, producing process and the status of the network, not to their own analysis and to determine and solve these problems in people Work more and more frequent. Therefore, automatic detection of network failure more and more attention, because it can give non-professional personnel position feedback to the fault, cause, help them to solve their own as much as possible, the provincial people find the time and cost of maintenance, while the feedback information also eliminates the need for professionals to find the fault time and increase the efficiency of people to solve network problems. And with the increasing popularity of computers, the computer program to find the problem method to realize the automation and intelligence management has become the mainstream and trends of society.
The system uses the C# language is based of . for development, it uses the latest technology of today's software design, with the development of high efficiency, design flexibility, user-friendly software is generated so beautiful. Through this system embedded in the C# language network commands commonly used by network administrators detecting network problems with the network command the way, the surface covered with the C # language, thus completing the implementation of the system function.
Keywords network failure; network order; system; .Net Framework
目录
1 系统概述 (1)
课题研究背景 (1)
课题的研究目的和意义 (2)
论文主要工作 (2)
2 系统需求分析 (4)
可行性研究 (4)
功能需求 (4)
性能需求 (5)
环境需求 (5)
系统技术概述和开发工具简介 (5)
.NET Framework概述 (5)
C#语言和Visual Studio 2008简介 (6)
网络故障的概念 (7)
3 系统总体设计 (9)
系统总体软件结构设计 (9)
系统总体功能结构图 (9)
系统功能模型图 (10)
系统的总体模块设计 (11)
网络故障探测流程介绍 (13)
网络故障探测的基本步骤 (13)
网络故障探测举例 (14)
界面的设计过程 (16)
4 详细设计与实现 (18)
主要功能函数的介绍 (18)
系统的功能实现 (21)
自动检测界面 (21)
电脑自身检测界面 (24)
网络设备检测界面 (27)
管理员模式界面 (29)
5 系统测试 (32)
功能测试 (32)
用户界面测试 (32)
运行测试 (33)
结束语 (34)
致谢 (35)
参考文献 (36)
网络故障自动检测智能系统设计与实现
1 系统概述
绪论
在当今社会计算机信息技术日新月异,以Internet技术为代表的信息技术为人们创造了一种新的不受地域、时间和计算机自身约束的信息交流、共享和协作方式。

在这个飞速发展的时代,计算机网络遍及世界各个角落,应用在各行各业,普及到千家万户,它给人们可谓带来了诸多便利,但同时也带来了很多的烦恼。

因为人们在享受网络便利的同时,还要面对网络故障给人们带来的困挠。

对于非专业的计算机人员,解决网络故障成为日常使用网络的一个难题。

通过对网络故障进行分类,按照网络管理员通用的科学的排查方法,以软件的形式体现出来,可以更好的解决人们的不便。

网络故障的检测,一般是指线路的故障的检测,主要体现为电脑主机不能上网。

一般的排查方法为从电脑开始,用ping命令,依次排查电脑自身,交换机,代理服务器,工作站,直到找出网络断点位置,并给出用户相应的提示信息。

如今人们在排除故障时仍然为手工操作,通过网络故障自动检测智能系统,就是依照上面的原理,通过层层排除,及自动的分析,最终找到故障发生点。

Framework ,用Visual Studio 2008进行开发,具有自动检测,电脑自身检测,网络设备检测,管理员模式等功能,界面简单友好,方便用户的操作。

课题研究背景
随着时代的发展,信息技术的更新更是日新月异。

随着信息技术的发展,互联网得到了飞速的发展,成为人们学习、工作、生活、中最普遍的信息来源。

根据信息产业部不完全统计,中国互联网的上网人数已逾一亿。

随着上网人数的增加,网络故障的出现也显得越来越频繁。

对于非计算机专业人员,当电脑不能上网时,只能求助于专业的网络维护人员,由于他们不能准确的描述故障信息,使网络维护人员经常频繁做
很多重复工作,网络故障的解决效率不高。

以校园网的维护为例,每个学校都设有一个网络维护部门,但是部门里的少数几个专业人员要整个学校的网络正常。

当用户不能上网时,随时会通知网络维护部门。

由于他们不能提供故障的描述信息,在很多他们自己能够单独解决的情况,也需要维护人员去现场解决,浪费了很多的人力物力。

网络维护人员在现场解决时,每次的检查工作几乎都是相同的,这样就做了大量重复性的工作,降低了工作效率。

课题的研究目的和意义
网络故障给人们的日常生活带来了很大的不便,网络故障排查工作的重复性也给专业网络维护人员带来烦恼。

网络故障自动检测智能系统,旨在模仿网络维护人员日常的故障排除方法,用计算机软件代替人工进行这些繁琐的工作,提高工作效率。

在网络故障自动检测智能系统严格的按照专业网络维护人员检测网络故障的方法进行模拟,并在每一步给出相应的提示信息。

在功能上,自动检测系统支持了信息化发展的方向,在范围上,网络故障自动检测智能系统既可以面向非计算机专业人员,也可以为专业的网络维护人员提供帮助,所以开发一个网络故障的检测软件是符合现代社会和信息技术发展需求的。

论文主要工作
根据以上分析,本课程设计主要完成以下工作:
(1) 实现自动检测功能,此功能为开发本系统的最主要功能,它只需要用户点击自动检测按钮,即可检测出网络故障的大致位置,并给出相应的提示信息。

当然此功能的实现,是建立在实现后面这些功能基础之上的。

(2) 实现网络设备检测功能,此功能可以检测出交换机和代理服务器的IP地址,并检测出交换机和服务器,是否在工作状态,是否在正常工作。

(3) 实现电脑自身检测功能,主要用来检查电脑自身信息。

排除网
络故障的第一步即排除电脑自身故障,确保电脑本身没有问题,才能确保提示信息的正确性。

(4) 实现给网络管理员提供一些工具的功能,在网络维护人员检查网络故障的过程中,经常用到一些网络命令。

本系统提供了所有常用的网络命令,简化了维护人员的操作,提高了他们的工作效率。

2 系统需求分析
可行性研究
可行性研究并不是解决问题,而是确定问题是否值得去解决,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

以下进行对论文管理系统的可行性分析:
技术可行性:#语言进行开发的。

适用于Windows2000、windows XP 等系统,。

开发工具采用微软最新推出的Visual Studio 2008,可视化的编程界面,以及开发工具中提供的丰富的类库,更加方便了本系统的实现。

经济的可行性:网络故障自动检测智能系统,是一个很小的工具软件,可以作为网络管理的一个辅助工具,也可以作为家庭用户排除故障的一个小工具,不需要任何辅助的硬件设施,只需在计算机上直接使用即可,几乎没有任何的使用成本。

操作的可行性:此系统的界面使用编译工具的设计窗口设计,在设计的过程中本着减少用户操作和操作少出错的原则,使界面简单,易懂,操作简捷。

对于有些计算机基础的用户来说都不成问题,用计算机的高速度和自动化来替代手工的巨大工量,用计算机的高准确性来避免手工的错误和误差。

综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快,因此系统的开发是完全可行的。

功能需求
对于使用网络故障自动检测智能系统的用户,不需要任何注册,打开软件后即进入主界面。

安装完成后,在第一次使用时保证网络的通信正常即可。

当以后遇到网路故障时,可以采用自动检测功能,软件会自动判断出线路出现故障的大体位置。

网络故障自动检测智能系统大体分为四个模块。

分别为自动检测模块、电脑自身检测模块、网络设备检测模块、管理员模式模块。

其中电
脑自身检测模块又分有网络接口检测,IP地址检测,网络配置检测,网卡地址检测等功能。

网络设备主要分为交换机和代理服务器。

管理员模式中可以使用一些网络命令,也可以手动检测多个服务器。

系统实现的主要功能有:
(1)自动检测网络链路出现故障的大体位置。

(2) 检测电脑自身的问题,例如IP地址配置错误,网络线缆没有插好等。

(3)网络设备是否正常的检测。

(4)管理员手动使用的一些小工具等,如同是检测多个服务器是否正常工作,网络命令的使用等。

性能需求
网络故障自动检测智能系统用于IPv4网络,不支持IPv6网络,通过对日常上网出现的问题分类分析,给出故障的大体位置,方便人们去解决,同时也提高了网络维护人员的工作效率。

环境需求
1. 客户端运行环境要求
操作系统:Windows Server 2000、Windows 2000或是Windows XP。

网络环境:IPv4
2. 系统开发环境
系统:Windows XP
虚拟机:.Net Framework
论文管理系统开发语言:C#
开发工具:Visual Studio 2008
系统技术概述和开发工具简介
.NET Framework概述
.NET Framework是用于.NET平台的编程模型,其关键组件是公
共语言运行库(CLR,Common Language Runtime)和.NET Framework 类库(包括、和Windows窗体),它提供了托管执行环境、简化的开发和部署以及与各种编程语言的集成,是支持生成和运行下一代应用程序和XML Web services的内部Windows组件。

.NET Framework旨在实现下列目标:
(1) 提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行的;
(2) 提供一个将软件部署和版本控制冲突最小化的代码执行环境;
(3) 提供一个可提高代码(包括由未知的或不完全受信任的第三方所创建的代码)执行安全性的代码执行环境;
(4) 提供一个可消除脚本环境或解释环境的性能问题的代码执行环境;
(5) 使开发人员的经验在面对类型大不相同的应用程序(如基于Windows 的应用程序和基于Web的应用程序)时保持一致;
(6) 按照工业标准生成所有通信,以确保基于.NET Framework的代码可与任何其他代码集成。

公共语言运行库是.NET Framework的基础,可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。

事实上,代码管理的概念是运行库的基本原则。

以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。

.NET Framework类库是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于所提供的最新创建的应用程序(如Web窗体和XML Web Services)。

C#语言和Visual Studio 2008简介
C#,C#是由C和C++派生而来的一种“简单、流行、面向对象、类型安全”的程序设计语言,C#意在综合Visual Basic的高效率和C++的强大功能。

C#凭借它的许多创新,在保持 C 样式语言的表示形式和优美的同时,实现了应用程序的快速开发。

Visual Studio 支持Visual
C#,这是通过功能齐全的代码编辑器、项目模板、设计器、代码向导、功能强大且易于使用的调试器以及其他工具实现的。

通过.NET Framework类库,可以访问多种操作系统服务和其他有用的精心设计的类,这些类可显著加快开发周期。

Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web ,代号“Orcas”,是对Visual Studio 2005一次及时、全面的升级。

Visual Studio 2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,使用Visual Studio 2008可以高效开发Windows应用。

设计器可以实时反映变更,XAML中智能感知功能可以提高开发效率。

同时Visual Studio 2008支持项目模板、调试器和部署程序。

复杂的应用程序需要多支训练有素的开发团队来实现。

对于开发团队的任何主要承诺来说,信息交流都是成功的一个基本元素。

新的Visual Studio Team System 扩展了Microsoft的优秀功能,即,通过提供与业务紧密集成的、可扩展的、能够增加成功几率的生命周期工具,从而为用户提供高效的工具。

能否成功主要取决于,为了降低交付解决方案的复杂性,团队间是否进行了充分的交流。

网络故障的概念
网络故障分为:物理类故障和逻辑类故障两大类。

下面重点介绍物理类故障,本系统也是检测物理类故障。

物理故障,一般是指线路或设备出现物理类问题或说成硬件类问题。

(1)线路故障
在日常网络维护中,线路故障的发生率是相当高的,约占发生故障的70%。

线路故障通常包括线路损坏及线路受到严重电磁干扰。

排查方法:如果是短距离的范围内,判断网线好坏简单的方法是将该网络线一端插入一台确定能够正常连入局域网的主机的RJ45插座内,另一端插入确定正常的HUB端口,然后从主机的一端Ping线路另一端的主机或路由器,根据通断来判断即可。

如果线路稍长,或者网线不方便调动,就用网线测试器测量网线的好坏。

如果线路很长,比如由邮电部门等供应商提供的,就需通知线路提供商检查线路,看是否线路中间被切断。

对于是否存在严重电磁干扰的排查,我们可以用屏蔽较强的屏蔽线
在该段网路上进行通信测试,如果通信正常,则表明存在电磁干扰,注意远离如高压电线等电磁场较强的物件。

如果同样不正常,则应排除线路故障而考虑其他原因。

(2)端口故障
端口故障通常包括插头松动和端口本身的物理故障。

排查方法:此类故障通常会影响到与其直接相连的其他设备的信号灯。

因为信号灯比较直观,所以可以通过信号灯的状态大致判断出故障的发生范围和可能原因。

也可以尝试使用其它端口看能否连接正常。

(3)集线器或路由器故障
集线器或路由器故障在此是指物理损坏,无法工作,导致网络不通。

排查方法:通常最简易的方法是替换排除法,用通信正常的网线和主机来连接集线器(或路由器),如能正常通信,集线器或路由器正常;否则再转换集线器端口排查是端口故障还是集线器(或路由器)的故障;很多时候,集线器(或路由器)的指示灯也能提示其是否有故障,正常情况下对应端口的灯应为绿灯。

如若始终不能正常通信,则可认定是集线器或路由器故障。

(4)主机物理故障
网卡故障,把其也归为主机物理故障,因为网卡多装在主机内,靠主机完成配置和通信,即可以看作网络终端。

此类故障通常包括网卡松动,网卡物理故障,主机的网卡插槽故障和主机本身故障。

排查方法:主机本身故障在这里就不在赘述了,在这里只介绍主机与网卡无法匹配工作的情况。

对于网卡松动、主机的网卡插槽故障最好的解决办法是更换网卡插槽。

对于网卡物理故障的情况,如若上述更换插槽始终不能解决问题的话,就拿到其他正常工作的主机上测试网卡,如若仍无法工作,可以认定是网卡物理损坏,更换网卡即可。

3 系统总体设计
通过需求分析,我们大概了解到了系统需要实现的主要功能模块以及各个模块实现所涉及的数据对象,下面我们就对整个系统的做个整体的设计和构架。

系统总体软件结构设计
系统总体功能结构图
系统总体功能大致分成了四个部分,用户可以选择功能选项卡,进入相应的功能界面,具体功能如下图3-1所示。

图3-1 系统总体功能结构图
系统功能模型图
交换机
代理服务器
图3-2 系统功能模型图
如上图3-2所示,当计算机到因特网的某个工作站之间发生故障时,会导致用户不能连接到因特网。

用户通过计算机调用网络故障自动检测智能系统检测网络的线路,系统将返回故障的具体位置及相应的提示信息到计算机并显示出来。

例如,当交换机断电不能运行时,导致计算机不能上网,用户在计算机上运行网络故障自动检测系统。

此系统通过ping 命令发出数据包,根据包的接收数量做出判断,系统自动的逐级检测,最终得出故障位置大概在交换机和个人计算机的线路上的结论,并给出相应的提示信息,自动返回到计算机,并通过软件的窗口显示给用户。

系统的总体模块设计
图3-3总体模块结构图
如图3-3所示,根据前面的系统功能需求分析,对系统功能模块进行了划分。

根据网络故障自动检测智能系统实现的功能可分解成4个主要功能模块,它们分别是自动检测功能模块,电脑自身检测模块,网络设备检测模块,管理员模式功能模块,其中4个主要功能模块实现的具体功能如下所示:
(1)自动检测模块,此模块有两个功能搭配使用,首先使用工作站检测功能,输入您不能访问的网站的网址或者IP地址进行检测,判断是否连通,如果不能连通,用户再使用自动检测功能,通过此功能得出网络故障的大致位置和相应的提示信息;如果可以连通,会提示用户可能造成其不能登陆该网站的原因,如图3-4所示。

图3-4 自动检测功能结构图
(2) 电脑自身检测模块,此模块又可分为四个功能,可以独立的检测电脑的网络接口信息,网卡地址,IP地址和电脑的网卡配置信息,并在相应的窗口显示出来,如图3-5所示。

图3-5电脑自身检测功能结构图
(3) 网络设备检测功能,主要分为交换机检测和服务器检测功能,主要是用来手动检测交换机或者路由器是否在正常工作,即是否可以连接到交换机或者服务器,如图3-6所示。

图3-6 网络设备检测功能结构图
(4) 管理员模式,此主要是为网络管理员的日常管理考虑的,用户
在此模块中可以手动检测最多五个服务器和使用日常网络维护中所使用的网络命令,如图3-7所示。

图3-7 管理员手动模式功能结构图
网络故障探测流程介绍
网络故障探测的基本步骤
本系统探测网络故障也是遵循着网络管理员检测网络故障的基本方法。

当一台计算机不能上网时,主要分为以下几个步骤进行排除:
(1) 检查电脑自身是否正常,比如网络线缆是否插好,IP地址是否是自动获取或者手动配置信息设置是否正确,网卡是否正常工作等等,如果电脑正常,才能进行线路检查。

(2) 用ping命令检查是否能能够连接到交换机,如果不能连接到交换机,那说明交换机与计算机之间的线路有问题,或者是交换机发生故障,一般专业的网络维护人员有测线仪器,可以通过测线仪器判断出线路出现断点的位置。

如果测的线路没有问题,那肯定是交换机出问题了,比如交换机断电、死机或者发生故障等。

(3) 如果能够连接到交换机,就用ping命令测试是否可以连接到代理服务器,代理服务器和交换机之间一般采用光缆连接,不易发生故障。

如果能够ping通,说明服务器正常工作,如果不能ping通,则有可能是代理服务器断电、死机、发生故障,也有可能是代理服务器和交换机之间的光缆或光缆的接口出现问题。

(4) 如果也能够连接到代理服务器,那一定是服务器和网站服务器之间出现了断路,或者网站服务器没有运行,或者网站的配置路径以及
IP地址的设置等问题
网络故障探测举例
下面将以一个例子来说明在日常生活中如何排查和解决网络故障。

对于类似于图3-8所示的网络拓扑情况,当所有的工作站不能访问服务器Server或者不能访问互联网时,可以在网络中的任意一台工作站上(例如W1),使用ping命令,首先检查检查到S3交换机的连通性,如果到S3不能连通,则检查S3交换机的配置情况,在确认不是配置问题后,检查S3交换机是否损坏,如果S3交换机损坏,根据情况维修或者更换。

然后检查到服务器的连通性,如果不能访问服务器,检查S3与服务器之间的线路,然后依次检查服务器的网卡、服务器的配置,对于S3与服务器之间的线路,可以用“代替法”就是找一段好的线路代替S3与服务器原来的连线,检查是否该线路问题。

在排除线路问题后,可以确认是服务器出现了问题(关于服务器问题的解决请看后文“服务器故障”一节)。

如果是不能访问互联网,则需要依次检查S3到路由器(或代理服务器、防火墙)之间的线路、路由器的配置、路由器到互联网的线路情况,然后再检查是否ISP的故障等。

实际上,如果网络中的所有工作站都不能访问外网,则首先要在代理服务器或者路由器上,检查到上级线路的连接是否正常,在排除上级线路(ISP)的故障后,检查S3与路由器之间的线路、路由器的配置等情况。

图3-8 网络拓扑图
如果网络中的某些工作站出现问题,而网络中的其他组都正常时,这时候,要检查出现问题的工作站与其他组能否互通,例如,对于图3-8来说,如果S2中的工作站都不能访问服务器或者不能访问互联网,则首先要检查S2中的工作站能否与S1中的工作站互通(最简单的是使用ping命令检查),如果S2与S1能互通,则表明S2中的工作站不能访问服务器或者互联网,是服务器与路由器的设置问题造成的;如果S2中的工作站与S1中的服务器不能互通,则表明是S2交换机、S2与S3的连线或者S3交换机的设置引起的。

这时候,按照顺序依次检查并排除即可。

如果网络中的一台工作站出现问题,例如,W3不能访问服务器(或互联网),而网络中其他的工作站都正常,可以按照如下的步骤解决:
(1) 在W3工作站上,使用ping命令,检查是否可以ping通W4或S2或S3交换机,如果能ping通这些工作站或交换机,则表示W3不能访问服务器(或互联网)是服务器端对W3进行了限制。

如果不能ping 通,则进行下面的检查。

(2) 打开“本地”,查看是否出现图3-9的“网络电缆被拔出”的连接,如果出现这种问题,表明是网线问题,或者是连接W3的S2交。

相关文档
最新文档