QOS的队列及拥塞管理教学内容
- 格式:doc
- 大小:342.50 KB
- 文档页数:16
QOS原理及配置学员手册课程纲要迈普公司成立于1993年,是一家专业从事数据通信设备研究、生产、销售、维护的高新技术企业。
公司目前拥有路由器、交换机、IP电话设备、网络安全设备、综合接入设备等5大产品线。
本次课程通过理论和实机演示结合的方法,介绍QOS问题的产生、解决模型,并通过实际演示练习让学员对常用的几种QOS技术的使用环境、参数调试方式有一个初步的了解。
课程目的:1、让学员了解QOS问题的产生,以及解决QOS问题的服务模型。
2、让学员了解常用的几种QOS技术的基本原理。
3、通过练习让学员熟悉队列技术、流量监管、流量整形的基本应用配置、调试方法。
课程内容1、QOS技术概念2、QOS服务模型3、拥塞问题4、常用队列技术原理及配置5、流量监管6、流量整形关于讲师•ÉÈ*第一单元QOS技术概念QOS的含义是,是一系列技术的集合。
第二单元QOS服务模型Q0S的3种服务模型,分别是:、、。
Best-Effortservice是目前Internet的模型,主要实现技术是。
Integratedservice的主要实现技术是。
Differentiatedservice的主要实现技术有和。
第三单元拥塞问题拥塞产生的原因有和。
拥塞避免技术主要包括:、、。
拥塞管理的概念是,主要采用的技术为。
常用的队列技术有,,,,。
第四单元常用队列技术原理及配置FIFO基本工作原理:FIFO是路由器的队列。
PQ分为4个队列,分别是、、、。
PQ基本工作原理:PQ配置调试心得:CQ分为个队列,队列的两个重要参数是和。
CQ基本工作原理:CQ配置调试心得:FQ的基本工作原理:CBWFQ基本工作原理:LLQ的概念是,与CBWFQ其他队列的关系是。
CBWFQ/LLQ配置调试心得:第五单元流量监管CAR的概念是:,是通过技术实现的。
CAR作用于队列机制之。
CAR基本工作原理:CAR配置调试心得:第六单元流量整形GTS的概念是:,是通过技术实现的。
局域网组建方法中的网络QoS配置与管理在局域网的组建和管理中,网络QoS(Quality of Service,服务质量)的配置和管理起着至关重要的作用。
通过合理配置和管理网络QoS,可以提高局域网的性能,保证数据传输的稳定性和可靠性。
本文将介绍局域网中网络QoS配置与管理的方法和技巧。
一、网络QoS的概念和作用网络QoS是指在网络传输过程中,根据不同的应用和服务类型,对网络资源进行合理调度和分配,以保证特定应用或服务的性能要求得到满足的一种技术手段。
网络QoS的配置和管理能够有效地提高数据传输的效率和质量,降低网络延迟和拥塞情况的发生,从而提升用户的网络体验。
二、网络QoS配置与管理的方法1. 流量分类和标记:在局域网中,不同的应用和服务对网络的需求是不同的。
通过对流量进行分类和标记,可以根据不同的应用类型和特点进行针对性的配置和调整。
常见的流量分类标记技术有DSCP (Differentiated Services Code Point)、IP Precedence等。
2. 带宽管理和分配:合理的带宽管理和分配是网络QoS的关键。
根据不同的应用需求和用户数量,对局域网的带宽进行合理的划分,确保重要应用和服务能够获得足够的带宽资源,避免因为网络拥塞引起的性能下降。
3. 建立优先级队列:设置优先级队列可以保证高优先级流量在网络传输中获得更高的优先级,从而提高其传输速率和稳定性。
通过合理设置队列的优先级和权重,可以保证关键应用的网络性能,确保其正常运行。
4. 流量整形和控制:通过流量整形和控制技术,可以对流量进行限制和调整,防止网络资源被某一应用或服务长时间占用。
合理设置流量整形和控制策略,可以有效地平衡不同应用间的带宽利用率,提高网络的整体性能。
5. 建立QoS策略:根据局域网的具体需求和应用场景,制定合适的QoS策略。
QoS策略需要根据网络现状和用户需求来确定,可以结合流量统计和监控数据,根据实际情况进行动态调整和优化。
培训内容介绍Q o s概述Q o s服务模型拥塞管理拥塞避免流量整形和速率约定Q o s配置命令内容介绍Q o s概述Q o s服务模型拥塞管理拥塞避免流量整形和速率约定Q o s配置命令Qos概述--什么是QosQ o S,Q u a l i t y o f S e r v i c e,服务质量是指允许用户在吞吐量、延迟抖动、延迟,丢包率等方面获得可预期的服务水平的一系列技术的集合Qos概述--为什么引入Qos当前的I n t e r n e t状况是:报文的带宽、延迟、延迟抖动、丢包率不能预期。
传统IP网络中,所有的报文都无区别的对待。
人们对I n t e r n e t的期望是:报文的带宽、延迟、延迟抖动、丢包率能得到一定的保证,既能满足V o I P,V P N,电子商务等的要求,又能满足向e m a il这样对时间延迟不敏感的应用的需求。
在梦想和现实之间的便是:为I n t e r n e t提供支持Q o S的能力Qos概述--Qos的功能支持为用户提供专用带宽减少报文的丢失率避免和管理网络拥塞流量整形设置报文的优先级内容介绍Q o s概述Q o s服务模型拥塞管理拥塞避免流量整形和速率约定Q o s配置命令Qos服务模型服务模型,是指一组端到端的Q o s功能B e s t-E f f o r t s e r v i c eI n t e g r a t e d s e r v i c e(I n t s e r v)D i f f e r e n t i a t e d s e r v i c e(D i f f s e r v)D iffS e r v-A w a r e T r a f f i cE n g i n e e r i n g(D S-T E)Best-Effort serviceB e s t-E f f o r t是单一的服务模型,也是最简单的服务模型。
应用程序可任意发送任意报文,不需要事先得到批准或通知网络网络尽最大可能发送这些报文,但对时延,可靠性等性能不提供任何保障B e s t-E f f o r t s e r v i c e是目前I n t e r n e t的缺省服务模型,主要实现技术是先进先出队列Integrated serviceI n t e g r a t e d s e r v i c e是一个综合服务模型,它可以满足多种Q o s需求这种服务模型在发送报文前,需要向网络申请特定服务。
Quality of Service (QoS)第一部分 Qos的定义拥塞产生的原因:∙以太网络速度不匹配:当速度不同的网络设备进行通信的时候,就可能导致网络的拥塞。
例如,吉比特以太网上的服务器将数据发送给10M以太网上的服务器的时候,由于交换机的缓冲空间限制,可能导致10M以太网上的服务器出战接口发生拥塞。
∙多对一交换:当采用多对一的方式聚集交换机时,就可能导致网络的拥塞。
例如,多台接入层交换机连接到同一台分布层交换机的时候,这些接入层交换机的交换矩阵的的带宽总和通常超过了分布层交换机的交换机矩阵的能力∙聚集:当多台以太网设备通过一台以太网连接进行通信或与单台网络设备/服务器通信的时候,就可能导致网络的拥塞∙异常行为:网络设备的硬件/软件故障可能导致广播风暴或其它类型的网络风暴,进而使多个接口发生拥塞。
软件故障包括计算机蠕虫和病毒,导致数据包风暴,进而拥塞企业或ISP的网络。
以上情况下都有可能会导致数据包在传输的过程中丢失或延迟。
拥塞不是唯一影响网络可用性和稳定性的因素,即使在有足够带宽的多层交换网络中,也存在延迟(Delay)、抖动(Jitter)和丢包(packet less),对于一些对延迟很敏感的应用(如语音)就需要有服务质量保障(Qos)。
Qos的定义Qos可从多个不同途径来定义,将所有这些定以结合在一起将会得到所有定义中最好的一个。
从技术角度而言,Qos是网络中管理数据流的可用带宽、延迟、抖动以及分组丢弃的技术集合。
所有的Qos机制的目的就是影响这4个特征中的至少一个,某些情况下甚至是全部。
1.可用的带宽带宽本身的定义是在特定的网络介质或者协议中额定的吞吐量。
带宽的本身缺乏的吞吐量,当多个流量在一个受限的带宽上传送的过程时,就会产生对带宽的竞争来抢占发送自己的数据。
带宽的使用最大的带宽:从主机到服务器所经过的所有链路带宽中最小的带宽值如:(10M、256K、512K、100M)中最小的带宽256K,作为最大的带宽可用的带宽:最大的带宽/流量的个数当服务器发送一个大文件(如视频),为了保证文件的流畅型就必须保证一个大的可用的带宽来支持。
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的缺点是如果较高优先级队列中长时间有分组存在,那么低优先级队列中的报文将一直得不到服务。
Q O S的队列及拥塞管理队列及拥塞管理队列及拥塞管理拥塞管理的中心内容是当拥塞发生时如何制定一个策略,用于决定报文转发的处理次序和丢弃原则,一般采用队列技术。
队列指的是在缓存中对报文进行排序的逻辑。
当流量的速率超过接口带宽或超过为该流量设置的带宽时,报文就以队列的形式暂存在缓存中。
报文离开队列的时间、顺序,以及各个队列之间报文离开的相互关系则由队列调度算法决定。
说明:路由器转发平面的流量管理器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不对报文进行分类。
FIFO按报文到达接口的先后顺序让报文进入队列,在队列的出口让报文按进队的顺序出队,先进的报文将先出队,后进的报文将后出队,如图1。
SPSP(Strict Priority)调度就是严格按照队列优先级的高低顺序进行调度。
只有高优先级队列中的报文全部调度完毕后,低优先级队列才有调度机会。
假设端口有3个采用SP调度算法的队列,分别为高优先(High)队列、中优先(Medium)队列、和低优先(Low)队列,它们的优先级依次降低。
如图2,其中报文编号表示报文到达顺序。
图2 SP调度在报文出队的时候,首先让高优先队列中的报文出队并发送,直到高优先队列中的报文发送完,然后发送中优先队列中的报文,直到发送完,接着是低优先队列。
在调度低优先级队列时,如果高优先级队列又有报文到来,则会优先调度高优先级队列。
这样,较高优先级队列的报文将会得到优先发送,而较低优先级的报文后发送。
SP调度的缺点是:拥塞发生时,如果较高优先级队列中长时间有报文存在,那么低优先级队列中的报文就会由于得不到服务而“饿死”。
RRRR调度采用轮询的方式,对多个队列进行调度。
RR以环形的方式轮询多个队列。
如果轮询的队列不为空,则从该队列取走一个报文;如果该队列为空,则直接跳过该队列,调度器不等待。
图3 RR调度WRR加权轮询WRR(Weighted Round Robin)调度主要解决RR不能设置权重的不足。
在轮询的时候,WRR每个队列享受的调度机会和该队列的权重成比例。
RR调度相当于权值为1的WRR调度。
WRR的实现方法是为每个队列设置一个计数器Count,根据权重进行初始化。
每次轮询到一个队列时,该队列输出一个报文且计数器减一。
当计数器为0时停止调度该队列,但继续调度其他计数器不为0的队列。
当所有队列的计数器都为0时,所有计数器重新根据权重初始化,开始新一轮调度。
在一个循环中,权重大的队列被多次调度。
图4 WRR调度假设某端口有3个队列采用WRR调度,为每个队列配置一个权值,依次为50%、25%、25%,详细的调度过程如下:首先计数器初始化:Count[1]=2,Count[2]=1,Count[3]= 1。
•第1个轮询:从队列1取出报文1发送,Count[1]=1;从队列2取出报文5发送,Count[2]=0;从队列3取出报文8发送,Count[3]=0。
•第2个轮询:从队列1取出报文2发送,Count[1]=0;由于Count[2]=0,Count[3]=0,队列2和队列3不参与此轮调度。
此时,Count[1]=0,Count[2]=0,Count[3]=0,将计数器重新初始化:Count[1]=2,Count[2]=1,Count[3]= 1。
•第3个轮询:从队列1取出报文3发送,Count[1]=1;从队列2取出报文6发送,Count[2]=0;从队列3取出报文9发送,Count[3]=0。
•第4个轮询:从队列1取出报文4发送,Count[1]=0;由于Count[2]=0,Count[3]=0,队列2和队列3不参与此轮调度。
此时,Count[1]=0,Count[2]=0,Count[3]=0,将计数器重新初始化:Count[1]=2,Count[2]=1,Count[3]= 1。
从统计上看,各队列中的报文流被调度的次数与该队列的权值成正比,权值越大被调度的次数相对越多。
如果该端口为100Mbps,则可以保证最低权重的队列至少获得25Mbps带宽,避免了采用SP调度时低优先级队列中的报文可能长时间得不到服务的缺点。
WRR对于空的队列直接跳过,循环调度的周期变短,因此当某个队列流量小的时候,剩余带宽能够被其他队列按照比例占用。
WRR调度有两个缺点:•WRR调度按照报文个数进行调度,因此每个队列没有固定的带宽,同等调度机会下大尺寸报文获得的实际带宽要大于小尺寸报文获得的带宽。
而用户一般关心的是带宽。
当每个队列的平均报文长度相等或已知时,通过配置WRR权重,用户能够获得想要的带宽;但是,当队列的平均报文长度变化时,用户就不能通过配置WRR权重获取想要的带宽。
•低延时需求业务(如语音)得不到及时调度。
DRR差分轮询DRR(Deficit Round Robin)调度实现原理与RR调度基本相同。
DRR与RR的区别是:RR调度是按照报文个数进行调度,而DRR是按照报文长度进行调度。
DRR为每个队列设置一个计数器Deficit,Deficit初始化为一次调度允许的最大字节数,一般为接口MTU。
每次轮询到一个队列时,该队列输出一个报文且计数器Deficit减去报文长度。
如果报文长度超过了队列的调度能力,DRR调度允许Deficit出现负值,以保证长报文也能够得到调度。
但下次轮循调度时该队列将不会被调度。
当计数器为0或负数时停止调度该队列,但继续调度其他计数器为正数的队列。
当所有队列的Deficit都为0或负数时,将所有队列的Deficit计数器加上初始值,开始新一轮调度。
假设某端口MTU=150Bytes,有2个队列Q1和Q2采用DRR调度,Q1队列中有多个200Bytes的长报文,Q2队列中有多个100Bytes的端报文,则调度过程如图5。
图5 DRR调度由上图可以看出,经过第1~6轮DRR调度,Q1队列被调出了3个200Bytes的报文,Q2队列被调出了6个100Bytes的报文。
从长期的统计看,Q1和Q2的实际输出带宽比是1:1,为公平的比例。
DRR调度避免了采用SP调度时低优先级队列中的报文可能长时间得不到服务的缺点。
但是,DRR调度不能设置权重,且也具有低延时需求业务(如语音)得不到及时调度的缺点。
DWRR差分加权轮询DWRR(Deficit Weighted Round Robin)调度主要解决DRR不能设置权重的不足。
DRR调度相当于权值为1的DWRR调度。
DWRR为每个队列设置一个计数器Deficit,Deficit初始化为Weight*MTU。
每次轮询到一个队列时,该队列输出一个报文且计数器Deficit减去报文长度。
当计数器为0时停止调度该队列,但继续调度其他计数器不为0的队列。
当所有队列的计数器都为0时,所有计数器的Deficit都加上Weight*MTU,开始新一轮调度。
假设某端口MTU=150Bytes,有2个队列Q1和Q2采用DRR调度,Q1队列中有多个200Bytes的长报文,Q2队列中有多个100Bytes的端报文,Q1和Q2配置权重比为weight1:weight2=2:1。
则DWRR调度过程如图6。
图6 DWRR调度•第一次调度Deficit[1] =weight1* MTU=300,Deficit[2] = weight2* MTU=150,从Q1队列取出200Bytes报文发送,从Q2队列取出100Bytes发送;发送后,Deficit[1] = 100,Deficit[2] =50。
•第二次调度从Q1队列取出200Bytes报文发送,从Q2队列取出100Bytes发送;发送后,Deficit[1] = -100,Deficit[2] =-50。
•第三次调度此时两个队列都为负,因此,Deficit[1] = Deficit[1]+weight1* MTU=-100+2*150=200,Deficit[2] = Deficit[2]+weight2* MTU=-50+1*150=100。
从Q1队列取出200Bytes报文发送,从Q2队列取出100Bytes发送;发送后,Deficit[1] = 0,Deficit[2] = 0。
由上图可以看出,经过第1~3轮DWRR调度,Q1队列被调出了3个200Bytes的报文,Q2队列被调出了3个100Bytes的报文。
从长期的统计看,Q1和Q2的实际输出带宽比是2:1,与权重比相符。
DWRR调度避免了采用SP调度时低优先级队列中的报文可能长时间得不到服务的缺点,也避免了各队列报文长度不等或变化较大时,WRR调度不能按配置比例分配带宽资源的缺点。
但是,DWRR调度也具有低延时需求业务(如语音)得不到及时调度的缺点。
WFQ加权公平队列WFQ(Weighted Fair Queuing)调度是按队列权重来分配每个流应占有出口的带宽。
同时,为了使得带宽分配更加“公平”,WFQ以bit为单位进行调度,类似于图7的bit-by-bit调度模型。
图7 Bit-by-bit调度模型Bit-by-bit调度模型可以完全按照权重分配带宽,防止长报文比短报文获得更多带宽,从而减少大小报文共存时的时延抖动。