APP下载

网络可用性提高的机制、分析与量化评估①

2011-11-02李冬艳陈建峡田立勤

华北科技学院学报 2011年1期
关键词:网络故障可用性网络系统

李冬艳陈建峡田立勤

(1.湖北工业大学计算机学院,湖北武汉 430068;2.华北科技学院计算机系,北京东燕郊 101601)

网络可用性提高的机制、分析与量化评估①

李冬艳1,2②陈建峡1田立勤3

(1.湖北工业大学计算机学院,湖北武汉 430068;2.华北科技学院计算机系,北京东燕郊 101601)

随着网络应用的不断普及,网络系统的中断所造成的代价和影响与日俱增,网络的可用性被认为是网络安全的一个重要方面,因此人们对作为业务支撑平台的网络可用性要求也越来越高。目前拒绝服务比较猖獗,可用性并不能阻止拒绝服务攻击,但可用性服务可用来减少这类攻击的影响,并使系统得以正常运行。本文主要论述网络可用性概念,网络可用性机制的评价标准,提高网络可用性的四种机制,并对这四种的机制进行了比较,最后给出了如何量化评估网络可用性的公式和例子,为提高网络可用性奠定理论和实践基础。

网络可用性;实现机制;评价标准;量化评估

0 引言

随着网络应用的不断普及,网络系统的中断所造成的代价和影响与日俱增,网络的可用性被认为是网络安全的一个重要方面,因此人们对作为业务支撑平台的网络可用性要求也越来越高。例如,当我们正在参加美国计算机学会ACM在线程序设计大赛的时候,如果在提交竞赛程序代码期间网络不可用,那么我们为此而付出的精心准备和自己完成的成果就会随着网络的中断而付之东流。目前拒绝服务比较猖獗,可用性并不能阻止拒绝服务攻击,但可用性服务可用来减少这类攻击的影响,并使系统得以正常运行。造成网络系统不可用的因素较多,主要包括硬件故障、软件故障、数据故障、人为引起的配置不当故障、网络攻击引起的拒绝服务故障和环境引起的设备故障等。

网络可用性是指网络可以提供正确服务的能力,它是为可修复系统提出的,是对系统服务正常和异常状态交互变化过程的一种量化,是网络可以被使用的概率。它是可靠性和可维护性的综合描述,网络可靠性越高,可维护性越好则可用性越高。

网络系统可用性并不是单纯的网络设备、服务器或节点的通断,而是一种综合管理信息,以反映支持业务的网络是否具有业务所要求的可用性。网络系统的可用性包括:链路的可用性,交换节点的可用性(如交换机和路由器),主机系统的可用性,网络拓扑结构的可用性,电源的可用性以及配置的可用性等。系统整体的可用性要考虑木桶原理,可用性最低的网络设备、服务器或节点是整个系统可用性的关键点。

网络可用性A用下列公式计算:

其中MTBF(Mean Time Between Failure)为平均故障间隔时间,它反映了网络系统的可靠性,取决于网络设备硬件和软件本身的质量,在MTTR一定的情况下,它越大网络的可用性越大。MTTR(Mean Time To Repair)为平均修复时间,它反映了网络系统的可维护性,在MTBF一定的情况下,它越小网络的可用性越大。

高可用性的网络首先确保不能频繁出现故障,即使出现很短时间的网络中断,都会影响业务运营,特别是实时性强、对丢包和时延敏感的业务,如语音、视频和在线游戏等。其次,高可用性的网络即使出现故障,也应该能很快恢复。如果一个网络一年仅出一次故障,但故障需要几小时,甚至几天才能恢复,那么这个网络也算不上一个高可用性的网络。

通常,厂家用“9”表示法来表示网络的可用性。可用性的“9”表示法及其故障时间对比情况如表1所示。注意:多少个9的可用性与实现代价紧密相关,因此,要在可用性和费用之间做好折中选择。

表1 可用性的表示法及其故障时间对比

1 网络可用性机制的评价标准

网络可用性机制的评价标准包括所采取的机制对网络可靠性和可维护性的提高程度,在提高可用性时所付出的代价和对系统性能的影响,以及对可用性的提高是否可以进行量化评估与分析。评价标准可以分以下几部分:

1)对可靠性的提高

这个评价标准是看所采取的措施是否有利于提高平均故障间隔时间(MTBF),即保证网络在规定时间内不出故障或少出故障,主要的措施避错和容错机制。

2)对可维护性的提高

这个评价标准是看所采取的措施是否有利于降低平均修复时间(MTTR),即网络出了故障要能迅速修复,主要的措施是快速检错和快速排错(恢复)。

3)考虑机制的复杂性对系统性能的影响

为了提高网络系统的可用性,需要在网络设备,软件开发和管理上要做更复杂的设计、制造工艺和容错措施等,这些措施直接影响到网络的性能,因此要考虑提高可用性机制的复杂性与对系统性能的影响,找到合理的折中方案。

4)可用性的量化评估

对于给定的各个部件的可用性,要能定量计算出整个系统的可用性,并给出改进的建议。通常要考虑两种情况:一种是设计时的考虑:对关键路径可用性值的理论估算;另一种是网络维护时的考虑:从用户的角度出发对实际服务可用性的测量。关键路径可用性值的理论估算采用:从元件的可靠性到由元件组成的设备的可靠性,再到由设备组成的网络系统的可用性的估算递进过程。其中元件可靠性包括元件的平均故障间隔时间MTBF和平均修复时间MTTR。

2 网络可用性提高的机制与评价

从公式1可知,提高系统可用性主要从两个方面着手解决,一是增加MTBF,二是减少MTTR。增加MTBF的主要措施包括避错和容错两种方法,减少MTTR的主要措施包括检错和排错(恢复)两种方法。因此提高系统可用性的主要措施有避错、容错、检错和排错四个方面:避错和容错可以提高系统的可靠性,检错和排错可以提高系统的可维护性。

2.1 基于避错方法提高网络的可用性与评价

2.1.1 避错机制

避错就是通过改进硬件的制造工艺和设计,选择技术成熟可靠的软硬件等策略来防止网络系统的错误产生,从而提高网络的可靠性,并通过可靠性来提高网络的可用性,追求网络系统的完美性。通俗讲就是让网络不出现故障或者使出现故障的概率达到最低。避错方法包括各种硬件、软件和管理措施。硬件避错方法是通过改进硬件的制造工艺和设计,防止错误的产生,包括网络中电气系统的避错、网络设备的避错、服务器的避错和网络中传输媒体的避错等。软件避错方法包括形式说明、过程管理、软件测试和程序设计技术选择等,例如网络应用系统的避错和成熟可靠的网络操作系统的使用等。管理避错方法要求网络运行管理要严格按照规范进行,包括制度建设、任务分配、设备标识、规范文档记录、各种软硬件日常维护和网络安全管理标准等,例如管理信息存储的避错、网络中网络结构选择的避错和日常网络管理的避错等。

2.1.2 避错机制的评价

避错是提高网络可用性的方法之一,有其自身优点和不足,在实际应用中要注意下列问题:

●网络是一个综合系统,在研究避错方法时要将木桶原理应用到整个避错措施中,要重点考虑单点失效以及最容易失效的部分。

●不同的避错要求付出的代价可能差别很大,因此也要考虑实用性,以获得较高的性价比。

●各种避错功能的设计工具为避错技术的应用提供了有力保证。

●随着高性能计算机规模的扩大,功耗也越来越大,在避错设计中系统的热设计越来越受到重视。

●网络是由硬件、软件组成的一个有机整体,硬件与软件之间相互依赖、相互作用,因此为了提高网络系统的可靠性,必须从软硬件综合系统的角度来认识问题。

●在软件设计中,从开始调研到最终的系统形成,错误的影响是发散的,所以要尽量把错误消除在开发前期阶段。

●按照网络结构的不同层次进行避错的设计,比如对同一个企业网来说,核心层要求较高的避错措施,汇聚层次之,而接入层基本上不需要考虑。

●在选择网络设备时要尽可能选择技术成熟

的设备、成熟的软件、利用成熟的技术、采

用先进的设计思想和先进的开发工具。

2.2 基于容错方法提高网络的可用性与评价

避错方法可以提高网络的可靠性,但无论多么可靠的系统都会出现系统失效,光靠避错方法是不能完全解决系统的可靠性的。因此容错技术成为了提高系统可靠性的另一个设计重点。

2.2.1 容错机制

容错就是如何保证在网络系统出现错误的情况下,通过外加冗余资源消除单点故障的措施使系统仍然能够正常工作。容错技术主要是为了提高整个网络系统的可靠性,即提高网络可用性中的MTBF,进而提高网络系统的可用性。容错方法主要是通过冗余手段来实现的,冗余就是采用多个设备同时工作,当其中一个设备失效时,其它设备能够接替失效设备继续工作的体系。基于容错方法提高网络的可用性包括各种硬件、软件和管理方面的容错措施来提高网络的可用性。硬件容错方法部件的冗余、链路的冗余和网络关键节点的冗余等;软件方面的容错包括网络系统软件和应用软件的冗余、网络信息的冗余和关键服务的冗余等。管理方面的容错包括拓扑结构的冗余、容错性服务器集群技术和信息存储的冗余等。

各种冗余网络设计允许通过重复设置网络链路和互连设备来满足网络的可用性需求。冗余减少了网络上由于单点失败而导致整个网络失败的可能性。它的目标是重复设置一个必需的组件,使得它的失败不会导致关键应用程序的失败。这个组件可以是一个核心路由器(交换机)、一个电源、一个广域网主干等等。在选择冗余设计解决方案之前,首先应该分析用户目标,以确定关键应用程序、系统、网络互连设备和链路的可用性。通过分析用户对风险的容忍程度和不实现冗余的后果,需要在冗余与低成本、简单与复杂之间作取舍。另一方面,冗余增加了网络拓扑结构和网络寻址与路由选择的复杂性,因此需要认真斟酌。

2.2.2 容错机制的评价

容错是提高网络可用性的方法之一,有其自身优点和不足,在实际应用中要注意下列问题:

●容错方法多用在容易单点失效的关键部件、关键链路、关键设备和关键的服务上,例如在汇聚层和核心层的设计中,关键设备、关键链路和关键服务上采用冗余技术。

●如果在网络系统中没有备用部件,可以设计成隔离开故障部件,但系统能继续使用的模式,从而实现系统降级使用,称为缓慢降级,通过降低系统性能来保证系统的可用性。

●按照网络结构的不同层次进行容错的设计,通常对同一个企业网来说,核心层要求较高的容错措施,汇聚层次之,而接入层基本上不需要考虑。

●在实际的网络设计中并不是冗余越多越好,过多的冗余会增加网络配置和协议计算的复杂度,反而延长网络故障的收敛时间,适得其反。另外容错系统比传统系统更容易出现软件问题,也缺乏传统系统的灵活性和方便性。

●避错和容错在网络系统集成中的规划设计阶段和设备选型阶段体现最为突出。

●具体的协议、配置优劣对可用性有显著的影响。快速收敛,协议参数调优等有助于提高冗余部件间的切换时间,对提高可用性有较大意义。因此需要建立统一的配置模板,并针对路由收敛、冗余协议等进行优化。

2.3 基于快速检错方法提高网络可用性

由于MTBF取决于网络设备硬件和软件本身的质量,而这一手段的作用对于在正在运行的网络是有极限的,无法一味的通过提高MTBF数值来获得网络的高可用性,因此通过减小MTTR来实现网络高可用性成为必然的选择。从MTTR的构成来看,要想减小其数值需要从两方面入手,一是快速发现故障(检错),二是快速从故障状态中恢复出来(排错)。因此构建高可用性网络的基础就是要实现快速故障发现和快速故障恢复。检错就是在网络出现故障时,故障管理系统能及时发现故障部位和原因。

2.3.1 快速检错机制

实现快速故障发现包括故障检测和故障诊断两个方面,故障检测的的作用是确定故障是否存在,故障诊断的作用是确定故障的位置。检测和诊断可以联机运行,也可以脱机运行,其中联机检测和诊断是提高系统可用性的重要手段。通常网络故障产生的原因都比较复杂,特别是故障的产生是由多个网络共同引起时。因此,要求网络管理员必须具备较高的技术水平及业务素质,同时还应该积累丰富的实践经验。

快速检错是从故障现象出发,以网络诊断工具为手段获取诊断信息,确定网络故障点,查找问题的根源具体包括:①自动检错而不是人工可以更快提高检错的速度;②借助线路检测工具(如线缆测试仪、时间域反射计)可以加快线路故障的检错速度;③利用网络管理系统专门的管理进程不断地监测路由器的关键数据并及时给出报警可以加快路由器故障的检测速度;④通过工具自动监视主机流量、扫描主机端口和服务来检测主机的异常,可以加快主机故障的检测速度;⑤利用网络测试仪可以自动定位网络故障源,找出故障点并显示其网络相关信息,从而加快逻辑故障的检测速度;⑥利用网络分析工具进行快速检错,如协议分析程序Snifer,操作系统中内置的一些非常有用的软件网络测试工具等。

2.3.2 快速检错机制的评价

快速检错是提高网络可用性的方法之一,有其自身优点和不足,在实际应用中要注意下列问题:

●当分析网络故障时,首先要清楚故障现象,应该详细说明故障的症侯和潜在的原因。为此,要确定故障的具体现象,然后确定造成这种故障现象的原因与类型。例如,主机不响应客户请求服务,可能的故障原因是主机配置问题、接口卡故障或路由器配置命令丢失等。

●规范故障检错流程,提高检错效率:网络中可能出现的故障多种多样,往往解决一个复杂的网络故障需要广泛的网络知识与丰富的工作经验。因此要使检错速度加快,要求制订一整套完备的故障检测流程。

●把专家系统和人工智能技术引进到网络故障管理中来,可以加快网络故障的检错速度。

●平时定期收集故障诊断的现象、原因和解决的方法,做好故障管理日志的记录,在故障出现时,对网络的快速诊断有很大参考价值。

●要多借助网络故障诊断工具来加快网络诊断的速度。

2.4 基于快速排错方法提高网络可用性与评价

可用性是相对的,它是通过提高系统的可靠性和可维护性来度量的。因此当系统出现故障不可用时,需要尽快修复系统(排错),提高网络系统的可用性。

2.4.1 快速排错机制

排错就是在网络出现故障时,逐一排除故障,恢复系统的可用性。网络故障排错的方法分为:①分层故障排错法,它主要根据网络分层的概念进行逐步分析的方法;②分块故障排错法,此方法从设备的配置文件入手,将配置文件分为管理部分、端口部分、路由协议部分、策略部分和接入部分,并对其逐一进行检查排错;③分段故障排错法,此方法是把网络分段,逐段排除故障以及④替换法,替换法是检查硬件问题最常用的方法。当怀疑是网线问题时,更换一根确定是好的网线试一试;当怀疑是接口模块有问题时,更换一个其它接口模块试一试。在实际网络故障排错时,可以先采用分段法确定故障点,再通过分层或其它方法排除故障。

网络故障的排错一般从故障现象观察入手,对故障相关信息收集,并对此进行分析,找出可能的原因后得出相应的排错方案,然后逐一排除。一般故障的排错步骤如图1所示。

在提高网络可用性的机制中,重点强调的是快速排错,基于快速排错方法提高网络可用性主要包括:冗余链路的自动切换、使用具有热交换功能的冗余部件、利用备用部件替换故障部件、无备用部件时要进行隔离与降级处理、服务器集群服务的快速恢复、服务器的故障转移以及使用复制技术等。

图1 一般网络故障排错步骤

2.4.2 快速排错机制的评价

快速排错是提高网络可用性的方法之一,有其自身优点和不足,在实际应用中要注意下列问题:

●有时网络系统的可用性破坏不是系统随机产生的,而是由入侵者故意破坏的,对于这种攻击的防范,应采用类似提高可用性的容错方法,但新的名称是“容侵”,是容忍入侵(Intrusion Tolerance)的意思,也就是说,当一个网络系统遭受入侵,而一些安全技术都失效或者不能完全排除入侵所造成的影响时,容侵可以作为系统的最后一道防线,即使系统的某些组件遭受攻击者的破坏,但整个系统仍能提供全部或者降级服务。

●故障转移过程应该对用户透明,应该仅是一次重新启动,不应该让用户感觉到发生了停机事件,或者用户也仅需要重新刷新一次,再次进入服务器即可。

●故障排除后必须认真分析网络故障产生的原因,它是防止类似故障的再次发生的基本环节。

3 网络可用性的量化评估

3.1 设备串联形成的系统可用性评估方法

若网络系统是由n个网络设备串联而成的,每个设备的可用性都已知道,设为Ai,则整个系统的

由上面的计算公式可知,n个设备串联的可用性会随着设备串联结构的增多越来越低,例如,假设每个设备可用性值是0.9,5个设备串联后的可用性就低于0.6,10个设备串联后的可用性就已经接近0.3。

例3.1三个网络元素进行串联,如图2所示,各个设备的可用性均为0.99,则串联后所形成的系统的可用性为:A=0.99×0.99×0.99= 0.97。可见串联后整体的可用性降低了。可用性A就是n个可用性的累乘,其计算公式为:

图2 网络元素串联形成的网络系统

3.2 设备并联形成的系统可用性评估方法

n个网络设备并联(冗余)的可用性是用1减去n个设备不可用性的累乘,整体系统的可用性是随着并联设备的增加而增加的,其计算公式为:

例3.2路由器B和路由器D按图6-5所示进行并联,其可用性分别为0.97和0.95,则并联所形成的系统的可用性为:ABD=1-(1-0.97)×(1-0.95)=0.9985。可见并联后整体的可用性增加了。

例3.3四个路由器进行混合连接,如图3所示,每个路由器的可用性分别为0.99,0.98,0.97和0.95,则所形成的系统的可用性可用下列公式计算:

图3 四个路由器冗余连接形成的网络系统

先计算两个并联形成的可用性:ABD=1-(1-0.97)×(1-0.95)=0.9985。

然后计算三个串联形成的可用性:A=AA× ABD×AC=99%×99.85%×98%=96.9

对于传输网络来说,更多的保护方式是1+1的保护,即平时只用其中的一个主用路径,当主用路径不可用的时候再切换到备用路径,此时可用性的计算公式为:

其中:Aa是主用(active)路径的可用性,As是备用(standby)路径的可用性,c是网络切换成功率。很明显,有保护系统的可用性A1+1要高于无保护系统的可用性Aa。

对于复杂网络结构,可通过化简、合并等手段形成串并联结构,然后按上述方法计算。

3.3 可用性与可靠性的区别

可用性常常容易跟可靠性混淆,要注意它们的区别。可靠性是提供正确服务的连续性,它可以描述为系统在一个特定时间内能够持续执行特定任务的概率。它侧重分析服务正常运行的连续性。而可用性是为可修复系统提出的,是对系统服务正常和异常状态交互变化过程的一种量化,是可靠性和可维护性的综合描述。例如系统发生了故障,需要维修,对于可用性来说,这个维修处理需要的时间越短越好。但不能说这个维修处理时间越短,可靠性越高,因为假如你在很短的3分钟就让系统恢复正常了,但是系统出问题的频率很高,十天半月就出一次故障,那系统的可用性可能很高,但可靠性仍然很低。相反,如果你系统出问题的频率很低,一年才出一次故障,即使维修时间较长,可靠性还是比较高的。

假设某一网络的MTBF为45,000小时(约5.1年),发生故障后的平均修复时间MTTR为4小时。这样,该网络的停运时间就是每隔45,000小时发生故障4小时。可用性A的计算方法为:MTBF/(MTBF+MTTR),即45000/45004 =99.9911%。

从上述公式可以看出可用性和可靠性是不同的:如果平均失效间隔时间(MTBF)远大于平均修复时间(MTTR),那么系统的可用性将很高。同样的,如果平均修复时间很小,那么可用性也将很高。如果可靠性下降(MTBF变小),那么就需要减小MTTR(提高可维护性)才能达到同样的可用性。当然对于一定的可用性,可靠性增长了,可维护性就不那么重要了。所以我们可以在可靠性和可维护性之间做出平衡,来达到同样的可用性目的。

4 结论

本文主要论述了网络可用的含义、评价标准、具体机制,并对每种机制的利弊进行了评价,最后给出如何计算网络的可用性公式和示例。由于各种方法的内涵和形式随着计算机学科的长足发展而日益丰富,没有一成不变的方法,要不断改进,因此要结合实际项目,运用标准化的方法,逐步形成完整的提高网络可用性的方法。

[1]黄永勤,金利峰,刘耀.高性能计算机的可靠性技术现状与趋势[J].计算机研究与发展,2010,47(4):589-594

[2]林闯,蒋屹新,尹浩箸.网络安全控制机制[M].北京:清华大学出版社,2008

[3]田立勤,张巧红,等.网络工程技术教程[M].江苏:中国矿业大学出版社,2007

[4]席振元,田立勤,等.数据通信与计算机网络[M].北京:煤炭工业出版社,2010

Mechanism Analysis and Quantitative Evaluation to Improve Network Availability

LI Dongyan1,2,CHENG Jianxia1,TIAN Liqin2
(1.Computer College of Hubei Industry university,Wuhan Hubei430068;
2.North China Institute of Science and Technology,Yanjiao Beijing-East101601)

With the growing popularity of network applications,increasing costs and effects caused by the interruption of network system is very clear.DoS(Denial of service)is very rampant now,although availability can't prevent denial of service attacks,availability is available to reduce the impact of such attacks and it allows the system to normal operation.This paper discusses the concept of network availability,evaluation criteria of Network availability mechanism,and four mechanisms to improve network availability and compared between four mechanisms.Finally,the formula and examples of quantitative assessment network availability is given,which lay to enhance network availability based on the theory and practice.

Network Availability;Mechanism;Evaluation Criteria;Quantitative Evaluation

TP393.02

A

1672-7169(2011)01-0076-06

2011-01-10

李冬艳(1967-),女,吉林榆树人,大学毕业,湖北工业大学在读硕士研究生,华北科技学院计算机系副教授,研究方向:计算机网络。

猜你喜欢

网络故障可用性网络系统
基于辐射传输模型的GOCI晨昏时段数据的可用性分析
VxWorks网络存储池分析在网络故障排查中的应用
基于信息流的RBC系统外部通信网络故障分析
基于DEMATEL-ISM的军事通信网络系统结构分析
可用性差距阻碍数字化转型
高速公路网络系统配置浅析
Wireshark协议解析在网络故障排查中的应用
空客A320模拟机FD1+2可用性的讨论
通讯网络故障类型研究
黔西南州烤烟化学成分可用性评价