DSCP差分服务代码点(Differentiated Services Code Point)。它在每个数据包IP头部的服务类别TOS标识字节中,利用已使用的6比特和未使用的2比特,通过编码值来区分优先级。

IP的优先权:

RFC791中定义了TOS位的前三位为IP Precedence,这三位可划分八个优先级,即:IP优先级字段,可以应用于流分类,数值越大表示优先级越高。IP优先权有八种服务可以标记,其应用类型如下:

7 预留    6 预留    5 语音   4 视频会议   3 呼叫信号    2 高优先级数据   1 中优先级数据    0 尽力服务数据

也就是说,原来的3位IP优先级字段只能划分出八种服务的优先级,这在服务种类单一,业务量少的年代,是足够使用了。但是在网络中实际部署的时候,八个优先级是远远不够用的,于是RFC 2474中又对TOS进行了新的定义,把前六位定义成了DSCP,后两位保留。这样,DSCP值的范围就是0到63。

DSCP值有两种表达方式,数字形式和关键字形式。

一种表达方式是数字形式。DSCP使用6比特,十进制区间是0~63,可以定义64个等级(优先级。)如二进制DSCP值000000=十进制DSCP值0,二进制DSCP值010010=十进制DSCP值18。

另一种关键字形式的DSCP值称为逐跳行为(PHB),目前有三类已定义的PHB,分别是尽力服务(BE或DSCP 0)、确保转发(AFxy)和加速转发(EF)。由于DSCP和IP Precedence是共存的,于是存在兼容性的问题,DSCP可读性较差,比如DSCP 43我们一眼看去并不知道对应着IP Precedence的什么取值,于是把DSCP进行进一步分类, DSCP总共分成四类:

类选择器Class Selector(CS)aaa 000

加速转发Expedited Forwarding(EF) 101 110

确保转发Assured Forwarding(AF) aaa bb0

默认Default(BE) 000 000

CS6和CS7默认用于协议报文。因为如果这些报文无法接收的话会引起协议中断。而且是大多数厂商硬件队列里最高优先级的报文。

EF用于承载语音的流量,因为语音要求低延迟,低抖动,低丢包率,是仅次于协议报文的最重要的报文。

AF4用来承载语音的信令流量,这里大家可能会有疑问为什么这里语音要优先于信令呢? 其实是这样的,这里的信令是电话的呼叫控制,你是可以忍受在接通的时候等待几秒钟的,但是绝对不能允许在通话的时候的中断。所以语音要优先于信令。

AF3可以用来承载IPTV的直播流量,直播的实时性很强需要连续性和大吞吐量的保证。

AF2可以用来承载VOD的流量,相对于直播VOD要求实时性不是很强,允许有时延或者缓冲。

AF1可以承载不是很重要的专线业务,因为专线业务相对于IPTV和VOICE来讲,IPTV和VOICE是运营商最关键的业务,需要最优先来保证。当然面向银行之类需要钻石级保证的业务来讲,可以安排为AF4甚至为EF。

最不重要的业务是Internet业务,可以放在BE模型来传输。这也是我们为什么老抱怨网络不好。

可以说,有了DSCP,就初步实现了通讯业务中的时间管理,我们日常的通讯业务才能保质保量地高效运行

位置信息:

以太网交换机可为特定报文提供优先级标记的服务,优先级的种类包括Precedence,TOS、DSCP、802.1p prioriy等,这些优先级分别适用于不同的QoS 模型,在不同的模型中被定义。Precedence、TOS和DSCP优先级是定义在三层IP头中的TOS字段;802.1p用户优先级定义在二层802.1Q 标签头中的TCI字段中。

IP header 有一个8-bit的TOS(服务类型)优先级区域,它通常被分为precedence部分(IP优先级)和TOS部分,最后一位作保留;它的具体定义如下:

由于对区分服务类型的多样化的要求,在之后的RFC文档中对这个区域进行了重新的分配,命名为DSCP:也就是IP包头的区分服务标记域。DSCP优先级是把整个8位的前6位重新定义了一下,称为DSCP优先级;

数据帧里有4个字节的802。1q标签头,包含2字节的标签和2字节的控制信息,在控制信息(vlan tag的TCI区域)的前3位,就定义为802.1p优先级。它指明帧的优先级。一共有8 种优先级,主要用于当交换机阻塞时,优先发送优先级高的数据包。

DSCP 标的更多相关文章

  1. arcgis api for js入门开发系列五地图态势标绘(含源代码)

    上一篇实现了demo的地图查询功能,本篇新增地图态势标绘模块,截图如下: 本篇核心的在于调用API的Draw工具:https://developers.arcgis.com/javascript/3/ ...

  2. Entity Framework 6 Recipes 2nd Edition(10-3)译 -> 返回结果是一个标量值

    10-3. 返回结果是一个标量值 问题 想取得存储过程返回的一个标量值. 解决方案 假设我们有如Figure 10-2所示的ATM机和ATM机取款记录的模型 Figure 10-2. 一个ATM机和A ...

  3. Entity Framework 6 Recipes 2nd Edition(11-1)译 -> 从“模型定义”函数返回一个标量值

    第11章函数 函数提供了一个有力代码复用机制, 并且让你的代码保持简洁和易懂. 它们同样也是EF运行时能利用的数据库层代码.函数有几类: Rowset Functions, 聚合函数, Ranking ...

  4. 如何找出标有"App Store 精华","Essentials"的所有软件?

    如何找出标有"App Store 精华","Essentials"的所有软件? 中国区: +"App Store 精华" site:http ...

  5. 三行代码接入,社交软件打字时底下弹出的表情布局,自定义ViewPager+页面点标+各种功能的android小框架。

    (转载请声明出处:http://www.cnblogs.com/linguanh/) 前言: 接上次分享的 ListView 动态加载类,入口:http://www.cnblogs.com/lingu ...

  6. 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(十)态势标绘模块

    config.xml文件的配置如下: <widget label="态势标绘" icon="assets/images/impact_area_over.png&q ...

  7. 【已解决】关于SQL2008 “不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了‘阻止保存要求重新创建表的更改’” 解决方案

    近日在使用SQL Server 2008的过程中,修改已创建完成的表结构时,却一直提示弹出如下提示: 不允许保存更改.您所做的更改要求删除并重新创建以下表.您对无法重新创建的标进行了更改或者启用了“阻 ...

  8. NLP情感分析监督学习样本打标

    1). 情感打标 a). 全句 单句 标签 好吃是好吃 pos 真材实料 pos 不过感觉一人份的量就有点小贵 neg 点的是肥牛米线 neu b). 全文本 文本 标签 分量足,味道不错,味道也不错 ...

  9. 【处理手记】U盘读不出+卷标丢失+像读卡器+大小0+无媒体

    Update:201307180945 今天这鸟问题又找上我了,照之前的方法做后没解决,我又做了些尝试,整个流程如下: 1.插上U盘,发现问题 2.以devmgr_show_nonpresent_de ...

随机推荐

  1. Httpd服务进阶知识-基于Apache Modele的LAMP架构之Discuz!案例

    Httpd服务进阶知识-基于Apache Modele的LAMP架构之Discuz!论坛案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装依赖包及数据库  博主推荐阅读: ...

  2. (一)MongoDB安装

    (一)MongoDB安装 mongodb 2018年03月06日 15时53分29秒 安装准备 启动mongodb 1.命令行参数启动 2.从配置文件启动 使用服务启动mongodb 参数解释 用户授 ...

  3. AWS 存储过程

    DELIMITER $$ USE `mysql`$$ DROP PROCEDURE IF EXISTS `rds_rotate_slow_log`$$ CREATE DEFINER=`rdsadmin ...

  4. mysql分析sql语句基础工具 -- explain

    分析sql语句 explain explain (sql语句) G; 分析结果: id sql语句编号如果是连接查询,表之间是平等关系,编号相同:如果有子查询,编号递增. select——type 查 ...

  5. DFS 算法模板

    dfs算法模板: 1.下一层是多节点的dfs遍历 def dfs(array or root, cur_layer, path, result): if cur_layer == len(array) ...

  6. JS实现俄罗斯方块

    在80后.90后的儿时记忆里,俄罗斯方块是必备的消遣小游戏,它的玩法非常简单基本大家都懂,但如何用编程语言开发一款儿时同款「俄罗斯方块」,恐怕知道的同学就很少啦. 位置掩码和旋转掩码 俄罗斯方块游戏中 ...

  7. Linux 定时重启 Tomcat、重启Keepalived

    1.在 tomcat 目录新建一个.sh 文件: vi restartTomcat.sh 2.输入内容: #!/bin/bash# author: Linnuo # date: -- # Filena ...

  8. Openwrt build env setup(9)

    reference : https://openwrt.org/docs/guide-developer/quickstart-build-images Install dependence pack ...

  9. 可以使用WinDbg将PE映像作为转储文件打开

    WinDbg.ntsd.cdb.kd和其他任何使用DbgEng打开转储文件的工具都有一个鲜为人知的特性.事实证明,使用DbgEng提供的任何功能,在任何可以打开转储文件(用户转储.内核转储等)的地方, ...

  10. yugabyte cdc 试用

    目前yugabyte 的cdc 功能处于beta 阶段,应该也快实际可用了,以下是一个简单的试用 环境准备 使用docker-compose docker-compose 文件 version: '2 ...