DiffServ四要素

对于QoS区分服务模型(DiffServ),我们可以从以下四个要素展开理解:

  1. 流分类和标记(classification & marking)
  • 基于QoS优先级流分类
  • QoS优先级映射
  • 基于报文五元组流分类
  • MQC
  1. 限速之流量监管和整形(shaping & policing)
  2. 拥塞避免(congestion avoidance)
  3. 拥塞管理之队列(Congestion management)

报文标记QoS优先级的字段

报文中用于标记QoS优先级的字段有五类:

  1. 802.1q帧的Cos字段
  • 对于VLAN帧(2层),可以根据VLAN帧头中的CoS(code of service)字段(802.1p优先级)进行流分类。
  • VLAN帧头中的PRI字段(即802.1p优先级)标识了服务质量需求,VLAN帧中的PRI字段位置如下图所示。

    在VLAN帧头中包含3比特长的PRI字段。PRI字段表示8个传输优先级,按照优先级从高到低顺序取值为7~0。
  1. MPLS的EXP字段
  • 对于MPLS报文(2.5层),则一般是根据MPLS报文中的EXP域进行流分类。
  • EXP域有3位,表示8个传输优先级,按照优先级从高到低顺序取值为7~0,通常作为MPLS报文的CoS域,与IP网络的ToS或DSCP域等效。
  1. IP Precedence优先级
  • 对于IPv4数据包(三层),可以IPv4头部中TOS(type of service)字段进行流分类,如下图所示:

IPv4头部中TOS字段中前三位,可以表示8个传输优先级,按照优先级从高到低顺序取值为7~0。

  1. DSCP(Differential Services Code Point) 区分服务代码点
  • 对于IPv4报文(三层),基于IPv4包首部中的ToS域的前6位(即DSCP域)来标记报文;
  • 使用DSCP域可将报文最多分成64类,如下图所示:
  • 比特0~2表示Precedence字段。
  • D比特表示延迟要求(Delay,0代表正常延迟,1代表低延迟)。
  • T比特表示吞吐量(Throughput,0代表正常吞吐量,1代表高吞吐量)。
  • R比特表示可靠性(Reliability,0代表正常可靠性,1代表高可靠性)。
  • C比特表示传输开销(Monetary Cost,0代表正常传输开销,1代表低传输开销)。
  • 比特6和7保留。
  1. IPv6的TC字段
  • 在IPv6报文头部中(三层),有两个字段与QoS有关,分别为流量类别TC(Traffic Class)和流标签FL(Flow Label)字段。
  • 流量类别字段有8位,和IPv4的服务类型(ToS)字段功能相同,用于对报文的业务类别进行标识;
  • 流标签字段有20位,用于标识属于同一业务流的包。
  • 流标签和源、目的地址一起惟一标识了一个业务流。同一个流中的所有包具有相同的流标签,以便对有同样QoS要求的流进行快速、相同的处理。

区分服务的PHB(Per-Hop Behavior)逐跳行为

  • 在每一个DS节点(区分服务域中的节点)上对分组的处理称为每跳行为PHB(Per-Hop Behavior)。
  • PHB描述了DS节点对具有相同DSCP的分组采用的外部可见的转发行为。
  • 协议定义了四种标准的PHB:

(1)类选择码CS(Class Selector),

  • DSCP六个比特位格式是XXX000
  • XXX最大值为8,一共有八种变化
  • CS定义的DSCP=IP Precedence×8,比如CS6=6×8=48,CS7=7×8=56。
  • CS代表的服务等级与在网络中使用的IP Precedence意义相同。

(2)加速转发EF(Expedited Forwarding),

  • DSCP六个比特位格式是101110,十进制值为46

(3)确保转发AF(Assured Forwarding),

  • DSCP六个比特位格式是XXXYY0
  • XXX最大值是8,但是目前只用到4,也就是001~100(四种变化)
  • YY最大值是3,从01~11(三种变化)
  • XXX和YY组合在一起,一共12中格式(AF11-AF13,AF21-AF23,AF31-AF33,AF41-AF43)
  • YY同时表示三种不同的丢弃概率,值越大,丢弃概率越高(01低、10中、11高)

(4)尽力而为BE(Best-Effort)。

  • DSCP六个比特位值为全0(000000)

流分类方法

流分类是对进入DiffServ域的数据帧或者数据包进行分类,以便在网络中得到相应的合适处理。

基于报文中QoS优先级字段进行分类

可以根据报文所携带的QoS优先级位(COS、EXP、IP precedence、DSCP、TC),识别出不同优先级特征的流量,实现外部优先级和内部优先级之间的映射。

  1. QoS优先级映射
  • 在报文进入设备时,将报文携带的QoS优先级统一映射到设备内部的服务等级Service Class(也叫做调度优先级PHB)和丢弃优先级(也叫颜色Color),
  • 在设备内部,根据报文的服务等级进行拥塞管理,根据报文的颜色进行拥塞避免;
  • 在报文离开设备时,需要将内部的服务等级和颜色映射为QoS优先级,以便后续网络设备能够根据QoS优先级提供相应的服务质量。
  • 将QoS优先级映射到服务等级和颜色是在报文上行方向进行,而服务等级和颜色映射为QoS优先级则是在下行方向进行。
  1. 服务等级(Service Class)
  • Service Class是指报文在设备内部的服务等级,支持8种取值,优先级从高到低依次为CS7、CS6、EF、AF4、AF3、AF2、AF1、BE。
  • Service Class决定了报文在设备内部所属的队列类型。
  • 而服务等级的高低取决于具体的队列调度算法配置:
    (1)如果8种类型的队列都配置为PQ(优先级队列)调度,则CS7>CS6>EF>AF4>AF3>AF2>AF1>BE;
    (2)如果BE配置为PQ调度,其余7种类型的队列配置为WFQ(加权公平队列)调度,则BE的优先级比其余7个都高;
    (3)如果8种类型的队列都配置成WFQ调度,则相互之间无优先级高低之分。
  1. 丢弃优先级(Color)
  • Color是指报文在设备内部的丢弃优先级,用于实现同一个队列内部,当队列发生拥塞时报文丢弃顺序。
  • Color支持3种取值,IEEE定义的优先级从低到高依次为Green、Yellow、Red(优先级越高,丢弃可能性越大)。
  • 丢弃优先级的高低具体取决于对应参数的配置,例如:配置Green最大只能使用70%缓存,Red最大可以使用100%缓存,则Green的丢弃优先级比Red高。
  1. 端口信任模式(port trust mode)
  • 当报文在DiffServ域边界被分类之后,网络的中间节点可以根据分类结果对不同类别的流量给予差别服务。
  • 如果下游接口选择使用上游节点的分类结果,则表示该节点信任上游节点的分类结果,即信任(trust)从连接上游节点的端口接收的报文所携带的QoS标记。
  • 当设备在实现QoS优先级映射时,可以选择信任端口的上行报文携带的优先级标记(包括DSCP、IP Precedence、802.1p、MPLS Exp),这种模式称为端口信任模式。
  1. 优先级映射表
  • 报文进入设备时,设备根据优先级映射表实现QoS优先级映射。
  • 在DiffServ模型中,不同DS域允许有不同的PHB映射关系,以实现不同的服务提供策略,因此设备需要允许管理员定义DS域并针对不同的DS域设定不同的优先级关系。
  • 设备除了允许管理员自定义DS域,同时系统预定义了如下两个域:
    (1)Default域:描述了缺省情况下IP报文、VLAN报文、MPLS报文的外部优先级和服务等级、颜色之间的映射关系。
    (2)5p3d域:描述了VLAN报文802.1p优先级和设备内部服务等级、颜色之间的映射关系,应用于仅支持5种服务等级(Service Class)和3种丢弃优先级的802.1ad局域网。

基于报文中五元组字段进行分类

问题背景

  • 实际网络中,报文中标记QoS优先级字段可能不会被用户标记,基于报文中标记QoS优先级对流进行分类,难以实现
  • 简单基于报文的QoS优先级字段无法对应用层的流量进行分类(比如web流量、Telnet流量,都是应用层的流量,只是端口号不同)

解决方法

可以基于报文中的五元组(源IP地址、源端口号、协议号码、目的IP地址、目的端口号)对流进行分类。

  1. 二层(链路层)流分类,以下匹配项可以任意组合:
  • VLAN外层Tag的802.1p优先级(QinQ)
  • VLAN内层Tag的802.1p优先级
  • 源MAC地址
  • 目的MAC地址
  • 二层封装的协议字段
  1. MPLS流分类,以下匹配项可以任意组合:
  • EXP优先级字段
  • Label标签字段
  • TTL跳数字段
  1. IPv4流分类,以下匹配项可以任意组合:
  • DSCP优先级字段
  • IP优先级
  • 源IPv4地址
  • 目的IPv4地址
  • IPv4报文的分片
  • TCP/UDP源端口
  • TCP/UDP目的端口
  • 协议号
  • TCP同步标志
  1. IPv6流分类,以下匹配项可以任意组合:
  • IPv6报文的DSCP优先级
  • 协议号
  • 源IPv6地址
  • 目的IPv6地址
  • TCP/UDP源端口
  • TCP/UDP目的端口
  1. ACL复杂流分类,以下匹配项可以任意组合:
  • DSCP优先级
  • IPv4/IPv6优先级
  • 源IPv4/IPv6地址
  • 目的IPv4/IPv6地址
  • IPv4报文的分片
  • TCP/UDP源端口
  • TCP/UDP目的端口
  • 协议号
  • TCP同步标志

MQC(模块化QoS命令行)

  • 基于报文的五元组对流进行分类之后,一般将这些分类的流与可实施的流动作关联,形成流策略,并且将策略应用在接口上,这种模式被称为模块化QoS命令行配置(MQC)。
  • MQC可以分为三步:
  1. 定义流量类型,对流进行分类,用if-match语句设定流分类的匹配规则。
  2. 为不同类别流量制定策略(流分类+流动作)。
  3. 将策略应用在接口下。

区分服务之分类和标记相关推荐

  1. 六、QOS实现报文分类与标记

    报文分类与标记 报文分类与标记 1.1.优先级映射是什么? 1.2.802.1P优先级 1.3.IP Precedence优先级 1.4.DSCP优先级 1.5.服务等级 1.6.服务等级规范定义 1 ...

  2. QoS的流分类与标记

    如果你因为一个人生气,那么就是说,你给了这个人过高的尊严. 文章目录 一.拓扑 二.基础配置 三.策略配置 四.观察 五.总结 5.1 三种服务模型对比 5.2 网络时延 5.3 小知识 QoS(Qu ...

  3. Qos和区分服务(DiffServ)

    Qos服务质量 网络畅通是网络建设中的基本要求,但是并非所有的网络流量都应该被转发,为了安全也是为了满足部分业务流量的优先服务要求,有一些流量需要被限制. 常用的流量控制技术有访问控制列表(ACL)和 ...

  4. 其他电子计算机配套产品及耗,F-商品和服务税收分类编码-.xls

    文档介绍: F-商品和服务税收分类编码-20171027末级编码1常用编码1计数项:序号篇篇名类名章名节名合并编码1货物纺织.服装.皮革类产品纺织产品日用织物制品1040106990000000000 ...

  5. CCRC信息安全服务资质分类及申请流程

    信息安全服务资质是市场上通行的服务资质认证的统称,目前发证量最多.应用最广.业内认可度较高的发证机构是中国网络安全审查技术与认证中心(英文缩写为:CCRC:曾用名:中国信息安全认证中心英文缩写ISCC ...

  6. 用 Python 对 Excel 表格内数据进行去重、分类,标记异常及分析

    Python与Excel表格综合实例四:对 Excel 表格内数据进行去重.分类,异常处理及分析 前言: 主要实现代码及思路: 1.主要思路: 2.读取数据函数: 3.数据去重函数: 4.数据分类函数 ...

  7. 网络协议 一 网络层( 版本、首部长度、区分服务、总长度、 标识、标志、片偏移生存时间、协议、首部校验和)

    目录 网络层 版本,首部长度,区分服务 总长度 标识.标志 [实践]ping 的几个用法.wireshark抓包 片偏移 生存时间 [实践]根据TTL追踪经过路由器 协议,首部校验和 [实践]Wire ...

  8. 网络协议从入门到底层原理(4)网络层(版本、首部长度、区分服务、总长度、 标识、标志、片偏移生存时间、协议、首部校验和)

    网络协议从入门到底层原理 网络层 网络层首部 - 版本.首部长度.区分服务 网络层首部 - 总长度 网络层首部 - 标识.标志 [实践]ping 的几个用法.wireshark抓包 网络层首部 - 片 ...

  9. 如何区分服务端和客户端?

    如何区分服务端和客户端? 说白了,谁来设置要实现什么功能,那就是服务端. 那他设置的东西谁来用,来连接,就是客户端. 对我来说最简单粗暴的理解!

最新文章

  1. Java 解惑:Comparable 和 Comparator 的区别
  2. 网络请求--Retrofit2使用方法
  3. 如何使盘ISO图像文件
  4. .NET Remoting构建分布式数据库查询
  5. wxWidgets:窗口 ID
  6. Eclipse 常用快捷键-java
  7. 跳转语句_C/C++中的goto语句
  8. [转]快速使用FileProvider解决Android7.0文件权限问题
  9. HDU5391威尔逊定理
  10. html列表远点小,HTML小知识点积累(示例代码)
  11. P,NP,NPC,NP-HARD 图片基于P!=NP
  12. 制作双色调图像(RGB 颜色模式)
  13. Android 10.0 TV板 强制app横屏显示
  14. QT之Excel表格操作
  15. EXCEL的嵌套if及时间处理
  16. 【免费】捷微微信管家公众号运营培训开课啦!
  17. C语言 一个球从100米高度下落,每次下落反弹原来高度的一半,如此反复,求第10次落地时共经历了多少米?第10次反弹多高?
  18. wr885n 虚拟服务器,TP-Link TL-WR885N V1-V3路由器桥接设置教程 | 192路由网
  19. 云计算厂商决战2020:虽分高下,但不决生死
  20. 洛谷 P1024 一元三次方程求解 (暴力 or 二分 or 盛金公式)

热门文章

  1. 11_C++多线程及线程间通信
  2. arcgis重心迁移分析_Arcgis第四章 空间分析.ppt
  3. 男子卫生巾挡车牌 路过电子眼打胜利手势扣12分
  4. 快速上手微信小程序-快递100
  5. HIVE精炼笔记总结——[建导篇]
  6. Android移除原生内置应用
  7. C# TcpClient访问ModbusTCP模拟量采集卡
  8. 磁感应强度 磁场强度
  9. 同样的游戏联运系统,原生开发跟混合开发有何区别?
  10. LabVIEW编的上位机控制汇川PLCH5U和汇川伺服运动,海康威视相机视觉对位,LabVIEW通过网口控制汇川H5U和Ethercat伺服