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. rds - mysql修改存储过程/函数的方式

    rds 不支持账户A 给账户B 创建授权存储过程,只能是当前登录账户给自己创建,要登陆对应账户删除原有存储过程重新创建即为修改. 例子如下: 先登陆新账号然后执行如下sql语句即可: DROP PRO ...

  2. ShareSDK For Unity集成

    Mob ShareSDK Android - V2.7.10 iOS - V3.5.0 Mob下载:https://github.com/MobClub/New-Unity-For-ShareSDK ...

  3. python生成测试报告HTMLTestRunner时报错ValueError: write to closed file的解决办法

    使用HTMLTestRunner时出现了以下问题: self.stream.write(output.encode('utf8')) ValueError: write to closed file ...

  4. Easyui Datagrid扩展fixRownumber方法 转载

    $.extend($.fn.datagrid.methods, { fixRownumber : function (jq) { return jq.each(function () { var pa ...

  5. python预课01 turtle学习

    Turtle命令: import turtle # 导入模块 t = turtle.Pen() # 生成画笔 t.speed() #设置速度0-10:0最快 t.forward() # 前进 t.ba ...

  6. python - django 设置自定义文件保存路径

    一. settings.py MEDIA_URL = "/qir/" # 设置获取文件时的访问根路径 MEDIA_ROOT = os.path.join(BASE_DIR, &qu ...

  7. python函数 | 列表生成式

    在编写程序或者查看别人的程序时,经常会遇到列表生成式,这个使用起来并不复杂,但是非常有用,使我们的代码更加简洁灵活.很多python使用者并不太会使用它.今天,就给大家详细讲解列表生成式和生成器表达式 ...

  8. HOL的多表查询——内连接、外连接

    1.内连接: 由于学生和班级是多对一的关系,班级对应学生是一对多的关系,因此,需要先对学生和班级进行配置. (1)创建Student类(多的一方): package pers.zhb.domain; ...

  9. PAT刷题 (Java语言)

    1001. A+B Format (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Calculate ...

  10. cf 1179 C

    目录 A B C A 模拟出A不是最大值的情况,存起来. 最多有n个.当A为最大值的时候,后面n-1个数开始循环. 查询分两种情况讨论就行了 #include <bits/stdc++.h> ...