1、1. 三层通信流中的优先级信息 三层IP包可以携带IP优先级值,或者DSCP (Differentiated Services Code Point,区分服务代码点)值。QoS支持使用任何一种优先级值,因为DSCP值向后兼容IP优先级值的。IP包头的ToS字段有8位,如图6-2左图所示。其中:02这两位表示的是IP优先级,取值范围为07;36这四位表示的是ToS优先级,取值范围为015;最后一位为固定的0值。 RFC2474又重新定义了原来IP包头部的ToS字段,称之为DS字段,其中05这六位用来表示DSCP(Differentiated Services Code Point,差分服务代码点
2、)优先级,取值范围为063,最后两位保留,如图6-2右图所示。IPv4和IPv6包中的IP优先级和DSCP优先级位在IP包的包头位置如图6-3所示。图6-2 ToS字段中的IP优先级和DS字段中的DSCP优先级图6-3 IP优先级和DSCP优先级位在包头中的位置 总的来说,也就是在IPv4协议包头的ToS字段(1个字节)中定义了最高3个有效位作为IP优先级位,其取值范围为0(最低)7(最高)。而三层的区分服务代码点(DSCP)是由IETF发布的,它是利用ToS字段中的最高的6个有效位作为DSCP的。路由包的每跳行为是由配置的DSCP值来表示,DSCP的取值范围为063。前面说了,DSCP优先级
3、是向后兼容IP优先级的,IP优先级与DSCP优先级值的对应关系如表6-1所示。2. 二层帧的优先级 在二层帧的帧头中也有用来对通信进行分类的优先级位。如果是二层ISL(Inter-Switch Link,交换机内链路)帧,则其帧头有一个1字节的用户(User)字段,在其中的最低3个有效位中就携带了IEEE 802.1p CoS(class of service,服务分类)值。这个CoS值就是用来对通信进行分类的其取值范围为0(最低)7(最高)。如果是二层802.1Q或802.1p帧,则其帧头中有一个2个字节的Tag协议标识(TPID)字段,其中最高的3个有效位(称为“用户优先级位”User P
4、riority)中携带了CoS值。ISL和802.1Q、802.1p帧中的CoS优先级所在位置如图6-4所示。其他帧类型不能携带二层CoS值。图6-4 ISL和802.1Q、802.1p帧中的CoS优先级所在位置 802.1p优先级位于二层报文头部(如图6-4所示),适用于不需要分析三层报文头,而需要在二层环境下保证QoS的场合。4个字节的802.1Q标签头包含了2个字节的TPID(Tag Protocol Identifier,标签协议标识,取值为0x8100)和2个字节的TCI(Tag Control Information,标签控制信息),如图6-5所示。TCI部分中Priority字段
5、(完整表述应为“User Priority”)就是802.1p优先级,也称为CoS优先级,如图6-6所示。它由3个bit位组成,取值范围为07。之所以称此优先级为802.1p优先级,是因为有关这些优先级的应用是在802.1p规范中被详细定义。图6-5带有802.1Q标签头的以太网帧图6-6 802.1Q标签头格式3. 本地优先级 除了前面所说的802.1p优先级外,交换机的二层帧还有一个本地优先级。它是交换机为报文分配的一种具有本地意义的优先级,对应queue0queue7八个出端口队列,本地优先级值大的报文将被安排在优先级高的队列被优先处理。本地优先级只在本端口的队列调度时有效。帧在进入交换
6、机以后,交换机会根据自身支持的情况和相应的规则为报文标记802.1p优先级(它决定了报文在队列中的优先级高低)、本地优先级(它决定了报文所在端口队列的优先级高低)等参数。 对端口接收到的不带有802.1Q标签头的报文,交换机使用接收端口的优先级(也就是“端口优先级”,来自优先级高的端口的报文将优先处理)作为报文的802.1p优先级,然后根据802.1p优先级和本地优先级映射关系,为报文分配本地优先级进行队列调度。 对端口接收到的带有802.1Q标签头的报文,用户可以配置优先级信任模式:信任端口优先级模式和信任报文优先级模式。当选择信任端口优先级模式时,在交换机端口接收到带有802.1Q标签头的
7、报文时,会使用接收端口的端口优先级值替换接收到的报文的802.1p优先级值,然后根据802.1p优先级和本地优先级映射关系,为报文分配本地优先级进行队列调度;当选择信任报文优先级模式时,交换机根据报文自身携带的802.1p优先级建立802.1p优先级到本地优先级映射表,然后为报文分配本地优先级进行队列调度。 交换机提供缺省的802.1p优先级到本地优先级映射表,如表6-2所示。表6-2 802.1p优先级到本地优先级映射表802.1p优先级(CoS)本地优先级(local precedence)0210213344556677 所有访问Internet的交换机和路由器都依赖分类信息来为具有相同分类信息的包提供相同优先级对待,为具有不同分类信息的包提供不同的优先级对待。包中的分类信息可以由转发路径中的终端主机,或者交换机,或者路由器来赋值,依据是所配置的策略,详细的包检查,或者同时依据两者。包的详细检查将会发生在网络边缘,以便核心交换机和路由器不会因为当前路径下的转发任务而超载。 转发路径中的交换机和路由器可以使用分类信息来限制分配给每个类别通信的资源量。每个设备在处理不同区分服务架构通信的行为称之为每跳(per-hop)行为。如果整个路径中的所有设备都能提供一致的每跳行为,则你可以构成端到端(end-to-end)的QoS解决方案。