IP优先级方案可以粗略地将数据分为8个等级/类别,并还可以使用紧随优先级比特之后的4比特进一步的数据分类。当出现拥塞时,优先级低的数据被优先丢弃。但是这样的分类任然有太多局限性。因此,IETF提出了一种通用的、取代IP优先级分类的方案,即用6比特取代原来3比特,称这6比特为DSCP(Differentiated Service Codepoint,差分服务代码点)。
  
   对于CoS和DSCP,只是分类的标准,可以自己设置信任哪个。而且CoS和DSCP之间有映射,只是标识了包的优先级的不同,根据包的优先级选择不同的出队列,不同出队列所占的带宽资源,拥塞时丢弃比例不同。从而实现服务质量的目标。
    QoS的实现以IETF 的DiffServ 体系为基础。DiffServ体系规定每一个传输报文将在网络中被分类到不同的类别,分类信息被包含在了IP 报文头中,DiffServ 体系使用了IP 报文头中的TOS(Type Of Service)中的前6 个比特来携带报文的分类信息。当然分类信息也可以被携带在链路层报文头上。一般地,附带在报文中的分类信息有:
1  帧头的Tag Control Information 中的前3 个比特,它包含了8 个类别的优先级信息,通常称这三个比特为为User Priority bits。
2  报文头中的TOS 字段前3 个比特,称作IP precedence value;或者携带在IP 报文头中的TOS 字段前6 个比特,称作Differentiated Services Code Point (DSCP) value。

在遵循DiffServ 体系的网络中,各交换机和路由器对包含同样分类信息的报文采取同样的传输服务策略,对包含不同分类信息的报文采取不同的传输服务策略。报文的分类信息可以被网络上的主机、交换机、路由器或者其它网络设备赋予。可以基于不同的应用策略或者基于报文内容的不同为报文赋予类别信息。识别报文的内容以便为报文赋予类别信息的做法往往需要消耗网络设备的大量处理资源,为了减少骨干网络的处理开销,一般这种赋予类别信息的方式都使用在网络边界。
    交换机或路由器根据报文所携带的类别信息,可以为各种交通流提供不同的传输优先级,或者为某种交通流预留带宽,或者适当的丢弃一些重要性较低的报文、或者采取其他一些操作等等。这些独立设备的这种行为在DiffServ 体系中被称作每跳行为(per-hop behavior)。如果网络上的所有设备提供了一致的每跳行为,那么对于DiffServ 体系来说,这个网络就可以构成end-to-end QoS solution。

下面几个段落将详细介绍本交换机所提供的以DiffServ 体系为基础的QoS 模型。

QoS入口端动作包括Classifying、Policing 和Marking。

Classifying(分类):确保将网络交通流划分成以DSCP值来标识的各个数据流。随后交换机将根据DSCP值来对各个数据流实施不同的QoS策略。有关分类的更详细介绍,请参阅Classifying章节。

Policing(整治):用于约束某个流的所占用的传输带宽,根据配置的Policer来决定流中的哪些部分超出了所限制的传输带宽,并将结果传递给下一阶段的Marking动作。有关Policing的更详细介绍,请参阅Policing章节。

Marking(标记):决定怎样处理数据流中在Policing动作中超限的部分。可能的处理动作有丢弃超限部分和用另外的DSCP值标记超限部分。有关Marking的更详细介绍,请参阅Marking章节。

QoS出口端动作包括Queueing和Scheduling: 
Queueing(列队):根据数据流的每一个报文所附带的DSCP值来确定将报文送往端口的哪个输出队列,有关Queueing的更详细介绍,请参阅Queueing章节。
Scheduling(调度):确定以什么样的方式处理被送到端口各个输出队列中的报文有关Scheduling的更详细介绍,请参阅Scheduling 章节。下面的段落将详细介绍QoS模型的各个阶段的动作。

Classifying
Classifying 即为分类,其过程是根据信任策略或者根据分析每个报文的内容来确定将这些报文归类到以DSCP 值来表示的各个数据流中,因此分类动作的核心任务是确定输入报文的DSCP 值。分类发生在端口接收输入报文阶段,当某个端口关联了一个表示QoS 策略的policy-map 后,分类就在该端口上生效,它起作用于所有从该端口输入的报文。
对于一般非IP 报文,交换机将根据以下准则来归类报文:
1. 如果报文本身不包含QoS 信息,即报文的第二层报文头中不包含User Priority bits,那么可以根据报文输入端口的缺省CoS值来获得报文的QoS信息。端口的缺省CoS值和报文的UserPriority bits 一样,取值范围为0~7。取得报文的CoS 值之后,再根据交换机上配置的CoS-to-DSCP map 来将CoS 转化为DSCP 值。
2. 如果报文本身包含QoS 信息,报文的第二层报文头中包含User Priority bits,那么可以直接从报文中获得CoS 值,然后再根据交换机上配置的CoS-to-DSCP map 来将CoS 转化为DSCP值。
   注意以上两种归类准则只有当端口的QoS 信任模式打开的时候才起作用。打开端口的QoS 的信任模式意味着不通过分析报文的内容,而直接从报文中或报文的输入端口上获得报文QoS信息,从而得到DSCP 值。
3. 如果端口关联的policy-map 中使用了基于mac access-list extended 的ACLs 归类,那么在该端口上,将通过提取报文的源MAC 地址、目的MAC 地址以及Ethertype 域来匹配关联的ACLs,以确定报文的DSCP 值。要注意的是,如果端口关联了某个policy-map,但又没有为其设置相应的DSCP 值,则交换机将按照缺省行为为符合这种归类的报文分配优先级:即根据报文第二层报文头中包含的优先级信息或端口的缺省优先级。

注意上面三种归类准则可能会同时作用于一个端口上。在这种情况下,上面三种归类准则按3、2、1 的优先级起作用。即,先根据ACLs 归类,在归类失败的情况下,才有可能选择归类准则2、1,在这个时候,如果端口的QoS 信任模式打开,则根据准则2 和1 直接从报文中或者从端口上获得QoS 信息;如果端口的QoS 信任模式关闭,那么那些归类失败的报文将被赋予DSCP 的缺省值0。

对于IP 报文,可以将根据以下准则来归类报文:
1. 直接从IP 报文的TOS 字段中提取出DSCP 值。IETF规定IP 报文的TOS 字段的前6 个比特作为DSCP 值,它的取值范围为0~63,和交换机内部使用的DSCP 值一一对应。
2. 按照非IP 报文处理,按照上面介绍的非IP 报文归类准则1、2来确定报文的DSCP 值。
   注意以上几种归类准则只有当端口的QoS 信任模式打开的时候才起作用。打开端口的QoS 的信任模式意味着不通过分析IP 报文的内容,而直接从IP 报文的TOS 字段中或报文的输入端口上获得QoS 信息,从而得到DSCP 值。
3. 如果端口关联的policy-map 中使用了基于ip access-list (extended)的ACLs 归类,那么该在该端口上,将通过提取报文的源IP 地址、目的IP 地址、Protocol字段、以及第四层TCP/UDP 端口字段来匹配相关联的ACLs,以确定报文的DSCP 值。要注意的是,如果端口关联了某个policy-map,但又没有为其设置相应的DSCP 值,则交换机将按照缺省行为为符合这种归类的报文分配优先级:即根据报文第二层报文头中包含的优先级信息或端口的缺省优先级。
    和非IP 报文归类准则一样,以上几种归类准则可以同时作用于一个端口上。在这种情况下,上面的归类准则按照3、2、1的优先级起作用。即先根据ACLs 归类,在归类失败的情况下,才有可能选择归类准则2、1;在这个时候,如果端口选择QoS 信任模式Trust IP-precedence,那么准则1 起作用;如果端口选择QoS 信任模式Trust CoS,那么准则2 起作用。
    有关上面提到的CoS-to-DSCP map、IP-precedence-to-DSCP map映射表的详细描述情常见随后描述。

Policing
    Policing 动作发生在数据流分类完成后,它用于约束被分类的数据流所占用的传输带宽。Policing动作检查被归类的数据流中的每一个报文,如果该报文超出了作用于该数据流的Policer 所允许的限制带宽,那么该报文将会被做会被作特殊处理,它或者要被丢弃,或者要被赋予另外的DSCP 值。
    在QoS 处理流程中,Policing 动作是可选的。如果没有Policing 动作,那么被分类的数据流中的报文的DSCP 值将会不作任何修改,报文也不会在送往Marking 动作之前被丢弃。

Marking
    经过Classifying 和Policing 动作处理之后,为了确保被分类报文报文对应DSCP 值的能够传递给网络上的下一跳设备,需要通过Marking 动作将为报文写入QoS 信息,可以使用Trust 方式直接保留报文中QoS 信息,例如,选择Trust Cos 从而保留802.1Q 报文头的Tag Control Information 中的CoS 信息;默认情况下,Marking 总是用报文对应的DSCP 值转化成QoS 信息,然后写入到报文CoS字段(对于非IP 报文)、DSCP字段或者IP-precedence 字段(对于IP 报文)中。

转自http://blog.sina.com.cn/s/blog_44e5d6d10100ro0h.html

Queueing
    Queueing 动作负责将数据流中报文送往端口的哪个输出队列中,送往端口的不同输出队列的报文将获得不同等级和性质的传输服务策略。
    每一个端口上都拥有8 个输出队列,通过交换机上配置的DSCP-to-CoS Map 和Cos-to-Queue Map 两张映射表来将报文的DSCP 值转化成输出队列号,以便确定报文应该被送往的输出队列。

Scheduling
    Scheduling 动作时QoS 流程的最后一个环节。当报文被送到端口的不同输出队列上之后,交换机将采用WRR 或者SP 轮转算法发送8 个队列中的报文。
    可以通过设置轮转算法的权重值来配置各个输出队列在输出报文的时候所占用的传输带宽。

DSCP(Differentiated Service Codepoint,差分服务代码点)相关推荐

  1. dscp值_差分服务代码点 (DSCP) 概述

    差分服务代码点 (DSCP) 概述 差分服务代码点 (DSCP) 概述 1)在我们媒体网关的网络管理系统EMS上,我们可以对management message IP 和Signal IP 使用不同的 ...

  2. SAP MM初阶之包含有Service item的服务采购订单

    SAP MM初阶之包含有Service item的服务采购订单 1, 执行事务代码ME21N创建了如下的服务采购订单. 该服务采购订单的item detail里Services Tab里,维护了三个s ...

  3. Windows Phone访问web service和WCF服务

    Windows phone也像传统的.net应用一样,可以方便的调用web service和WCF服务. 首先创建一个web service服务,因为.NET Framework 4的版本没有Web ...

  4. .NET Worker Service 作为 Windows 服务运行及优雅退出改进

    上一篇文章我们了解了如何为 Worker Service 添加 Serilog 日志记录,今天我接着介绍一下如何将 Worker Service 作为 Windows 服务运行. 我曾经在前面一篇文章 ...

  5. 第6章 服务模式 Service Interface(服务接口)

    Service Interface(服务接口) 上下文 您正在设计企业应用程序,并且需要能够通过网络使用其部分功能.此功能需要能够被各类系统使用,因此互操作性是设计的重要方面.除互操作性之外,可能还需 ...

  6. Service Mesh微服务熔断、限流的骚操作

    在微服务架构中,随着服务调用链路变长,为了防止出现级联雪崩,在微服务治理体系中,熔断.限流作为服务自我保护的重要机制,是确保微服务架构稳定运行的关键手段之一. 那么什么是熔断.限流?在传统Spring ...

  7. 万字长文梳理:从0开始,步入Service Mesh微服务架构的世界

    来源 | 无敌码农 责编 |贾凯强 头图 | 下载于视觉中国 新一代微服务架构--Service Mesh已经引发了诸多关注.在微服务架构盛行的今天,像Spring Cloud这样的微服务框架大家已然 ...

  8. SpringCloud发现服务代码(EurekaClient,DiscoveryClient)

    1.说明 本文介绍SpringCloud发现服务代码的开发, 通过使用EurekaClient,DiscoveryClient来发现注册中心的服务等, 从而可以自定义客户端对注册中心的高级用法. 2. ...

  9. Service(服务)之 Local Service(本地服务)

    一.Service简介 Android中服务是运行在后台的东西,级别与activity相同(同属四大组件).既然说service是运行在后台的服务,那么它就是不可见的,没有界面的东西.你可以启动一个服 ...

最新文章

  1. Lambda表达式入门,看这篇就够了!
  2. seci-log 1.11 发布 增加了ftpserver,远程ftp,sftp采集简化配置等功能
  3. BootstrapTable
  4. 【CV秋季划】图像质量提升与编辑有哪些研究和应用,如何循序渐进地学习好?...
  5. 2021-08-25路演的反馈
  6. Redis 远程字典服务及shell全部命令汇总【点击可查看高清原图】(附 xmind思维导图原文件 百度网盘)
  7. 春天猫rtsy_春天重试,因为冬天来了
  8. Visual C++ 2008入门经典 第四章数组 字符串(练习题)
  9. 使命召唤ol服务器位置,服务器架构升级 使命召唤OL跨区作战时代来临!
  10. 2011华为上机试题-Java
  11. 第十届国家级大学生创新训练项目——3D打印技术在建筑构部件生产中的应用
  12. 小程序18问,3分钟快速了解小程序
  13. 利用YOLO实现自己的目标检测
  14. Realm_King 之 XPDL(XML Process Definition Language)
  15. 第023封“情书”: 草书 Point Advection点的平流染色线
  16. 神了!用Python预测世界杯决赛,发现准确率还挺高!
  17. macd的python代码同花顺_同花顺MACD主力版指标公式
  18. 墨尔本大学 计算机科学,计算机科学墨尔本大学
  19. 数据解读 | 中国人到底有多爱吃火锅
  20. 中基鸿业家庭怎么理财

热门文章

  1. 职场:狼文化or羊文化
  2. oracle 错误代码
  3. 汽车钥匙改装成手机蓝牙无钥匙进入一键启动 ,汽车无钥匙进入为何不能集成到手机?蓝牙无钥匙进入一键启动解决方案
  4. CDR2022首发全新版本性能介绍
  5. DbContext(String)+SqlQuery一起使用
  6. 关于数据安全及保密(基于大数据板块的整理)
  7. mapStateToProps,mapDispatchToProps的使用详解
  8. apache atlas 编译包下载
  9. android开发之http协议
  10. python 如何安装numpy库?