IPP与DSCP的对比
RFC 791:IP报头定义
ToS(Type of Service,服务类型)字节的1字节字段,1个字节有8个比特。
QoS工具可以利用ToS字节标记并对被标记的数据包进行特殊处理
8个字节中的3个高阶比特位=IPP字段
表1:
IPP | TOS | CU |
---|---|---|
TOS字节 | TOS字节 | TOS字节 |
3 bits | 4 bits | 1 bit |
表2:
名称 | 十进制数值 | 二进制数值 |
---|---|---|
Routine | 优先级0 | 000 |
Priority | 优先级1 | 001 |
Immediate | 优先级2 | 010 |
Flash | 优先级3 | 011 |
Flash Override | 优先级4 | 100 |
Critical | 优先级5 | 101 |
Internetwork Control | 优先级6 | 110 |
Network Control | 优先级7 | 111 |
DiffServ(差分服务)后期才出现
它取代了之前的标准,重新定义了ToS字节
它将高6位比特位定义为DSCP,取代原来的IPP
IPP和DSCP的字段对比见表1和表3
表3
DSCP | ECN |
---|---|
DS字节 | DS字节 |
6 bits | 2 bits |
DSCP相关术语
PHB(Per-Hop Behavior):
PHB: EF(Expedited Forwarding)
RFC 3246使用十进制数DSCP值 46 定义优先级为EF级(Expedited Forwarding)
二进制数值:101110
通常会使用一些设置来调控每种优先级的 通断策略,这些建议设置就成为PHB
对EF的简单操作:
- 对EF包进行排队:得到快速调度,实现低时延
- 对EF包的策略控制:规则规定EF包不能超高某个限额
PHB: CS(Class Selector)
其他的PHB,比如CS(Class Selector)
它的特点是,利用IPP和DSCP的ToS字段前三个比特相同 这个特点,实现DSCP对IPP的向后兼容。
表4
DSCP CS名称 | DSCP二进制数值 | IPP二进制数值 | IPP名称 |
---|---|---|---|
Default/CS0 | 000000 | 000 | Routine |
CS1 | 001000 | 001 | Priority |
CS2 | 010000 | 010 | Immediate |
CS3 | 011000 | 011 | Flash |
CS4 | 100000 | 100 | Flash Override |
CS5 | 101000 | 101 | Critical |
CS6 | 110000 | 110 | Internetwork Control |
CS7 | 111000 | 111 | Network Control |
CS PHB根据CS DSCP数值确定优先级
数值越大优先级越高
PHB: AF(Assured Forwarding)
该PHB设计了4个队列
每个队列中有3个丢弃级别
因此,AF PHB定义了12种DSCP数值
格式为:AFxy
规则:x范围是1-4,y范围是1-3。x越大队列优先级越高,y越大则丢弃概率越大
注意,优先级和丢包率是不一样的概念
表5
队列名称 | 低丢弃概率 | 中丢弃概率 | 高丢弃概率 |
---|---|---|---|
名称/十进制/二进制 | 名称/十进制/二进制 | 名称/十进制/二进制 | |
1 | AF11 / 10 / 001010 | AF12 / 12 / 001100 | AF13 / 14 / 001110 |
2 | AF21 / 18 / 010010 | AF22 / 20 / 010100 | AF23 / 22 / 010110 |
3 | AF31 / 26 / 011010 | AF32 / 28 / 011100 | AF33 / 30 / 011110 |
4 | AF41 / 34 / 100010 | AF42 / 36 / 100100 | AF43 / 38 / 100110 |
这里有个逻辑谬误
实际上,AF PHB的名称不遵循越大越优的逻辑规则
AF的前三个比特是队列等级,接下来的两个比特是丢弃概率,最后一位是0
因此AF的前三比特又可以用于IPP等非DiffServ节点,是一种向后兼容