热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ITU-TTechnicalPaper:QoS的构建模块与机制

本文翻译自ITU-T的TechnicalPaper:《HowtoincreaseQoSQoEofIP-basedplatform(s)toregionallyagreedsta

本文翻译自ITU-T的Technical Paper:《How to increase QoS/QoE of IP-based platform(s) to regionally agreed standards》(2013/3/1)。这是其第五章的一部分,给出了QoS的构建模块与机制。PS:在此感谢一位师弟的翻译。

 

QoS的作用是支持特定应用的特点和属性,然而的不同的应用可能有着差别很大的要求。例如,对于远程医疗,交付的准确性就比整体延迟或分组时延偏差(也就是抖动)更加重要,但是对于IP电话而言,抖动和延迟就是关键问题,而且必须进行最小化处理。QoS支持的体系结构框架的重点是网络内的某些机制提供所需的网络性能。 [b- ITU-T Y.1291]

5.1  QoS的构建模块
与QoS有关的网络机制可以特定于一个网络单元也可以特定于网络单元之间的信号传输,或用于控制和管理在网络上的流量。形成QoS构建模块的QoS体系结构框架重点确定了一组通用的针对网络服务响应服务请求的控制机制。一个QoS构建模块可能特定于一个网络节点(例如缓冲区管理)或者适用于一个需要在网络节点之间进行信号传输的网段(例如QoS路由),无论这些节点是否属于同一网段(例如端到端、端对边、边对边或网络对网络)。
通过应用通信的通用参考架构模型,QoS的构建模块可以组织成三个平面内,如下图10所示,同时也在下面的总结中进行了解释[b- ITU-T Y.1291]:
 控制平面: 包括了与用户流量通过路径相关的处理机制(例如接入控制、QoS路由和资源预留);
 数据平面: 包括了与用户流量的直接处理有关的机制(例如缓冲管理、拥塞避免,数据包标记、排队和调度、流量分类、流量监管和流量整形);
 管理平面: 包括了与网络的操作和管理方面有关的处理机制(例如SLA、流量恢复、计量和记录,和相关策略)。

 


图 10 –QoS构建模块的架构视图


5.2  控制平面机制
控制平面机制的关键作用是控制网络服务的响应和流量。它有如下三个机制。
接入控制
这一机制控制了接入网络的流量,是否允许接入取决于一个先验的SLA。可以根据网络资源的可用性决定是否允许接入,从而确保新接入的流量不会使网络过载,也不会降低当前进行的流量的服务质量。服务供应商希望在维持相同QoS水平的情况下接入最多的流量。
这一机制同时也可以用于满足在特定时间段内接入控制所优先要求的服务可靠性/可用性,比如在SLA中。设置接入控制的优先级是允许更高优先级的流量在拥塞情况时优先接入的方法之一(例如,用于紧急通讯)。

QoS路由
这一机制提供了选择能满足QoS对于流的要求的路径(并非是传统的最短路径)的能力。网络的规模随着相关的QoS指标数量增加而扩大,适当的路径选择也就成为了重要的问题。因而实际的QoS路由方案考虑到了单QoS指标(例如带宽或延迟)和双QoS指标(例如,费用-延迟、费用-带宽和带宽-延迟)的主要情况。QoS路由提供了一种方法来确定唯一的那个可能合适于所请求性能的路径,而不能保证性能。为了保证性能,需要在路径上储备QoS路由认定的必要资源
路径选择的处理过程涉及到了对流的QoS要求和特性的理解(受信令协议支持),同时也包括了有关于网络资源可用性(可用的带宽和时延)的信息。
相关信息主要依靠信令协议的帮助来获得并分发。根据状态信息的维护方式以及可行路径的寻找方式,可以有三种降低路径选择计算复杂度的方法:源路由、分布式路由以及分层路由。此外,根据QoS指标的处理方式,又有另外两种方法:指标排序和顺序滤波 [IETF RFC 2386].

资源预留
这一机制留出了为交付预期的网络性能所需的网络资源。通常来说,当有足够的资源时,一个预留请求才会被接入控制方批准。资源预留依赖于网络性能的要求,包括未满足要求而采用的特定的网络方法,同时,服务供应商也应该可以向用户就预留资源进行收费。因此,资源预留需要支持不同服务供应商之间的认证,授权,计费和结算。
资源预留通常利用一些专门设计的协议(如RSVP)来实现[IETF RFC 2205]。资源预留的功能可以是分布式的也可以是集中式的。但是一个主要的问题在于实际的和预期的可用资源之间的差异,以及保障最新信息的可达性,使得节点、链接以及其他的资源都可为发出请求的应用所利用。

5.3  数据平面机制
数据平面机制的关键作用在于处理操作和管理。它包含如下的几种机制。
队列(或缓冲)管理
这一机制处理(等待传输的)数据包的存储和删除,从而最小化稳态队列的大小。这一机制可以用来避免链接的不充分应用以及单一流量或连接独占队列空间时的锁定现象。队列管理方案之间的主要区别在于什么时候丢包以及丢掉什么样的数据包。一般常见的丢包标准是达到了队列尺寸的上限,也即是队列已满的情况。而多队列的使用则带来了一些变化,比如数据包在可以在队列之间分发。
丢弃什么样的数据包则依赖于丢弃准则;“尾部丢弃”准则中会丢掉新到达的数据包(最常见的策略),“首部丢弃”准则中会丢掉在队列首部的数据包(同时会保留后来到达的数据包),而“随机丢弃”准则通过随机丢弃队列中的数据包来保留新到达的数据包。

拥塞避免
这一机制将网络负载保持在其容量之下,从而保证网络在不发生拥塞的情况下保持可接受的性能水平。当流量超过或接近网络容量的时候就会因为缺乏资源(如链接带宽和缓冲空间)而发生拥塞。举例来说,拥塞的标志之一就是路由器(或交换机)队列总是满的并且路由器已经开始丢包。丢包会引起重传输,进而带来更多的流量和更严重的拥塞。这种连锁反应会让网络彻底停止,吞吐量也会降为0.
在出现网络拥塞的迹象(或拥塞即将发生)之时避免拥塞的一个典型方法就是减少输入到网络的流量。通常来说,数据包丢失和定时器超时都被认为是发生网络拥塞的隐式征兆,除非使用了像ECN(用于IP和TCP的显示拥塞指示:IETF RFC 3168)这样的显示指示。

排队及调度
这一机制控制了要在传出链路上传输哪些数据包。传入流量被保持在一个有多个队列和一个调度器组成的队列系统中。管理队列系统就是选择它所采用的排队和调度准则。下面是几种关键的方法:
 先进先出排队:数据包被放置到单一队列中去,且它们在队列中的顺序与它们到达队列时的顺序相同;
 公平排队(或基于流的排队):数据包被分为不同的流并分配到不同的队列中去,各队列都只处理自己的流。然后各队列循环发送;
 优先权排队:首先将数据包分类,在放入有不同优先级的队列中去,在每个优先权队列中,数据包遵循先进先出准则;
 加权公平排队:数据包被分为不同的流并分配到不同的队列中去,各队列都只处理自己的流。每个队列都依据各自的流所需的带宽来分配输出带宽的百分比。通过区分不同长度的数据包,这种方法也可以防止有大数据包的流被分配到窄带宽中去。
 基于类的排队:数据包被分为很多个类别,然后被分配到不同的队列中去,每个队列又根据服务类别分类。每个队列可以被分配一定的输出带宽并且循环输出。空的队列将被轮空。


数据包标记
这一机制根据数据包在网络中所接受到的具体服务类别来标记它们,通常是由边缘节点来完成的。数据包标记涉及到以一种标准的方式给数据包指定头字段分配一个值(例如IP数据报头字段中的服务类型)。如果标记是由主机完成的,那么边缘节点应该检查标记并且在必要的时候修改标记。有时候会用特殊值标记不一致的数据包,而这些数据包可能会在拥塞情况下被丢弃。无论数据包标记由主机还是边缘节点完成,标记的标准都应提供并且被动态地配置。

流量分类
这一机制可以在流或数据包层面实现流量的分类。在网络边缘,负责流量分类的实体往往通过观察数据包的多个方面(例如与IP流有关的五元组)来决定它所属于的集合以及它们各自的SLA。

流量监管
The senders may be notified of the dropped packets and causes determined and future compliance enforced by SLAs.这一机制用于监管测定被呈现的流量是否符合预先商谈好的基于逐跳机制的策略或合约。通常不符合要求的数据包会被丢弃。发送方会被告知被丢弃的数据包。

流量整形
This is a mechanism for controlling the rate and volume of traffic entering the network, for example, buffers non-conformant packets until it brings the respective aggregate in compliance with the traffic.
这一机制用于控制进入网络的流量的速率和体积。这样最后得到的流量就不像先前那样具有爆发性,而更具可预测性。流量整形往往需要在出口和入口的节点之间进行。流量整形有两种主要方法:漏桶算法和令牌桶算法。
漏桶算法应用一个漏桶来调节离开一个节点的流量的速率,它可以保证流出量的速率恒定,而不考虑流入量的速率。任何溢出桶的数据包都会被丢弃。令牌桶允许数据包以与流入速率相同的水平流出,条件是有足够多的令牌,而这些令牌是按一定的速率产生并存储到令牌漏桶中去直到满了为止的。每牺牲一个令牌,一定体积的流量就被允许离开节点,如果漏桶中没有令牌,就不能传输任何数据包。但是也可以一次牺牲多个令牌来允许突然爆发的流量通过。漏桶和令牌桶算法可以同时使用。特别的是,可以先用令牌桶算法进行流量整形后再用漏桶法进行整形,这样可以去除不必要的突发数据。

5.4  管理平面机制
管理平面机制的主要作用是直接处理用户流量,它包括如下四个机制。
服务水平协议
这一机制用于处理客户和服务供应商之间达成的协议,协议确定了可用性、可维护性、性能、操作或服务水平的其他属性,称为SLA。

流量计量
这一机制用于监测流量的时间属性(例如,速率)并与协定的流量信息进行对比。这一机制涉及到在给定的网络点观察流量特性、搜集并存储流量信息以供分析和下一步的动作使用。根据一致性水平,计量实体可以针对数据包流调用必要的处理方法(例如丢弃或整形)。

流量恢复
这一机制用于处理网络在故障模式下的缓解响应。在许多层面上都应该考虑到这一机制,例如拥有动态环和网状保护以及波长级别恢复功能的光网络,再比如拥有自动保护切换(APS)和自愈环以及网状结构的SONET/SDH层。在接入控制方面,与关键服务有关的流量可能需要更高优先权的恢复。因此服务供应商需要准备足够水平的闲置资源才能让QoS的多个SLA在恢复情况下保持一致。衡量服务可恢复性的常见参数有恢复时间和可恢复服务的百分比。

策略
这一机制用于处理与管理、控制网络资源接入有关的策略。这一机制可以特定于服务供应商的需求,也可以反映供应商与客户之间达成的协议,这一协议可能包含在特定时间段内的可靠性和可用性要求等其他的QoS要求。举例来说可以有策略路由(不使用路由表而直接将数据包流带到目标端口)、数据包过滤策略(依据分类策略标记或丢弃数据包)、数据包记录(允许用户记录特定的数据包流)以及与安全有关的策略。


推荐阅读
  • 深入探讨:Actor模型如何解决并发与分布式计算难题
    在现代软件开发中,高并发和分布式系统的设计面临着诸多挑战。本文基于Akka最新文档,详细探讨了Actor模型如何有效地解决这些挑战,并提供了对并发和分布式计算的新视角。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 一家位于长沙的知名网络安全企业,现面向全国诚聘高级后端开发工程师,特别欢迎具有一线城市经验的技术精英回归故乡,共创辉煌。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • RTThread线程间通信
    线程中通信在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取& ... [详细]
  • 吴石访谈:腾讯安全科恩实验室如何引领物联网安全研究
    腾讯安全科恩实验室曾两次成功破解特斯拉自动驾驶系统,并远程控制汽车,展示了其在汽车安全领域的强大实力。近日,该实验室负责人吴石接受了InfoQ的专访,详细介绍了团队未来的重点方向——物联网安全。 ... [详细]
  • 七大策略降低云上MySQL成本
    在全球经济放缓和通胀压力下,降低云环境中MySQL数据库的运行成本成为企业关注的重点。本文提供了一系列实用技巧,旨在帮助企业有效控制成本,同时保持高效运作。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 深入理解云计算与大数据技术
    本文详细探讨了云计算与大数据技术的关键知识点,包括大数据处理平台、社会网络大数据、城市大数据、工业大数据、教育大数据、数据开放与共享的应用,以及搜索引擎与Web挖掘、推荐技术的研究及应用。文章还涵盖了云计算的基础概念、特点和服务类型分类。 ... [详细]
  • 本文探讨了在SQL Server 2008环境下,当尝试删除拥有数据库架构的用户时遇到的问题及解决方案,包括如何查询和更改架构所有权。 ... [详细]
author-avatar
FrxxGp
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有