2024年3月29日发(作者:)

MLS QOS默认3550上关闭

对于接口的信任状态只能是一种,要么是COS,要么是DSCP,要么是IP优先级,不可重复。当携带有

(cos dscp IP precedence)的数据进入交换机后,如果交换机信任这个数据包携带的标签(cos dscp ip

precedence)的话,那么会映射到一个内部的DSCP表(也就是cos-内部dscp, ip precedence-内部dscp,

数据包的dscp-内部dscp的映射),交换机的策略都是根据内部的dscp来制定的。由于默认rewrite是开

启的,所以交换机会把内部的DSCP映射到数据包本身的DSCP上发出。

如果是trust COS那么会根据入口数据帧的COS 通过COS-内部DSCP来执行策略。如果数据帧本身

不携带COS,那么使用定义的默认的COS。

如果接口是非信任状态,那么会洗掉所有的标记(二层和三层),并且默认的COS为0。可以通过命令

改变默认的COS值,数据帧进入交换机后依然会使用COS-内部DSCP的映射来处理。

如果在接口使用了mls qos cos override那么不会信任任何从这个接口进入的标记,并且所有的数据都

会使用定义的default COS来执行策略(通过COS-内部DSCP的映射,然后通过内部DSCP做策略)。如

果已经在接口开启了trust,再使用这个cos override后会变成not trust状态。此时不管进入的数据的任何

标记,都会是使用默认的COS,COS-内部DSCP的映射做策略,在发出数据时会自动的使用内部DSCP-COS

的映射,所以会给人一种修改了override就影响发出帧的COS的假象。因为默认的COS-内部DSCP和内

部DSCP-COS的映射出来的值是相等的。

对于trust的种类(COS TOS DSCP其中之一)都是会映射到一个内部的DSCP进行策略。而内部的

DSCP是否映射到出口的数据包的DSCP要看是否开启了rewrite。Rewrite是默认开启的,也就是说如果内

部DSCP有变动,那么也会映射到本身数据包的DSCP,这个映射是通过内部DSCP-DSCP的映射来完成的。

如果关闭了rewrite那么对于发出的的数据包,不管内部DSCP-DSCP映射变成了什么,都不会对数据包本

身的DSCP进行修改。

对于trust COS 即使是access接口,虽然进入接口的数据帧本身不带COS标记,但是会对这个接口定

义的COS (default COS)分配一个内部的DSCP值,交换机会根据内部的DSCP值进行策略。

SW(config-if)#do show mls qos int f0/1

FastEthernet0/1

trust state: trust cos

trust mode: trust cos

COS override: dis

default COS: 0

DSCP Mutation Map: Default DSCP Mutation Map

Trust device: none

对于access接口进入的数据帧,由于本身不携带COS字段,所以可以对不携带COS字段的帧分配一个

默认的COS,默认是0。可以通过接口命令来修改默认的cos。

SW(config-if)#mls qos cos ?

<0-7> Class of service value between 0 and 7

override Force default COS on all packets