(测试计量技术及仪器专业论文)基于专家系统的网络故障检测方法的研究及实现.pdf_第1页
(测试计量技术及仪器专业论文)基于专家系统的网络故障检测方法的研究及实现.pdf_第2页
(测试计量技术及仪器专业论文)基于专家系统的网络故障检测方法的研究及实现.pdf_第3页
(测试计量技术及仪器专业论文)基于专家系统的网络故障检测方法的研究及实现.pdf_第4页
(测试计量技术及仪器专业论文)基于专家系统的网络故障检测方法的研究及实现.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(测试计量技术及仪器专业论文)基于专家系统的网络故障检测方法的研究及实现.pdf.pdf 免费下载

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

文档简介

独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 繇翻篁 嗍帅年月乡日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:翌! l 圭 导师签名: 日期:知矽 _ 叼 j 气 摘要 摘要 自上世纪八十年代以来,随着网络的高速发展,在金融、教育等众多领域得 到了越来越深入的应用。网络应用的深入,在提高工作效率的同时,也加深了各 个行业对网络的依赖性,以至一旦出现故障,便会造成难以预计的损失。因此, 有效的网络故障检测方法显得尤为重要。 但是,由于网络协议和环境的复杂性,使得有效的网络故障检测方法设计成 为一个难点问题。本文以设计和实现一套能够自动检测网络故障的方法为目标, 使用t c p i p 模型作参考,针对链路层和网络层,在分析层次功能和重要网络协议 的基础上,对各层常见的2 3 种网络故障的产生原因进行了深入分析,并设计和实 现了检测方法。其中,为了能够实现网络故障自动检测,在实现上参考了专家系 统思想,使用了c l i p s 专家系统工具。主要工作和成果如下: ( 1 ) 网络故障检测方法设计与实现的总体设计。以t c p i p 模型中的链路层 和网络层的协议为线索,分析网络故障检测的设计需求,确定检测方法设计的总 体架构。在专家系统中选择速度优良且便于移植的c l i p s ,作为检测方法实现的 专家系统工具。 ( 2 ) 网络故障检测方法设计。按照t c p i p 模型自下往上的顺序,针对链路 层和网络层设计故障检测方法。其中,链路层围绕错误帧和a r p 协议设计了7 种故障检测方法;网络层围绕m 协议和i c m p 协议设计1 6 种故障检测方法。其 中,由于口分片和重组技术的复杂性,导致分片丢失的检测成为一个难点。本文 设计的通过虚拟分片重组进而检测分片丢失的方法,既高效解决了分片丢失的检 测,又避免了繁琐的分片数据处理,具有较好的实用性。 ( 3 ) 基于专家系统的网络故障检测方法的实现。介绍了专家系统的基本思想, 分析了c l i p s 专家系统工具的工作模式,并选取口分片丢失检测法等3 种典型 的故障检测方法的实现,说明了如何使用c l i p s 专家系统实现网络故障检测。 关键词:网络故障检测,t c p i p ,专家系统,c l i p s _ , t 1 r a b s t r a c t a b s t r a c t e v e rs i n c et h ee i g h t i e so fl a s tc e n t u r y ,w i t ht h er a p i dd e v e l o p m e n t ,n e t w o r kh a s b e e nu s e di nf i n a n c i a l 、e d u c a t i o na n dm o r ea r e a s w i t ht h ei n d 印t ha p p l i c a t i o no f n e t w o r k ,t h ee f f c i e n c yo ft h o s ef i e l d sh a sb e e ni n c r e a s e dv e r ym u c h o nt h eo t h e rh a n d , t h ea p p l i c a t i o no fn e t w o r kh a sd e e p e n e dt h ed e p e n d e n c et on e t w o r k o n c et h en e t w o r k w e r ei nt r o u b l e ,i tw i l lc a u s eag r e a to fl o s s e s f o rt h er e a s o n ,a ne f f e c t i v ed e t e c t i o n m e t h o df o rn e t w o r kt r o u b l ew i l lb ev e r yi m p o r t a n t b e c a u s eo ft h ec o m p l e x i t yo fn e t w o r kp r o t o c o la n de n v i r o n m e n t ,i th a sm a d ea n e f f e c t i v em e t h o dd e s i g nf o rn e t w o r kt r o u b l eb e c o m eat o u g hp r o b l e m t h i sp a p e ra i m s t od e s i g na n di m p l e m e n tas e to fm e t h o d st od e t e c tn e t w o r kt r o u b l ea u t o m a t i c a l l y b y t a k i n gt h et c p i pm o d e l a sam o d e l ,a g a i n s tt h el i n kl a y e ra n dn e t w o r kl a y e r ,b a s e do n i n d e p t ha n a l y s i sa b o u tt h ef u n c t i o no fl a y e r sa n di m p o r t a n tp r o t o c o l s ,w ed e s i g na n d i m p l e m e n t2 3k i n d so fd e t e c t i o nm e t h o d s f o rt h ea u t o m a n i z a t i o no ft h o s en e t w o r k t r o u b l ed e t e c t i o nm e t h o d s ,w ec o n s u l tt h ei d e a lo fe x p e r ts y s t e m ,a n dm a k eu s eo f c l i p se x p e r ts y s t e mt o o l st oi m p l e m e n tt h e m t h em a i nw o r ka n dr e s u l tc a l lb e s u m m a r i z e da sf o l l o w s : ( 1 ) t h et o t a ld e s i g n o fn e t w o r kt r o u b l ed e t e c t i o nm e t h o d sd e s i g na n d i m p l e m e n t a t i o n t a k et h ep r o t o c o l so f l i n kl a y e ra n dn e t w o r kl a y e ri nt c p i pm o d e la s ac l u e ,w ea n a l y s i st h ed e s i g nr e q u i r m e n ta b o u tn e t w o r kt r o u b l ed e t e c t i o n ,a n dd e c i d e t h et o t a la r c h i t e c t u r e b e c a u s eo fq u c i ks p e e da n de a s yt op o r t ,w ec h o o s ec l i p s 嬲 e x p e r ts y s t e mt o o l st oi m p l e m e n tt h em o t h o d sw ed e s i g n e d ( 2 ) t h ed e s i g no fn e t w o r kt r o u b l ed e t e c t i o nm e t h o d a c c o r d i n g t ot h es e q u e n c e f r o md o w nt ou pa b o u tt c p i pm o d e l ,w et a k ed e s i g nf o rl i n kl a y e ra n dn e t w o r kl a y e r t r o u b l ed e t e c t i o n a b o u tl i n kl a y e r ,w ec o r l c e r ne n o rf r a m ea n da r pp r o t o c o la n d d e s i g n7k i n d so fn e t w o r kt r o u b l ed e t e c t i o nm e t h o d s a b o u tn e t w o r kl a y e r , w e d e s i g n e d16k i n d so ft r o u b l ed e t e c t i o nm e t h o d sa r o u n di pa n di c m pp r o t o c 0 1 b e c a u s e o ft h ec o m p l e x i t ya b o u ti pf r a g m e n t a t i o na n dr e a s s e m b l e ,i th a si n d u c e dt h ed e t e c t i o n o fi pf r a g m e n t a t i o nb e c o m ead i f f i c u l tp o i n t h e r ew ed e s i g nam e t h o dw h i c hd e t e c t s i i i pf r a g m e n t a t i o nm i s s i n gb yv i r t u a li pf r a g m e n t a t i o nr e a s s e m b l e t h i sm e t h o di sn o t o n l ye f f e c t i v e ,b u ta l s oc a na v o i dc u m b e r s o m ed a t ac o n d u c tf o rt h ei pf r a g m e n t a t i o n ( 3 ) t h ei m p l e m e n t a t i o no fn e t w o r kt r o u b l ed e t e c t i o nm e t h o dw h i c hi sb a s e do n e x p e r ts y s t e m h e r ew ei n t r o d u c et h eb a s i ct h o r ) , o fe x p e r ts y s t e m ,a n a l y s et h ew o r k p a t t e r no fc l i p se x p e r ts y s t e mt o o l s ,a n dc h o o s ei pf r a g m e n t a t i o nm i s s i n gd e t e c t i o n e t c 3k i n d so ft y p i c a ln e t w o r kt r o u b l ed e t e c t i o nm e t h o d st oe x p l a i nh o wt ob s ec l i p s t oi m p l e m e n tn e t w o r kt r o u b l ed e t e c t i o n k e y w o r d s :n e t w o r kt r o u b l ed e t e c t i o n ,t c p i p , e x p e r ts y s t e m ,c l i p s i 目录 目录 第一章绪论l 1 1 研究背景1 1 2 国内外研究现状2 1 3 本文的主要工作3 1 4 本文的章节安排。4 第二章需求分析及方案选择 5 2 1 任务需求分析5 2 2 方案设计6 2 3 软件架构7 2 4 本章小结8 第三章网络故障检测方法设计9 3 1 网络故障检测方法设计原理9 3 2 链路层故障检测方法设计1 0 3 2 1 错误帧检测方法设计1 0 3 2 2a r p 协议故障检测方法设计1 2 3 3 网络层故障检测方法设计1 6 3 3 1 口协议故障检测方法设计1 6 3 3 2i c m p 协议故障检测方法设计设计2 7 3 4 本章小结4 l 第四章基于专家系统的网络故障检测模块的实现 4 1 专家系统简介4 3 4 2c l i p s 专家系统工作模式分析4 4 4 3c l i p s 专家系统检测网络故障的实现4 9 4 4 本章小结5 4 第五章软件测试与调试 5 1 软件测试与调试的基本概念和方法5 5 5 2 常见问题及解决方案5 6 i v 目录 5 3 本章小结 第六章结论与展望 致谢。 参考文献 攻硕期间取得的研究成果 v 第一章绪论 1 1 研究背景 第一章绪论 自上世纪八十年代以来,随着计算机网络的高速发展,网络在政治、军事、 商业、教育等领域得到了广泛的应用。并且随着应用的深入展开,各行各业对计 算机网络的依赖性愈加提高,以致一旦网络出现故障得不到检修,不仅会对日常 的工作造成影响,更会对事关国计民生的军事、通信、金融等领域造成不可估量 的损失。 但是,随着网络的告诉发展,无论从网络规模还是网络协议以及业务的复杂 性,都导致了网络故障的复杂。其中,导致网络故障的原因可以分为五大类【l 】: 第一,网关人员的差错。由该差错所造成的网络故障占到总故障的比例大于 5 ,这些差错既可能是由于某些日常工作中的行为引起,例如管理人员没有严格 遵守操作守则,而省略某些在他们看来不必要的步骤,从而间接地导致故障的产 生;或是管理人员对于某些步骤不够重视,从而引起设备的安装配置错误。第二, 海量存储问题。海量的存储故障大概占到2 6 以上,这是由于海量的存储会导致 硬盘需要经常更换,这种过于频繁的位置更改会降低海量硬盘的使用寿命,而主 要在服务器中使用的海量硬盘,其所经常面对的搜索执行,也会降低硬盘的使用 寿命。第三,计算机硬件问题。计算机硬件失效引发的网络故障,大约占到2 5 以上,这是由于计算机上组件较多,系统越复杂,单个错误或是相互间的影响越 多,进而降低网络通信的有效性。第四,软件问题。软件问题通常会引发系统故 障,从而导致网络故障,这种问题,大概占据了网络故障的四分之一。这主要是 因为现在占据主要地位的c s 工作模式和分布式应用,导致软件之间的协同变得 非常复杂;同时,在多种网络中,无论内部网络、外部网络、局域网或是广域网, 软件的更新换代越来越快,从而使得很难有充足的时间来检测软件的有效性和可 靠性。复杂的协作方式,加上高速的更新速度,导致了软件原因引发大量的网络 故障。第五,网络问题。由网络硬件和软件故障引发的网络故障,大概可以占据 到网络故障的三分之一以上。这样的高比例,是由于决定网络有效工作的硬件和 软件设备多而复杂,任何一处出现问题都会引发网络故障。其中,常见的原因有: 电子科技大学硕士学位论文 线缆、网卡损坏;以太网冲突,校验和错误等硬件问 系统软件的错误,也极易引发网络故障。以上五种原 身原因,再到软硬件设计上的缺陷,都引发了网络故 从上面的分析可见,引发网络故障的原因是多种 断和修复是非常复杂的,必须借助专业的工具。因此, 已经成为国内外众多公司、研究机构关注的热点。但 断与修复工作时,由于网络环境的复杂性,以及多样 人员需要有着专业的知识和丰富的经验。这在各个行 求的急切和普通工作人员在经验积累上的长期性两方 若是能将智能化技术应用在网络故障诊断工具上 知识,会大大提高诊断工作的效率,缩减诊断时间, 小化。因此,能否拥有智能化的诊断技术,决定了一 本文在研究网络链路层和网络层的工作原理的基 障形成的原因,设计出相应的检测方法,并结合人工 现多种网络故障的智能化检测。 1 2 国内外研究现状 当前,国内外有多家公司和研究机构对基于专家 行研究和产品化。其中,在国际网络分析仪器领域处于领先地位的当属福禄克公 司,而在国内具有代表性的是科来软件公司。下面通过两个公司的典型产品来介 绍网络故障检测的国内外发展现状。 福禄克公司是美国丹纳赫集团公司的子公司,专门研究网络测试、维护以及 检测,是一个专业型公司,也是行业中的领先者。其中,该公司的o p t i v i e w 系列 网络分析仪,集成网络搜索、流量分析、协议分析三种手段,能够全方位地检测 网络中的运行状况和故障。其上集成的专家分析选件,在o p t i v i e w 分析仪捕获数 据包的基础上,进行网络故障的自动分析,从而提供故障信息建议,以便工作人 员实现网络故障的快速排查。按照t c p i p 模型的分层方式,能够检测的故障有【3 】: ( 1 ) 链路层:广播风暴、错误源m a c 。 ( 2 ) 网络层:m s t 故障、i c m p 错误。 ( 3 ) 传输层:不响应的工作站、s y n 攻击、t c p i p 确认超时、校验和错误、 窗口冻结。 2 第一章绪论 ( 4 ) 应用层:过量a r p 、服务器反应过慢、n f s 故障、h t f p 响应错误。 国内的科来软件公司成立于2 0 0 1 年,以网络分析技术为核心,致力于网络故 障解决、主动防御网络安全等方面的工作。其中,科来网络分析系统6 9 版是科 来公司具有代表性的一款产品,该产品具有网络信息采集、解码、协议分析等多 种功能,可以进行网络监测、故障定位、专家诊断等多种操作。其中的专家诊断 参照t c p i p 模型,使用捕获的数据报进行智能化分析,对可能出现的网络故障进 行自动提示,来加速工作人员的故障排查。可以检测的故障有【4 】: ( 1 ) 链路层:a r p 太多无请求应答、a r p 请求风暴、a r p 扫描。 ( 2 ) 网络层:i c m p 错误、p 校验和错误、生存周期太短、分片丢失、零广 播地址以及地址冲突。 ( 3 ) 传输层:t c p 连接错误、重传错误、慢应答、t c p 窗口错误。 ( 4 ) 应用层:d n s 错误、h t r p 请求错误、p o p 3 错误、s m t p 错误。 而本文研究的故障检测方法,以t c p i p 模型为参照,已经设计并实现的有: ( 1 ) 链路层:短帧、长帧、校验和错误、延迟碰撞四个错误帧故障,a r p 请求风暴、a r p 扫描、a r p 无请求应答检测法。 ( 2 ) 网络层:d 生命值过短、零值广播、路由回环、冲突、校验和错误、p 分片丢失检测、i c m p 错误、p i n g 攻击检测、i c m p 放大攻击检测、i c m p 洪泛 攻击检测。 从上面的对比可以看出,本文研究的故障检测方法,在链路层上多出了错误 帧的检测。在网络层上则更加丰富,尤其是增加的口路由回环和i c m p 洪泛攻击 的检测,使得网络层的故障检测,更加有效。 但是,针对t c p i p 模型自下而上的链路层、网络层、传输层、应用层四个层 次。福禄克公司的o p t i v i e w 系列网络分析仪和科来软件公司的网络分析系统不仅 能够检测链路层和网络层的故障,还能检测传输层和应用层,这是我们今后研究 的方向。 1 3 本文的主要工作 本文参照t c p i p 模型,以其上链路层和网络层的故障检测方法的研究和实现 为目标。首先分析了两个层次的工作原理和多个重要协议,如a r p 协议、口协 议、i c m p 协议的工作方式。继而深入研究两个层次上多种故障产生的原因。在 此基础上,以t c p i p 分层为线索,对于链路层,围绕错误帧和a r p 协议设计网 电子科技大学硕士学位论文 络故障检测方法共7 种;对于网络层,围绕口协议和i c m p 协议,设计网络故障 检测方法共1 6 种。并对专家系统工具c l i p s 的工作方式进行深入分析,在此基 础之上,结合之前故障检测方法的设计,使用c l i p s 专家系统对各个检测方法进 行实现,并对方法的有效性做出了验证。最后,针对调试中出现的一些问题给予 了论述。 1 4 本文的章节安排 第一章为概论。介绍了文章的研究背景,国内外网络故障检测的研究现状, 介绍了本文所设计和实现的网路故障检测方法,并给出了论文的主要研究内容和 章节安排。 第二章为需求分析及方案设计。通过分析整个网络故障检测方法设计和实现 上的特点,对专家系统工具进行选取,并给出了整个网络故障检测软件的架构。 第三章为网络故障检测方法设计。这是论文中最为核心的一章。本章从介绍 网络的t c p i p 模型开始,深入分析了链路层和网络层中多个协议的工作原理,并 深入了这两个层次上常见故障的原因和机理,在此基础上,针对链路层上的错误 帧和a r p 协议,设计了7 种故障检测方法;针对网络层上的p 协议和i c m p 协 议,设计了1 6 中故障检测方法。其中,围绕a r p 协议设计缺陷和p i n g 设计缺 陷设计的a r p 无请求应答检测和i c m p 放大攻击检测,以及通过“虚拟重组”的 思路设计的分片丢失检测法,是所有故障检测方法中的难点和重点。 第四章为基于专家系统的网络故障检测模块的实现。本章首先介绍了专家系 统,并分析了专家系统工具c l i p s 的工作方式。在此基础上,结合第三章中的网 络故障检测方法的设计思路,使用c l i p s 专家系统对多种网络故障检测方法进行 实现,并以p 分片丢失检测、i c m p 洪泛攻击检测和p 路由回环作为代表进行实 现的分析和验证,证明了本文设计的网络故障检测方法的有效性。 第五章为软件测试与验证。首先介绍了软件测试的常用方法,并在此基础之 上,针对常见的问题,给出了解决方法。 第六章为总结与展望。总结了全文所做的工作,并对以后网络故障检测方法 的设计与实现的更进一步开发提出了自己的见解。 4 第二章需求分析及方案选择 第二章需求分析及方案选择 本章从任务需求分析开始,对整个网络故障检测方法的原理和设计所需要完 成的工作进行分析。并对多款专家系统工具进行对比,最后选定c l i p s 专家系统 作为论文网络故障实现部分所使用的专家系统工具。为了方便对全文工作的理解, 给出实现部分的软件架构。 2 1 任务需求分析 本文论述基于专家系统的网络故障检测方法的研究及实现,主要针对t c p i p 模型中的链路层和网络层进行网络故障检测设计,为理解检测方法的设计思路, 首先要进行两个层次网络和重要协议工作原理的分析。在此基础之上,深入分析 链路层和网络层上常见网络故障产生的原因,由此有针对性地进行检测方法的设 计。最后,使用选定的专家系统工具实现设计好的网络故障检测方法。因此,需 要完成以下几个部分的工作: ( 1 ) 网络工作原理分析:以实际的工业标准t c p i p 模型为参考,对链路层、 网络层、传输层、应用层逐层介绍其主要功能,对本文的对象链路层和网络层的 工作进行深入分析。分析工作主要集中在对链路层a r p 协议,网络层口协议和 i c m p 协议工作原理的分析,因为该协议是这两个层次中最为重要的协议,也是 网络故障最容易发生之处; ( 2 ) 网络故障检测方法设计:在上一部分分析了网络工作原理的基础上,这 个部分分析链路层和网络层中各个网络故障产生的原因,并据此设计检测方法。 故障产生原因和检测方法的设计都按照网络层次和各个层次中的协议的顺序进 行。其中,将要针对链路层设计的故障检测方法有:对短帧、长帧、错误校验和、 延迟碰撞四个帧错误的错误帧检测法;对链路层中a r p 协议设计的a r p 请求风 暴检测法、a r p 扫描检测法、a r p 无请求应答检测法。对网络层的故障检测方法 设计主要围绕该层的口协议和i c m p 协议展开。其中,针对d 协议的检测方法 有:d 生命值过短、口零值广播、p 路由回环、d 冲突、口校验和错误、口分 片丢失检测6 种网络故障检测方法;针对i c m p 协议设计的检测方法有:i c m p 网络故障检测方法。 故障检测方法。 2 2 方案设计 从上个世纪七十年代以来,专家系统技术得到了高速的发展,并涌现出众多 的专家系统工具,下面对其中重要的系统工具进行介绍,并根据实际需要选定合 适的工具。 1 、m y c i n 专家系统 m y c i n 是早期的一款专家系统,最先由斯坦福大学研制成功,在专家系统 历史上具有重要的地位。m y c i n 之所以重要有几个原因:( 1 ) 它证明了人工智 能在医疗诊断中可以进行有效判断;( 2 ) m y c i n 专家系统在当时引入了很多新 概念,例如解释机、自动获取知识等,这些概念对后续的多种专家系统工具的研 制起到了重要的指导作用;( 3 ) m y c i n 专家系统,展示了将专家系统程序中推 理操作部分和推理数据分离的可能性,对后来的多种专家系统工具的研究指出了 可行的方向。因此,m y c i n 专家系统是一款具有代表性的专家系统。 但是m y c i n 作为一种专用于用于细菌感染诊断的医疗专家系统,属于领域 专用专家系统,不具备通用性。并且,由于使用i n t e r l i s p 语言编写,运行效率 低,且移植性差,在今天已很少使用。 2 、e x s y s 专家系统 e x s y s 专家系统最早于1 9 8 3 年研制成功,是一款强大、通用的专家系统工具, 可以用于在企业经营管理等多个领域建立相应的专家系统,以提供专家建议。 e x s y s 可以通过问答的方式与外界通信,使用收集到的信息建立推理规则,即便 是非常复杂的流程,e x s y s 也可以通过逻辑图或是规则的方式加以描述。并且, 6 r 一 第二章需求分析及方案选择 e x s y s 还是少数可以通过网页运行的专家系统,这个特点,使得在网络应用高度 发达的今天,e x s y s 的便捷性得到了充分的体现。 但是,e x s y s 作为一款商业专家系统软件,不仅初期费用高,而且后期的运 行成本也不菲,因此,不是方案中的首选。 3 、c l i p s 专家系统 c l i p s 的全称是“cl a n g u a g ei n t e g r a t e dp r o d u c t i o ns y s t e m ,中文意为:c 语 言集成产生式系统【竭。最早于1 9 8 5 年由美国航空航天局约翰逊太空中心设计并 实现,经过2 0 多年的发展,至今已经出现第六代版本。c l i p s 是一款多范例编程 语言的专家系统工具,可以支持基于规则、面向对象和过程三种编程方式。 c l i p s 专家系统使用c 语言开发,因此具有较快的速度和良好的可移植性。 同时,c l i p s 的一大优点在于它既是开源的免费软件,又提供了完备的源程序说 明文档和全面的编程指导手册,完全能够满足本文在实现网络故障检测方法实现 中的需要。 因此,基于以上介绍的优点,本文选取c l i p s 作为实现网络故障检测方法的 专家系统工具。 2 3 软件架构 针对论文中的网络故障检测方法实现部分,提出软件架构设计。在实现中, 主要分为网络信息的提取部分、c 语言模块与c l i p s 专家系统通信部分和c l i p s 专家系统三大部分,总体架构如图2 1 : 网络信息提取 按故障类别提取 输入推理数据 网路信息 。fc 语言与c l i p s 专家系卜一 统通信 输出推理结果 c l i p s 专家系统 图2 - 1 网络故障检测方法实现部分总体架构图 各个部分的主要功能如下: ( 1 ) 网络信息提取部分:这个部分根据具体设计的各个网络故障检测方法的 实际需要,从网络数据报中提取相关数据信息,并输入到c 语言模块与c l i p s 专 家系统的通信部分; ( 2 ) c 语言模块与c l i p s 专家系统通信部分:这个部分又分为输入和输出 7 电子科技大学硕士学位论文 两个部分。输入部分根据网络信息提取部分输入的具体网络故障检测方法的数据, 使用c l i p s 输入接口,将相应的数据输入c l i p s 专家系统用于推理判断,实现具 体的网络故障的检测。输出部分在c l i p s 专家系统推理结束后,将推理结果输出 至c 语言模块; ( 3 ) c l i p s 专家系统:根据c 语言模块输入的网络信息,进行相应的推理, 以实现网络故障。并在检测推理结束后,将推理结论输出到c 语言模块。 2 4 本章小结 本章从任务需求分析开始,提出基于专家系统的网络故障检测方法的研究与 实现要从三个部分开展:网络工作原理的分析、网络故障检测方法的设计、网络 故障检测方法的实现与验证。在对m y c i n 、e x s y s 、c l i p s 三个专家系统工具的 优缺点进行分析之后,选定了c l i p s 作为本文实现网络故障检测方法所使用的专 家系统。最后给出了整个网络故障检测方法实现的软件架构。 一一 第三章网络故障检测方法设计 第三章网络故障检测方法设计 网络故障检测方法设计是整个网络故障检测软件的基础,也是本文论述的核 心。按照o s i 模型,网络分为七个层次,而在实际实现的t c p f l p 协议模型中, 分为四个层次。按照t c p i p 模型作为参考,本文设计的故障检测方法,针对第一 层链路层和第二层网络层。其中,对于链路层,分析了由错误帧和a r p 协议引发 的故障的检测的方法设计;对于网络层,分析了由i c m p 协议和d 协议引发的故 障的检测方法的设计。 3 1 网络故障检测方法设计原理 在实际实现的网络中,使用的是t c p i p参考模型。本文设计的网络故障 检测方法,则以t c p i p 模型为参考,针对其中的链路层和网络层设计故障检测方 法。 网络故障的设计,首先介绍了t c p i p 模型各层,尤其是链路层和网络层的功 能,进而分析链路层和网络层上主要协议的工作原理和其中的重要字段。其中, 链路层上重点分析了a r p 协议,网络层上重点分析了p 协议和i c m p 协议。在 理解了链路层和网络层工作原理的基础之上,本文以网络层次和协议为线索,通 过深入分析各个层次和协议上的常见故障的产生机理,有针对性地提出故障检测 方法的设计,最后通过流程图的方式给出描述。下面先对t c p p 模型进行介绍: t c p i p 模型是实际上的网络模型,它的层次结构和各层重要协议如图3 1 : 应用层 f t p 、t e l n e t 、 e m a i l 等 传输层 t c p 、u d p 网络层 i p 、i c m 口 链路层设备驱动、a r p 图3 - 1t c p i p 模型 按照从下到上的顺序,各个层次的作用依次为2 4 】: ( 1 ) 链路层:链路层也称为数据链路层,实现上包括了设备驱动和网卡,功 能上主要负责数据包的发送和接收。链路层中重要的协议有a r p 协议。 9 电子科技大学硕士学位论文 ( 2 ) 网络层:网络层也称为互联网层,主要负责报文在网络中的路由等活动, 主要负责将各个报文独立地送达它的目的主机。网络层中重要的协议有p 协议和 i c 脚协议。 ( 3 ) 传输层:传输层也称运输层,主要是为主机之间提供端到端的通信,以 实现应用程序间的通信。重要的协议有t c p 协议和u d p 协议。 ( 4 ) 应用层:应用层是互联网用户直接面对的一层,由多种实际使用的应用 程序组成,常见的应用层程序如t e l n e t 远程登录,f t p 文件传输协议等。 在介绍了t c p i p 模型的基础上,下面按照从下至上的顺序,依次对链路层和 网络层中重要的协议进行分析,并据探讨其上常见网络故障的产生原因,并有针 对性地提出检测方法。 3 2 链路层故障检测方法设计 数据流在链路层中以帧的方式进行传输,其中主要的协议是a r p 协议。因此, 对于链路层的故障检测的设计,从错误帧和a r p 协议故障这两个方面进行分析。 3 2 1 错误帧检测方法设计 在不同的网络中,链路层的实现方式不同,本文主要针对常用的以太网的链 路层的故障检测方法进行设计。根据r f c 8 9 4 ,正常以太网封装的帧如图3 - 2 2 4 】: 图3 - 2 以太网帧 其中,目的地址是目的主机的m a c 地址,源地址是发送主机的m a c 地址。 根据类型字段取值的不同,以太网帧中4 6 , - - 1 5 0 0 字节的数据可以表示口数据报、 a r p 请求应答报文,或是r a r p 请求应答报文。c r c 字段则用于帧内字节差错 的循环冗余校验和。 由上面对以太网帧的分析可知,一个正常的帧,大小应该在6 4 - - , 1 5 1 8 字节, c r c 校验和正确。但是,在实际的网络环境中,有可能因为网路的故障而使得帧 在传输中出现碰撞,进而产生错误,常见的错误类型及其成因有四类: ( 1 ) 短帧:正常的以太网大小为6 4 字节至1 5 1 8 字节,因此,小于6 4 字节, 没有c r c 校验和错误的故障帧为短帧。短帧的发生,往往是因为网卡有故障。 ( 2 ) 长帧:相对于小于6 4 字节为短帧,大于1 5 1 8 字节的错误帧为长帧。长 l o 第三章网络故障检测方法设计 帧的发生,常见的原因有两个:网络中出现接地,从而使网线中产生直流电流, 或是网卡出现损坏。 ( 3 ) 错误c r c :c r c 校验和出现错误的故障帧为错误c r c 帧。错误c r c 的出现,往往是因为网络中存在噪声干扰或是网卡出现故障。 ( 4 ) 延迟碰撞:碰撞发生在帧的前6 4 字节之后的数据包。延迟碰撞的产生, 通常是因为网卡故障。 通过以上对错误帧成因的分析,可以设想:通过对于短帧、长帧、错误c r c 以及延迟碰撞的检测,便可以进而推知网络中的故障情况。但是,在网络中发生 冲突进而已发上述错误帧,在为数不多时,属于正常现象。因此,为了通过对于 错误帧的检测,从而有效地判断网络的故障情况,在设计上,采取计算比例的方 法:在一定时间内,计算以上四种错误帧各自出现的次数占据该时间段内总帧数 的比例,当某种错误帧数在总帧数中的比例超过了一定的阈值,则认为出现了错 误帧故障,进行报错。错误帧故障的检测围绕这个思想进行设计。 因为这四个错误帧的检测思路一致,因此,下面通过对短帧的故障检测设计 进行分析来说明错误帧故障的检测。短帧故障检测流程如图3 3 : q 耍亟圃 , 巨至蜜 0 积面圃 图3 3 短帧故障检测 整个流程按照上面论述的思想设计,其中需要注意的有几点: 1 l 电子科技大学硕士学位论文 ( 1 ) 因为每种错误帧的第一帧的到达时间通常不同,所以四种错误帧,每种 错误帧的检测使用一个独立的计时器,如上面的短帧,使用了一个短帧计时器: ( 2 ) 图中的总帧数,对于每种错误帧是独立的,它在相应的错误帧出现以后 才开始计数,到时判断故障之后,便会清零,为下一轮的判断做准备。这也是因 为各种错误帧第一帧的到达时间不同,而总帧数需要体现某种错误帧第一个到达 到计时结束时间段内的帧总数的原因。 3 2 2a r p 协议故障检测方法设计 a r p 协议是链路层中的重要协议。要理解憎协议,首先必须理解物理地 址和d 地址。物理地址烧写在网卡上,通过为网卡分配唯一的物理地址来区别各 台主机,是局域网中进行通信时,在网络底层的物理传输过程中,用以识别源主 机和目的主机的地址。地址是整个因特网中统一的地址,其设计的目的是为了 屏蔽掉物理网络细节,让高层软件只使用m 地址,使整个因特网在逻辑上成为一 个整体。这样,不同的机构分配有一定的p 地址,就可以使用不同物理地址的主 机接入因特网,这样即使更换了网卡,使用了不同的物理地址,也不会影响通信。 在因特网中,每台主机分配有一个口地址,当需要向某台主机通信时,使用 逻辑上的d 地址,但是实际报文在物理网路上的传送使用物理地址,因此便需要 一个协议进行从p 地址到物理地址的转换,这便是a k p 协议。 p j 王p 协议的工作原理为:每台主机上有一个a r p 缓存表,上面有着一对一 的口地址与物理地址的信息。当一台主机a 向主机b 发送数据时,会在表中通 过主机b 的地址查找其物理地址。找到,使用该物理地址发送数据报。当找 不到时,主机a 便会在整个网络中发送一个广播形式的a r p 请求,上面有主机 a 的地址、物理地址以及需要查询的主机b 的d 地址,其余主机不理会这个 请求,只有主机b 在收到a r p 请求后,会给主机a 回复一个创婢应答,上面带 有自己的物理地址,从而主机a 更新自己的缓存表,并与b 进行通信。 在以太网中,6 时的数据报格式如图3 4 2 4 】: 目的源地帧类硬件协议硬件协议 o p 发端发端目的目的 地址址型类型类型地址地址物理方物理p 地 长度长度地址地址地址 址 图3 _ 4 以太网的a r p 请求应答报文 ,前三个字段是以太网首部。目的地址表示目的端的以太网址,当该触强 1 2 第三章网络故障检测方法设计 报文为请求报文时,目的地址设置为全1 的广播地址,即f f :f f :f f :f f :f f :f f 。源 地址为发端的物理地址。帧类型表示以太网首部后面的数据类型。 硬件类型字段表示物理地址的类型,如1 为以太网。协议类型字段则表示要 转换的协议的类型,如0 x 0 8 0 0 表示口协议。o p 字段是很重要的个字段,根据 它取值的不同,可以判断该a r p 报文为请求报文( 取1 ) 或是应答报文( 取2 ) 。 后续四个字段分别表示发送方物理地址、发送方口地址,接收方物理地址( 在 a r p 请求报文中为待填充) 和接收方p 地址。通过这四个字段,即可明确建立 通信的两台主机。 经过上面的分析可知,a r p 请求和应答报文的具体格式如图3 5 和3 - 6 【2 4 j : 全i 源地 1l 址 0 x 0 8 0j6j4j1 j 发端物l 发端方j 待填j 目的p o ili 理地址im 地址i 充i 地址 图3 5 a r p 请求报文 i 目的地源地 o x 0 81o x 0 8 0642发端物 发端方目的物目的口 i 址址0 6 0 理地址p 地址理地址地址 i 图3 - 6 a r p 应答报文 在介绍完a r p 协议的工作原理后,下面分析由a r p 协议引发的网络故障。 其中最常见的有a r p 扫描、a r p 请求风暴和a r p 无请求应答。a r p 扫描和请求 风暴的产生原因较为相似,一起论述,a r p 无请求应答单独论述。 ( 1 ) a r p 扫描和a r p 请求风暴 上面介绍过,a r p 数据报分为a r p 请求数据报和a r p 应答数据报,在正常 的网络通信中,当出现请求数据报之后,相应的主机会回应a r p 应答数据报,两 者的数量相当。 在一定时间内,当a r p 请求包占到口数据报总量中过高的比例时,网络有 可能受到了a r p 扫描攻击,扫描攻击的实质是a r p 请求数据报数量大大超过了 应答数据报,这一点,通过请求数据报与应答数据报数量之差与请求数据报数量 的比值来判断。 当a r p 请求包在d 数据报中达到一个更高的比例,就可能发生了a r p 请求 风暴,这时,关注的焦点已经从a r p 请求数据报与应答数据报的比较,转到了 a r p 请求数据报在网络中出现的数量,因为此时的a r p 请求数据报的数量有可 能出现到一个过于大的值,从而极大地占据着网络中的带宽。 这两种故障,都会造成网络资源被a r p 请求数据报极大地占据,进而影响正 电子科技大学硕士学位论文 常的通信,并可能在随后出现a r p 欺骗

温馨提示

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

评论

0/150

提交评论