Qos DSCP 2020-07-07 网络 暂无评论 2461 次阅读 QoS的实现以IETF 的DiffServ体系为基础。DiffServ体系规定每一个传输报文将在网络中被分类到不同的类别,分类信息被包含在了IP报文头中,DiffServ 体系使用了IP 报文头中的TOS(Type Of Service)中的前6个比特来携带报文的分类信息。当然分类信息也可以被携带在链路层报文头上。一般地,附带在报文中的分类信息有: 1 帧头的Tag Control Information 中的前3 个比特,它包含了8 个类别的优先级信息,通常称这三个比特为为UserPriority bits。 2 报文头中的TOS 字段前3个比特,称作IP precedence value;或者携带在IP报文头中的TOS 字段前6 个比特,称作DifferentiatedServices Code Point (DSCP) value。在遵循DiffServ 体系的网络中,各交换机和路由器对包含同样分类信息的报文采取同样的传输服务策略,对包含不同分类信息的报文采取不同的传输服务策略。报文的分类信息可以被网络上的主机、交换机、路由器或者其它网络设备赋予。可以基于不同的应用策略或者基于报文内容的不同为报文赋予类别信息。识别报文的内容以便为报文赋予类别信息的做法往往需要消耗网络设备的大量处理资源,为了减少骨干网络的处理开销,一般这种赋予类别信息的方式都使用在网络边界。 交换机或路由器根据报文所携带的类别信息,可以为各种交通流提供不同的传输优先级,或者为某种交通流预留带宽,或者适当的丢弃一些重要性较低的报文、或者采取其他一些操作等等。这些独立设备的这种行为在DiffServ 体系中被称作每跳行为(per-hopbehavior)。如果网络上的所有设备提供了一致的每跳行为,那么对于DiffServ体系来说,这个网络就可以构成end-to-end QoS solution。 下面几个段落将详细介绍本交换机所提供的以DiffServ 体系为基础的QoS模型。 QoS入口端动作包括Classifying、Policing 和Marking。 Classifying:确保将网络交通流划分成以DSCP值来标识的各个数据流。随后交换机将根据DSCP值来对各个数据流实施不同的QoS策略。有关分类的更详细介绍,请参阅Classifying章节。 Policing:用于约束某个流的所占用的传输带宽,根据配置的Policer来决定流中的哪些部分超出了所限制的传输带宽,并将结果传递给下一阶段的Marking动作。有关Policing的更详细介绍,请参阅Policing章节。 Marking:决定怎样处理数据流中在Policing动作中超限的部分。可能的处理动作有丢弃超限部分和用另外的DSCP值标记超限部分。有关Marking的更详细介绍,请参阅Marking章节。 QoS出口端动作包括Queueing和Scheduling: Queueing:根据数据流的每一个报文所附带的DSCP值来确定将报文送往端口的哪个输出队列,有关Queueing的更详细介绍,请参阅Queueing章节。 Scheduling:确定以什么样的方式处理被送到端口各个输出队列中的报文有关Scheduling的更详细介绍,请参阅Scheduling章节。下面的段落将详细介绍QoS模型的各个阶段的动作。 Classifying Classifying 即为分类,其过程是根据信任策略或者根据分析每个报文的内容来确定将这些报文归类到以DSCP值来表示的各个数据流中,因此分类动作的核心任务是确定输入报文的DSCP 值。分类发生在端口接收输入报文阶段,当某个端口关联了一个表示QoS策略的policy-map 后,分类就在该端口上生效,它起作用于所有从该端口输入的报文。 对于一般非IP 报文,交换机将根据以下准则来归类报文: 1.1 如果报文本身不包含QoS 信息,即报文的第二层报文头中不包含User Priority bits,那么可以根据报文输入端口的缺省CoS值来获得报文的QoS信息。端口的缺省CoS值和报文的UserPriority bits 一样,取值范围为0~7。取得报文的CoS 值之后,再根据交换机上配置的CoS-to-DSCPmap 来将CoS 转化为DSCP 值。 2.2 如果报文本身包含QoS 信息,报文的第二层报文头中包含UserPriority bits,那么可以直接从报文中获得CoS 值,然后再根据交换机上配置的CoS-to-DSCPmap 来将CoS 转化为DSCP值。注意以上两种归类准则只有当端口的QoS 信任模式打开的时候才起作用。打开端口的QoS的信任模式意味着不通过分析报文的内容,而直接从报文中或报文的输入端口上获得报文QoS信息,从而得到DSCP 值。 2 3. 如果端口关联的policy-map 中使用了基于mac access-list extended 的ACLs 归类,那么在该端口上,将通过提取报文的源MAC 地址、目的MAC 地址以及Ethertype 域来匹配关联的ACLs,以确定报文的DSCP 值。要注意的是,如果端口关联了某个policy-map,但又没有为其设置相应的DSCP 值,则交换机将按照缺省行为为符合这种归类的报文分配优先级:即根据报文第二层报文头中包含的优先级信息或端口的缺省优先级。 注意上面三种归类准则可能会同时作用于一个端口上。在这种情况下,上面三种归类准则按3、2、1 的优先级起作用。即,先根据ACLs 归类,在归类失败的情况下,才有可能选择归类准则2、1,在这个时候,如果端口的QoS 信任模式打开,则根据准则2和1 直接从报文中或者从端口上获得QoS 信息;如果端口的QoS 信任模式关闭,那么那些归类失败的报文将被赋予DSCP的缺省值0。 对于IP 报文,可以将根据以下准则来归类报文: 1.1直接从IP 报文的TOS字段中提取出DSCP 值。IETF规定IP 报文的TOS 字段的前6个比特作为DSCP 值,它的取值范围为0~63,和交换机内部使用的DSCP 值一一对应。 2.2 按照非IP 报文处理,按照上面介绍的非IP报文归类准则1、2来确定报文的DSCP值。注意以上几种归类准则只有当端口的QoS 信任模式打开的时候才起作用。打开端口的QoS的信任模式意味着不通过分析IP 报文的内容,而直接从IP 报文的TOS 字段中或报文的输入端口上获得QoS 信息,从而得到DSCP 值。 2 3. 如果端口关联的policy-map 中使用了基于ip access-list (extended)的ACLs 归类,那么该在该端口上,将通过提取报文的源IP 地址、目的IP 地址、Protocol字段、以及第四层TCP/UDP 端口字段来匹配相关联的ACLs,以确定报文的DSCP 值。要注意的是,如果端口关联了某个policy-map,但又没有为其设置相应的DSCP值,则交换机将按照缺省行为为符合这种归类的报文分配优先级:即根据报文第二层报文头中包含的优先级信息或端口的缺省优先级。和非IP报文归类准则一样,以上几种归类准则可以同时作用于一个端口上。在这种情况下,上面的归类准则按照3、2、1的优先级起作用。即先根据ACLs归类,在归类失败的情况下,才有可能选择归类准则2、1;在这个时候,如果端口选择QoS 信任模式TrustIP-precedence,那么准则1 起作用;如果端口选择QoS信任模式Trust CoS,那么准则2 起作用。有关上面提到的CoS-to-DSCP map、IP-precedence-to-DSCPmap映射表的详细描述情常见随后描述。 Policing Policing 动作发生在数据流分类完成后,它用于约束被分类的数据流所占用的传输带宽。Policing动作检查被归类的数据流中的每一个报文,如果该报文超出了作用于该数据流的Policer 所允许的限制带宽,那么该报文将会被做会被作特殊处理,它或者要被丢弃,或者要被赋予另外的DSCP值。在QoS 处理流程中,Policing 动作是可选的。如果没有Policing 动作,那么被分类的数据流中的报文的DSCP值将会不作任何修改,报文也不会在送往Marking 动作之前被丢弃。 Marking 经过Classifying 和Policing 动作处理之后,为了确保被分类报文报文对应DSCP 值的能够传递给网络上的下一跳设备,需要通过Marking 动作将为报文写入QoS信息,可以使用Trust 方式直接保留报文中QoS 信息,例如,选择Trust Cos 从而保留802.1Q 报文头的Tag Control Information 中的CoS 信息;默认情况下,Marking 总是用报文对应的DSCP 值转化成QoS 信息,然后写入到报文CoS字段(对于非IP 报文)、DSCP字段或者IP-precedence字段(对于IP 报文)中。 Queueing Queueing 动作负责将数据流中报文送往端口的哪个输出队列中,送往端口的不同输出队列的报文将获得不同等级和性质的传输服务策略。每一个端口上都拥有8个输出队列,通过交换机上配置的DSCP-to-CoS Map 和Cos-to-QueueMap 两张映射表来将报文的DSCP 值转化成输出队列号,以便确定报文应该被送往的输出队列。 Scheduling Scheduling 动作时QoS 流程的最后一个环节。当报文被送到端口的不同输出队列上之后,交换机将采用WRR 或者SP轮转算法发送8 个队列中的报文。可以通过设置轮转算法的权重值来配置各个输出队列在输出报文的时候所占用的传输带宽。 转自https://blog.csdn.net/seucbh84/article/details/17259063 标签: qos, dscp 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。