DSCP差分服务代码点(Differentiated Services Code Point),IETF于1998年12月发布了Diff-Serv(Differentiated Service)的QoS分类标准。它在每个
数据包IP头部的服务类别TOS标识字节中,利用已使用的6比特和未使用的2比特,通过编码值来区分优先级。
简介
DSCP差分服务代码点(Differentiated Services Code Point),IETF于1998年12月发布了Diff-Serv(Differentiated Service)的QoS分类标准。它在每个
数据包IP头部的服务类别TOS标识字节中,利用已使用的6比特和未使用的2比特,通过编码值来区分优先级.
DSCP 使用6个bit,DSCP的值得范围为0~63。
DSCP 是“IP 优先”和“服务类型”字段的组合。为了利用只支持“IP 优先”的旧
路由器,会使用 DSCP 值,因为 DSCP 值与“IP 优先”字段兼容。
用通俗一点的语言解释,其实DSCP就是为了保证通信的QoS,在数据包IP头部的8个标识字节进行编码,来划分服务类别,区分服务的优先级。
每一个DSCP编码值都被映射到一个已定义的PHB(Per-Hop-Behavior)标识码。
通过键入DSCP值,电话、Windows客户和服务器等终端设备也可对流量进行标识。
功能
首先,要了解为什么使用DSCP,需要先认识一下IP的优先权。
RFC791中定义了TOS位的前三位为IP Precedence,这三位可划分八个优先级,即:IP优先级字段,可以应用于流分类,数值越大表示优先级越高。IP优先权有
八种服务可以标记,其应用类型如下:
7 预留
6 预留
5 语音
4 视频会议
3 呼叫信号
2 高优先级数据
1 中优先级数据
0 尽力服务数据
也就是说,原来的3位IP优先级字段只能划分出八种服务的优先级,这在服务种类单一,业务量少的年代,是足够使用了。但是在网络中实际部署的时候,八个优先级是远远不够用的,于是RFC 2474中又对TOS进行了新的定义,把前六位定义成了DSCP,后两位保留。
这样,DSCP值的范围就是0到63。图1为DSCP和IP优先权位示意图。
其次,介绍一下DSCP值的表达方式。
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总共分成四类:
支持设备
大部分ONU/MDU/OLT设备都会支持。
四种PHB的分类
1、Default PHB (FIFO,tail drop) DSCP值为0
2、Expedited Forwarding PHB(急速转发,提供延时的保证) 主要针对于延时 PQ
DSCP的默认为前3个bit为101,后3个bit为110
3、Assured Forwarding PHB(确保转发,提供带宽保证) 确保带宽,用于带宽保证。CBWFQ
AF1 001 dd 0 每个AF的大类中有会分为3个小类,dd中定义的类型,dd为丢弃概率,值越大丢弃率越高。三个小类为 (AF11 01 LOW,AF12 10 Medium, AF13 11 High)
4、class-selector(ip precedence) PHB 用于和老的优先级做兼容,后3个bit都为0。