burst size(网络工程师教你快速提升网络**)

QoS(Quality of Service)顾名思**释服务**的意思,相信**过网络的人都懂是什么意思,这里我也不费口舌讲解它的背景那些,直接讲如何才能提升服务**。qos通过合理的管理和分配网络资源,允许用...

QoS(Quality of Service)顾名思**释服务**的意思,相信**过网络的人都懂是什么意思,这里我也不费口舌讲解它的背景那些,直接讲如何才能提升服务**。qos通过合理的管理和分配网络资源,允许用户的紧急和延迟**型业务能**相对优先的服务,从而实现丢包、延迟、抖动和带宽等方面**可预期的服务水平。

**端到端网络通信存在的问题

「网络工程师」教你快速提升网络**

**的IP网络无区别地对待所有的报文,网络设备处理报文采用的策略是先入先出FIFO(First In First Out),它依照报文到达时间的先后顺序分配转发所需要的资源。所有报文共享网络和设备的带宽等资源,然而最终**资源的多少完全取决于报文到达的时机。

FIFO尽最大的努力将报文送到目的地,但对报文的延迟、抖动、丢包率和可靠性等需求不提供任何承诺和保证,故对于一些关键业务(如**、视频等)的通信**无法进行保证。

影响网络通信**的因素

1.网络带宽;2.网络时延;3.抖动;4.丢包

「网络工程师」教你快速提升网络**

网络带宽

「网络工程师」教你快速提升网络**

网络时延

「网络工程师」教你快速提升网络**

丢包

「网络工程师」教你快速提升网络**

抖动

各类业务对网络**的要求:

从根本上讲,要想提高通信**,就是要提高带宽、**时延和抖动、**丢包率。

**网络通信**的方案

1.尽力而为服务**

在尽力而为的服务模型的网络上可通过增大网络带宽、升级网络设备等**来提升网络通信**。

1.**的先进先出转发即Best-Effort(尽力而为)服务模型:

(1)Best-Effort是一个单一的服务模型,也是最简单的。在任何时候,发出任意数量的报文,而且不需要事先**批准,也不需要通知网络。

(2)应用Best-Effort服务模型的网络尽最大的可能性来发送报文,对时延、可靠性等性能不提供任何保证,但它适用于绝大多数网络应用,如FTP、E-Mail等。

(3)Best-Effort服务是现在互联网的缺省服务模型,通过先入先出队列来实现的。

「网络工程师」教你快速提升网络**

尽力而为服务模型

2.在尽力而为的服务模型下,可通过增大网络带宽和升级网络设备来提高端到端通信**:

综合服务模型(预留带宽服务)

「网络工程师」教你快速提升网络**

1.RSVP(Resource Reservation Protocol),资源预留协议,工作在传输层,但不参与应用数据的传送,是一种网络上的控制协议,类似于ICMP。RSVP协议工作**:在应用程序发送报文前,需要向网络申请特定的带宽和所需的特定服务**的请求,等收到确认信息后才发送报文。

2.综合服务模型(Integrated Services Model):

(1)IntServ是一种最为复杂的服务模型,它需要用到RSVP协议。在发送报文前,需要向

网络申请特定的服务。这个请求是通过信令来完成的,应用程序首先通知网络它自己的流量参数和所需的特定服务**的请求,包括带宽、时延等。应用程序一般在收到网络的确认信息后,即认为网络已经为这个应用程序的报文发送预留了资源,然后立即发送报文。

(2)IntServ模型要求端到端网络的所有节点都支持RSVP协议,且每个节点都需要周期性地同相邻节点交换状态信息,这样会加大协议报文导致的开销。更关键的是,所有网络节点都需要为每个数据流保存状态信息,而当前在Internet骨干网上有着成千上万条数据流,因此IntServ模型在Internet骨干网上无法**广泛应用。

区分服务模型

「网络工程师」教你快速提升网络**

1.DiffServ区分服务工作**:将网络中的流量分成多个类→为每个类定义相应的处理行为,使其拥有不同的优先转发、丢包率、时延等。

2.Diffserv服务模型(基于报文流的QoS模型)概述:

(1)业务流分类和标记由边缘路由器来完成。边界路由器可以通过多种条件(比如报文的源地址和目的地址、ToS(type of service)域中的优先级、协议类型等)灵活地对报文进行分类,然后对不同类型的报文设置不同的标记字段,而其他路由器只需要简单地识别报文中的这些标记,然后对其进行相应的资源分配和流量控制即可。

(2)它只包含有限数量的服务等级,少量的状态信息来提供有差别的流量控制和转发。

(3)DS节点:实现DiffServ功能的网络节点

(3.1)DS边界节点:DS边界节点负责将**此DS域的业务流进行分类和流量**。

(3.2)DS内部节点:用于在同一个DS域中连接DS边界节点和其他内部节点。DS内部节点仅需基于报文中的EXP、802.1p、IPP等字段值进行简单的流分类以及对相应的流进行流量控制。

(4)DS域(DS Domain):一组采用相同的服务提供策略和实现了相同PHB(逐跳行为)的相连DS节点组成。一个DS域由相同管理部门的一个或多个网络组成,如一个DS域可以是一个ISP,也可以是一个企业的内部网络。PHB:就是设备对报文的处理(调度、丢包、监管、整形、重标记等动作)

3.DiffServ模型目前应用最广,充分考虑了IP网络本身所具有的灵活性、可扩展性强等特点

二.报文分类与标记

随着网络的不断**,业务流量类型的不断**,若要实现对不同的业务流量提供差分服务,前提就需要设备能够对这些流量进行分类和识别,然后对不同类型的流量提供相应的差分服务行为。

报文分类的必要性

「网络工程师」教你快速提升网络**

要实现差分服务,需要对**DiffServ域的流量按照符合一定的规则进行分类,后根据不同类别的流量提供不同的服务。如ACL就是用来进行对流量分类的工具。

流分类的种类:流分类分为简单流分类和复杂流分类,对报文进行分类,识别不同特征的流量。在采用Diff-Serv模型实施QoS时,需要设备识别各种流,因此需要对报文进行流分类。

(1)复杂流分类是指采用复杂的规则,如综合链路层、网络层、传输层信息(例如源MAC地址、目的MAC地址、源IP地址、目的IP地址、用户组号、协议类型或应用程序的TCP/UDP端口号等)对报文进行精细的分类。通常在Diff-Serv域的DS边界节点上对流量进行复杂流分类。

(2)简单流分类是指采用简单的规则,如只根据IP报文的IP优先级或DSCP值、MPLS报文的EXP域值、VLAN报文的802.1p值对报文进行粗略的分类,以识别出具有不同优先级或服务等级特征的流量。属于同一流分类的报文**称为BA(行为聚集)。通常,在Diff-Serv域的核心设备(DS内部节点)上仅需进行简单流分类。而边界节点可以进行简单流分类,也可以进行复杂流分类

报文分类的依据

报文分类可依据不同链路类型传输的不同类别的报文(比如ip报文,mpls报文,vlan报文),且其自身所含有的标识QoS优先级的字段值来进行分类

简单流分类:只能依据一种粗略地分类**且匹配规则较简单。

而简单流分类主要就是依据:只根据IP报文的IP优先级或DSCP值、MPLS报文的EXP域值、VLAN报文的802.1p值对报文进行粗略的分类,以识别出具有不同优先级或服务等级特征的流量。

「网络工程师」教你快速提升网络**

接下来具体来看这些简单流的依据

(1)VLAN 802.1p字段

「网络工程师」教你快速提升网络**

根据IEEE 802.1Q定义,VLAN TAG中的PRI字段用于标识QoS服务等级。(RPI就是802.1p)

(2)MPLS EXP字段

「网络工程师」教你快速提升网络**

对于MPLS报文,通常将标签信息中的EXP域作为MPLS报文的CoS域,与IP网络的ToS域等效,用来区分数据流量的服务等级。

(3)IPV4报文中的IP-precedence字段

「网络工程师」教你快速提升网络**

IP报文使用IP-Precedence字段标识其优先级(取值范围0~7)

缺点:IP-Precedence字段最多只能将IP报文分为8类,而在实际网络部署时,这些优先级是远远不够的。D bit代表延迟,T bit代表吞吐量,R bit代表可靠性。根据RFC791定义,IP报文头ToS(Type of Service)域中的Precedence字段标识了该报文的优先级。

(4)IPV4报文的DSCP字段

「网络工程师」教你快速提升网络**

IP报文中的DSCP字段值(对IP-Precedence字段进行了扩充)在RFC2474中对IPv4报文头的ToS字段进行了重新定义,称为DS(Differentiated Services区分服务)字段DSCP(DiffServ Code Point,区分服务代码点)

DSCP值有两种表达**:数字形式和关键字表达**;

数字形式:DSCP取值范围为0~63;(十进制表示)

关键字表达**:用关键字标识的DSCP值。(用CS EF AF BE来表示)

PHB行为(逐跳行为):在每一个DS节点上对报文的处理

PHB描述了DS节点对报文采用的外部可见的转发行为。PHB可以用优先级来定义,也可以用一些可见的服务特征如报文延迟、抖动或丢包率来定义。

RFC定义了四种**的PHB:CS(Class Selector),EF(Expedited Forwarding),AF(Assured Forwarding)和BE(Best-Effort)。其中,BE是缺省的PHB。在RFC 2474中,CS又被划分为两个等级,即CS6和CS7;在RFC 2597中,AF四个等级,即为AF1~AF4。至此,PHB共有8个细分级别,每个PHB在设备内部都有对应的服务等级,不同的服务等级将决定不同流的拥塞管理策略。同时每个PHB又再被划分为三个颜色(Color,也可以叫丢弃优先级),分别用Green、Yellow和Red表示,不同的颜色将决定不同流的拥塞避免(wred)策略。

1.CS(class selector类选择器)

CS代表的服务等级与网络中使用的IP Precedence相同。在所有**PHB中,CS的优先级**。CS可细分为CS7和CS6,默认用于协议报文,如企业内部各个交换机之间的STP报文等。如果这些报文无法接收会引起协议中断。

2.EF(Expedited forwarding快速转发)(固定值为101110=46)

EF流要求低时延、低抖动、低丢包率,对应于实际应用中的视频、**、会议电视等实时业务。EF用于承载VoIP**的流量,或者企业内部视频会议的数据流,因为**业务的报文要求低延迟、低抖动、低丢包率,其重要程度仅次于协议报文。

3.AF(Assured Forwarding保证转发)

用户在与ISP订购带宽服务时,允许业务量超出所订购的规格。对不超出所订购规格的流量要求确保转发的**;对超出规格的流量将**服务待遇继续转发,而不只是简单地被丢弃。AF流要求较低的延迟、低丢包率、高可靠性,对应于数据可靠性要求高的业务如电子商务、企业VPN等。

AF又可以细分为AF4、AF3、AF2、AF1。AFxy中,x代表不同的类别,根据不同的分类后续可以定义**相对应的队列,y代表当队列被装满的时候丢包的概率,例如AF1类中的报文,其中丢包概率由小到大排序为AF11<AF12<AF13。

4.BE(default PHB):对应于**的IP报文投递服务,只关注可达性,其他方面不做任何要求。任何交换机必须支持BE PHB。BE用于尽力而为的服务,用作不紧急、不重要、不需要负责的业务,如员工HTTP网页浏览业务。

2.不同关键字常用于标识不同报文(可自行定义):

(1)CS6和CS7默认用于协议报文,而且是大多数厂商设备的硬件队列里**优先级的报文,因为如果这些报文无法接收的话会引起协议中断。

(2)EF常用于承载**的流量,因为**要求低延迟,低抖动,低丢包率,是仅次于协议报文的最重要的报文。

(3)AF4用来承载**的信令流量,这里大家可能会有疑问为什么这里**要优先于信令呢? 其实是这样的,这里的信令是电话的呼叫控制,你是可以忍受在接通的时候等待几秒钟的,但是绝对不能允许在通话的时候的中断。所以**要优先于信令。

(4)AF3可以用来承载IPTV的直播流量,直播的实时性很强,需要连续性和大吞吐量的保证。

(5)AF2可以用来承载VOD(Video on Demand:视频点播)的流量,相对于直播流量来说,VOD对实时性要求没那么强烈,允许有时延或者缓冲。

(6)AF1可以用来承载普通上网业务。

「网络工程师」教你快速提升网络**

复杂流分类的依据分两种:

「网络工程师」教你快速提升网络**

复杂流分类:

(1)五元组:源地址、目的地址、源端口号、目的端口号、协议号码。一般的分类依

据都局限在封装报文的头部信息,使用报文业务内容作为分类的**比较少见。

(2)缺省应用于DS边界节点。报文**DS边界节点时,可以灵活配置分类规则。

报文分类配置实现

「网络工程师」教你快速提升网络**

(1)一般在DS边界节点对报文进行分类。

(2)下游(downstream)设备可以选择接收上游(upstream)设备的分类结果,也可按照自己的分类**对报文进行重新分类。

(3)端到端进行QoS部署时,如果需要每台设备都对报文进行分类,那么就会导致耗费大量地设备处理资源,为此提出了对报文进行标记的方法,这样下游设备只需要对标记进行识别即可提供差分服务。

报文标记的**

「网络工程师」教你快速提升网络**

一般在DS边界节点对报文进行标记,DS节点对标记进行识别并提供差分服务即可。像**电话、视频终端等设备一般发送的报文都是携带设备默认标识的优先级值。若想通过自定义的值来提供差分服务,可以通过remark操作对报文进行重新标记。

流量控制分为:

(1)流量监管

(2)流量整形

(3)接口限速

流量监管、流量整形和接口限速

1)流量监管、流量整形和接口限速通过监督**网络的流量速率,以达到限制流量,提高网络资源使用效率的目的,从而保证更好的为用户提供服务。

2)当报文的接收速率大于发送速率,或者下游设备的接口速率小于上游设备的接口速率时,可能会引起网络的拥塞。如果不限制用户发送的业务流量大小,大量用户不断突发的业务数据会使网络更加拥挤。为了使有限的网络资源更有效的为用户服务,需要对用户的业务流量加以限制。

3)流量监管、流量整形和接口限速就是一种通过对流量规格进行监督,以限制流量及其资源使用的流控策略。

流量控制分为:

(1)流量监管TP(Traffic Policing)可以监督不同流量**网络的速率,对超出部分的流量进行“惩罚”,使**的流量被限制在一个合理的范围之内,从而保护网络资源和用户的利益。若需要对接口出/入方向所有流量进行控制时,可以配置基于接口的流量监管,当报文的接收或发送速率不符合要求时,直接被丢弃或降级转发。

「网络工程师」教你快速提升网络**

处理流程:

流量监管由三部分组成:

(1)Meter(测量器):通过令牌桶机制对网络流量进行度量,向Marker输出度量结果。

(2)Marker(标记器):根据Meter的度量结果对报文进行染色,报文会被染成green、yellow、red三种颜色。

(3)Action:根据Marker对报文的染色结果,对报文进行一些动作,动作包括:

(3.1)pass:对测量结果为“符合”的报文继续转发。

(3.2)remark + pass:对测量结果为“不符合”的报文修改其内部优先级后再转发。(即降级转发)

(3.3)discard:对测量结果为“不符合”的报文进行丢弃。经过流量监管,如果某流量速率超过**,超出**部分的报文其测量结果为“不符合”,此时设备可以选择**报文优先级再进行转发或者直接丢弃。缺省情况下,green、yellow进行转发,red报文丢弃。

(2)流量整形(Traffic Shaping)是一种主动**流量输出速率的措施。流量整形将上游不规整的流量进行削峰填谷,使流量输出比较平稳,从而解决下游设备的拥塞问题。

「网络工程师」教你快速提升网络**

处理流程

流量整形是一种队列的流量控制技术,可以对从接口上经过的某类报文进行速率限制。

下面以采用单速单桶技术的基于流的队列整形为例介绍流量整形的处理流程,其处理流程如图1所示

具体处理流程如下:

1.当报文到来的时候,首先对报文进行分类,使报文**不同的队列。

2.若报文**的队列没有配置队列整形功能,则直接发送该队列的报文;否则,

**下一步处理。(即该队列的数据不需要**令牌直接从设备的出口转发出去)

3.按用户设定的队列整形速率向令牌桶中放置令牌:

(3)接口限速(入方向是限速(car),出方向是整形(lr))其实接口限速就是用流量监管和流量整形来实现的。接口限速可以限制一个接口上发送或者接收报文的总速率。

接口限速LR(Line Rate)可以对一个接口上发送或者接收全部报文的总速率进行限制。它也是采用令牌桶进行流量控制。如果在设备的某个接口配置了接口限速,所有经由该接口发送的报文首先要经过接口限速的令牌桶进行处理。如果令牌桶中有足够的令牌,则报文可以发送;否则,报文将被丢弃或者被缓存。这样,就可以对通过该接口的报文流量进行控制。接口限速支持出/入两个方向,下面以出方向为例介绍接口限速的处理**。

「网络工程师」教你快速提升网络**

具体处理流程如下:

(1)如果令牌桶中有足够的令牌可以用来发送报文,则报文直接被发送,在报文被发送的同时,令牌做相应的**。

(2)如果令牌桶中没有足够的令牌,则将报文放入缓存队列,如果报文放入缓存队列时,缓存队列已满,则丢弃报文。

(3)缓存队列中有报文的时候,会与令牌桶中的令牌数作比较,如果令牌数足够发送报文则转发报文,直到缓存队列中的报文全部发送完毕为止。

原理描述

网络中存在不同用户的多种业务流量,如果对所有用户的业务流量都不加限制,那么当大量用户产生不断突发的业务数据时,网络会更加拥挤。为了使有限的网络资源能够更好地发挥效用,更好地为更多的用户服务,必须对用户的业务流量加以限制。

流量监管TP(Traffic Policing)、流量整形TS(Traffic Shaping)和接口限速(Line Rate)通过监督**网络的流量速率来限制流量及其资源的使用。要监督**网络的流量首先需要对流量进行度量,然后才能根据度量结果实施调控策略。一般采用令牌桶(Token Bucket)对流量的规格进行度量。令牌桶用来控制发送到网络上的数据的数目,并允许突发数据的发送。

令牌桶

分为单速单桶 单速** 双速**

1.单速单桶

为方便描述将此令牌桶称为C桶,用Tc表示桶中的令牌数量。单速单桶有2个参数:

(1)CIR:承诺信息速率,表示向C桶中投放令牌的速率,即C桶允许传输或转发报文的平均速率;

(2)CBS:承诺突发尺寸,表示C桶的容量,即C桶瞬间能够通过的承诺突发流量。

系统按照CIR速率向C桶中投放令牌,当Tc<CBS时,令牌数**,否则不**。对于到达的报文,用B表示报文的大小:

(1)若B≤Tc,报文被标记为绿色,且Tc**B;

(2)若B>Tc,报文被标记为红色,Tc不**。

单速单桶**不允许流量突发,当用户的流量速率小于配置的CIR时,报文被标记为绿色;当用户的流量大于CIR时直接被标记为红色。每毫秒新增的令牌数CIR (1Mbit/s=1x10^6bit/S)× 1ms = 1000bits = 125bytes

2.单速**

单速**采用RFC2**7定义的单速三色标记器srTCM(Single Rate Three Color Marker)算法对流量进行测评,根据评估结果为报文打颜色标记,即绿色、黄色和红色。为方便描述将两个令牌桶称为C桶和E桶,用Tc和Te表示桶中的令牌数量。单速**有3个参数:

(1)CIR(Committed Information Rate):承诺信息速率,表示向C桶中投放令牌的速率,即C桶允许传输或转发报文的平均速率;

(2)CBS(Committed Burst Size):承诺突发尺寸,表示C桶的容量,即C桶瞬间能够通过的承诺突发流量;

(3)EBS(Excess Burst Size):超额突发尺寸,表示E桶的容量,即E桶瞬间能够通过的超出突发流量。

系统按照CIR速率向桶中投放令牌:(只有当C桶满了溢出的令牌放入E桶)

(1)若Tc<CBS,Tc**;

(2)若Tc=CBS,Te<EBS,Te**;

(3)若Tc=CBS,Te=EBS,则都不**。

对于到达的报文,用B表示报文的大小:

(1)若B≤Tc,报文被标记为绿色,且Tc**B;

(2)若Tc<B≤Te,报文被标记为黄色,且Te**B;

(3)若Te<B,报文被标记为红色,且Tc和Te都不**。

单速****允许流量突发,当用户的流量速率小于配置的CIR时,报文被标记为绿色;当用户的突发流量大于配置的CBS而小于EBS时,报文被标记为黄色;当用户的突发流量大于配置的EBS时,报文被标记为红色。

3.双速**(先P后C)

双速**采用RFC2**8定义的双速三色标记器trTCM算法对流量进行测评,根据评估结果为报文打颜色标记,即绿色、黄色和红色。为方便描述将两个令牌桶称为P桶和C桶,用Tp和Tc表示桶中的令牌数量。双速**有4个参数:

(1)PIR(Peak information rate):峰值信息速率,表示向P桶中投放令牌的速率,即P桶允许传输或转发报文的峰值速率,PIR大于CIR;

(2)CIR:承诺信息速率,表示向C桶中投放令牌的速率,即C桶允许传输或转发报文的平均速率;

(3)PBS(Peak Burst Size):峰值突发尺寸,表示P桶的容量,即P桶瞬间能够通过的峰值突发流量;

(4)CBS:承诺突发尺寸,表示C桶的容量,即C桶瞬间能够通过的承诺突发流量。系统按照PIR速率向P桶中投放令牌,按照CIR速率向C桶中投放令牌:

(1)当Tp<PBS时,P桶中令牌数**,否则不**。

(2)当Tc<CBS时,C桶中令牌数**,否则不**。

对于到达的报文,用B表示报文的大小:

(1)若Tp<B,报文被标记为红色;

(2)若Tc<B≤Tp,报文被标记为黄色,且Tp**B;

(3)若B≤Tc,报文被标记为绿色,且Tp和Tc都**B。

双速****允许流量速率突发,当用户的流量速率小于配置的CIR时,报文被标记为绿色;当用户的流量大于CIR而小于PIR时,报文被标记为黄色;当用户的流量大于PIR时,报文被标记为红色。

拥塞管理和拥塞避免

1.拥塞管理

当网络间歇性的出现拥塞,且时延**业务要求**比非时延**业务更高**的QoS服务时,需要进行拥塞管理;如果配置拥塞管理后仍然出现拥塞,则需要**带宽。拥塞管理一般采用队列技术,使用不同的调度算法来发送队列中的报文流。根据排队和调度策略的不同,设备LAN接口上的拥塞管理技术分为PQ、DRR、PQ+DRR、WRR、PQ+WRR,WAN接口上的拥塞管理技术分为PQ、WFQ和PQ+WFQ。设备上,每个接口出方向都拥有4个或8个队列,以队列索引号进行标识,队列索引号分别为0、1、2、3或0、1、2、3、4、5、6、7。设备根据本地优先级和队列之间的映射关系,自动将分类后的报文流送入各队列,然后按照各种队列调度机制进行调度。下面以每个接口8个队列对各种调度**进行说明。FIFO(first in first out先进先出)默认的**

「网络工程师」教你快速提升网络**

FIFO队列不对报文进行分类,当报文**接口的速度大于出接口能发送的速度时,FIFO按报文到达接口的先后顺序让报文**队列,同时,FIFO在队列的出口让报文按进队的顺序出队,先进的报文将先出队,后进的报文将后出队。

FIFO队列具有处理简单,开销小的优点。但FIFO不区分报文类型,采用尽力而为的服务模型,使得对时延**的实时应用的延迟得不到保证,关键业务的带宽也不能**保证。

PQ调度(priority queuing优先排队)

PQ调度,针对于关键业务类型应用设计,PQ调度算法维护一个优先级递减的队列系列并且只有当更高优先级的所有队列为空时才服务低优先级的队列。这样,将关键业务的分组放入较高优先级的队列,将非关键业务(如E-Mail)的分组放入较低优先级的队列,可以保证关键业务的分组被优先传送,非关键业务的分组在处理关键业务数据的空闲间隙被传送。

如图1所示,Queue7比Queue6具有更高的优先权,Queue6比Queue5具有更高的优先权,依次类推。只要链路能够传输分组,Queue7尽可能快地被服务。只有当Queue7为空,调度器才考虑Queue6。当Queue6有分组等待传输且Queue7为空时,Queue6以链路速率接受类似地服务。当Queue7和Queue6为空时,Queue5以链路速率接收服务,以此类推。

PQ调度算法对低时延业务非常有用。假定数据流X在每一个节点都被映射到**优先级队列,那么当数据流X的分组到达时,则分组将**优先服务。然而PQ调度机制会使低优先级队列中的报文得不到调度机会。例如,如果映射到Queue7的数据流在一段时间内以100%的输出链路速率到达,调度器将从不为Queue6及以下的队列服务。

WRR调度(Weighted Round Robin加权轮询算法)

加权循环调度WRR(Weight Round Robin)在循环调度RR(Round Robin)的基础上演变而来,在队列之间进行轮流调度,根据每个队列的权重来调度各队列中的报文流。实际上,RR调度相当于权值为1的WRR调度。

在进行WRR调度时,设备根据每个队列的权值进行轮循调度。调度一轮权值减一,权值减到零的队列不参加调度,当所有队列的权限减到0时,开始下一轮的调度。例如,用户根据需要为接口上8个队列指定的权值分别为4、2、5、3、6、4、2和1,按照WRR**进行调度的结果请参见表1所示

「网络工程师」教你快速提升网络**

从统计上看,各队列中的报文流被调度的**与该队列的权值成正比,权值越大被调度的**相对越多。由于WRR调度的以报文为单位,因此每个队列没有固定的带宽,同等调度机会下大尺寸报文**的实际带宽要大于小尺寸报文**的带宽。WRR调度避免了采用PQ调度时低优先级队列中的报文可能长时间得不到服务的缺点。WRR队列还有一个优点是,虽然多个队列的调度是轮询进行的,但对每个队列不是固定地分配服务时间片——如果某个队列为空,那么马上换到下一个队列调度,这样带宽资源可以**充分的利用。但WRR调度无法使低延时需求业务**及时调度。

WFQ调度

「网络工程师」教你快速提升网络**

1WFQ调度在报文入队列之前,先对流量进行分类,有两种分类**:

1)按流的“会话”信息分类:(CBQ)

根据报文的协议类型、源和目的TCP或UDP端口号、源和目的IP地址、ToS域中的优先级位和输入接口自动进行流分类,并且尽可能多地提供队列,以将每个流均匀地放入不同队列中。在出队的时候,WFQ按流的优先级(precedence)来分配每个流应占有带宽。优先级的数值越小,所得的带宽越少。优先级的数值越大,所得的带宽越多。这种**只有CBQ的BE队列支持。

2)按优先级分类:

通过优先级映射把流量标记为本地优先级,每个本地优先级对应一个队列号。每个接口预分配8个队列,报文根据队列号**队列。默认情况,队列的WFQ权重相同,流量平均分配接口带宽。用户可以通过配置修改权重,高优先权和低优先权按权重比例分配带宽。

2.举例:接**当前有8个流,它们的权重值分别为1、2、3、4、5、6、7、8。则带宽的总配额将是所有权重值之和,即:1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36。每个流所占带宽比例为:各自的权重/带宽的总配额。即,每个流可得的带宽比例分别为:1/36、2/36、3/36、4/36、5/36、6/36、7 /36、8/36。由此可见,WFQ在保证公平的基础上对不同优先级的业务体现权值,而权值依赖于IP报文头中所携带的IP优先级。按照优先级分类:通过优先级来设置权重,优先级越高,权重就越大,**带宽就越多;WFQ使高优先权的报文**优先调度的机会多于低优先权的报文

PQ+WRR调度

「网络工程师」教你快速提升网络**

PQ+WRR调度不仅可以通过WRR调度可以让低优先级队列中的报文也能及时**带宽,而且可以通过PQ调度可以保证了低延时需求的业务能优先**调度。

在设备上,用户可以配置队列的WRR参数,根据配置将接口上的8个队列分为两组,一组(例如Queue7、Queue6、Queue5)采用PQ调度,另一组(例如Queue4、Queue3、Queue2、Queue1和Queue0队列)采用WRR调度。

设备上只有LAN侧接口支持PQ+WRR调度。在调度时,设备首先按照PQ**调度Queue7、Queue6、Queue5队列中的报文流,只有这些队列中的报文流全部调度完毕后,才开始以WRR**循环调度其他队列中的报文流。Queue4、Queue3、Queue2、Queue1和Queue0队列包含自己的权值。重要的协议报文和有低延时需求的业务报文应放入采用PQ调度的队列中,**优先调度的机会,其余报文放入以WRR**调度的各队列中。(先PQ,等PQ结束,最后WRR)

PQ+WFQ调度

与PQ+WRR相似,其**了PQ调度和WFQ调度各有优缺点。单纯采用PQ调度时,低优先级队列中的报文流**得不到带宽,而单纯采用WFQ调度时低延时需求业务(如**)得不到优先调度,如果将两种调度**结合起来形成PQ+WFQ调度,不仅能发挥两种调度的优势,而且能克服两种调度各自的缺点。设备接口上的8个队列被分为两组,用户可以指定其中的某几组队列进行PQ调度,其他队列进行WFQ调度。只有WAN侧接口支持PQ+WFQ调度。

「网络工程师」教你快速提升网络**

在调度时,设备首先按照PQ**优先调度Queue7、Queue6和Queue5队列中的报文流,只有这些队列中的报文流全部调度完毕后,才开始以WFQ**调度Queue4、Queue3、Queue2、Queue1和Queue0队列中的报文流。其中,Queue4、Queue3、Queue2、Queue1和Queue0队列包含自己的权值。(先PQ,等PQ结束,最后WFQ)重要的协议报文以及有低延时需求的业务报文应放入需要进行PQ调度的队列中,**优先调度的机会,其他报文放入以WFQ**调度的各队列中。

CBQ调度

CBQ(Class-based Queueing)基于类的加权公平队列是对WFQ功能的扩展,为用户提供了定义类的支持。CBQ首先根据IP优先级或者DSCP优先级、输入接口、IP报文的五元组等规则来对报文进行分类,然后让不同类别的报文**不同的队列。对于不匹配任何类别的报文,送入系统定义的缺省类。

IP报文的五元组:源目IP,源目端口号,协议

「网络工程师」教你快速提升网络**

CBQ提供三类队列:

(1)EF队列:**低时延业务

(2)AF队列:**需要带宽保证的关键数据业务

(3)BE队列:**不需要严格QoS保证的尽力发送业务

(1)EF队列

(1.1)EF队列是具有高优先级的队列,一个或多个类的报文可以被设定**EF队列,不同类别的报文可设定占用不同的带宽。

(1.2)在调度出队的时候,若EF队列中有报文,会优先**调度,以保证其**低时延。当接口发生拥塞时,EF队列的报文会优先发送,但为了防止低优先级队列(AF、BE队列)得不到调度,EF队列以设置的带宽限速。当接口不拥塞时,EF队列可以占用AF、BE的空闲带宽。这样,属于EF队列的报文既可以**空闲的带宽,又不会占用超出规定的带宽,保护了其他报文的应得带宽。

(1.3)设备除了提供普通的EF队列,还支持一种特殊的EF队列—LLQ队列。LLQ队列较EF队列而言,时延更低。这为时延**的应用(如VoIP业务)提供了良好的服务**保证。(LLQ=PQ+WFQ)

(2)AF队列

(2.1)每个AF队列分别对应一类报文,用户可以设定每类报文占用的带宽。在系统调度报文出队列的时候,按用户为各类报文设定的带宽将报文出队列发送,可以实现各个类的队列的公平调度。当接口有剩余带宽时,AF队列按照权重分享剩余带宽。

(2.2)对于AF队列,当队列的长度达到队列的最大长度时,缺省采用尾丢弃的策略,但用户还可以选择用WRED丢弃策略。

(3)BE队列

(3.1)当报文不匹配用户设定的所有类别时,报文被送入系统定义的缺省类。虽然允许为缺省类配置AF队列,并配置带宽,但是更多的情况是为缺省类配置BE队列。BE队列使用WFQ调度,使所有**缺省类的报文进行基于流的队列调度。(当报文不匹配用户设定的所有类别时,报文会被送入系统定义的缺省BE(BestEffort,尽力传送)类。BE队列使用接口剩余带宽和WFQ调度**进行发送。)

(3.2)对于BE队列,当队列的长度达到队列的最大长度时,缺省采用尾丢弃的策略,但用户还可以选择用WRED丢弃策略。

拥塞避免(Congestion Avoidance)是指通过监视网络资源(如队列或内存缓 ----软件队列冲区)的使用情况,在拥塞发生或有加剧的趋势时主动丢弃报文,通过**网络的流量来解除网络过载的一种流控机制。

队列被装满后的**处理**

「网络工程师」教你快速提升网络**

由于每个队列长度有限,当某一队列已经被装满时,**的处理方**将后续向该队列发送的报文全部丢弃,直至拥塞解除,这种处理**称为尾丢弃(Tail Drop)。

尾丢弃的缺点:1.引发TCP全局同步现象;2.引起TCP饿死现象;3.无差别的丢弃

1.引发TCP全局同步现象

「网络工程师」教你快速提升网络**

2.引起TCP饿死现象

「网络工程师」教你快速提升网络**

3.无差别的丢弃

「网络工程师」教你快速提升网络**

导致原因:尾丢弃无法对流量进行区分丢弃

尾丢弃导致的后果的解决方案-RED(早期随机检测)

「网络工程师」教你快速提升网络**

为避免TCP全局同步现象,出现了RED(Random Early Detection)技术。RED通过随机地丢弃数据报文,让多个TCP连接不同时**发送速度,从而避免了TCP的全局同步现象。使TCP速率及网络流量都趋于稳定。RED为不同的队列的长度都设定阈值门限,并规定:

(1)当队列的长度小于低门限时,不丢弃报文。

(2)当队列的长度大于高门限时,丢弃所有收到的报文。

(3)当队列的长度在低门限和高门限之间时,开始随机丢弃到来的报文。

方法是为每个到来的报文赋予一个随机数,并用该随机数与当前队列的丢弃概率比较,如果大于丢弃概率则报文被丢弃。队列越长,报文被丢弃的概率越高。RED虽然可以缓解TCP同步和饿死等现象,但由于其不能感知业务类型,对报文的的丢弃不分轻重缓急,因此并没有解决重要和紧急报文被丢弃的问题。(无论是否是重要的报文,只要其队列长度超过低门限则都会随机丢弃)

尾丢弃导致的后果的解决方案-WRED(加权随机早期检测)

「网络工程师」教你快速提升网络**

WRED技术可以通过对不同优先级数据包或队列设置相应的丢弃策略,以实现对不同流量进行区分丢弃。基于RED技术,又实现了WRED(Weighted Random Early Detection)技术,可实现每一种优先级都能独立设置报文的丢包的高门限、低门限及丢包率,报文到达低门限时,开始丢包,到达高门限时丢弃所有的报文,随着门限的增高,丢包率不断**,**丢包率不超过设置的最大丢包率,直至到达高门限,报文全部丢弃。这样按照一定的丢弃概率主动丢弃队列中的报文,从一定程度上避免了尾丢弃带来的所有缺点。

wrr配置(加权循环调度)

配置方法一

interface Ethernet0/0/3出接口

qos queue 2 wrr weight 40

qos queue 3 wrr weight 60

配置方法二

qos schedule-profile sp

qos queue 2 wrr weight 40

qos queue 5 wrr weight 60

interface gigabitEthernet0/0/0

qos schedule-profile sp接口出方向应用wrr调度

WFQ配置(公平队列)

qos queue-profile wfq//创建队列模板voice

schedule wfq 0 to 7//配置所有队列使用wfq队列调度技术

queue 5 weight 100//配置队列5的权重

queue 6 weight 80

interface gigabitEthernet0/0/1出接口

qos queue-profile wfq将队列模板配置应用到出接口上

尾丢弃(tail drop)无法配置,造成TCP全局同步,流量**震荡。

「网络工程师」教你快速提升网络**

WRED配置

「网络工程师」教你快速提升网络**

流量监管配置

「网络工程师」教你快速提升网络**

流量整形配置

  • 发表于 2022-11-26 14:42:07
  • 阅读 ( 165 )
  • 分类:科技

0 条评论

请先 登录 后评论
蹇小平
蹇小平

265 篇文章

你可能感兴趣的文章

相关问题