通信流的QoS优先级类别

简介:

QoS一直是许多读者朋友感到非常头痛的一项设备技术,也很少有书进行了比较全面、系统的介绍。笔者也是经过相当长时间的研究,才最终把这部分内容进行了消化,并在我的最新著作——《Cisco/H3C交换机高级配置与管理技术手册》一书中全面剖析。本书是目前国内唯一一本专门介绍Cisco和H3C交换机高级功能配置与管理的大型手册。目前该书已在京东网、卓越网、当当网上有售:

    京东网上的链接:http://book.360buy.com/10959197.html

    当当网上的链接:http://product.dangdang.com/product.aspx?product_id=22621538

     卓越网上的链接:http://www.amazon.cn/Cisco-H3C%E4%BA%A4%E6%8D%A2%E6%9C%BA%E9%AB%98%E7%BA%A7%E9%85%8D%E7%BD%AE%E4%B8%8E%E7%AE%A1%E7%90%86%E6%8A%80%E6%9C%AF%E6%89%8B%E5%86%8C-%E7%8E%8B%E8%BE%BE/dp/B007RSKBYS/ref=sr_1_3?s=books&ie=UTF8&qid=1333753607&sr=1-3

    本文仅就通信过程中的几种QoS优先级类型进行系统地介绍,它们是进行QoS策略配置的基础。

    在QoS的分类流程中最关键的是对各种不同包配置不同的优先级,对流入交换机的数据包按优先级排列,然后交换机就会根据这个优先级值执行相应的QoS行为。而对数据包进行优先化排列的第一步就要对数据包进行分类。

   分类规则可以使用IP报文头的ToS(Type of Service,服务类型)字段的优先级位,识别出不同优先级特征的流量;也可以由网络管理者设置流分类的策略,例如综合源地址、目的地址、MAC地址、IP协议或应用程序的端口号等信息对流进行分类。一般的分类依据都局限在封装报文的头部信息,使用报文的内容作为分类的标准是比较少见的。分类的结果是没有范围限制的,它可以是一个由五元组(源地址、源端口号、协议号、目的地址、目的端口号)确定的狭小范围,也可以是到某网段的所有报文。这个优先级信息所在的位置要区分是二层通信流还是三层通信流。

1. 三层通信流中的优先级信息

     三层IP包可以携带IP优先级值,或者DSCP (Differentiated Services Code Point,区分服务代码点)值。QoS支持使用任何一种优先级值,因为DSCP值向后兼容IP优先级值的。IP包头的ToS字段有8位,如图6-2左图所示。其中:0~2这两位表示的是IP优先级,取值范围为0~7;3~6这四位表示的是ToS优先级,取值范围为0~15;最后一位为固定的0值。

    RFC2474又重新定义了原来IP包头部的ToS字段,称之为DS字段,其中0~5这六位用来表示DSCP(Differentiated Services Code Point,差分服务代码点)优先级,取值范围为0~63,最后两位保留,如图6-2右图所示。IPv4和IPv6包中的IP优先级和DSCP优先级位在IP包的包头位置如图6-3所示。

clip_image002

图6-2 ToS字段中的IP优先级和DS字段中的DSCP优先级

clip_image004

图6-3 IP优先级和DSCP优先级位在包头中的位置

     总的来说,也就是在IPv4协议包头的ToS字段(1个字节)中定义了最高3个有效位作为IP优先级位,其取值范围为0(最低)~7(最高)。而三层的区分服务代码点(DSCP)是由IETF发布的,它是利用ToS字段中的最高的6个有效位作为DSCP的。路由包的每跳行为是由配置的DSCP值来表示,DSCP的取值范围为0~63。前面说了,DSCP优先级是向后兼容IP优先级的,IP优先级与DSCP优先级值的对应关系如表6-1所示。

表6-1 IP优先级与DSCP优先级的对应关系

image

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 Priority)中携带了CoS值。ISL和802.1Q、802.1p帧中的CoS优先级所在位置如图6-4所示。其他帧类型不能携带二层CoS值。

clip_image006

图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字段(完整表述应为“User Priority”)就是802.1p优先级,也称为CoS优先级,如图6-6所示。它由3个bit位组成,取值范围为0~7。之所以称此优先级为802.1p优先级,是因为有关这些优先级的应用是在802.1p规范中被详细定义。

clip_image007

图6-5带有802.1Q标签头的以太网帧

clip_image008

图6-6 802.1Q标签头格式

3. 本地优先级  

    除了前面所说的802.1p优先级外,交换机的二层帧还有一个本地优先级。它是交换机为报文分配的一种具有本地意义的优先级,对应queue0~queue7八个出端口队列,本地优先级值大的报文将被安排在优先级高的队列被优先处理。本地优先级只在本端口的队列调度时有效。帧在进入交换机以后,交换机会根据自身支持的情况和相应的规则为报文标记802.1p优先级(它决定了报文在队列中的优先级高低)、本地优先级(它决定了报文所在端口队列的优先级高低)等参数。

    对端口接收到的不带有802.1Q标签头的报文,交换机使用接收端口的优先级(也就是“端口优先级”,来自优先级高的端口的报文将优先处理)作为报文的802.1p优先级,然后根据802.1p优先级和本地优先级映射关系,为报文分配本地优先级进行队列调度。

     对端口接收到的带有802.1Q标签头的报文,用户可以配置优先级信任模式:信任端口优先级模式和信任报文优先级模式。当选择信任端口优先级模式时,在交换机端口接收到带有802.1Q标签头的报文时,会使用接收端口的端口优先级值替换接收到的报文的802.1p优先级值,然后根据802.1p优先级和本地优先级映射关系,为报文分配本地优先级进行队列调度;当选择信任报文优先级模式时,交换机根据报文自身携带的802.1p优先级建立802.1p优先级到本地优先级映射表,然后为报文分配本地优先级进行队列调度。 交换机提供缺省的802.1p优先级到本地优先级映射表,如表6-2所示。

6-2 802.1p优先级到本地优先级映射表

802.1p优先级(CoS)

本地优先级(local precedence)

0

2

1

0

2

1

3

3

4

4

5

5

6

6

7

7

     所有访问Internet的交换机和路由器都依赖分类信息来为具有相同分类信息的包提供相同优先级对待,为具有不同分类信息的包提供不同的优先级对待。包中的分类信息可以由转发路径中的终端主机,或者交换机,或者路由器来赋值,依据是所配置的策略,详细的包检查,或者同时依据两者。包的详细检查将会发生在网络边缘,以便核心交换机和路由器不会因为当前路径下的转发任务而超载。

    转发路径中的交换机和路由器可以使用分类信息来限制分配给每个类别通信的资源量。每个设备在处理不同区分服务架构通信的行为称之为每跳(per-hop)行为。如果整个路径中的所有设备都能提供一致的每跳行为,则你可以构成端到端(end-to-end)的QoS解决方案。

本文转自王达博客51CTO博客,原文链接http://blog.51cto.com/winda/828798如需转载请自行联系原作者


茶乡浪子

相关文章
|
存储 Java
HashMap扩容机制详解
HashMap扩容机制详解
|
安全 物联网 Linux
IoT技术-用HackRF做一个私网LTE基站
本文中涉及到国家通信安全。请不要随便尝试。如若尝试后造成任何后果与本文作者无任何关系。
2560 1
IoT技术-用HackRF做一个私网LTE基站
|
XML Web App开发 人工智能
SVG图像——为 PPT 增添视觉趣味/03/O365智能系列(二)
SVG图像——为 PPT 增添视觉趣味/03/O365智能系列(二)
2583 0
SVG图像——为 PPT 增添视觉趣味/03/O365智能系列(二)
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
DeepSeek vs. ChatGPT:大语言模型的技术分野与应用边界全解析
DeepSeek更适合中文环境下对语言理解和生成准确性要求高、专业领域内容生成需求大,以及对成本敏感、实时性要求高和硬件资源有限的场景。ChatGPT则更适合需要处理多种语言,尤其是以英文等西方语言为主,以及对创意写作、开放域对话有需求,对成本和实时性要求不高且有强大硬件支持的场景。两款模型各有侧重,用户可根据具体需求选择最适合的工具。
|
安全 Linux 网络安全
【Windows】搭建Emby媒体库服务器,实现无公网IP远程访问
【Windows】搭建Emby媒体库服务器,实现无公网IP远程访问
1903 0
|
算法
数据结构中的KMP算法及其改进算法
KMP算法通过引入部分匹配表,有效避免了重复计算,从而将字符串匹配的时间复杂度降低到O(m+n)。通过进一步优化next数组,KMP算法的效率得到了进一步提升。对于大规模字符串匹配问题,KMP算法及其改进算法提供了高效的解决方案,是计算机科学领域的经典算法之一。
974 3
|
存储 前端开发 JavaScript
前端基础(三)_JavaScript数据类型(基本数据类型、复杂数据类型)
本文详细介绍了JavaScript中的数据类型,包括基本数据类型(Number、String、Boolean、Undefined、Null)和复杂数据类型(Object),并解释了如何使用`typeof`操作符来识别变量的数据类型。同时,还讨论了对象、函数和数组等复杂数据类型的使用方式。
1026 2
|
自然语言处理 安全 项目管理
提高工作效率的关键:2024年10款最实用日程管理软件推荐
随着工作节奏加快,日程管理成为职场和个人生活中的重要部分。2024年,市场上出现了众多高效日程管理软件,既包括适合企业团队协作的强大工具,也涵盖了帮助个人优化日程的轻量级应用。本文推荐10款最受欢迎的日程管理软件,覆盖国内外多个工具,帮助用户挑选最适合自己的那一款,从而提高工作效率和生活质量。
2878 0
提高工作效率的关键:2024年10款最实用日程管理软件推荐
|
缓存 网络协议 安全
QoS
QoS
1689 5
|
机器学习/深度学习 编解码 自然语言处理
全网首发,Swin Transformer+FaceNet实现人脸识别
全网首发,Swin Transformer+FaceNet实现人脸识别
1055 3