66            QOS配置
66.1        QOS概述
随着Internet的飞速发展,人们对于在Internet上传输多媒体流的需求越来越大,一般说来,用户对不同的多媒体应用有着不同的服务质量要求,这就要求网络应能根据用户的要求分配和调度资源,因此,传统所采用的“尽力而为”转发机制,已经不能满足用户的要求。QOS应运而生。
QOS(Quality of Service,服务质量)是用来评估服务方满足客户需求的能力。在因特网中,为了提高网络服务质量,引入QOS机制,用QOS评估网络投递分组的能力。我们通常所说的QOS,是对分组投递过程中为延迟、抖动、丢包等核心需求提供支持的服务能力的评估。
66.1.1  QoS基础框架
不支持QoS 功能的设备不具有提供传输品质服务的能力,它同等对待所有的交通数据流,并不保证某一特殊的数据流会受到特殊的转发待遇。当网络带宽充裕的时候,所有的数据流都得到了较好的处理,而当网络拥塞发生的时候,所有的数据流都有可能被丢弃。这种转发策略被称做提供最佳效果服务,因为这时设备是尽最大能力转发数据,设备本身的交换带宽得到了充分的利用。
本设备支持QoS 功能,能够提供传输品质服务。针对某种类别的数据流,您可以为它赋予某个级别的传输
优先级,来标识它的相对重要性,并使用设备所提供的各种优先级转发策略、拥塞避免等机制为这些数据流提供特殊的传输服务。配置了QoS 的网络环境,增加了网络的性能可预知性,并能够有效地分配网络带宽,更加合理地利用网络资源。
weight的所有形式本设备的QoS 实现以IETF(Internet Engineering Task Force)的DiffServ (Differentiated Servece Mode),差分服务模型)体系为基础。DiffServ 体系规定网络中的每一个传输报文将被划分成不同的类别,分类信息被包含在了IP 报文头中,DiffServ 体系使用了IPv4 报文头中的TOS(Type Of Service)或者Ipv6 报文头中的Traffic Class 字段的前6 个比特来携带报文的分类信息。当然分类信息也可以被携带在链路层报文头上。一般地,附带在报文中的分类信息有:
n携带在802.1Q 帧头的Tag Control Information 中的前3 个比特,它包含了8 个类别的优先级信息,通常称这三个比特为User Priority bits。
n携带在IPv4 报文头中的TOS 或者IPv6 报文头中的Traffic Class 字段的前3 个比特,称作IPprecedence value;或者携带在IPv4 报文头中的TOS 或者IPv6 报文头中的Traffic Class 字段的前6 个比特,称作Differentiated Services Code Point (DSCP) value。
在遵循DiffServ 体系的网络中,各设备对包含相同分类信息的报文采取相同的传输服务策略,对包含不同分类信息的报文采取不同的传输服务策略。报文的分类信息可以由网络上的主机、设备或者其它网络
设备赋予。可以基于不同的应用策略或者基于报文内容的不同为报文赋予类别信息。识别报文的内容以便为报文赋予类别信息的做法往往需要消耗网络设备的大量处理资源,为了减少骨干网络的处理开销,一般这种赋予类别信息的方式都使用在网络边界。设备根据报文所携带的类别信息,为各种交通流提供不同的传输优先级,或者为某种交通流预留带宽,或者适当地丢弃一些优先级较低的报文、或者采取其他一些操作等等。这些独立设备的这种行为在DiffServ 体系中被称作每跳行为(Per-hop Behavior)。
如果网络上的所有设备提供了一致的每跳行为,那么对于DiffServ 体系来说,这个网络就可以构成End-to-end QoSsolution。
66.1.2  QOS处理流程
66.1.2.1Classifying
Classifying即分类,其过程是根据信任策略或者根据分析每个报文的内容来确定将这些报文归类到以CoS值来表示的各个数据流中,因此分类动作的核心任务是确定输入报文的CoS 值。分类发生在端口接收输入报文阶段,当某个端口关联了一个表示QoS策略的Policy-map 后,分类就在该端口上生效,它对所有从该端口输入的报文起作用。
对于一般非IP报文,设备将根据以下准则来归类报文:
n如果报文本身不包含QoS信息,即报文的第二层报文头中不包含User Priority bits,那么可以根据报文输入端口的缺省CoS值来获得报文的QoS信息。端口的缺省CoS
值和报文的User Priority bits一样,取值范围为0~7。
n如果报文本身包含QoS信息,报文的第二层报文头中包含User Priority bits,那么可以直接从报文中获得CoS值。
n
类,那么在该端口上,将通过提取报文的源MAC地址、目的MAC地址以及Ethertype域来匹配关联的ACLs,以确定报文的DSCP值。要注意的是,如果端口关联了某个Policy-map,但又没有为其设置相应的DSCP值,则设备将按照缺省行为为符合这种归类的报文分配优先级:
对于IP报文,可以将根据以下准则来归类报文:
n如果端口信任模式为Trust ip-precedence,则直接从IP报文的Ip precedence
字段(3个比特)提取出来,填充到输出报文的CoS字段(3个比特)。
n如果端口信任模式为Trust cos,则将报文的CoS字段(3个比特)直接提取出来覆盖报文Ip Precedence字段(3个比特)。这有两种情况,一是第二层报文头中不包含User Priority bits,那么可以根据报文输入端口的缺省CoS值来获得报文的CoS值。另外一种是第二层报文头中包含User Priority bits,则直接从报文头中取得CoS值。
n如果端口关联的Policy-map中使用了基于Ip access-list (Extended)的ACLs归类,那么该在该端口上,将通过提取报文的源IP地址、目的IP地址、Protocol字段、以及第四层TCP/UDP端口字段来匹配相关联的ACLs,以确定报文的DSCP值。要注意的是,如果端口关联了某个Policy-map,但又没有为其设置相应的DSCP值,则设备将按照按照前面的规则1、2确定优先级。
和非IP报文归类准则一样,以上几种归类准则同样可以同时作用于一个端口上。在这种情况下,上面的归类准则按照3、2、1的优先级起作用。
有关上面提到的CoS-to-DSCP map、IP-precedence-to-DSCP map映射表的详细描述见随后描述。
66.1.2.2Policing
Policing 即策略,发生在数据流分类完成后,用于约束被分类的数据流所占用的传输带宽。Policing动作检查被归类的数据流中的每一个报文,如果该报文超出了作用于该数据流的Police所允许的限制带宽,那么该报文将会被做特殊处理,它或者要被丢弃,或者要被赋予另外的DSCP 值。
在QoS 处理流程中,Policing 动作是可选的。如果没有Policing 动作,那么被分类的数据流中的报文的DSCP 值将不会作任何修改,报文也不会在送往Marking 动作之前被丢弃。
66.1.2.3Marking
Marking即标识,经过Classifying 和Policing 动作处理之后,为了确保被分类报文对应DSCP的值能够传递给网络上的下一跳设备,需要通过Marking 动作将为报文写入QoS 信息,可以使用QoS ACLs 改变报文的QoS信息,也可以使用Trust 方式直接保留报文中QoS 信息,例如,选择Trust DSCP 从而保留IP 报文头的DSCP 信息。
66.1.2.4Queueing
Queueing即队列,负责将数据流中报文送往端口的某个输出队列中,送往端口的不同输出队列的报文将获得不同等级和性质的传输服务策略。
每一个端口上都拥有8 个输出队列,通过设备上配置的DSCP-to-CoS Map 和Cos-to-Queue Map 两张映射表来将报文的DSCP 值转化成输出队列号,以便确定报文应该被送往的输出队列。
66.1.2.5Scheduling
Scheduling即调度,为QoS 流程的最后一个环节。当报文被送到端口的不同输出队列上之后,设备将采用WRR 或者其它算法发送8 个队列中的报文。
可以通过设置WRR算法的权重值来配置各个输出队列在输出报文的时候所占用的每循环发送报文个数,从而影响传输带宽。或通过设置DRR算法的权重值来配置各个输出队列在输出报文的时候所占用的每循环发送报文字节数,从而影响传输带宽。
66.2        配置QOS
66.2.1  缺省QOS设置
用户在进行QoS配置之前,需要清楚和QoS有关的几点信息,如下:
n一个接口最多关联1个Policy-map
n一个Policy-map可以拥有多个Class-map
n一个Class-map最多关联1个ACL,该ACL的所有ACE必须具有相同过滤域模板
n一个接口上关联的ACE的个数服从“配置安全ACL”章节的限制
缺省情况下,QoS 功能是关闭的,即设备对所有的报文同等处理。但当您将一个Policy Map
关联到某一个接口上,并设置了接口的信任模式时,该接口的QoS 功能即被打开。要关闭该接口的QoS 功能,您可以通过解除该接口的Policy Map 设置,并将接口的信任模式设为
CoS to DSCP默认映射表
IP-Precedence to DSCP默认映射表
66.2.2  配置接口的Qos信任模式
以下命令将端口interface GigabitEthernet 0/4信任模式设置为DSCP:Ruijie(config)# interface gigabitEthernet 0/4
Ruijie(config-if)# mls qos trust dscp
Ruijie(config-if)# end
Ruijie# show mls qos interface g0/4
Interface: GigabitEthernet 0/4
Attached input  policy-map:
Default COS: trust dscp
Default COS: 0
Ruijie#
66.2.3  配置接口的缺省CoS值
您可以通过下面的设置步骤来配置每一个接口的缺省CoS值
缺省情况下,接口的缺省CoS值为0
Ruijie# configure terminal
Ruijie(config)# interface g 0/4
Ruijie(config-if)# mls qos cos6
Ruijie(config-if)# end
Ruijie# show mls qos interface g 0/4

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。