HCIER&S面试高频面试知识点QOS,近期会将QOS专题的所有知识点及面试中考官问到的问题点做一个分析。
1QOS 的服务模型有几种?
(1)尽力而为服务模型
(2)综合服务模型 (资源预留,场景:公交车专用道,导致的问题,资源空 闲时其他的业务流量也不能够使用)
(3)区分服务模型 (标记--分类--差分服务)
2分类/标记怎么做?
分类/标记有以下两种做法:
(1)简单流分类标记:根据各层报文头部中的优先级字段,来将外部优先级映 射成为内部优先级。
(2)复杂流分类重标记:根据各层报文头部中的优先级字段,或者SIP、DIP等 的五元组来对,流量进行分类,然后在打上相应的优先级。(使用MQC实现,流分类、流行为、流策略)
问题1:DSCP(差分服务代码点)和IPP(ip优先级)的区别?
都为IP报文中的TOS的一部分:IPP是TOS前3bit DSCP是TOS前6bit---前3bit代表优先级,后3bit代表D延迟、T吞吐、R可靠性 AF(Assured-forwarding)(第6bit固定为0)(后3bit代表丢弃概率)
CS类选择器 (DSCP用于兼容IPP)
问题2:COS和TOS的区别?
COS指的是二层和2.5层中的优先级字段,分别为vlan-tag中的PRI(802.1p)和 mpls报头中EXP。
TOS指的是三层ip报头中的优先级字段,前3bit为IPP,前6bit为DSCP。
3拥塞避免的技术有哪些?
(1)尾丢弃:当队列的长度达到最大值后,所有新入队列的报文(缓存在队列 尾部)都将被丢弃,这种丢弃策略会引发TCP全局同步现象,导 致TCP连接始终无法建立。所谓TCP全局同步现象如图,三种颜 色表示三条TCP连接,当同时丢弃多个TCP报文时,将造成多个 TCP连接,同时触发滑窗减半机制。又会由于慢启动的机制,将 流量慢慢的增大,之后又会在某个时间同时出现流量高峰,触发滑窗减半的机制。如此反复,使网络流量忽大忽小。
尾丢弃出现的问题:
在CBQ中,EF队列和LLQ队列不能使用丢弃策略,只能尾丢弃。为避免TCP 全局同步现象,出现了RED(Random Early Detection)技术。RED通过随 机地丢弃数据报文,让多个TCP连接不同时降低发送速度,从而避免了TCP 的全局同步现象。使TCP速率及网络流量都趋于稳定。
(2)WRED:RED是没有差分服务的,即使优先级高的也可能被随机丢弃掉, 所以基于RED,实现了WRED。流队列支持基于DSCP或IP优先级 进行WRED丢弃,每一种优先级都可以独立设置报文丢包的上下 门限及丢包率,报文到达下限时,开始丢包,随着门限的增高, 丢包率不断增加,最高丢包率不超过设置的丢包率,直至到达高 门限,报文全部丢弃,这样按照一定的丢弃概率主动丢弃队列中 的报文,从而一定的程度上避免拥塞问题
WRED针对队列,先有队列,才能配置相应的丢弃技术;
问题1:尾丢弃和WRED的区别的什么?
尾丢弃:
针对一个队列,当队列满的时候,对后续来的流量无差分的丢弃;
缺点:
1、无法提供差分服务
2、导致TCP全局同步
3、导致TCP饿死 ---- 记得分别画图解释针对尾丢弃的这些缺点,就有了WRED,WRED可以针对不同的流量设置一个从 什么时候开始丢弃(丢弃的低门限值)和最高门限,丢弃概率是多少,当队列中 该流量达到最高门限值时,该报文将全部丢弃。队列满的时候也是执行尾丢弃,从而实现差分的服务;同时举例说明如何解决尾丢弃的其他缺点;
问题2:WRED是怎么区分不同数据流的?
根据数据中的优先级字段来对数据流进行区分。
问题3:WRED中的W是什么意思?
W的英文为weight,是权值的意思,在WRED中,主要是用于实现针对不用的优 先级的数据配置不同的丢弃上下阈值和丢弃百分比。路由器根据IPP或者DSCP判断权重值;交换机根据数据包的颜色判断权重值。
问题4:TCP是怎么检测发生拥塞的?
没有收到相关的TCP ACK确认。
问题5:TCP全局同步是什么原因导致的?
当多个TCP连接在发送数据时,TCP数据发送过程中有慢启动机制,因此发送的 TCP流量会逐渐增大,当网络发生拥塞时,TCP又会有滑窗减半的机制,这样TCP 的流量又会减半下来,如此重复,就形成了TCP全局同步的问题。
问题6:TCP慢收敛机制?
其实就是TCP发送数据包的数量逐渐增多的过程。
4队列技术有哪些?
(1)FIFO:先进先出队列
是单队列技术,不会引入额外延迟,延迟只与队列 长度有关,不提供任何差分服务。
(2)RR:轮询调度
采用轮询的方式,对多个队列进行调度RR以环形的方式轮 询多个队列。如果轮询的队列不为空,则从该队列取走一个报文;如 果该队列为空,则直接跳过该队列,调度器并不等待。单队列里还是 先进先出。
(3)WRR:加权轮询调度
在队列之间进行轮流调度,根据每个队列的权重来 调度各队列中的报文流。在进行WRR调度时,设备根据每个队列的 权值进行轮循调度。调度一轮权值减一,权值减到零的队列不参加调 度,当所有队列的权限减到0时,开始下一轮的调度。从统计上看,各队列中的报文流被调度的次数与该队列的权值成正比,权值越大被 调度的次数相对越多。由于WRR调度的以报文为单位,因此每个队 列没有固定的带宽,同等调度机会下大尺寸报文获得的实际带宽要大 于小尺寸报文获得的带宽。
(4)DRR:差额轮询调度,类似于CQ。
解决了WRR只关心报文,同等调度机会 下大尺寸报文获得的实际带宽要大于小尺寸报文获得的带宽的问题, 通过调度过程中考虑了包长的因素,从而达到调度的速率公平性。DRR调度中,Deficit表示队列的带宽赤字,初始值为0。每次调度前, 系统按权重为各队列分配带宽,计算Deficit值,如果队列的Deficit值 大于0,则参与此轮调度,发送一个报文,并根据所发送报文的长度 计算调度后Deficit值,作为下一轮调度的依据;如果队列的Deficit值 小于0,则不参与此轮调度,当前Deficit值作为下一轮调度的依据。
(5)PQ:PQ调度算法
维护一个优先级递减的队列系列并且只有当更高优先级的 所有队列为空时才服务低优先级的队列,PQ调度算法对低时延业务 非常有用,然而PQ调度机制会使低优先级队列中的报文由于得不到 服务而“饿死”。
(6)FQ:公平队列
目的是尽可能公平地分享网络资源,使所有流的延迟和抖 动达到最优。不同的队列获得公平的调度机会,从总体上均衡各个流 的延迟。短报文和长报文获得公平的调度:如果不同队列间同时存在 多个长报文和短报文等待发送,让短报文优先获得调度,从而在总体 上减少各个流的报文间的抖动。
(7)WFQ:
与FQ相比,WFQ(Weighted Fair Queue)在计算报文调度次序时增 加了优先权方面的考虑。从统计上,WFQ使高优先权的报文获得优先 调度的机会多于低优先权的报文,短报文的调度机会多于长报文的调 度机会。WFQ调度在报文入队列之前,先对流量进行分类,有两种分 类方式:
1、按流的“会话”信息分类: 根据报文的协议类型、源和目的TCP或UDP端口号、源和目的 IP地址、ToS域中的优先级位等自动进行流分类,并且尽可能 多地提供队列,以将每个流均匀地放入不同队列中,从而在总 体上均衡各个流的延迟。在出队的时候,WFQ按流的优先级 (precedence)来分配每个流应占有带宽。优先级的数值越小, 所得的带宽越少。优先级的数值越大,所得的带宽越多。这种 方式只有CBQ的default-class支持。
2、按优先级分类: 通过优先级映射把流量标记为本地优先级,每个本地优先级对 应一个队列号。每个接口预分配4个或8个队列,报文根据队列 号进入队列。默认情况,队列的WFQ权重相同,流量平均分配 接口带宽。用户可以通过配置修改权重,高优先权和低优先权 按权重比例分配带宽。
(8)CBQ(EF(包含LLQ)、AF、BE)
1、EF队列:满足低时延业务 EF队列是具有高优先级的队列,一个或多个类的报文可以被设定进入EF队列,不同类别的报文可设定占用不同的带宽。在调度出队的时候,若EF队列中有报文,会优先得到调度,以保证其获得低时延。当接口发生拥塞时,EF队列的报文会优先 发送,但为了防止低优先级队列(AF、BE队列)得不到调度,EF队列以设置的带宽限速。当接口不拥塞时,EF队列可以占 用AF、BE的空闲带宽。这样,属于EF队列的报文既可以获得 空闲的带宽,又不会占用超出规定的带宽,保护了其他报文的 应得带宽。设备除了提供普通的EF队列,还支持一种特殊的EF队列—— LLQ队列。两种队列都采用绝对优先调度,但是LLQ队列使用 流量监管实现,不论接口是否拥塞,流量都不会超过设置的带 宽,LLQ队列不缓存报文,可以将报文被发送的时延降低为最 低限度。这为对时延敏感的应用(如VoIP业务)提供了良好的 服务质量保证
2、 AF队列:满足需要带宽保证的关键数据业务 每个AF队列分别对应一类报文,用户可以设定每类报文占用 的带宽。在系统调度报文出队的时候,按用户为各类报文设定 的带宽将报文出队发送,可以实现各个类的队列的公平调度。当接口有剩余带宽时,AF队列按照权重分享剩余带宽。同时, 在接口拥塞的时候,仍然能保证各类报文得到用户设定的最小 带宽对于AF队列,当队列的长度达到队列的最大长度时,缺省采 用尾丢弃的策略,但用户还可以选择用WRED丢弃策略
3、BE队列:满足不需要严格QoS保证的尽力发送业务 当报文不匹配用户设定的所有类别时,报文被送入系统定义的 缺省类。虽然允许为缺省类配置AF队列,并配置带宽,但是 更多的情况是为缺省类配置BE队列。BE队列使用WFQ调度, 使所有进入缺省类的报文进行基于流的队列调度。对于BE队列,当队列的长度达到队列的最大长度时,缺省采 用尾丢弃的策略,但用户还可以选择用WRED丢弃策略。
问题1:拥塞管理和拥塞避免那个优先使用?
控制层面上:要先有队列调度技术,才能针对不同的队列使用WRED,即使用拥 塞避免技术;
数据层面上:从进入队列的数据的角度来讲,不被WRED丢弃的数据才有资格被 队列调度技术调度;即先进行拥塞避免技术,将能够转发的数据留着队列中,再由队列调度技术来进 行调度;
问题2:MQC全称是什么,怎么使用,有什么内容?
模块化QOS命令行;在要求针对不同的业务流量进行整形或者配置WRED的时候使用;
MQC的三要素包括:流分类、流行为、流策略,最后应用流策略;
问题3:FIFO机制是不是不区分流量的优先级?
答:是的;
问题4:那为什么还需要FIFO这个机制呢?
1、在网络没有发生拥塞的时候,使用的就是FIFO的方式转发数据的;
2、在不使用任何Qos服务模型的时候,也就是使用尽力而为模型的时候, 也就是使用FIFO的方式的;
3、网络发生拥塞时,单个队列中使用的就是FIFO的方式发送数据的;
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有