IP Precedence 和 ToS(Type of Service)都位于IP头中,共占一个字节,8bits。
关于这几个字节的作用被不同的标准定义过,分别是RFC791,RFC1122,RFC1349。RFC1349废除了之前两个RFC的定义,现在大多设备都使用RFC1349中的定义,所以对于tos,有如下版本,分别说明如下;
下面是RFC1349中的原话:
在过去,对ToS领域的规模存在一些混淆。RFC791将其定义为三位字段,包括上图中的位3-5。它包括MBZ字段中的第6位。 RFC1122在ToS字段中添加了第6位和第7位,消除了MBZ字段。 本备忘录将ToS字段重新定义为上图中显示的四位。
RFC1349中定义的ToS格式如下:
Bits | Meaning |
---|---|
7-5 | IP Precedence: |
4 | 1 = Low Delay; 0 = Normal Delay |
3 | 1 = High Throughput; 0 = Normal Throughput |
2 | 1 = High Reliability; 0 = Normal Reliability |
1 | 1 = Minimise monetary cost (RFC 1349) |
0 | Must be 0 |
其中,IP Precedence:
client view | value |
---|---|
111 | Network Control |
110 | Internetwork Control |
101 | Critic/ECP |
100 | Flash Override |
011 | Flash |
010 | Immediate |
001 | Priority |
000 | Routine |
RFC791中定义的ToS格式如下:
Bits | Meaning |
---|---|
0-2 | IP Precedence |
3 | Delay (0 = Normal Delay, 1 = Low Delay) |
4 | Throughput (0 = Normal Throughput, 1 = High Throughput) |
5 | Reliability (0 = Normal Reliability, 1 = High Reliability) |
6-7 | Reserved for Future Use. |
其中,IP Precedence值同RFC1349。
“IP PRECEDENCE 为前3bits(0-2),ToS为后5bits(3-7),无保留位MBZ。”
IP报头中的“服务类型”字节分为两部分:优先级字段(前3位),以及通常称为“服务类型”或“TOS”的字段(后5位)。
DSCP差分服务代码点(Differentiated Services Code Point),IETF于1998年12月发布了Diff-Serv(Differentiated Service)的QoS分类标准。它在每个数据包IP头部的服务类别ToS标识字节中,利用已使用的6比特和未使用的2比特,通过编码值来区分优先级。
DSCP使用6比特,最后2位备用,它重新命名了IPv4报头中ToS使用的那1字节和IPv6报头中数据类(Traffic Class)那1字节,新的名字称为DS字段(Differentiated Services Field)。该字段的作用没有变,仍然被QoS工具用来标记数据。不同的是IPv4使用3比特,而DSCP使用6比特。
RFC2474定义最高3比特为级别/类别选择代码(Class Selector Codepoints,CS),其意义和IPv4报头中IP优先级的定义是相同的,CS0-CS7的级别相等于IP优先级是我0-7。但它并没有定义第3到第5比特的具体含义以及使用规则。DSCP使用6比特,可以定义64个优先级(0-63)。
PC、路由器都有标记、识别DSCP值并做相应处理的能力。在实施DiffServ的网络中,每一个转发设备都会根据报文的DSCP字段执行相应的转发行为。
主要包括以下三类转发行为:
EF(Expedited Forwarding,无阻碍转发)由RFC2598定义,DSCP值为46(101110)。EF服务适用于低丢包率,低延迟,低抖动及保证带宽的业务,这类业务一般运行一个相对稳定的速率,需要在转发设备中进行快速转发,如VOIP。
AF(Assured Forwarding,保证转发)由RFC2597对CS1~CS4进行进一步定义。采用此转发行为的业务在没有超过最大允许带宽时能够确保转发,一旦超出最大允许带宽,则将转发行为分为4类,每类又可划分为3个不同的丢弃优先级,其中每一个确保转发类都被分配了不同的带宽资源。
它使用第3和第4比特做丢弃优先级标志。01-低丢弃优先级;10-中丢弃优先级;11-高丢弃优先级。这样,在同一类数据中,又根据被丢弃的可能性划分出3档。
AF的定义为数据分类提供了方便,比如,运营商可以向用户提供4中服务协约(SLA):白金,金,银,铜,并为每一种服务的数据分配一定的带宽。当然,不同服务的收费标准也是不同的。
它是位于二层带标签的以太网帧的CoS字段,和VLAN ID在一起使用,在字节中的位置如下:
P2 | P1 | P0 | CU | V11 | V10 | V9 | V8 | V7 | V6 | V5 | V4 | V3 | v2 | V2 | V1 |
---|
其中:
IEEE802.1p优先级(P2-P0):3bit | 未用(CU):1bit | VLAN ID(V11-V0):12bit |
---|
IEEE802.1p优先级值有8个(0-7),0优先级最低,7优先级最高。
报文分为三种情况:
QoS范围太大,涉及到入口数据流的标记和分类及速率限制,网络骨干的拥塞避免和拥塞管理,网络出口的队列调度机制等等。严格的说,Cos与Tos只是QoS的一种标记机制。
Cos是二层ISL或者802.1Q数据帧的优先级标记,3个bit,范围0-7。
Tos是三层数据包的服务类型标记,也是3个bit,范围0-7,同样可当作优先级标记。另外5个实际指示Delay,Throughput,Reliability等特性的bit位一般没有使用。
现在为了更好的控制数据流分类,使用DSCP(Differential Services Code Point),扩展了Tos的后三个bit,因此,范围从0-63。
在实施QoS策略时,Cos与ToS或DSCP之间通常要做映射机制。
转载请注明出处