热门标签 | 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要求。举例来说可以有策略路由(不使用路由表而直接将数据包流带到目标端口)、数据包过滤策略(依据分类策略标记或丢弃数据包)、数据包记录(允许用户记录特定的数据包流)以及与安全有关的策略。


推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文详细介绍了相机防抖的设置方法和使用技巧,包括索尼防抖设置、VR和Stabilizer档位的选择、机身菜单设置等。同时解释了相机防抖的原理,包括电子防抖和光学防抖的区别,以及它们对画质细节的影响。此外,还提到了一些运动相机的防抖方法,如大疆的Osmo Action的Rock Steady技术。通过本文,你将更好地理解相机防抖的重要性和使用技巧,提高拍摄体验。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
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社区 版权所有