【51CTO.com独家特稿】编者按:本文为2009年首届网络分析技术大会的现场实录,演讲嘉宾为知名网络分析技术专家高彦刚先生。高先生在大会上为我们详细讲解了网络分析技术的发展历史及前瞻等问题。
非常高兴,能有这么多的技术精英对我们网络分析技术有这么浓厚的兴趣,从入场12点开始就有陆续听众入场,到现在我们的嘉宾已经挤得非常满了,而且大家都是技术精英,未来高级网络技术人员或者高级安全的技术人员,包括现在已经是CCNE的技术人员,在我们现场那么关注网络分析技术。
今天我主要给大家分享一些在网络健康分析方面的技术。在演讲当中给大家讲一下,我理解网络健康的定义,什么叫健康的网络?
影响网络健康一些主要的因素,如何利用分析的工具,进行一些网络健康方面的一些评估。首先我个人理解健康网络的定义?能够提供高质量网络传输服务的网络。网络健康带有明确的业务特性,为什么这么讲呢?实际上健康的定义是针对不同的对象它是不一样的,人的健康也是一样的,有可能我站在台上面,大家认为我很健康,或者说西服戈履穿得很精神,觉得他很健康,但是谁知道我怎么样。因为健康也是针对某种特定的需求所定义的,比如刘翔脚伤了,但是他瘸得腿比我跑得都快,对110米栏这项运动来讲,他已经失去健康的基础,他就不够健康,如果再让他跑110栏就不能胜任这个工作。这是针对性的健康。
在网络传输的过程中,也有针对性,你在网络里边对这个业务是健康的,每个网络上的应用对这种网络的传输的质量需求是完全不一样的,它是划分等级的,有可能有的应用只需要网络能通就可以了,只要能p i n g g通就可以了,但是有的应用对网络的需求更高,比如对网络传输,不能丢包,传输中不能丢包,丢一个包对我的业务有影响,哪怕只丢一个包,网络就是不健康的,对我这个业务来讲。对时延比较敏感,网络传输有时延会影响系统运输的质量和性能,就不能有时延,没有时延的网络是不存在的,时延不能大于多少毫秒或者不能大于多少微妙,如果大了就影响我网络的传输,影响业务的质量。
有些网络对抖动比较敏感,比如像视频、语音流,比如网络的抖动比较厉害的话,直接影响业务的运行的质量,我这么讲其实主要是阐明这种观点,网络的健康要根据业务需求特性进行评估,这是非常关键的。有的时候在座是做网络技术的人员,有一种误区,我的网络能ping,ping大家都会,有人打电话网络为什么这么慢,你ping一下,能通,网络发问题。可能没问题,有一个很大的可能有问题,对某些业务有影响。健康网络的定义是有业务特性的。
什么原因会影响网络健康主要因素呢?标志网络服务质量几个关键的网络参数主要包括丢包、时延、抖动,什么原因会造成网络性能、运行质量、服务质量的影响,我想最主要有几个方面,包括设备的健康,本身这个网络架构设计得不合理,或者网络设备有问题,这个网络设备就是丢包,设备会问题了,没有不出问题的东西,网络设备也一样,好的网络设备也有可能出问题的时候,比如内存占满了,或者CPU耗尽了,有可能造成网络设备本身在丢包,包括网络的配置,比如路由的设置,形成了一些路由的问题,路由不可达,像第二层的问题,包括错误的配置,MTU不匹配,都有可能造成网络传输的影响,包括一些性能的瓶颈,因为所有的网络都有它的瓶颈,极限最早达到的地方就是瓶颈,这种瓶颈会导致整个网络耐受点和承受力,我们有一个很大的网,所有的网络链路很高,比如千兆的,某一个防火墙的性能只有一百兆,整个网络的性能只有一百兆,因为它是瓶颈,或者整个网络带宽都很宽,但是出口带宽很少,只有十兆,往外访问的时候就只有十兆,这也是一个瓶颈。
再一点就是网络的行为,包括网络上的应用以及用户的网络行为,这些网络行为是有可能导致网络出现一些异常的流量,产生大量的连接,通过这种造成一些网络资源的耗尽,比如带宽资源的耗尽,包括连接资源的耗尽,从而导致网络服务质量的下降。我们在日常来讲,我们做一个网络健康状况评估的话,因为我以前也一直作网络分析,包括很多的用户一接触就说,我那个网没什么问题,运行了很长时间都没什么问题,我认为我的网络是非常健康的,实际上当我们做了一个简单的评估之后,它的看法就改变了。
因为在没看到之前它认为是健康的,但是做了检查之后,它觉得还是有很多值得改进的地方,这和我们人一样,我们每年都需要做健康的体检,我说的日常健康的检查,就和健康的体检一样,不一定是特别针对某一个故障,因为出了故障,你肯定有问题,你要做分析,但是日常要定期做一些网络的健康检查,去看看,我的网络运行的状态是什么样子的,是不是能够正常为我的上层业务应用提供正常的服务或者提供高质量的服务。
这种网络健康情况要进行针对性的分析,一般要针对相应的业务的分析,这个网络里边运行什么业务,这些业务对网络游什么样的需求,对网络的服务质量有什么样的需求,不同的业务对网络服务的需求是不一样的,另外针对相应网络链路,针对不同网络链路进行不同的需求,是非常有针对性的,一般来讲,我们有端到端的分析,包括分段的分析,因为不同的网络链路或者不同的网段状况也是不一样的,有可能这个网段流量没问题,也没什么异常,我们分析出来,但是因为我们端到端的应用,有可能客户端到服务器端经过多个网段,网络里面难免有瓶颈,有的地方就会形成一些异常,造成网络的服务质量下降。
这是一个简单的例子。我们对一个用户互联网的出口网络健康的分析,这个也是我们非常多的用户比较关注比较长江的,因为及宾上很多的用户网络里边,就是互联网出口链路,一是带宽比较窄,另外就是大家都会从这个口出去,就好比高速路不会堵,但是出口那个地方会堵,内部的带宽非常宽,但是挤到出口很窄,会觉得不健康,针对互联网出口,上边其实用户主要一些业务或者是主要的应用,SMTP、HTTP,这是用户最关注的两个应用,包括对外网站的流量,包括邮件的收发,这两个是我们很多单位连接互联网主要的原因,为了收发邮件,为了上网浏览,这是最主要的业务,针对链路就是出口,我们进行一个评估。
首先我们可以针对业务,比如说针对SMTP的业务进行一些评估,我们可以调取我们针对性的分析方案,HTTP的分析方案,对HTTP应用以及运行状态进行评估,发现在传输层有非常多的数据冲刷。包括一些服务器响应慢的告警,实际上服务器响应慢一是访问互联网的服务器,很多服务器有可能比较慢,在传输过程中,很多的重传,一般来讲重传是什么原因造成的TCP的重传,主要的原因是网络丢包引起的,在TCP传输处理过程中,如果数据包丢掉了,会有一个重传的机制,保证数据有效性,很多的重传,非常多的重传,说明传输层有很大的问题,这条链路的传输有很大的问题,因为重传非常多。我们可以针对性看某些HTTP的连接,看整个请求、响应的过程、数据流。针对性地分析一些对外访问的数据流,有些下载,数据量很小,有的只有几十个数据包,数据过来传输几十个数据包,但是传输的过程非常长,这是其中一个连接、会话,HTTP请求的会话。数据包只有几十个,总共是80个,传输来回基本上在40个左右,80个数据包在网络中传输的时间花了多长时间呢,花了11秒将近12秒,这是非常慢的,我发一个请求过来,请求过去,回来之后网页打开11秒,但是问题是只有80个数据包,这么长的网页,比较大的网页,像新浪的首页,很多网站首页大概能传多少个数据包呢?大概能传将近两千个数据包,两兆大B左右的页面,因为业务很多连接,很多的图片,很多的动画,下载完之后,大概有两千个数据包,两千多个数据包,如果要传的话,可能是不可完成的任务了,非常慢了,仅仅80个数据包是11秒,2000个数据包一百多秒,这是非常慢的,我们从这儿来看,这个链路对业务应用来讲是不健康的,是比较慢的,影响数据的传输,包括针对SMTP,邮件的传输也存在同样的问题,数据包的重传,影响传输的时间,很多的传输的时延由重传引起了,导致少量的数据需要长时间传输,传输的效率非常差,首先从服务质量来讲,服务质量是差的,这是我们评估主要的切入点。
另外,要对问题的原因,包括主要的参数进行一些评估,这就和我们日常做体检一样,日常体检要验血,量血压等,脉搏等一系列,我们通过这一系列的参数判定人体是不是在正常值内,如果不在正常值,代表身体某一部分机能出现了问题和异常。在网络健康检查里边,我们最主要评估有有几个数据的参数,流量里边一是带宽的占用率或者比特率,网络里边的流量有多少,如果网络里边的流量非常大,超过了网络的承受能力,出现了拥塞的话,会直接导致丢包,网络丢包其中一点就是利用率过大就是拥塞,拥塞是导致丢包主要的原因。在利用率来讲,比作是血液一样,检查身体的血压一样,如果血压过高,人会出现一些危险的状况,一下子崩溃了,为什么我们要关注这些参数呢?因为它代表网络的运行状况、健康状况。通过这种流量的分析,链路流量非常大,只有十兆的出口带宽,每秒钟的比特率已经达到30多兆,不光是往外访问,还有一些DMZ区访问的流量,流量已经在百分之百了,利用率在百分之百,在百分之百的利用率运行全占满的话肯定是拥塞。在以前互联网服务质量提升过程中,最主要靠的是带宽的提升,加带宽,带宽越宽,服务质量越高。现在观点有一些改变,现在很多的应用,有多大的带宽,我照样给你占满,以前可能没有这种应用,现在有了,而且越来越多,所以带宽一方面是我们要增加的,另外一方面,我们也要对流量进行一些分析性的控制或者选择性的控制。
另外,就看比特率,比特率非常高,另外就是PPS,网络里边的数据包,网络里边数据包的数量好比脉搏一样,数据包如果过多了,同样会造成一些网络设备的处理性能下降,一般来讲,网络里边数据包的大小分布从TCP协议来讲分布有一定的规律,也有一定的规律,基本上大包的数量和小包的数量基本上是相当的,有一些协议,小包比较多,DNS都是小包,像语音流都是小包,全是小包,我们通过成分的分析,也可以判定一条链路是否是一个正常值,小包的数量过多,或者说小包的比例占得过多,或者是某一段大小包比例占得过多,我们可以判定它有一些异常,每秒钟六千多个TPS,平均的包长大概是500PPs,基本上属于正常,这个网络里边最主要非常重要的参数就是带宽的拥塞,利用率太高。通过应用的流量分析,我们分析到底哪些应用更细节的成分分析了流量的大小,血压很高,但是什么造成血压高,成分的分析,UDP的应用流量很大,占80%以上的带宽,在一个互联网的出口,UDP的应用,一般来讲,最主要的应用基本上都没有UDP的应用,UDP都是流量比较小,都是DNS,也有语音数据流占据大量的带宽,但是它是互联网出口的链路,一般来讲不会有这么大量DNS的流量和语音实时的流量,UDP占80%以上,有一些异常,也是比较异常的。造成带宽拥塞主要的原因是UDP的应用,UDP流量非常大。MSTP占到80%以上,还是比较正常的,基本上是比较正常的,进一步做UDP分析,到底是什么流量产生的,发现有大量的UDP流量,用了大量的非规范UDP的各种各样的断口,而且传输了大量流量,进一步分析一步步做这种分析,少量的主机占据大量的带宽,排在流量前10位的主机,排在前4位的主机占了80%的带宽,很多主机往外访问,其中4台主机占了80%的带宽,网络流量大部分是这些主机产生的,大量UDP的贡献,这四台主机发现大量UDP的通讯,正是他们产生大量的数据包,UDP的数据包有一个特点,它不是面向连接的,TCP是连接的,有流控,TCP协议非常重要的作用就是流控,如果出现拥塞的话,出现延时或者丢包的话,它会停下,UDP不会,即使再拥塞也可以往上发包,让你更拥塞,这种流量造成网络拥塞最主要的原因,这些主机和大量的互联网主机之间有UDP的通讯,发现主机和上千个或者几千个主机有UDP的通讯。
到底在传输什么呢?发现一些数据包的解码,都是下载的流量,这些是典型的P2P的应用造成流量的特征,建立大量的连接,大量使用UDP的连接,造成网络拥塞,一台主机占据大量的带宽,用UDP传输的方式。排查一些网络游木马、蠕虫等特殊的流量,就跟检查身体似,查一下有没有乙肝病毒,有没有爱滋病毒,不是所有的体检都会查,我们也会针对性查一下,不是说你有病毒就代表你网络不健康,带某种病毒,有可能你很健康,但是当病毒发作的时候就不健康了,它是一种威胁,我们也会查,比如蠕虫病毒,一个两个不会影响到网络的质量,但是一旦爆发,网络游可能就会瘫痪,这都是隐患,我们也会进行评估。
一般来讲,我们是简单做网络健康分析过程,我们会给用户提供一个报告,网络健康状况什么样子?有没有什么问题,运行的情况怎么样,运行的参数,给用户一个报告,我们很多网络技术人员来讲,如果日常做这种网络的运维,网络的健康分析也是必不可少的,这就是我的简要的介绍,谢谢大家!
【51CTO.com独家特稿,转载请注明出处】
【编辑推荐】