• 文章搜索:
  • 目录

        • 分享到...

        • 新浪微博
        • 腾讯微博
        • 推荐到豆瓣 豆瓣空间
        • 分享到搜狐微博 搜狐微博
        • 分享到QQ空间 QQ空间
        • 分享到腾讯朋友 腾讯朋友
        • 网易微博分享 网易微博
        • 添加到百度搜藏 百度搜藏
        • 转贴到开心网 开心网
        • 转发好友 告诉聊友
    • 推荐
    • 打印
    • 收藏

    QOS技术应用实例

    作者:  |  上传时间:2011-04-22  |  关键字:网络大爬虫4-QoS专题

    文/蔡金龙

    1 QOS技术概述

    QOS(Quality Of Service)技术顾名思义就是对各种服务提供传输质量保证的技术。任何能够对传输质量进行保证的技术我们都可以称之为QOS技术。当然,任何应用能正常传输的基础都是有足够的网络带宽,如果传输带宽不能满足,再优秀的QOS技术也不能对所有的应用做出保障。所以最为实用的QOS技术是扩充现有线路的传输带宽,当然这个目标的实现有较大的困难,因此,目前我们的网络通信的服务质量还是需要有一定的QOS机制来对重要的应用作出保障。我们通常所指的QOS技术主要有如下几种模型。

    1.1 尽力而为的服务(Best-effort Service)模型

    路由器及交换机等数据通信设备都是分组交换设备,转发过程中每个分组独立选择传输路径,采用的是统计复用的方式,不像时分复用(TDM)那样具有专用连接的概念。传统的IP只提供单一的服务类型——尽力而为的服务,在这种服务方式下,所有经过网络传输的分组具有相同的优先级。尽力而为意味着IP网络会尽一切可能将分组正确完整的送到目的地,但不能保证分组在传输过程中不发生丢弃、损坏、重复、失序及错送等现象。另外也不对分组传输质量相关的传输特性(如传输时延、时延抖动等)作出任何承诺。

    严格意义上说尽力而为的服务并不能归类为QOS技术,但这是目前整个Internet所使用的主要服务模型,所以我们需要对它有一些了解。如果网络只通过尽力而为的方式为客户提供服务,网络通讯势必会出现很多问题,比如分组丢弃,还好TCP这种智能的传输层协议通过滑动窗口、报文重传等机制有效解决了报文丢弃的问题,才使得尽力而为服务能够基本上满足大部分业务的通讯需求。尽力而为并不是一个贬义词,正因为这种服务模型才使得Internet有今天的发展,当然随着Internet的发展,这种尽力而为的服务模型已经不能完全满足越来越广泛的应用需求,因此服务提供商们有必要在现有的尽力而为服务基础上提供多种服务类型,使得每一种服务类型能够满足特定的数据通讯要求。这些新的服务类型就是我们下面要介绍的保证服务模型和区分服务模型。

    1.2 保证服务(IntServ 又称之为综合服务)模型

    保证服务模型是IETF于1993年开发的一种在IP网络上支持多种服务的机制,它的目标是在IP网络中同时支持实时服务和传统的尽力而为服务,它是一种基于为每个信息流预留资源的模型。

    保证服务定义了一个参考模型,在该参考模型中指定了若干不同的构件及这些构件之间的相互作用。

    1. 资源预留协议(RSVP)允许单个应用向网络设备请求资源,并沿着分组传输路径,为每个单独的数据流设置状态。

    2. 定义了两个新的服务模型——保证服务和控制负载服务。保证服务通过严格的许可控制、带宽分配和公平队列服务,为有严格传输时延和带宽要求的应用提供所要求的服务;控制负载服务并不能保证传输的时延和带宽的范围,但提供类似轻负载下尽力而为网络所提供的服务。

    3. 提供用于描述流说明的语法,允许应用程序通过流说明指定特定的资源要求。

    4. 分组分类通过检测输入分组,确定适用于每一个分组的服务类型。

    5. 许可控制基于本地和网络的可用资源,确定是否支持所请求的资源预留。

    6. 管制和整形进程监测每一个信息流,强迫这些信息流符合其信息流描述。

    7. 分组调度进程将网络资源分配给不同的信息流。

    8. 保证服务模型要求源和目的主机通过交换RSVP信令消息,在源和目的主机之间传输路径上的每一个节点中建立分组分类和转发状态。

    保证服务模型需要为每一个流维持一个转发状态,因此可扩展性较差,而且Internet上有上百万的流量,为每个流维护状态对设备消耗巨大,因此保证服务模型一直没有真正的投入使用。近来对RSVP进行了修改,使其支持资源预留合并,并可以和区分服务配合使用,特别是MPLS VPN技术的发展,使得RSVP又有了新的发展。但在QOS技术上,保证服务模型在实际应用中还是没有被广泛的应用。而区分服务模型恰恰解决了保证服务模型的弊端,成为目前使用最广泛的QOS技术。

    1.3 区分服务(DiffServ) 模型

    由于保证服务模型存在着很大的扩展性弊端,1995年前后,服务提供商和各种研究机构开始提出新的支持多种服务的机制,而且这种机制的前提条件是具有良好的可扩展性。到了1997年,IETF已经认识到当前的网络服务模型已经不能适合当前的网络运行,应该有一种更便于分类信息流及更容易扩展的办法为特定的用户和应用提供区分服务,这样IETF组织成立了专门的工作组,开发了区分服务模型,这种模型可以相对简单更方便分类的方法为Internet信息流提供区分服务,并支持多种类型的应用和商业模式。区分服务模型的主要技术有:

    1. 流量分类与标记技术

    2. 拥塞管理技术(主要是各种队列技术)

    3. 拥塞避免技术

    4. 流量监管技术

    5. 流量整型技术

    6. 链路层QoS技术

    7. 链路效率机制

    通过这些技术,可以灵活的对各种应用进行传输服务上的保证及区别对待,基本满足了目前各种类型应用的要求。

    2 QOS技术应用背景

    目前,我们的网络数据传输主要是使用基于分组交换的统计复用方式,默认情况下,使用的是尽力而为的服务模型,这种模型前面介绍过,它不能对分组的传输的相关质量做出任何承诺。随着语音、视讯等新兴应用的不断推出,用户对网络能够提供的传输服务质量提出了更高的要求。尽力而为的服务模型已远不能满足用户对网络传输质量的要求,因此,QOS技术被广泛的使用,用来在不能提供绝对充足的带宽环境中对重要的应用做出通信质量上的保证和承诺。能够影响通信质量的因素主要有以下几点:

    1. 吞吐量

    吞吐量用于描述系统传输数据的能力。目前,各种网络设备及传输介质的吞吐量是一定的,除非更换新的能够提供更高传输带宽的接口及介质,否则任何的技术都不能够增加吞吐量,所以涉及到的一个问题是,如何在现有的吞吐量一定的链路上尽可能的满足应用的要求,并对重要应用做出通信质量的保证。

    2. 时延

    时延是指分组从网络中某个点传输到网络中另一个点所需要的时间,有多个因素影响分组的传输时延,分别是:转发时延、排队时延、传播时延和串行发送时延。在这四个因素中,唯一可以人工控制的是排队时延,其他因素主要是设备和传输介质自身决定的,除非更换否则无法控制。QOS技术对时延的保证也仅是对排队时延的优化控制。

    3. 时延抖动

    时延抖动是指属于同一类型信息流的不同分组其相同两个端点之间的传输时延发生变化的过程。像语音和视频的应用对时延抖动是比较敏感的,但时延抖动是由端到端链路决定的,通过QOS技术在端到端链路上实施可以尽量减少时延抖动。

    4. 分组丢失率

    分组丢失往往是由三种原因导致:

    1) 物理链路中断导致无法传输分组;

    2) 分组在传输过程中损坏,下游节点通过校验码获知分组已经损坏,并丢弃该分组;

    3) 网络拥塞导致缓冲器溢出。

    QOS技术可以对第三种情况作一定的控制,主要是通过各种队列技术,控制不同应用的传输质量。

    综上所述,目前我们使用QOS技术,主要是为了对像语音、视讯等这类对时延、分组丢失十分敏感的应用提供传输质量的保证,同时保证其他各种网络应用按照其重要性获得相应的服务质量。

    3 QOS技术应用实例分析

    下面我们通过分析几个比较典型的组网应用,来看一下在实际应用中如何使用QOS保障各种业务的通信质量。

    3.1 中小企业组网中QOS的典型应用

    中小企业组网的主要特点是网络结构相对简单,各个分支节点通过运营商专线或者Internet VPN方式与中心节点互联。随着网络应用的发展,企业组网往往需要实现三网合一(语音、视频、数据),以最大程度的对现有IP网络进行利用并节约成本。由于所有的流量都从单一出口流出,所以在网络出口处必须做QOS策略对带宽、时延敏感的应用做出保障,下面我们来分析一下中小企业组网中QOS的典型部署情况。

    3.1.1 专线用户的QOS部署

    图1 专线用户企业组网图

    组网如上图所示,中心节点通过专线连接各个分支节点,,全网运行语音、视频及传统的数据应用实现三网合一。网络的局域网带宽为100M远远大于广域网的出口带宽(2M),所以在广域网出口处会造成数据转发的瓶颈,因此网络各个场点都需要部署QOS来保证语音、视频应用的带宽和时延要求,并保证重要数据的传输带宽要求。在介绍如何部署QOS之前,我们还需要再强调一点,组网之前一定要考虑好网络所有应用所需要带宽的情况,QOS技术本身不能创造新的带宽,它只能在现有带宽的基础上保证特定业务的通信质量,所以如果申请的带宽本身就不能满足所有重要应用在正常网络状况下的要求,那么部署QOS也无济于事。我们假设申请的专线带宽可以满足所有网络应用的要求,那我们如何在现有的网络中通过QOS技术对关键应用做出保障,需要我们从端到端的角度进行部署。现有网络会对服务质量造成影响的因素主要有以下几个方面:

    1. 流量的分类

    在部署QOS时,首先要考虑的问题是网络中到底在跑哪些流量,这些流量的重要性如何,他们对网络都有什么要求,这是部署任何QOS策略的基础。就像只跑FTP和HTTP的网络,与除了跑FTP这种带宽时延都不敏感的业务同时还跑语音、视频及数据库等流量对带宽及时延都有要求的应用的网络,对QOS的部署的要求是完全不同的。同时,任何QOS策略的部署都会对转发效率造成影响(特别是软件转发的路由器),因此对现有网络的流量进行分析并做好分类及标记,可以最优化的部署QOS,减少QOS对网络造成的转发效率上的影响。确定好需要保障的业务流量,打好标记,作为下一步部署QOS策略的基础。其他所有的流量只需要设备尽力而为的转发即可。对流量进行标记和分类的办法有很多,目前通常是使用五元组和优先级对流量进行分类。

    2. 运营商

    运营商的网络情况一般对中小企业用户都是透明的,而且一般来说运营商也不会参与到中小企业网络的策略部署中,所以,在中小企业网络中只能假设运营商的网络都能够提供承诺的带宽值,企业网络数据的转发不会在运营商处出现瓶颈。

    3. 局域网交换机与路由器之间处理性能上的差异

    交换机设备使用硬件芯片对数据进行线速转发,而路由器设备通常使用软件进行转发,往往达不到线速,所以在交换机和路由器之间会造成转发的瓶颈,交换机的线速流量造会成路由器CPU繁忙,导致路由器工作异常,所以在部署全网QOS策略时需要考虑这个问题。通常的解决办法是在交换机与路由器上连的接口上配置限速。具体速率限制的大小分两种场景,第一种是当路由器出口带宽和入口带宽相等时,如企业向运营商申请了100M的以太网专线,路由器下联交换机也是通过100M以太网链路,此时需要对路由器的转发性能进行实测。如果测试出路由器的以太网接口间的转发性能为80M,则在交换机的上连路由器的接口处最好限制速率为70-75M,以保证交换机的数据流量不会对路由器造成冲击。同时在配置了限速的交换机端口上必须再配合以PQ一类的QOS队列调度技术,来保证重要业务的优先传输。第二种情况是当企业向运营商申请的链路带宽小于路由器局域网入口带宽时,此时交换机可以配置上连路由器接口的速率限制为路由器出口带宽(本例中为2M),也可以按照第一种情况配置为路由器接口的转发能力范围内的速率。如果交换机上连口配置为2M,然后配合PQ一类的QOS队列调度技术保证重要业务的优先传输可以大大减轻路由器对QOS策略的处理负担,但是交换机的QOS支持能力往往不够完善,如使用PQ,可能会因为重要业务长时间占用2M带宽导致其他业务流量得不到带宽而被饿死。所以实际应用中还是推荐使用将交换机的上连口速率限制为路由器接口的转发能力范围内的速率,然后在路由器出接口处做QOS策略来保证重要业务的传输。

    4. 采用的QOS模型

    目前可以使用的QOS模型主要是区分服务模型。对于语音视频一类的应用可以使用PQ和CBQ技术来保障通信的带宽和时延。PQ由于不能对应用的带宽进行一定的限制经常导致非关键流量无法得到传输,所以目前在三网合一的网络中最常使用的QOS技术还是CBQ队列调度技术,通过CBQ队列技术提供的LLQ队列来保证语音视频通信的带宽和时延,同时可以限制这类应用的带宽,以避免该应用占用太多的带宽导致其他应用的流量被饿死。

    5. 端到端的考虑

    由于每一种应用都是端到端的应用,所以在本例的网络模型中每个节点都需要对QOS进行相同的规划,以保证重要数据在全网都可以正常传输。

    3.1.2 VPN用户的QOS部署

    图2 VPN用户企业组网图

    组网如上图所示,中心节点通过VPN技术(如IPSEC)连接各个分支节点,全网运行语音、视频及传统的数据应用实现三网合一。网络的局域网带宽为100M远远大于广域网的出口带宽,所以在广域网出口处会造成数据转发的瓶颈,因此网络各个场点需要部署QOS来保证语音、视频应用的带宽和时延要求,并保证重要数据的传输带宽要求。和上例一样,组网之前一定要考虑好网络所有应用所需要带宽的情况。我们假设申请的专线带宽可以满足所有网络应用的要求,那我们如何在现有的网络中通过QOS技术对关键应用做出保障,需要我们从端到端的角度进行部署。现有VPN网络会对服务质量造成影响的主要因素和上例相同,本例中只对与上例不同之处进行介绍,其他因素和上例的部署要求一致,在此不再赘述。

    1. 流量的分类

    与上例要求相同,请参考上例的介绍。

    2. 运营商

    与上例要求相同,请参考上例的介绍。

    3. 局域网交换机与路由器之间处理性能上的差异

    与上例要求相同,请参考上例的介绍。

    4. 采用的QOS模型

    与上例要求相同,请参考上例的介绍。

    5. 端到端的考虑

    除上例中需要注意的地方外,在VPN组网中往往会出现场点间广域网带宽不一致的情况,如图所示,中心使用10M链路,分支都采用2M链路,此时如果按照前面的例子进行部署则会出现问题。比方说中心向分支发送了超过2M的流量,但并没有超过10M,此时在运营商的网络中就会将超过2M的流量进行丢弃,而且在中心的10M链路上配置的队列并没有生效(因为没有拥塞发生),此时任何的QOS策略都无法对重要业务进行保证(除非运营商可以配合在其设备上也做相关QOS策略,但这种场景下运营商一般不会做,因为客户申请的是Internet线路),企业网所可以使用的技术上对这个问题没有什么好的解决办法。所以组网时一定要注意这种情况,在组网之前充分考虑网络要运行的业务及申请带宽的大小,进行合理的组网以避免出现这种情况。

    4 写在后面

    总之,QOS技术的部署是十分灵活的,不同的应用场景往往使用不同技术的组合来对关键业务进行通信质量的保证,并没有一个固定的模式。目前随着各种应用的出现,QOS已成为组网中必须要考虑的一个重要因素,同时QOS技术也必须继续发展以适应不断变化的应用通讯要求。除了上面讲到的企业网络,运营商的NGN网络能否得以普遍的实施很大程度上也取决于QOS技术的发展程度,目前端到端的QOS技术一直是NGN网络实现的瓶颈,为能顺利部署NGN网络,QOS技术必然会有日新月异的发展和变化。当然,部署了合理的QOS并不表示通信就一定不会出现异常,网络攻击的存在,特别是内部的攻击对网络的破坏是QOS无法保证和避免的,比方说,内部有用户模拟大量的具有语音流特征的报文发往出口路由器,即使做了QOS策略保证语音通信,同样无法避免真正的语音流量受到影响。所以,要想真正使关键业务得到通信质量的保证,也必须加强网络应用的管理力度,但QOS作为通信质量保证的技术基础,地位还是无可替代的!