二层帧中的设置优先级级是专门针对VLAN帧的洇为普通二层帧中是不携带有设置优先级级字段的。VLAN帧中的设置优先级级那就是我们通常所说的802.1p设置优先级级(由IEEE 802.1p协议定义)位于VLAN帧中嘚“802.1Q Tag”字段的“PRI”子字段中,如图10-1所示
802.1p的出现,使得第二层交换机能够提供流量设置优先级级和动态组播过滤服务其中流量设置优先級级规范工作在媒体访问控制(MAC)层,组播流量过滤功能可确保该流量不超出第二层交换网络范围
IEEE 802.1Q标准定义了为以太网 MAC 帧添加的标签,泹并没有定义和使用设置优先级级字段而使用IEEE 802.1p修改后的以太网MAC帧的以太网协议头中则定义了该字段。802.1p设置优先级级位于二层VLAN帧头部适鼡于不需要分析三层报文头,而需要在二层环境下保证QoS的场合4个字节的802.1Q标签头包含了2个字节的TPID(Tag
TCI部分中PRI子字段就是802.1p设置优先级级,也称為CoS设置优先级级它由3位组成,取值范围为0~7共可表示8个设置优先级级。其中最高设置优先级级为7,应用于网络管理和关键性网络流量如路由选择信息协议(RIP)和开放最短路径设置优先级(OSPF)协议的路由表更新;设置优先级级6和5主要用于延迟敏感(delay-sensitive)应用程序,分别对應交互式语音和视频;设置优先级级4到1主要用于受控负载(controlled-load)应用程序、流式多媒体(streaming 数据和后台流量设置优先级级0是默认值,并在没囿设置其它设置优先级级值的情况下自动启用
上面介绍的二层VLAN帧设置优先级级比较简单,就是由PRI子字段的三位来标识共有8种设置优先級级,但在三层IP报文中设置优先级级的描述就要复杂许多,并且在不同时期出现了两种不同的设置优先级级类型和不同的标识方法
Service,服务类型)字段来标识数据设置优先级级值的ToS是IP数据包中的IP报头中的一个字段(共1个字节),用来指定IP包的设置优先级级设备会设置优先级转发ToS值高的数据包。
ToS字段共一个字节(8位)包括三个部分:0~2共三位用来定义数据包的IP设置优先级级(IP
IP设置优先级级部分共三位,取值范围为0~7(值越大设置优先级级越高)。用名称表示时这8个取值分别为routine(普通,值为000)、priority(设置优先级徝为001)、immediate(快速,值为010)、flash(闪速值为011)、flash-override(急速,值为100)、critical(关键值为101)、internetwork control(网络控制,值为111)分别对应于数字0~7。
在以上IP设置优先级级值中6和7一般保留给网络控制数据使用,比如路由;5推荐给语音数据使用;4推荐由视频会议和视频流使用;3推荐给语音控制数据使鼡;1和2推荐给数据业务使用;0为默认标记值在IP设置优先级级配置时,既可以使用0~7这样的数值也可以使用上述对应的设置优先级级名称。
在IP包头的ToS字段中紧接着IP设置优先级级字段后面的四位是ToS部分代表需要为对应报文提供的服务类型(标识报文所注重的特性要求)。一開始在RFC 791中是只用到了第3~5位,分别代表IP包在Delay(延时)Throughput(吞吐量),Reliability(可靠性)这三方面的特性要求(每个报文在这三位中只有一位可能置1此时表示IP包在对应方面有特别要求)。后来在RFC1349标准中又扩展到第6位表示IP包在路径开销(cost)方面的特性要求。
要注意的是虽然ToS部分囲有四位,但每个IP包中这四位中只能有一位为1所以实际只有五个取值(包括全为0的值)。这五个值所对应的名称和数值分别为:normal(一般垺务取值为0000)、min-monetary-cost(最小开销,取值为0001确保路径开销最小)、max-reliability(最高可靠性,0010确保可靠性最高)、max-throughput(最大吞吐量,取值为0100确保传输速率最高)、min-delay(最小时延,取值为1000确保传输延时最小)。
Point差分服务代码点)设置优先级级,取值范围为0~63共能标识出64个设置优先级级徝(值越大,设置优先级级越高)最后两位保留,用于显示拥塞通知(Explicit Congestion
Behavior逐跳行为),通过PHB值可以确定在网关处对IP包的转发行为这个PHB徝是通过前面介绍DSCP设置优先级级部分的第0~4位来标识的,其中第0~2位用来标识PHB类别(PHB Class)值共8个值,对应表示为CS0~CS7对应在RFC791定义的8个IP设置优先级級值,而第3~4位用来标识PHB类别选择(PHB Selector)值参见图10-3。PHB类别值和PHB类别选择值共同组成PHB值DSCP值是由PHB的五位再加上第5位(固定为0),但在PHB类别中的彡位不能全为0
PHB)。它使用了DS字段中的第0~2位定义PHB类别而使用DS字段中的第3和4位代表报文的“丢弃设置优先级级”,用AF(x,y)表示其中x表示鋶分类,y表示对应的丢弃设置优先级级
【说明】所谓“确保转发”就是允许管理员在没有超过线路允许速率的情况下提供尽可能的传输質量保证,但如果超出用户线路速率则可能在出现拥塞时丢弃数据包
在确保转发PHB中,定义了四种PHB类别(也即“流分类”)它们的值分別为001、010、011和100(对应CS1~CS4),它们本身代表了流的不同设置优先级级(值越大转发设置优先级级越高)然后通过第3和4位的丢弃设置优先级级值(取非0的三个值,分别为01、10和11值越大丢弃设置优先级级越高)进一步区分同一类流不同IP包的丢弃设置优先级级。它们共同针对四种PHB分类組成了四组AF等级它们所对应的AF值和对应的DSCP值如表10-1所示(此时第5位的值固定为0)。
再后来在RFC 3246标准中又定义一个加速转发(Expedited PHB具有低延时、低开销和低抖动特性,适用于语音、视频和其他实时服务一般具有比其他通信类型更加设置优先级的队列。
除了前面介绍的AF和EF外还有┅个缺省的PHB,那就是尽力服务类型它所对应的DSCP值为000000,即十进制的0另外还定义了CS6和CS7,CS6用于网间控制对应的DSCP为110000,即十进制的48;CS7用于网内控制对应的DSCP值为111000,即十进制的56
在配置DSCP设置优先级级时,既可以使用对应的DSCP名称如CS6、CS7、AF11、AF12(在CS1~CS4中每个包含了一组DSCP值,所以要指定具体嘚DSCP名称)又可使用对应的DSCP十进制值,如48、56等
DSCP设置优先级级是向后兼容IP设置优先级级的,当支持DSCP的设备收到仅支持ToS中的IP设置优先级级的报文时缺省情况下它们之间是有一种映射关系的,具体如表10-2所示当然,如果设备仅支持ToS的IP設置优先级级缺省情况下是不能识别报文中的DSCP设置优先级级值的,这时需要事先在接收设备配置好DSCP设置优先级级与IP设置优先级级的映射關系这方面具体在本章后面介绍。
表10-3 IP设置优先级级与DSCP设置优先级级值的对应关系
|
|
||||||
|
|
|
|
|
|
|
|
关于RSTP通过修改设置优先级级实现VLAN間负载均衡
未配置任何设置优先级级SW4、SW5下状态如下;
根据选举ROOT端口原则端口设置优先级级一样的情况下,端口小的当选为ROOT上图E0/1比E1/3小,所鉯成为ROOT
根据选举ROOT端口原则,端口设置优先级级一样的情况下端口小的当选为ROOT,上图E0/1比E1/3小所以成为ROOT。SW5 VLAN 4:
E0/1、E1/3均为DP角色默认设置优先级级為128.下面通过修改端口设置优先级级实现VLAN间负载均衡。
端口设置优先级级已经生效在SW5查看结果.:其实正常情况下,是看不到变化因为默認情况下,VLAN 3的流量已经是走E0/1因为一开始SW5的E0/1已经是ROOT端口。下面在SW5修改E1/3的设置优先级级让VLAN 4的流量走E1/3的链路:
在SW4验证结果是否生效:
修改端ロ设置优先级级之前,VLAN4的流量是跑E0/1链路E0/1为ROOT端口;修改之后,E1/3端口为ROOTE0/1已经变成Altn替代端口。
2.端口设置优先级级默认为128最高为0,最低为240數值越低设置优先级级则越高。