请阅读【ARM AMBA AXI 总线 文章专栏导读】
转自:揭秘数通知识:QoS是什么?QoS是怎么工作的?(一)
文章目录
- QoS 概述
- 综合服务和差分服务
- QoS 工具
- 报文分类
- 报文标记
- 流量监管和整形工具
- 拥塞管理工具
- 拥塞避免工具
- 队列策略
- FIFO(先进先出队列,First In First Out Queue)
- Priority Queue(优先队列PQ)
- Weighted-fair Queue(加权平均队列WFQ)
- 丢弃策略
我们在学习嵌入的时候经常会听到QoS
这个词汇,那么这个词到底是什么含义以及它出现的背景是什么?我们可以通过 揭秘数通知识:QoS是什么?QoS是怎么工作的?(一) 这边篇转载的文章进行学习。
QoS 概述
在传统的IP网络中,所有的报文都被无区别地等同对待,每个路由器对所有的报文均采用先进先出(FIFO)的策略进行处理,尽最大的努力(best-effort)将报文送到目的地,但对报文传送的可靠性、传送延迟等性能不提供任何保证。
随着IP网络上新应用的不断出现,对IP网络的服务质量也提出了新的要求,传统IP网络的“尽力服务”已不能满足应用的需要,如VoIP业务,如果报文传送延时太长,将是用户所不能接受的。为IP
网络提供支持QoS(Quality of Service)的能力是解决问题的可行方法。
QoS即服务质量,旨在针对各种应用的不同需求,提供不同的服务质量,如提供专用带宽、降低报文丢失率、减少报文传送时延及时延抖动等。为实现上述目的,QoS提供了下列功能:
- 报文分类
- 报文标记
- 流量监管和流量整形
- 拥塞避免
- 拥塞管理
综合服务和差分服务
为了实现IP网络的QoS,需要通过对带宽分配、改进丢包特性、避免和管理网络拥塞、测量网络流量、或设置跨网络的业务流优先级等特性的配置来提供更好、更加可预测的网络服务。
QoS是在尽力发送方式的IP层上为提供一定的服务保障而提出的一系列措施的集合,QoS可分为两种类型的服务:综合服务(Int Serve)和差分服务(Diff Serve)。
-
综合服务可以满足多种QoS需求。这种服务模型在发送报文前,需要向网络申请特定的资源。这个请求是通过信令来完成的,应用程序先通知网络自己的流量参数和需要的特定服务质量,包括带宽、时延等,应用程序一般在收到网络的确认信息,即确认网络已经为这个应用程序的报文预留了资源后,才开始发送报文,同时应用程序发出的报文被控制在流量参数描述的范围内。
这种服务能很好地满足QoS的要求,但由于网络需要为每个流维护一份QoS记录,会造成扩展上的问题,因此综合服务在实际应用中并不广泛。
-
与综合服务不同,差分服务不需要信令,即应用程序在发出报文前,不需要通知路由器。网络不需要为每个流维护状态,只需根据每个报文指定的QoS来提供特定的服务。可以用不同的方法来指定报文的QoS,如IP包的优先级位(IP Precedence),报文的源地址和目的地址等。网络通过这些信息来进行报文的分类、流量整形、流量监管和排队。
差分服务可以看作是综合服务和尽力模式的一个折中,其服务粒度比综合服务大,但比尽力发送小,又能支持一定的流量优先级选择。
差分服务主要分为以下两个相辅相成的部分:
- 流量分类:主要有按照ACL、流量大小、ToS、NBAR的分类
- 分类管理策略:包括队列策略、丢弃策略、整形策略
QoS 工具
路由器设备中的QoS工具通常包括分类与标记工具、流量监管与整形工具、拥塞管理工具、拥塞避免工具等。
报文分类
报文分类工具能够将网络业务流分割成多个优先级或服务类别。
例如:使用IP包头中的DSCP字段,可以将报文最多分成64种业务类别。报文分类完成后,可以对不同的业务类别应用不同的QoS处理策略,包括拥塞管理、流量监管与整形、报文标记或重标记等。
常见的报文分类依据包括:物理接口、子接口、PVC、MAC地址、802.1Q/p CoS、MPLS EXP、DSCP、IPP、IP五元组、甚至包括包头或净荷中的URL等。
报文标记
标记工具通常用来建立其它QoS工具所依赖的信任边界。可以根据用户策略对不同的业务类型施加不同的标记,该标记可以作为下一级分类的标准,也可以由报文携带到其他设备。此外,路由器还可以根据流量监管的结果对报文重新标记,例如报文的降格处理等。
流量监管和整形工具
流量监管及时地检查流量违约,并在违约出现的时候立即采取规定的动作。流量监管能够确定入接口是否超过了约定的速率,对于超过约定的速率部分进行重新标记或丢弃。
流量整形是与排队机制一起工作的流量平滑工具。流量整形的目的是使平滑流量不会超过指定的速率。如果进入的流量临时超过了指定的速率,那么过量的流量会被缓存并延迟发送。
拥塞管理工具
在所有的QoS工具中,拥塞管理工具对应用程序服务质量的影响最为显著。拥塞管理工具也被称为排队工具,当网络发生了拥塞的时候,决定不同业务流的出队策略。常见的拥塞管理工具包括PQ、WFQ、CBWFQ等。
拥塞避免工具
拥塞避免工具是拥塞管理工具的补充,拥塞管理工具管理一个队列的头部,而拥塞避免工具则管理一个队列的尾部 。
常见的拥塞避免机制包括:随机早期检测(RED)、加权随机早期检测(WRED)、显式拥塞通知(ECN)等。
队列策略
队列策略主要实现了以下三种队列,即:
FIFO(先进先出队列,First In First Out Queue)
FIFO队列是最简单的队列,也是路由器采用的默认的队列处理方式。该方式将所有要从该接口输出的报文,按照到达的先后顺序进入接口的FIFO队列尾部,而接口在发送报文时,从FIFO队列的头部开始,依次发送报文。所有的报文在发送过程中,没有任何区别,也不对报文传送的质量提供任何保证。
Priority Queue(优先队列PQ)
PQ队列是将流量分放入高、中、普通、低四个队列中,对这四个队列的处理是严格按照优先级别来进行的。在报文出队的时候,PQ先让高优先队列中的报文出队并发送,直到高优先队列中的报文发送完,再发送中优先队列中的报文。同样,中优先队列中的报文发送完后,再发送正常优先队列中的报文,最后是低优先队列。
这样,分类时属于较高优先级队列的报文将会得到优先发送,而较低优先级的报文将会在发生拥塞时被较高优先级的报文抢先。这使得关键业务的报文能够得到优先处理,非关键业务的报文在网络处理完关键业务后的空闲中得到处理,既保证了关键业务的及时处理,又充分利用了网络资源。
Weighted-fair Queue(加权平均队列WFQ)
WFQ是基于流的公平队列,即是为了调整封包较大的流对封包较小的流的优势而发展出的一种队列模式。通过基于虚拟发送时钟的调度策略,可以较好地在不同包大小的流之间得到一定的带宽公平。
丢弃策略
丢弃策略是在队列流量到达限制时对包采用何种方式丢弃,常用的是尾部丢弃(Tail Drop)、随机早期检测(RED)、加权随机早期检测(WRED)。
路由器设备中QoS的常用实现流程如图所示:
关于 ARM AXI 中的 QoS 内容推荐阅读:【ARM AMBA AXI 入门 5 - AXI 协议中的 QoS信号及User信号介绍 】
如有侵权,请联系删除