❶ QoS之拥塞管理与拥塞避免(3)
一、拥塞管理
硬件转发队列是长度有限的FIFO队列,任何报文离开必须经过出接口硬件队列,如果出接口的硬件转发队列存储空间满了,拥塞就产生了;
即使调整硬件转发队列长度,越长的硬件转发队列会使时延敏感的数据包在队列中等待更长时间,引入过多的等待延时;
通过配置软件队列,实现将不同敏感程度的报文放到不同的队列中,并使用不同的调度机制来保证敏感报文的网络质量,解决多种业务争用有限的硬件队列资源的情况;
两种队列机制:
(1)基于队列的拥塞管理机制queue-profile
华为设备可以使用Queue-profile来全局定义可应用到接口的软件队列,当硬件队列拥塞时,Queue-profile队列系统开始起作用;
系统最多可定义优先级为0-7的8个队列,每个接口出方向都拥有4个或8个队列,以队列索引号标识,分别为0、1、2、3或0、1、2...、7;
设备根据本地优先级和队列之间的映射关系,自动将报文送入各队列,然后按照各种队列调度机制进行调度。
LAN接口上可用的调度机制有PQ、DRR、PQ+DRR、WRR、PQ+WRR;WAN接口上可用的调度机制有PQ、WFQ和PQ+WFQ;
如果queue-profile中定义了多个PQ队列,则多个PQ间根据优先级顺序进行调度;
如果在queue-profile中定义了多个WFQ/WRR/DRR的队列,PQ队列调度完成后,再对DRR、WFQ或WRR队列进行调度,共同分享剩余带宽;
因为PQ队列优先调度,如果PQ队列持续有数据包,可能会出现队列饿死的问题,建议对进入PQ队列的报文进行限速,不要过多占用带宽;
(2)基于MQC的CBQ队列技术
可以定义BE、AF、EF和LLQ队列;
1、软件队列技术之qos queue-profile
queue profile最多可以定义8个队列,队列之间可以定义多种调度方式,以下是各种调度方式及其区别;
PQ调度
维护一个优先级递减的队列系列,只有当更高优先级的所有队列为空时才服务低优先级的队列;
优点是能保证时延敏感报文的服务质量;
缺点是如果拥塞时较高优先级队列长时间有分组存在,低优先级队列就会由于得不到服务饿死;
WRR调度
RR调度会依次在不同队列间提供等量服务,调度在队列间轮流可以保证每个队列都得到同等服务机会;
WRR根据每个队列的重要程度分配权值,在不同队列间按权值比例提供服务,调度一次权值减1,减为0不参与调度,所有队列权值都减为0后重新开始下一轮调度;
由于WRR调度是以报文为单位的,同等调度机会下大尺寸报文获得的带宽大于小尺寸报文获得的带宽,每个队列没有固定的带宽;
优点是队列不会因长时间得不到服务饿死;
缺点是无法保证延迟敏感报文的服务质量;
DRR调度
DRR解决了WRR每个队列没有固定带宽的问题;
DRR每次调度都会为每个队列分配一次按权值比例得到的Deficit,只有队列的Deficit大于0才可以发送报文,所以DRR的每个队列可以按照权值比例获得固定带宽;
优点是队列不会因长时间得不到服务饿死;
缺点是无法保证延迟敏感报文的服务质量;
WFQ调度
FQ把进入一个队列的报文称为流,系统对待每个流都是均等的,每个流都会平等地分享到当前可用的带宽,例如接口带宽1M,当前有n条流,每条流获得带宽是1/n M;
FQ还关心流队列中报文的长度,如果在不同队列间同时存在多个长报文和短报文等待发送,则短报文优先得到调度,这样可以减缓各个流报文间的抖动;
WFQ在FQ的基础上,增加权重使不同流权重值比例分配带宽;
优点是每个队列之间按权重值比例分配带宽更公平;
缺点是无法保证延迟敏感报文的服务质量;
PQ+WRR/PQ+DRR/PQ+WFQ调度
PQ调度和WRR/DRR/WFQ调度都有各自优缺点,单纯使用PQ调度,低优先级队列可能长时间得不到调度;而单纯采用WRR/DRR/WFQ调度,低延时需求业务得不到优先调度;
通过将两种调度方式结合起来,PQ+WRR、PQ+DRR、PQ+WFQ调度方式使低延时需求业务进入PQ队列进行调度;而其他报文进入WRR/DRR/WFQ的队列中进行调度;
队列调度时,先调度PQ队列,多个PQ队列按优先级顺序进行调度;
PQ队列调度完成后,再对WRR/DRR/WFQ队列进行加权轮询调度;
例如指定队列4和5进行PQ调度,其他队列0、1、2、3进行WRR调度;
根据不同业务需要给WRR各队列设置不同的权值(缺省权值为10),根据权值对各队列进行调度,DRR和WFQ可以按权值比例为队列分配固定带宽;
PQ不需要权值,PQ总优先使用接口带宽;
2、基于MQC的CBQ队列技术
基于类的加权公平队列CBQ,基于WFQ功能进行扩展,使用户可以自己定义用户类;
CBQ根据IP优先级或者DSCP优先级、IP报文的五元组、入接口规则来对进入系统的报文进行分类,每个分类可以使用EF、LLQ、AF和BE类型的队列,对于不匹配任何分类的报文,送入系统的默认BE类型的缺省类;
1、EF队列和LLQ队列 限制队列可使用的最大带宽
满足低时延业务;
华为提供的两种类型的低延迟队列EF和LLQ,LLQ队列比EF队列时延更低;
CBQ队列最多只允许为4个用户类定义EF或LLQ队列,最多可包含的LLQ和EF队列之和为4;
每个EF和LLQ队列按照配置顺序进行绝对优先级调度,先配置的队列先被调度;
2、AF队列 保证队列可使用的最小带宽
满足需要带宽保证的关键数据业务;
每个AF队列分别对应一类用户报文,用户可以设定每类报文占用的带宽,在系统调度报文出队的时候,按用户为 各类报文设定的带宽将报文出队发送,可以实现各个类的队列公平调度;
当接口有剩余带宽时,AF队列按照权值分享剩余带宽;
对于AF队列,当队列长度达到队列的最大长度时,缺省采用尾丢弃的策略,但用户还可以选择用WRED丢弃策略;
3、BE队列
满足不需要严格Qos保证的尽力发送业务;
如果进入系统的报文没有匹配用户定义的所有类别,报文被送入系统定义的缺省类;
允许为缺省类配置AF队列并配置带宽,但是更多的情况是为缺省类配置BE队列;
BE队列使用WFQ调度,进入BE队列的流越多,每个流分享的带宽越平均;
CBQ中,WFQ在调度报文入队列之前,根据IP报文五元组和ToS优先级自动进行流分类,并尽可能多的提供队列,将每个流均匀地放入不同队列中,从而在总体上均衡各个流的延迟;
在出队的时候,WFQ按流的优先级来分配流应占用的带宽,优先级数值越大所得的带宽就越多;
二、拥塞避免
拥塞避免是在队列尾部提供的一种基于权值的RED机制,默认是直接在队列尾部丢弃报文;
1、尾丢弃
当拥塞发生,队列长度达到最大值后,所有新入队列的报文都将因没有缓存空间而被丢弃;
缺点是不加区分地丢包和引发TCP全局同步现象;
TCP全局同步现象就是在队列中同时丢弃多个TCP连接的报文,造成多个TCP连接同时降低流量,之后又会在某个时间同时出现流量高峰,使网络流量起伏波动;
2、WRED
为解决TCP全局同步问题,RED提早随机丢弃一些低级别报文,不同时丢包行为可以避免多个TCP连接同时降低发送速度出现TCP全局同步现象,并使TCP流量趋于平缓稳定;
报文依次进入队列,当队列深度到达最小阀值时开始丢包;
随着队列深度增加丢包率按线性比例增加,最高丢包率不超过设置的丢包率;
直至到达最高阀值后报文全部丢弃;
基于RED,WRED队列支持基于DSCP或IP优先级进行RED丢弃;
WRED中权值是IPP或DSCP,每个队列可以针对每一种优先级独立设置丢弃报文的上下门限及丢包率,即每个权值都定义一个独立的丢弃曲线;
WRED有两种配置方式,一种是基于队列queue-profile的WRED,另一种是CBQ下的WRED;
定义每个权值的丢弃曲线是通过定义丢弃模版来实现的,丢弃模板是队列各优先级WRED参数的集合;
(1)配置基于队列queue-profile的WRED
将定义好的丢弃模版在队列模版中关联后应用到接口上,接口根据绑定的丢弃模版实现拥塞避免;
(2)配置CBQ下的WRED
丢弃模板在流行为中绑定后,在流策略下将流分类和对应的流行为关联,并将流策略应用到接口上,可以实现对匹配流分类规则流量的拥塞避免;
❷ 思科路由器qos接口预留
第1步:定义传输类型
你必须告诉路由器,哪种数据流需要进行QoS管理。你可以通过访问控制列表(ACL)或者基于网络应用程序识别(NBAR)的方式来进行定义。其中ACL是为路由器设定不同传输数据 类型的传统方式。
而NBAR则是让路由器识别流经路由器的各种数据的类别,比如HTTP数据是HTTP类别,Skype是Skype类别。但是路由器可识别的应用程序协议数量是有限的,这依赖于路由器内部存 储的一个程序协议列表。
虽然路由器无法识别全部应用程序,但是路由器厂商在每次IOS升级时,会在列表中加入更多的程序。另外,你也可以自己定义程序识别列表。
第2步:创建类映射(class-map)
类映射就是将不同类型的数据流进行分组。比如,你可以创建一个叫做“VoIP traffic”的类映射,然后将各种VoIP协议归入该类。
第3步:创建策略映射(policy-map)
策略映射可以与类映射匹配,确定某类数据流的带宽和/或优先级。
第4步:将策略映射应用于接口
和ACL列表一样,你必须将策略映射应用于某个你所设定的端口上。你可以设定策略映射为输入或输出模式
❸ SP网络服务质量QOS技术中的MQC如何配置-IELAB
头条
网工常忽略的技术死角 QOS中的MQC?
SEO
SP网络服务质量QOS技术中的MQC如何配置?
QOS当中的MQC,以及如何进行简单的配置。模块化Qos命令行MQC ( Molar Qos Command-Line Interface )是指通过将具有某类共同特征的报文划分为一类,并为同一类报文提供相同的服务,对不同类的报文提供不同的服务。
MQC三要素:
MQC包含三个要素:流分类( traffic classifier )、流行为(traffic behavior )和流策略(traffic policy )。
流分类用来定义一组流量匹配规则,以对报文进行分类。
二层流分类规则
源MAC地址、目的MAC地址、VLAN,MPLS EXP、基于二层的协议字段等
三层流分类规则
IP DSCP, IP precedenceRТР端口号等
MQC配置流程:
配置流分类:按照一定规则对报文进行分类,是提供差分服务的基础。
配置流行为:为符合流分类规则的报文指定流量控制或资源分配动作。
配置流策略:将指定的流分类和指定的流行为绑定,形成完整的策略。
应用流策略:将流策略应用到接口或子接口。
华为设备流分类配置:
使用traffic classifier classifier-name [ operator ( and | or }]
其中and表示流分类中各规则之间关系为"逻辑与" ,指定该逻辑关系后:当流分类中有ACL规则时,报文必须匹配其中一条ACL规则以及所有非ACL规则才属于该类。当流分类中没有ACL规则时,则报文必须匹配所有非ACL规则才属于该类。
如果使用or则表示流分类各规则之间是"逻辑或" ,即报文只需匹配流分类中的一个或多个规则即属于该类。缺省情况下,流分类中各规则之间的关系为"逻辑或
流行为配置MQC流行为动作有:
报文过滤
重标记优先级
重定向
流量监管
流量统计
流策略配置
流量策略把流量类和流量动作关联。执行命令traffic policy policy-name ,创建一个流策略并进入流策略视图,执行命令classifier classifier-name behavior behavior-name [ precedenceprecedence-value]
了解最新开班,最新课程优惠,获取免费视频!一定要+WXdcm220681哦!