QoS队列机制对比
- 格式:xlsx
- 大小:11.05 KB
- 文档页数:2
队列及拥塞管理队列及拥塞管理拥塞管理的中心内容是当拥塞发生时如何制定一个策略,用于决定报文转发的处理次序和丢弃原则,一般采用队列技术。
队列指的是在缓存中对报文进行排序的逻辑。
当流量的速率超过接口带宽或超过为该流量设置的带宽时,报文就以队列的形式暂存在缓存中。
报文离开队列的时间、顺序,以及各个队列之间报文离开的相互关系则由队列调度算法决定。
说明:路由器转发平面的流量管理器TM(Traffic Manager)上有一些高速缓存,用于报文的缓冲和转发,缓存由所有端口共享,各端口竞争使用。
为了避免有的端口长时间抢不到缓存而出现断流,路由器给每个端口分配了一块最小可用缓存,并且分配到端口的各个队列上,保证每个队列均有缓存可用。
当TM收到报文时,将报文放入缓存,网络不拥塞时,报文能被及时转发,不会在缓存中产生堆积。
这种情况下报文在缓存中的时间为μs级,延迟时间可以忽略不计。
当网络拥塞时,报文在缓存中产生堆积,被延迟处理,延迟时间会大幅增加。
延迟时间的大小主要取决于队列的缓存长度以及该队列获得的输出带宽,可以使用如下公式计算时延:队列时延 = 队列缓存长度 / 队列输出带宽华为路由器设备的每个端口上都有8个下行队列,称为CQ(Class Queue)队列,也叫端口队列(Port-queue),分别为BE、AF1、AF2、AF3、AF4、EF、CS6和CS7。
单个队列的报文采用FIFO(First In First Out)原则入队和出队。
图1 报文入队出队方式队列调度算法本文介绍几种常见队列调度算法:先进先出FIFO(First In First Out)严格优先级SP(Strict Priority)轮询RR(Round Robin)加权轮询WRR(Weighted Round Robin)差分轮询DRR(Deficit Round Robin)差分加权轮询DWRR(Deficit Weighted Round Robin)加权公平队列WFQ(Weighted Fair Queuing)FIFOFIFO不对报文进行分类。
3550交换机QoS时序及队列讨论简介输出时序被用来确保重要的业务不会在端口流量在某些严重超出预定流量时的状况下导致数据丢包。
本文档讨论了Catalyst 3550 交换机有关输出时序的所有技术和算法。
本文档着重于介绍如何配置及验证Catalyst 3550 交换机上的输出时序。
本文档所表述的信息均是通过在特殊的实验室环境下的设备所创建的。
文档中所用到的所有设备都是采用明确的(缺省的)配置命令。
若你是在一个现实的网络环境下工作,在使用一些简写命令时应确保你已经完全理解了该命令的含义。
Cisco Catalyst 3550 交换机QoS 时序及队列交换机3550 交换机有两种不同类型的端口:千兆端口和非千兆端口(10/100M端口)两种端口具有不同的性能,这些性能下面会作简单描述,而且相关的描述会贯穿整篇文档。
两种端口均支持的性能每个3550的端口上都有4个不同的输出队列。
这些队列中的一个可以被配置为优先级队列。
余下的几个端口被配置为非绝对的优先级队列,并使用Weighted Round Robin (WRR)。
所有的端口上,数据包根据各自的服务类别(CoS)被分配为四中可能的类别之一。
千兆端口支持的特性千兆端口还能支持每个队列的管理机制。
每个队列可以使用Weighted Random Early Discard (WRED)或者双线程的tail drop 。
队列大小可调(每个队列均分配相应的缓冲区)。
非千兆端口支持的特性非千兆端口不支持任何队列管理机制,例如WRED或者双线程tail drop10/100M端口支持FIFO 队列。
每个端口队列的大小都不可改变。
但是你可以为每个队列分配最小的保留带宽。
CoS 到队列映射本节讨论3550如何决定将每个数据包放置到队列中去。
数据包队列取决于服务类别(CoS )。
通过使用CoS 到队列的接口映射命令,每个八种可能的Cos数值将被映射到相应的四个队列。
sqmqos列队规则SQMQOS列队规则是一种用于网络流量管理的算法,它可以帮助网络管理员更好地控制网络中的数据流动。
SQMQOS是“Strict Priority Queueing with Multilevel Queueing and Over-subscription”的缩写,意为“严格优先级队列与多级队列和超额订阅”。
在传统的网络中,数据包是按照先到先服务(FIFO)的原则进行处理的。
这意味着所有的数据包都会按照它们到达的顺序进行处理,而不考虑它们的优先级。
然而,在某些情况下,一些数据包可能具有更高的优先级,需要更快地处理。
这就是SQMQOS列队规则的用武之地。
SQMQOS列队规则将网络流量分为多个队列,并为每个队列分配一个优先级。
每个队列都有自己的缓冲区,用于存储数据包。
当数据包到达时,它们会根据其优先级被放入相应的队列中。
具有更高优先级的数据包将被放入优先级较高的队列中,而具有较低优先级的数据包则被放入优先级较低的队列中。
在SQMQOS列队规则中,每个队列都有自己的服务级别(SLA)。
服务级别定义了每个队列可以使用的带宽和资源。
具有更高优先级的队列将被分配更多的带宽和资源,以确保其数据包能够更快地被处理。
而具有较低优先级的队列则被分配较少的带宽和资源,以保证高优先级队列的数据包能够优先处理。
此外,SQMQOS列队规则还支持超额订阅。
超额订阅是指当网络中的带宽资源不足时,允许某些队列使用超过其分配的带宽。
这意味着具有更高优先级的队列可以使用其他队列未使用的带宽,以确保其数据包能够及时处理。
然而,超额订阅也可能导致较低优先级队列的数据包被延迟处理。
SQMQOS列队规则的应用范围广泛。
它可以用于各种网络环境,包括企业网络、数据中心和云计算环境等。
通过使用SQMQOS列队规则,网络管理员可以更好地管理网络流量,提高网络的性能和可靠性。
总之,SQMQOS列队规则是一种用于网络流量管理的重要算法。
QoS---QoS服务模型、影响⽹络质量的因素QoS服务模型传统的⽹络设备在处理报⽂转发时,会依据先到达的报⽂优先被转发的机制进⾏处理,所以这样就会导致当⽹络发⽣拥塞时,⼀些关键业务的通信质量就得不到保障(如语⾳延迟、视频卡顿、关键业务⽆法通信等),进⽽影响到客户体验QoS在带宽有限的情况,根据不同的流量,提供不同的优先服务⼀.影响通信质量的因素1.带宽⽹络的最⼤带宽是由传输路径的最⼩带宽决定的⽹络带宽不⼀致,出现拥塞点FIFO队列:先进先出2.⽹络时延:发送端到接收端的路径所有时延总和时延超过50MS,认为⽹络质量不好处理时延:⽹络设备内部处理等待时延传输时延:传输介质和传输距离决定队列时延:⽹络设备内部数据调度的等待时间串⾏化时延:链路上第⼀个bit⾄发完最后⼀bit所需时间3.抖动每个报⽂到达⽬的的时延不同所导致,每个报⽂到达的最⼤时间差⼀般抖动不超过30MS例如⼀个时延60ms,⼀个时延30s,那么抖动就是60ms-30ms=30ms4.丢包丢包由很多因素导致处理过程:CPU繁忙导致⽆法处理报⽂排队过程:在队列时,可能由于队列被装满⽽导致丢包传输过程:链路的种种原因丢包率⼀般不能⼤于2%⼆、服务模型1.尽⼒⽽为模型(默认)best-effort通过增⼤⽹络带宽,硬件性能提升⽹络通信质量优点:效果显著缺点:成本代价⼤,存在⼀定的中断业务风险(替换设备) 2.综合服务模型Integrated Services Model应⽤程序发送消息前需要先向⽹络设备申请带宽和服务,收到设备同意后,程序才会发出报⽂,通过RSVP协议保障业务带宽,延时实现复杂(运⾏RSVP协议),空闲时独占带宽,使⽤率低通过RSVP协议,申请预留带宽资源3.差分服务模型分类、标记不同流量,定义不同处理动作,进⼊队列中按照调度机制实现差分服务将⽹络的流量分成多个类,形成多个队列,每个类有不同的优先转发、丢包率,时延等差分时服务域针对报⽂进⾏区别服务的区域DS边界DS域的⽹络⼊⼝设备节点负责流量的分类,标记DS节点DS域中间设备,出⼝设备根据报⽂标记将外部优先级(报⽂)映射成本地优先级(设备内部)是否映射由设备决定,如果设备不信任该流量就不会映射转换其优先级根据本地优先级将报⽂放⼊不同的缓存队列,利⽤调度技术,使其优先转发每个DS节点独⽴,对报⽂处理⽅式可以不⼀致灵活性缺点需要在每台设备部署,对⼈员技术要求⾼实现差分服务的关键技术:报⽂分类和标记(报⽂优先级字段,DSCP)拥塞管理(队列技术)、拥塞避免(尾丢弃)流量整形和流量监管(令牌桶)优点缺点尽⼒⽽为服务模型实现机制简单对不同业务流不能进⾏区分对待综合服务模型可提供端到端QoS服务,并保证带宽、延迟需要跟踪和记录每个数据流的状态,实现较复杂,且扩展性较差,带宽利⽤率较低区分服务模型不需跟踪每个数据流状态,资源占⽤少,扩展性较强;且能实现对不同业务流提供不同的服务质量需要在端到端每个节点都进⾏⼿⼯部署,对⼈员能⼒要求较⾼。
Catalyst交换机队列机制日期:2009-2-23 浏览次数:613作者:ccie6961Catalyst交换机队列(queueing)机制:-主要的特点:队列是通过硬件ASIC处理。
特别是6500的模块上有DFC时,队列也可以通过DFC完成,而无需通过RP。
这是跟路由器上队列最大的区别。
路由器通过MQC来选择不同队列调度(LLQ/WFQ)是不适用在Catalyst的。
-队列的调度机制主要有WRR,DWRR,PQ,而没有LLQ/WFQ/FQ,LLQ可以是多个,而硬件PQ只有一个)。
-由于Catalyst队列是硬件完成,所以会因类型或是模板的不同,配置也会不同。
相反,路由器队列主要是软件去设定,基本上队列的配置和路由器类型没有多大关系(反而跟IOS 版本关系比较大)。
-队列一般对传输口而言;除非每块模板上所有接收口的总和超过switch fabric,否则防止堵塞不会启用。
-硬件队列机制是针对以太网LAN线板,不是以太网WAN线板。
大部分都是LAN线板,WAN 线板只局限于GE-WAN和FlexWAN等。
所以理解Catalyst QoS队列主要是这几点:a 队列的数目和类型(多个标准队列和一个严格优先队列PQ);b 队列调度(scheduling)的不同:- SRR-Shaped Round Robin (整形循环)- Shared Round Robin (共享循环)- WRR-Weighted Round Robin (加权循环)- DWRR-Deficit Weighted Round Robin(亏损加权循环)(指令和WRR一样:wrr-queue) - Priority Queueing (严格优先队列)c 防止堵塞的类型:- WRED(加权随机先期检测)- TD/WTD (尾丢弃/加权尾丢弃)- DBL(动态缓存限制,仅限Catalyst4500)配置方面主要有几项:a 每个队列的带宽或权重(严格优先队列基本是最后一个),队列的深度(queue-limit);b CoS和队列的映射);c 防止堵塞(WRED/TD/DBL)不同类型的Catalyst的队列归纳如下(配置按照思科QoS SRND推荐):Catalyst 2950:1P3Q或是4Q(队列4为PQ),不支持WRED:interface GigabitEthernet0/1wrr-queue bandwidth 5 25 70 0 !Q1:Q2:Q3=5:25:70,Q4=PQno wrr-queue cos-mapwrr-queue cos-map 1 1wrr-queue cos-map 2 0wrr-queue cos-map 3 2 3 4 6 7wrr-queue cos-map 4 5show wrr-queue bandwidthshow wrr-queue cos-mapCatalyst 3550: 百兆口:1P3Q1T,不支持WRED;千兆口:1P3Q2T, TD/WRED);注意Q4是PQ时带宽设为1。
qos传输机制规则
QoS传输机制规则是网络传输中的一项重要机制。
它可以确保网络中的各种数据流获得适当的带宽和优先级,以保证网络服务质量。
以下是QoS传输机制规则的具体内容:
1. 分类和标记
QoS传输机制通过分类和标记来识别不同类型的数据流,并根据其重要性提供不同的服务质量。
常用的分类方法包括IP地址、端口号、协议类型等。
通常,高优先级的数据流将被标记为“优先”或“严格优先”,低优先级的数据流则被标记为“普通”或“批量”。
2. 流量控制
QoS传输机制还可以通过控制网络流量来确保服务质量。
例如,在网络拥塞时,QoS传输机制可以限制流量,以确保高优先级的数据流仍然能够获得足够的带宽。
流量控制可以采用不同的算法,例如令牌桶算法、速率限制算法等。
3. 优先级队列
为了确保高优先级的数据流能够更快地传输,QoS传输机制通常会使用优先级队列。
在优先级队列中,高优先级的数据流会被先处理,而低优先级的数据流则会被放在队列的后面。
这可以确保高优先级的数据流能够得到及时处理。
4. 拥塞控制
QoS传输机制还可以通过拥塞控制来防止网络拥塞。
拥塞控制可以通过控制数据流的速率来实现。
例如,在网络拥塞时,QoS传输机
制可以降低所有数据流的速率,以减少网络拥塞的风险。
总之,QoS传输机制规则是网络传输中的一项重要机制,它可以确保网络服务质量,并为不同类型的数据流提供不同的服务优先级。
二层交换芯片QOS机制说明一、调度算法1、严格优先级调度(strict priority-base (SP))1) 高优先级队列首先得到调度发包;2)只有高优先级队列为空,没有包的时候,低优先级队列才得到调度发包;3)缺点是当高优先级队列一直有包转发时,低优先级队列中的包会饿死。
2、加权循环调度(weighted round robin (WRR))1)给每个队列赋予一个权重,通过权重来控制每个队列一次被调度发包的个数。
3、加权公平队列(weighted fair queuing (WFQ))1) 为避免低优先级队列饿死,给所有队列提供固定的最低的带宽来发包;2)剩余的带宽通过严格优先级或循环调度的方式分配给所有队列;3)这个机制保证低优先级队列不饿死下,同时又有可控的调度行为。
4、WRR+SP1)WRR+SP被同时支持;2)一个或多个队列权重可以设为0,其他设为非0值,只要权重为0值的队列有包一定优先调度发包,只有所有权重为0值的队列中没有包了,其他队列再根据WRR方式进行调度发包;(多个0值队列,应该按照SP方式进行调度发包。
)3)一旦权重为0值的队列有包进入了,WRR方式的调度发包将被抢占,权重为0值得队列进行调度发包。
当权重为0值得队列没有包了,WRR方式的调度发包再继续运转。
5、WFQ+SP1)WFQ+SP被同时支持;2)可以设置一些队列与一个带宽进行SP调度发包;3)其他剩下的队列与剩下的带宽进行WFQ调度发包。
二、一些流量控制技术1、WRED(weighted random early detection)加权随机早期检测1)WRED使用了TCP拥塞控制机制;2)基于当前队列中的包进入平均量,进行丢弃随机选择的流入包,避免对缓存资源的拥塞;3)触发包的源头根据可获得的带内来合理地调整他们的发送速率;4)5650/5651可以基于每端口每COS队列中支持WRED的配置。
2、head of line blocking prevention 线头阻塞预防1) 当多个端口或多条流向同一个端口发包的时候,在某些架构中产生拥塞,从而导致源端口发给其他端口的包丢弃,这就是HOL blocking;2)5650/5651支持两种防止HOL blocking,一种是基于cell,另一种是基于packet,都可以同时应用于每端口每COS;3)基于cell的线头阻塞预防机制依据每端口每COS使用的所有包的内存,基于packet 的线头阻塞预防机制依据每端口每COS队列中包的数量。
比较QoS服务策略的bandwidth及priority命令前言bandwidth及priority命令两个定义了可以是适用在一个模块化服务质量命令行接口的动作(MQC) policy-map之内,您适用于接口、子接口或者虚拟电路通过service-policy命令。
特定地,这些命令提供一个带宽保证给匹配话务类别的标准的信息包。
然而,二个命令有重要功能上的区别在那些保证。
此技术说明解释那些区别并且解释组的未使用的带宽如何被分配到匹配其他组的流。
前提此文档没有特殊的先决条件。
使用的组件本文不限于特定软件和硬件版本。
本文提供的信息在特定实验室环境里从设备被创建了。
用于本文的所有设备开始了以一个缺省(默认)配置。
如果在一个真实网络工作,保证您使用它以前了解所有命令的潜在影响。
区别汇总下面的表列出bandwidth及priority命令的之间功能上的区别。
区别汇总下面的表列出bandwidth及priority命令的之间功能上的区别。
另外,bandwidth及priority命令设计符合不同的服务质量(QoS)制度目标。
下面的表列出那些不同于的目标。
与快速的接口,多数网络还是需要一个强大的QoS管理模型有效涉及不可避免地发生由于速度不匹配或不同流量模式的拥塞点和瓶颈。
实际全球网络有有限资源和资源瓶颈,并且需要QoS策略保证适当的资源分配。
配置bandwidth命令Cisco IOS配置指南描述bandwidth命令作为" 相当数量带宽,在kbps,分配到组。
To 指定或修改为组分配的带宽属于策略映射"。
查看什么这些定义意味着。
在拥塞期间,bandwidth命令提供最小带宽保证。
有命令句法的三张表,如下表所示。
注意:bandwidth命令定义了一个工作情况,是最小带宽保证。
不是所有的Cisco路由器平台使用加权公平排队(WFQ)作为底层算法实现此工作情况。
配置priority命令Cisco IOS配置指南描述priority命令作为预留"一个优先级队列带有一个指定的数量可用的带宽为CBWFQ数据流。
QOS各种队列详解(FIFO,FQ,CBWFQ,PQ) 对于拥塞管理,一般采用队列技术,使用一个队列算法对流量进行分类,之后用某种优先级别算法将这些流量发送出去。
每种队列算法都是用以解决特定的网络流量问题,并对带宽资源的分配、延迟、抖动等有着十分重要的影响。
这里介绍几种常用的队列调度机制。
1. FIFO(先入先出队列,First In First Out Queuing)图9 先入先出队列示意图如上图所示,FIFO按照时间到达的先后决定分组的转发次序。
用户的业务流在某个设备能够获得的资源取决于分组的到达时机及当时的负载情况。
Best-Effort报文转发方式采用的就是FIFO的排队策略。
如果设备的每个端口只有一个基于FIFO的输入或输出队列,那么恶性的应用可能会占用所有的网络资源,严重影响关键业务数据的传送。
每个队列内部报文的发送(次序)关系缺省是FIFO。
2. PQ(优先队列,Priority Queuing)图10 优先队列示意图PQ队列是针对关键业务应用设计的。
关键业务有一个重要的特点,即在拥塞发生时要求优先获得服务以减小响应的延迟。
PQ可以根据网络协议(比如IP,IPX)、数据流入接口、报文长短、源地址/目的地址等灵活地指定优先次序。
优先队列将报文分成4类,分别为高优先队列(top)、中优先队列(middle)、正常优先队列(normal)和低优先队列(bottom),它们的优先级依次降低。
缺省情况下,数据流进入normal队列。
在队列调度时,PQ严格按照优先级从高到低的次序,优先发送较高优先级队列中的分组,当较高优先级队列为空时,再发送较低优先级队列中的分组。
这样,将关键业务的分组放入较高优先级的队列,将非关键业务的分组放入较低优先级的队列,可以保证关键业务的分组被优先传送,非关键业务的分组在处理关键业务数据的空闲间隙被传送。
PQ的缺点是如果较高优先级队列中长时间有分组存在,那么低优先级队列中的报文将一直得不到服务。
QOSQueue(队列)一一、思科队列技术除了FIFO外,还有: 1、Weight fair queuing(WFQ) 2、Flow-based weighted fair queuing 3、Class-based weighted fair queuing(CBWFQ) 4、Low latency queuing(LLQ) 二、WFQ 1、WFQ在2M以下的链路上(E1)被默认激活,在x.25或compressed ppp上默认为disable。
E3或T3以上的局域网链路或串行链路不支持WFQ 2、WFQ分4种类型:flow-based,distributed,class-based,distributed class-based 3、WFQ配置示例(1): r1(config-if)# fair-queue {congestion-discard-threshold} //拥塞丢弃门限值,可取1-512,默认为64 4、WFQ配置示例(2): r2(config)#interface serial 1 r2(config-if)# encapsulation frame-relay r2(config-if)# fair-queue 128 r2(config-if)# bandwidth 56 三、Class-based Weighted Fair Queuing(CBWFQ) 1、接口带宽/类带宽=weight //类带宽越大,权越小,优先级越高 2、配置示例(1): step1(config)# class-map xxx step1(config-cmap)# match access-group 101 step1(config-cmap)# match input-interface s0/0 step1(config-cmap)# match protocol tcp step1(config-cmap)# match ip precedence tos step2(config)# policy-map yyy step2(config-pmap)# class xxx step2(config-pmap-c)# bandwidth 64 step2(config-pmap-c)# queue-limit 128 //尾丢弃 step2(config-pmap-c)# random-detect 128 //WRED,随机早期检测 //默认情况下,class class-default 采用 flow-based WFQ step3(config)# interface s0/0 step3(config-if)# service-policy output yyy 3、配置示例(2): router(config)# access-list 101 permit udp host 10.10.10.10 host 10.10.10.20 range 16382 20000 //定义语音流量 router(config)# access-list 102 permit udp host 10.10.10.10 host 10.10.10.20 range 53000 56000 //定义视频流量 router(config)# class-map class1 router(config-cmap)# match access-group 101 router(config-cmap)# exit router(config)# class-map class2 router(config-cmap)# match access-group 102 router(config-cmap)# exit router(config)# policy-map policy1 router(config-pmap)# class class1 router(config-pmap-c)# bandwidth 3000 //3M带宽 router(config-pmap-c)# queue-limit 30 //尾丢弃,30个包 router(config-pmap-c)# exit router(config-pmap)# class class2 router(config-pmap-c)# bandwidth 2000 //默认WFQ,64个包 四、LLQ router(config)# policy yyy router(config-pmap)# class xxx router(config-pmap-c)# priority 30 在定义LLQ时,bandwidth,queue-limit,random-detect命令不能同时使用 vying:竞争的 //vie的现在分词 perceive:察觉、看见、知觉 discriminator:鉴别器、辨别者、歧视者 interleave:交错 crest:波峰 through:波谷分类 在有区别地对待和处理网络通信流之前,首先需要对通信流和"标记"或"颜色"进行分类,以保证特殊的数据包能够得到与其它数据包不同(或更好)的对待和处理。
比较QoS服务策略的Bandwidth及Priority命令bandwidth 和priority 命令的比较具体来说,这两种命令均为匹配的数据包提供了带宽保证。
然而这两种命令在带宽保证的实现上存在很大的功能差异。
换句话说,这两种命令都能达到带宽保证的目的,但使用的队列技术是截然不同的。
也正因如此,这两个命令实质上是根据具体需要为保证不同性质的流量而分别设计的。
下表列出bandwidth及priority命令功能上的区别。
Bandwidth:保证最小带宽,但不限制最大带宽。
Priority:保证最小带宽,但也限制了最大带宽。
另外Bandwidth和priority这两条命令用于实现不同的QoS目标。
Bandwidth:常用于广域网链路带宽的质量保证,不具备对链路抖动、延时及响应时间的保证。
Priority:只是在某种程度上应用于广域网链路带宽的质量保证,具备链路延时、抖动及响应时间的保证。
Bandwidth和Priority命令都提供了最低带宽保证,但不同的是Priority 命令还实现了最大带宽保证,从内部实现来说,优先级队列(PQ)使用一种令牌桶算法,只有取得令牌的数据包才能被转发,通过令牌填入桶的速率控制数据包的平均传输速率。
根据令牌桶的容量还允许某种程度的突发传输。
在“令牌桶算法”中,只要令牌桶中存在剩余的令牌,那么就允许突发地传输数据直到达到用户配置的门限,因此它适合于具有突发特性的流量。
当我们设置了priority值,也就类似于确定了令牌的填入速率,此时无论链路是否拥塞,超出的流量因无法获得令牌而被直接丢弃。
但是,在链路没有拥塞时,令牌桶中有多余的令牌,此时允许一定程度的突发流量,但不会超出priority设置的平均流量。
bandwidth使用加权公平排队(WFQ)作为底层算法实现带宽保证,通过此算法实现各个类的队列基于权值的公平调度,当接口中某些类别的报文没有时,BQ 队列的报文还可以公平地得到空闲的带宽,大大提高了线路的利用率,同时在接口拥塞的时候仍然能保证各类报文得到用户设定的最小带宽。
QOS队列类型简介(C Q、PQ、WFQ、C BWFQ)对于网络单元,当分组到达的速度大于该接口传送分组的速度时,在该接口处就会产生拥塞。
如果没有足够的存储空间来保存这些分组,它们其中的一部分就会丢失。
分组的丢失又可能会导致发送该分组的主机或路由器因超时而重传此分组,这将导致恶性循环。
造成拥塞的因素有很多。
比如,当分组流从高速链路进入路由器,由低速链路传送出去时,就可能产生拥塞。
分组流同时从多个接口进入路由器、由一个接口转发出去或处理器速度慢也可能会产生拥塞。
拥塞管理是指网络在发生拥塞时,如何进行管理和控制。
处理的方法是使用队列技术。
将所有要从一个接口发出的报文进入多个队列,按照各个队列的优先级进行处理。
不同的队列算法用来解决不同的问题,并产生不同的效果。
常用的队列有FI FO、PQ、CQ、W FQ、CB WFQ、L LQ等。
1、F lFO(先进现出队列)先进先出队列(Firs t InFirst OutQueui ng,简称FIFO)不对报文进行分类,当报文进入接口的速度大于接口能发送的速度时,FIFO按报文到达接口的先后顺序让报文进入队列,同时,FI FO在队列的出口让报文按进队的顺序出队,先进的报文将先出队,后进的报文将后出队。
In terne t的默认服务模式是B est-E ffort,采用FI FO队列策略。
2、PQ(Prio rityQueue ing,优先队列) PQ使用了4个子队列,优先级分别是h igh,m edium,norm al,lo w。
PQ会先服务高优先级的子队列,若高优先级子队列里没有数据后,再服务中等优先级子队列,依次类推。
转载请保留版权信息:作者:红头发出处: 联合发布Pt.1 Congestion Management OverviewQueueing Overview常见的几种队列机制:1.先进先出(FIFO).2.加权公平队列(WFQ).3.基于分类的加权公平队列(CBWFQ).4.自定义队列(CQ).5.优先级队列(PQ).注意,一个接口只能使用一种队列机制.Pt.2 FIFO QueueingFIFO Queueing OverviewFIFO队列机制也叫先到先服务(FIFS)队列机制.这种队列机制不提供优先级和流量分类的特性.并且只有一个队列,所有的数据包被公平的对待.数据包按抵达接口的先后顺序被转发出去.当没有使用其他的队列机制时,除了传输速率大于2.048Mbps的串行接口以外的所有接口,默认都使用这种队列机制.Pt.3 Weighted Fair QueueingWFQ OverviewWFQ是一种对网络中所有流量提供公平的带宽分配的动态调度方式.WFQ根据权重,优先级来鉴别流量,把它加入到某个队列里,并决定队列之间的带宽分配.WFQ采用基于流是算法,该算法把交互式的流量同时调度到队列的最前端来减少响应时间,并公平的分配剩余的带宽.当拥塞信息产生的时候,高带宽的数据流的信息将被丢弃;而低带宽的数据流的信息仍然被加到队列中.WFQ是传输速率低于2.048Mbps的串行接口默认的队列机制.帧中继的FE位,FECN位,和BECN位将影响WFQ权重的分配.RestrictionsWFQ的一些限制:1.WFQ不支持隧道接口或采用了加密技术的接口,因为这些技术要修改数据包中WFQ用于分类的信息.2.WFQ提供的带宽控制的精确度不如CBWFQ和CQ等队列机制.Bandwidth Allocation对于IP优先级高的队列,WFQ会分配更多的带宽给它.WFQ还给每个数据流分配权重,来决定这些队列的转发顺序.权重低的优先被转发.Cisco IOS软件把IP优先级做为除数,得到的值就是权重.WFQ对每个队列的带宽分配的方式,由权重来决定,而权重又取决于IP优先级.公式为:队列的带宽分配百分比=(该队列IP优先级+1)/(所有队列的IP优先级+1)RSVP使用WFQ来分配缓冲区空间和对数据包进行调度,并保证了对数据流带宽的保留.RSVP允许对应用程序所使用的带宽的保留.RSVP是IP网络中唯一的提供端到端的信令标准的协议.Configuring WFQ接口下启用WFQ:Aiko(config-if)#fair-queueMonitoring Fair Queueing一些辅助性的命令:1.显示公平队列的配置状态:Aiko#show queueing fair2.显示接口的队列信息:Aiko#show queue [interface]Pt.4 Class-Based Weighted Fair QueueingCBWFQ OverviewCBWFQ是WFQ的扩展,根据用户自己定义的类别把数据包进行分类,再加到某个队列中去.当每个队列中数据包的数目达到上限的时候,队列将采用尾丢弃的方式将这些数据包丢弃;或者根据每个类的策略,进行数据包的丢弃.CBWFQ一般采用尾丢弃的机制,除非你定义了采用加权早期随机检测(WRED)来对超过队列上限的数据包进行丢弃.注意,如果你打算为一个或多个队列采用WRED而不是采用尾丢弃的方式来进行数据包的丢弃,必须保证应用了服务策略的接口没有配置WRED.如果在policy map中是通过bandwidth命令来定义默认的分类,没有划分类的流量将被划分到单独的采用FIFO机制的队列中;如果在policy map中是通过fair-queue命令来定义默认的分类,没有划分类的流量将以尽力而为的方式被处理;如果没有定义默认的分类,那么所有流量将被以尽力而为的方式被处理.并且数据流的方式是基于WFQ的.Bandwidth Allocation带宽分配的总和不能超过接口带宽的75%,剩余25%的带宽用于别的负载,比如路由协议的流量,尽力而为的流量.RSVP也可以和CBWFQ协同工作.当一个接口同时配置了CBWFQ和RSVP,它们之间的工作是独立的.并且当CBWFQ不存在的时候RSVP还是会继续工作. RestrictionsCBWFQ的一些限制:1.目前流量和整形不支持CBWFQ.2.CBWFQ不支持以太网子接口.Configuring CBWFQ配置CBWFQ的3个过程:1.定义分类的策略,即class map.2.关联策略,即定义policy map.3.把policy map应用在相关接口上.定义class map步骤如下:1.定义class map:Aiko(config)#class-map [match-all|match-any] {map-name}2.定义匹配语句:Aiko(config-cmap)#{condition}一些条件选项:命令含义match access-group {ACL}匹配IP ACLmatch protocol {protocol}匹配协议match input-interface {interface}匹配进站接口match qos-group {Group ID}匹配组IDmatch destination-address {mac MAC-address}匹配目标MAC地址match source-address {mac MAC-address}匹配源MAC地址match ip {dscp dscp}匹配IP DSCP值match ip {precedence precedence}匹配IP优先级match class-map {map-name}匹配class map定义分类的策略,即policy map的步骤如下:1.设置policy map:Aiko(config)#policy-map {policy-name}2.调用class map或默认的class-map(所有未分类的流量默认都属于该分类,否则未分类的流量将以尽力而为的方式被处理):Aiko(config-pmap)#class {class-map|class-default}3.设置策略:Aiko(config-pmap-c)#bandwidth {kbps|percent percent}4.定义尾丢弃机制允许的队列中数据包的上限,默认值为64:Aiko(config-pmap-c)#queue-limit {packets}在接口上应用policy map:Aiko(config-if)#service-policy output {policy-name}Example 1限制源自192.168.10.0的流量的带宽为1000kbps:class-map match-all aikomatch access-group 1policy-map asuqaclass aikobandwidth 1000queue-limit 30class class-defaultinterface Serial1ip address 172.16.10.1 255.255.255.252service-policy output asuqaaccess-list 1 permit 192.168.10.0Configuring the Bandwidth Limiting Factor更改用于RSVP和CBWFQ等队列机制保留的最大带宽值(默认为75%): Aiko(config-if)#max-reserved-bandwidth {percent}Verifying Configuration of Policy Maps and Their Classes一些辅助性的命令:1.查看policy map信息:Aiko#show policy-map [policy-name]2.查看接口的policy map信息:Aiko#show policy-map interface [interface]3.显示接口的队列信息:Aiko#show queue [interface]Pt.5 IP RTP PriorityIP RTP Priority OverviewIP实时传输协议(RTP)优先级对延迟比较敏感的数据流,比如语音数据,提供了优先级队列机制的特性.该特性表示如果某些数据包存在于优先级队列中,它们的出列顺序将优先于别的队列中的数据包.IP RTP优先级特性无需知道语音呼叫的端口号,它提供了鉴别放进优先级队列中的数据流的端口号范围的能力.并且你可以定义整个用于语音数据流的端口范围(UDP端口号16384到32767),来保证所有的与语音数据流都可以得到优先级服务.IP RTP优先级特性对带宽低于1.544Mbps的链路尤为有用.IP RTP优先级特性可以和使用了WFQ或CBWFQ的出站接口结合使用.匹配IP RTP 优先级某个端口范围的数据包将优先于别的CBWFQ分类.一般语音数据包的体积较小,如果有体积较大的数据包要从该接口被转发出去,该接口应配置链路分片和交叉(LFI)特性.体积较大的数据包被分片为体积较小的数据包.该特性防止语音数据包要等待到体积较大的数据包被转发完毕之后才能被转发,这样语音数据包可以和被分片的数据包交叉被转发出去,从而减少了语音数据包转发消耗的时间.Configuring IP RTP Priority配置IP RTP优先级:Aiko(config-if)#ip rtp priority {starting-rtp-port-number port-number-range} {bandwidth}Monitoring and Maintaining IP RTP Priority一些辅助性的命令:1.显示接口队列信息:Aiko#show queue [interface]2.调试优先级队列:Aiko#debug priorityPt.6 Low Latency QueueingLLQ Overview低延迟队列(LLQ)把优先级队列的特性加入到了CBWFQ中,这点和IP RTP优先级特性类似.如果没有LLQ,对于一些实时的数据流量,比如语音数据流量,CBWFQ对于每个定义好的分类的操作是基于WFQ的,采用了LLQ之后,该分类的操作将优先于别的分类.LLQ减少了语音会话的抖动.LLQ和IP RTP优先级特性的区别在于,它不受UDP端口号的限制.配置LLQ:Aiko(config-pmap-c)#priority {bandwidth}Monitoring and Maintaining LLQ一些辅助性的命令:1.显示接口队列信息:Aiko#show queue [interface]2.调试优先级队列:Aiko#debug priorityPt.7 Custom QueueingCQ Overview自定义队列(CQ)可以自定义16个队列,为每个队列定义一定字节数的数据包,这些被定义好的数据包采用轮循的方式被转发.当接口启用了CQ之后,队列0为系统队列,系统队列为优先级最高的队列,当系统队列中的数据包全部被转发完毕之后,接下来才会轮到自定义队列(队列1到16).自定义队列中的数据包也按照队列号顺序被转发,当队列为空或超出本次队列允许发送的数据包时,接下来会轮到下一个队列.Determining Byte Count Values for Queues为了能够为每个队列分配一定的带宽,必须为每个队列定义一定字节数的数据包.自定义队列中的数据包也按照队列号顺序被转发,当队列为空或超出本次队列允许发送的数据包时,接下来会轮到下一个队列.但是假如定义的字节数为100字节,而某个数据包的大小为1024字节,那么该队列每次将转发的数据包的大小即为1024字节,而不是100字节.假如有3个队列,每个队列中的数据包大小分别为500字节,300字节和200字节,如果想让这3个队列平均的占用带宽,为这3个队列定义的字节数分别为200字节,200字节和200字节,但是实际上生效的带宽占用比为5/3/2.因此如果把队列中数据包的字节数定义的过小的话,将导致带宽分配的不尽如人意.但是如果把队列中数据包的字节数定义的过大,那么将导致下一个队列中的数据包被转发的等待时间过长.RestrictionsCQ的一些限制:1.由于CQ是静态配置的,因此它不能适应网络结构的改变.2.由于数据包要经过处理器卡的分类,因此CQ对数据包转发的速度要比FIFO慢.配置CQ的步骤如下:1.定义CQ列表:Aiko(config-if)#custom-queue-list {list}2.定义队列中数据包的字节数或最大个数,默认为20个.可选:Aiko(config)#queue-list {list} queue {queue-number} {limit number|byte-count bytes}3.把数据包分配进特定的CQ中,可以基于协议或基于进站接口:Aiko(config)#queue-list {list} {protocol protocol|interface interface} {queue-number}4.定义默认的CQ队列,未分类的流量默认被分配进该队列:Aiko(config)#queue-list {list} default {queue-number}Monitoring CQ Lists一些辅助性的命令:1.显示接口队列信息:Aiko#show queue [interface]2.显示CQ列表信息:Aiko#show queueing customPt.8 Priority QueueingPQ Overview优先级队列(PQ)通过为队列指定优先级,根据优先级对队列中的数据包进行转发.当优先级最高的队列为空时,接下来对优先级次高的队列进行处理.4个优先级类别:1.high.2.medium.3.normal.4.low.未指定优先级的数据包默认属于normal队列.RestrictionsPQ的一些限制:1.由于PQ是静态配置的,因此它不能适应网络结构的改变.2.由于数据包要经过处理器卡的分类,因此PQ对数据包转发的速度要比FIFO慢.3.PQ不支持隧道接口.Configuring PQ配置PQ的步骤如下:1.定义优先级列表,可以基于协议或基于进站接口:Aiko(config)#priority-list {list} {protocol protocol|interface interface} {queue-number} {high|medium|normal|low}2.定义默认的优先级队列,未分类的流量默认被分配进该队列,优先级为normal: Aiko(config)#priority-list {list} default {high|medium|normal|low}3.定义每个队列中数据包的最大个数,由高到低,默认为20,40,60和80.可选:Aiko(config)# priority-list {list} queue-limit {high-limit medium-limit normal-limit low-limit}4.把优先级列表应用在接口上:Aiko(config)#priority-group {list}Monitoring PQ Lists一些辅助性的命令:1.显示接口队列信息:Aiko#show queue [interface]2.显示PQ列表信息:Aiko#show queueing priority。
QoS 即服务质量,是在园区网和ISP网络中应用的主流技术,其目的在于划分服务等级,针对各种应用的不同需求提供不同的服务质量,比如提供专用带宽减少报文丢失率减低报文传送时的延迟和抖动。
在一个网络中需要三个部分来实现端到端的QoS:1)各网络设备支持QoS提供队列调度和流量整形等功能。
2)信令技术协调端到端之间的网络设备。
3)QoS技术控制和协调端到端的报文在一个网络内的发送。
每个网络设备提供如下功能:1)报文的分类,不同类别对应不同的处理方式。
2)排队技术满足不同应用要求的不同服务质量。
3)流量监管和流量整形限制和调整报文输出的速度。
4)接入控制确定是否允许用户信息流使用网络资源。
QoS服务模型1)Best-Effort 尽力而为的服务模型,也就是没有应用QoS,IP网络本身就是这特点。
2)Intserv 集成服务模型,用户在发送报文前要向网络申请特定的业务,通过RSVP 协议(资源预留协议)通知路由器,声明应用程序的QoS需求,比如我用VOIP,需要12k的带宽和100ms以内的延迟,集成服务模型就会将其归到事先设定的一种服务等级中。
总的来说集成服务模型就是一种固定服务的预订机制,灵活性较差,就好比一个大厨只会做土豆丝炒肉和芹菜炒肉,你要芹菜炒土豆丝,他说不会...靠,想吃素都不行。
RSVP只是一个信令协议,在网络节点之间传递,本身不实现QoS 功能。
缺点比较致命,就是RSVP协议本身数据太多而且不断刷新,并且这种为单一数据流进行带宽预留的解决思路在浩瀚的Internet上想要实现是根本不可能的,所以该模型在1994年推出以后就没有使用过。
3)Diffserv 区分服务模型,目前广泛应用的模型,由一系列技术组成。
Diffserv可以满足不同的QoS需求。
与Integrated service不同,它不需要信令,即应用程序在发出报文前,不需要通知路由器。
网络不需要为每个流维护状态,它根据每个报文指定的QoS,来提供特定的服务。
QOS详解QOS(Quality Of Server)(在拥塞时才用)哪些问题会影响网络的数据传输1、有限的带宽2、延迟3、抖动4、丢包解决可用带宽的方法:1、升级带宽,增加链路带宽2、让优先级高的流量先过3、压缩二层的帧4、压缩IP包的头部延迟的分类:1、处理延迟--网络设备将数据帧从入接口取出,将其放到接收队列,再放到出接口输出队列所需的时间2、排队延迟--数据包在接口的输出队列中等待的时间3、串行化延迟--将封装在数据帧中比特放到物理介质上的时间4、传播延迟--通过物理介质传输数据帧中的比特所需的时间注意:只有排队延迟可以通过使用QOS来进行控制QOS服务模型:1、尽力而为的服务--没有应用QOS,网络的默认行为2、集成服务--所有的中间系统和资源都显式的为流提供预定的服务,这种服务需要预留网络资源,确保网络能够满足通信流的特定服务要求。
3、区分服务--将根据服务要求将通信流分类,然后将它们加入到效率不同的队列中,使一些通信流优先于其他类别的通信流得到处理。
IntServ集成服务是通过使用RSVP(Resource Reservation Protocol资源预留协议)实现的,在两个端点中间网络设备上都要启用RSVP。
工作原理--数据流在发送之前,起始节点会向网络请求特定类型的服务,并将其流量配置文件告诉网络中的每个中间节点,请求网络提供一种能够满足其带宽和延迟要求的服务。
在从网络得到确认后,应用才开始发送数据。
资源预留的过程分为5步:1、数据发送方发送rsvp path控制消息,这种消息描述了将要被发送的数据的信息。
2、每个rsvp路由器收到path消息后,保存上一跳的IP地址,并继续向下发送。
3、接收站接收到rsvp path消息后,使用rsvp resv消息向上一跳路由器请求rsvp资源预留。
rsvp resv消息从接收方到发送方所经过的路径与rsvp path消息到来时完全相同。
4、rsvp路由器确定是否可以满足这些rsvp请求,如果不能,则拒绝。