Qos技术入门篇

一.引言
一般来说 , 基于存储转发机制的Internet(Ipv4标准)只为用户提供了“尽力而为(best-effort)”的服务 , 不能保证数据包传输的实时性、完整性以及到达的顺序性 , 不能保证服务的质量 , 所以主要应用在文件传送和电子邮件服务 。随着Internet的飞速发展 , 人们对于在Internet上传输分布式多媒体应用的需求越来越大 , 一般说来 , 用户对不同的分布式多媒体应用有着不同的服务质量要求 , 这就要求网络应能根据用户的要求分配和调度资源 , 因此 , 传统的所采用的“尽力而为”转发机制 , 已经不能满足用户的要求 。为了解决在Internet等计算机网上高质量地传输多媒体信息地问题 , 美国于1996年底 , 开始了以提高网络服务质量研究为核心底InternetⅡ以及NGI(下一代Internet)等研究项目 。IETF(Internet Engineering Task Force)也成立了专门的工作小组来研究多媒体服务质量的定义和相关的标准 。
网络服务质量(quality of service , 简称QoS)是网络于用户之间以及网络上互相通信的用户之间关于信息传输与共享的质的约定 , 例如 , 传输延迟答应时间、最小传输画面失真度以及声像同步等 。在Internet等计算机网络上为用户提供高质量的QoS必须解决以下问题:
1. QoS的分类与定义 。对QoS进行分类和定义的目的是使网络可以根据不同类型的QoS进行治理和分配资源 。例如 , 给实时服务分配较大的带宽和较度的CPU处理时间等 , 另一方面 , 对QoS进行分类定义也方便用户根据不同的应用提出QoS需求 。
2. 准入控制和协商 。即根据网络中资源的使用情况 , 答应用户进入网络进行多媒体信息传输并协商其QoS 。
3. 资源预约 。为了给用户提供满足的QoS , 必须对端系统、路由器以及传输带宽等相应的资源进行预约 , 以确保这些资源不被其他应用所强用 。
4. 资源调度与治理 。对资源进行预约之后 , 是否能得到这些资源 , 还依靠于相应的资源调度与治理系统 。
二.QoS现状及相关技术
现在 , IP网络如何提供服务质量QoS支持这一问题现已成为业界关注的焦点 。对于由QoS控制来实现QoS保证 , 国际上不同组织和团体提出了不同的控制机制和策略 , 比较闻名的有:
1) ISO/OSI提出了基于ODP分布式环境的QoS控制 , 但至今仍只停留在只给出了用户层的QoS参数说明和变成接口阶段 , 具体实现QoS控制策略并未提出;
2) ATM论坛提出了QoS控制的策略和实现 , ATM控制是“连接预定”型(connection and reservation) , 它的核心内容是在服务建立之前 , 通过接纳控制和资源预留来提供服务的QoS保证 , 而在服务交互的过程中 , 用户进程和网络要严格按照约定的QoS实现服务QoS保证;
3) IETF组织也已经提出了多种服务模型和机制来满足对QoS的需求 , 其中比较典型的有:RFC2115 , RFC2117以及1998、1999年提出的RFC26xx系列中的综合业务模型(Int-Serv)、差分业务模型(differentiated services)、多协议标签MPLS技术(Multi-Protocol Label Switching)、流量工程(traffic engineering)和QoS路由(QoS-based routing)等均用于解决Internet网络的QoS控制和治理 。
以下就一些比较典型的模型作简单的介绍 。
综合业务模型(Int-Serv)主要引入了一个重要的网络控制协议RSVP(资源预留协议) , 它不是路由协议 , 但是需要与路由协议一起使用 。RSVP的引入使得IP网络为应用提供所要求的端到端的QoS保证成为可能 , 但为了支持这种能力 , 数据包所经过的每个网络元素(子网和IP路由器)都必须能够支持RSVP控制服务质量的机制 。RSVP资源预留方式与异步转移模式(ATM)中资源预留方式有两个不同之处:第一 , RSVP是一种面向信宿端的协议 , 由信宿端来描述资源需求;而ATM是由信源端来要求资源预留 。第二 , RSVP中保留的是“软状态” , 需要周期性的更新;而ATM保留的是“硬状态” , 通信期间不改变 。
综合业务模型的这种利用RSVP全程信令将原本面向无连接的IP网络改为面向连接的网络的方法存在着许多致命的缺陷 , 使得原本欲提供的端到端全程QoS保证 , 实际上是很难实现的 , 原因有二:
综合业务模型下的预留状态信息是与业务流的个数成正比的 , 这使得路由器的负担会随着网络的扩大、业务流的增多而加重 , 网络的扩展性不好 。
综合业务模型中的每个路由器都要支持RSVP控制协议 , 为业务流保持状态信息 , 这对路由器的实现要求太高 。假如有一个中间路由器不支持RSVP控制协议 , 虽然RSVP仍可透明通过 , 但服务质量仍不能保证 。
针对这些确定 , IETF组织指定了一个相对扩展性较强的方案 , 来保证IP网络的服务质量QoS , 这就是差分业务模型 。差分业务模型主要是重新利用了IP数据包头中的服务类型(ToS)字段(改为DS域) , 使得对RSVP网络控制协议的使用仅局限在用户网络一侧 , 而将骨干传送网从RSVP中解脱出来 。骨干网中的核心路由器只需检查数据包中的ToS字段判定业务的类别 , 再为不同的业务提供不同的QoS保证策略 , 这种模型并不提供从信源端道信宿端的全程QoS保证 , 而将QoS限制再不同的域(Domain)范围内加以实现 , 不同域之间应有一定的约定和标识的翻译机制 。
多协议标签交换(MPLS)是时下最热门的技术之一 , 它将灵活的三层IP选路和高速的二层交换技术完美地结合起来 , 从而弥补了传统IP网络地许多缺陷 。它引入了新的标签结构 , 对IP网络的改变较大 , 引入了“显式路由”机制 , 对QoS提供了更为可靠的保证 。
对IP网络提供QoS支持的发展动向可作如下的总结:从“经历而为”走向“综合业务”;从“无状态”道“面向流的软状态”;从服务的“先进先出策略”道“多队列机制和面向业务的调度策略”;从数据转发的“软件交换”到“硬件交换” 。

三.存在的问题及相关的研究方向
问题一
以上这些传统的QoS模型基本上是由通讯系统的网络层完成的 , 并在传输服务中引入QoS控制来提高QoS 。然而在分布式每题计算环境中 , 由于全局的QoS依靠于网络各部分的QoS , 因此问题之一就是必须提高系统的每一层的QoS保障 , 亦即端到端系统必须能治理参与传输服务的每一层(从服务层到网络层) 。为了达到以上目的 , 有人就提出了一种基于CORBA的分布式多媒体服务的QoS治理模型 。当用户提出他要求服务的多媒体QoS参数的规格说明 , 系统首先将用户的QoS请求参数映射为系统的QoS参数 , 然后通过协商与再协商QoS的方式进行系统和网络的介入控制 , 一旦接入成功 , 系统就开始为用户提供多媒体服务 。在服务过程中 , 系统应能随时监控网络和系统的性能状况 , 假如出现了网络拥挤致使服务质量下降 , 就可以采取降级服务的方式继续为用户提供服务 , 或停止服务 。它具有层次性、互操作性以及分布式等特点 , 是一种便于开发和维护的分布式多媒体服务系统 , 具有良好的应用前景 。但在该模型中 , QoS参数映射和QoS参数协商与再协商的系统开销较大 。QoS参数映射既要考虑多个多媒体服务请求合一的策略问题 , 又必须谨慎地对待它的反问题 。在多媒体服务开始之前 , 必须进行QoS参数协商 , 在服务过程中 , 一旦系统或网络地性能发生重大变化(如:网络的有效带宽增加了10M) , 又要根据需要进行QoS参数的再协商 。频繁地协商与再协商会降低网络性能 , 对于这一问题 , 系统可以提供一种策略来控制协商发生地频率 , 或直接把这个选择权利交给用户 。
问题二
目前 , 许多有关支持QoS的研究主要着眼于调度、拥塞控制和资源预留 , 而对 QoS路由研究得很少 。当前Internet中的路由算法主要是保证基本的连通性 , 路由协议是基于单一度量(metric)优化 , 难以满足多样的QoS需求 , 在设计能够支持实时通信或多媒体应用QoS保证的网络时 , 必须考虑五个方面的问题:流规范、路由、资源预留、分组调度和接纳控制 。目前已经提出了许多方法来支持在通信系统级别提供确保的性能 , 它们均采用面向连接和面向预留的方法 。预留协议(如RSVP)支持每一个连接的QoS保证 , 例如最大延迟和丢失率 。这些参数在连接建立阶段进行协商 , 假如可用资源不能保证所需的QoS , 请求将被拒绝 , 目前大部分支持QoS保证的连接建立协议 , 一般都执行下列步骤:
(1)从选定路由的第一个结点开始 , 发送预留请求 , 以预留支持新连接所需的资源 。
(2)当中继结点接收到预留请求时 , 它检查是否有足够的资源以支持请求的QoS , 假如有足够的资源 , 则将预留请求发送下一个结点;否则 , 将拒绝报文发送回源结点 , 并且前面的结点必须释放了它们预留给该请求的资源 。
(3)当目的结点接收了预留请求 , 它必须评估被选路由上不同结点所支持的QoS , 以验证端到端的QoS(如延迟等)是否保证 。
(4)假如端到端的QoS不能保证 , 发送拒绝报文至源结点 , 而且各结点解除预留资源 , 否则 , 将带有生育QoS(即提供的QoS减去请求的QoS)的证实报文发送回源结点 。
上述这些方法有着共同的缺点 , 那就是它们都假定通信实体间的路由初始时是已知的 , 当源与目的结点之间只有一条路由时 , 这种假设当然是合理的 , 但假如存在着多条路由时 , 由于在建立连接时必须进行多次重试操作 , 将导致阻塞概率上升 , 而成功建立新连接的概率将下降 。因此 , 应当让路由选择与QoS支持相关联 , 在连接建立之前降低重试的次数 , 并且 , 合适的路由选择机制将使高速网络的资源利用率最大化 , 并降低每一网络的冲突 。
我们把根据网络上可利用资源和流(flow)的QoS需求决定流的路由的机制称为QoS路由(QoS-based routing) 。QoS路由应能达到一下目标:
(1)动态确定可行路径;
(2)优化资源利用;
(3)对性能影响尽可能小 。
更进一步 , 大部分交互式多媒体应用是多方应用(multi-party applications) , 需要网络的多点投递支持 。假如能通过有效的方法找出既满足应用的QoS需求 , 又具有最小代价的路由 , 再利用上述的连接建立规程和资源预留协议 , 则阻塞概率将大大降低 , 同时页将显著提高网络的利用率 。因此从这个意义上讲 , 一个优化的QoS路由选择策略显得格外重要 , 它是实现QoS保证的要害之一 , 也是目前关于QoS的一个重要的研究方向 。
问题三
建立一个适用于QoS路由机制的网络模型 , 是选择并计算合适的路由尺度和路由信息的要害 , 网络的带宽和缓存能力是减少端到端延迟的决定因素 , 合适的调度、接纳和路由机制是保证不同服务质量需求、平衡网络伏在的必要措施 。前面所讲的方法都是网络通过对各类业务的数据包的区别对待实现与业务不同需求相适应的QoS , 其中对延时、抖动或丢失率敏感的业务 , 其数据包将得到相应的优先处理 , 而对传统的数据业务一般仍采用Best-Effort原则进行传输 , 这样做存在着一个潜在问题 , 那就使在网络出现拥塞时 , 高QoS要求的业务会产生对低QoS要求的业务(如采用Best-Effort原则传输的数据业务)的“排挤” , 手“排挤”的数据包将会在一段时间内滞留于网络中并进行不断重传 , 进一步加剧网络的拥塞 。对于这一问题 , 简单的解决方法是为不同业务分配一定的网络资源 , 但是这将影响网络资源的利用率 。所以更进一步的 , 可以根据各类业务对资源的实时需求情况动态的调整网络资源在不同业务间的分配 , 这样可以达到充分利用资源和平衡各类业务需求的目的 。
问题四
【Qos技术入门篇】目前还有一个问题是 , 要建立一个支持QoS保证的分布式系统必须建立统一的QoS框架 , 这个框架包括QoS体系结构和统一的QoS说明分类 , 其总QoS体系结构完成把复杂的资源对象结合起来 , 依次来建立复杂高效的分布式系统;而QoS说明分类是在具体研究QoS参数和它们之间的相互关系的基础上 , 建立统一的QoS参数 , 具体定义QoS参数的含义、表示、度量单位和相互关系 , 最终使得在分布式的各个系统资源组件之间 , 在QoS层面上进行统一的转换------即QoS映射 。这样建立的基于QoS框架将是下一代分布式多媒体和实时系统的基础 。于是 , 人们越来越关注QoS的分类技术 , 对各类别的QoS参数进行统一分类 , 来简化QoS说明分类 , 使得QoS的映射得到简化和易于实现 , 从而为建立统一的异质分布式多媒体和实时系统打下基础 。