QoS服务质量相关技术
一、QoS概述
Quality of Service,QoS,服务质量,是网络管理中的一个重要概念,它指的是网络能够在有限的带宽资源下,为不同的业务或数据流提供不同的服务水平,以满足各自的服务需求。QoS技术通过优先级管理、带宽分配、流量控制等手段,确保关键业务在网络中的优先传输,减少延迟和数据包丢失,从而提高用户的网络体验。
QoS应用场景
QoS技术广泛应用于多种网络环境中,尤其在实时音视频通信、在线游戏、视频会议、流媒体传输等领域尤为重要。在这些应用场景中,QoS能够保证数据流的质量,减少因网络拥塞造成的延迟和数据包丢失,从而提供更为流畅和稳定的服务。
QoS技术细节
QoS的核心在于对数据包的优先级分类和带宽管理。通过为不同类型的数据流设置不同的优先级,网络设备可以优先处理那些对延迟敏感的业务,如语音通话和视频流。同时,通过带宽管理,可以限制或保证某些数据流的带宽使用,避免网络资源的过度消耗,确保各类业务都能获得足够带宽的支持。
RFC定义的四类标准的PHB
Request for Comments,RFC,是互联网工程任务组(IETF)发布的一系列备忘录,其中包含了一系列关于互联网的重要文字资料。RFC文档中定义了多种互联网协议和服务标准,其中包括了差分服务(Diffserv)模型中的Per-hop Behavior(PHB)。PHB指的是在单个网络节点上对数据包采取的处理方式,它决定了数据包在网络中的转发和排队行为。
四类标准的PHB:
1、类选择码(Class Selector,CS):对应DSCP为XXX000,提供了与IP优先级类似的处理方式,用于向后兼容IPv4的TOS字段。
2、加速转发(Expedited Forwarding,EF):这种PHB为需要低延迟、低抖动和低丢包率的业务(如语音通信)提供保障。
3、确保转发(Assured Forwarding,AF):这种PHB分为AF1、AF2、AF3和AF4等级别,每个等级别又分为三个丢弃优先级,用以保证一定程度的流量传输,并在网络拥塞时进行适当的丢弃管理。
4、尽力而为(Best-Effort,BE):这是默认的PHB,适用于普通的IP网络流量,不保证任何特定的服务质量。
二、QoS调度算法概述
QoS调度算法是网络管理中的一项关键技术,主要用于确保网络传输质量和服务质量的可靠性。它通过合理分配和调度网络资源,以满足不同应用和用户对带宽、延迟、抖动和丢包率等参数的需求。QoS调度算法通常应用于需要保证服务质量的场合,如实时视频、在线游戏和云计算等,
常见QoS调度算法:
1、Strict Priority (SP) 调度算法
SP调度算法,也称为Priority Queuing (PQ),是一种基于优先级的调度方法。它按照队列优先级的高低顺序进行调度,只有高优先级队列中的报文全部调度完毕后,低优先级队列才有调度机会。SP调度的优点是可以确保高优先级业务(如实时语音)得到优先处理,但缺点是在网络拥塞时可能导致低优先级队列中的报文长时间得不到调度,即所谓的“饥饿”问题。
2、Weighted Round Robin (WRR) 调度算法
WRR调度算法是一种加权轮询调度方法。它为每个队列分配一个权重,并根据权重分配带宽,使得每个队列按比例获得调度机会。WRR的优点是可以避免SP调度中低优先级队列饿死的问题,但缺点是不能直接设置权重,且对于低延时需求业务得不到及时调度。
3、Deficit Weighted Round Robin (DWRR) 调度算法
DWRR调度算法是WRR的改进型,它在每轮调度时考虑报文长度,以字节数为单位进行调度,这样可以更准确地反映每个队列的实际带宽分配。DWRR解决了DRR不能设置权重的不足,但同样存在低延时业务得不到及时调度的缺点。
4、Class-Based Queueing (CBQ) 调度算法
CBQ调度算法是一种基于类的队列调度方法,它可以将网络流量分成多个类别,并为每个类别分配独立的队列和优先级。CBQ的优点是提供了高度的灵活性,可以针对不同的服务类型提供不同的QoS,但缺点是配置较为复杂,且可能受到特定接口的限制。
总结,QoS提供的调度算法:
1、至少要能区分队列中的不同分组。
2、需要知道每个分组的服务登记。
3、调度算法决定下一个处理队列中的哪个分组。
4、通过检查IP数据包的端口号码,智能网络可以确定数据包是由哪类应用产生的。
5、Classifier分类是QoS的一种分类方法。
6、根据协议对数据包进行识别和优先级处理可以降低延迟。
三、MQC概述
MQC概述
MQC,Modular QoS Command-Line Interface,是一种模块化服务质量的命令行配置方法,它允许网络管理员通过一系列标准化命令对网络流量进行分类和服务质量管理。MQC的核心组成部分包括流分类(traffic classifier)、流行为(traffic behavior)和流策略(traffic policy)三个要素。
1、流分类
流分类用于定义一组流量匹配规则,这些规则能够对报文进行分类。分类规则可以根据MAC地址、VLAN ID、802.1p优先级、ACL、DSCP优先级等多种属性进行设定,流分类可以采用AND或OR逻辑关系来定义规则之间的匹配关系。(DSCP是在IP报文的TOS(Type of Service)字段基础上发展而来,通过使用其中的6个比特(共64个可能值)来提供更为细致的优先级区分)
2、流行为
流行为定义了对特定类别报文采取的动作,如流量控制、优先级标记、重定向等。一个流行为可以包含多个动作,例如流量监管、流量统计等。
3、流策略
流策略则是将定义好的流分类和流行为绑定在一起,形成一个整体的策略,并在适当的接口上应用此策略。这样就能够对匹配流分类规则的报文执行流行为中定义的动作。
四、MQC配置流程
1、配置流分类:首先需要定义报文匹配规则,这是提供差异服务的基础。通过traffic classifier命令来配置流分类,并通过if-match命令来添加匹配规则。
2、配置流行为:为符合流分类规则的报文指定所需的行为,如流量控制或优先级标记等。通过traffic behavior命令来配置流行为,并定义相应的动作。
3、配置流策略:将流分类和流行为绑定到一起,形成完整的策略。通过traffic policy命令创建流策略,并将流分类和流行为与之关联。
4、应用流策略:最后,将在接口上应用刚刚创建的流策略,可以是入站或出站的方向。通过在接口配置模式下使用traffic-policy命令来应用流策略。