在IP網絡中,IPv4報文中有三種承載QoS優先級標籤的方式,分別爲基於二層的CoS字段(IEEE802.1p)的優先級、基於IP層的IP優先級字段ToS優先級和基於IP層的DSCP(Differentiated Services Codepoint)字段優先級。每種優先級的定義和對應關係如下:
(1) IEEE802.1p優先級
它是位於二層帶標籤的以太網幀的CoS字段,和VLAN ID在一起使用,在字節中的位置如下:
P2 P1 P0 CU V11 V10 V9 V8
V7 V6 V5 V4 V3 v2 V2 V1
其中:
IEEE802.1p優先級:3bit(P2-P0)
未用(CU):1bit
VLAN ID:12bit(V11-V0)
IEEE802.1p優先級值有8個(0-7),0優先級最低,7優先級最高。報文分爲三種情況:帶優先級和VLAN ID的標籤報文,其優先級值是自身帶的值;只帶優先級的標籤報文,此時VLAN ID爲0,其優先級值是自身帶的值;未帶標籤的報文,一般默認的優先級值爲0,也可以進行更改指定新的優先級。
(2) IP優先級
它由IP分組報頭中的服務類型(ToS)字節中的3位組成,其在字節中的位置如下:
P2 P1 P0 T3 T2 T1 T0 CU
其中:
IP優先級:3bit(P2-P0)
服務類型(ToS):4bit(T3-T0)
未用(CU):1bit
IP優先級值有8個(0-7),0優先級最低,7優先級最高。在默認情況下,IP優先級6和7用於網絡控制通訊使用,不推薦用戶使用。ToS字段的服務類型未能在現有的IP網絡中普及使用。
IP優先級可用於流分類,將服務分爲8類,分別對應優先級0-7,如下:
111-Network Control 網絡控制
110 -Internetwork Control 網間控制
101 -Critic 關鍵
100 - FlashOverride 疾速
011 -Flash 閃速
010 -Immediate快速
001 -Priority 優先
000 -Routine 普通
優先級6和7一般保留給網絡控制數據使用,比如路由。
優先級5推薦給語音數據使用。
優先級4由視頻會議和視頻流使用。
優先級3給語音控制數據使用。
優先級1和2給數據業務使用。
優先級0爲缺省標記值。
在標記數據時,既可以使用數值,也可以使用名稱(英文名稱)。
(3) DSCP優先級
IP優先級將報文分爲8個優先級,但是在網絡中實際部署的時候這8個優先級是遠遠不夠的,於是在RFC 2474中又對TOS進行了重新的定義。將服務類型的3bit用於優先級(T3 T2 T1)。
所以DSCP優先級由IP分組報頭中的6位組成,使用的同樣是是ToS字節,但在使用DSCP後,該字節也被稱爲DSCP字節。其在字節中的位置如下:
DS5 DS4 DS3 DS2 DS1 DS0 CU CU
其中:
DSCP優先級:6bit(DS5-DS0)
未用(CU):2bit
DSCP優先級值有64個(0-63),0優先級最低,63優先級最高。
但是由於DSCP和IP PRECEDENCE是共存的於是存在了一些兼容性的問題,而且DSCP的可讀性比較差,比如DSCP 43我們並不知道對應着IP PRECEDENCE的什麼取值,於是就把DSCP進行了進一步的分類。目前定義的DSCP總共分成了4類(64個優先級並未用完):
類選擇器 Class Selector(CS) aaa 000
加速轉發 Expedited Forwarding(EF) 101 110
確保轉發 Assured Forwarding(AF) aaa bb0
盡力而爲 Default(BE) 000 000
①、默認的DSCP爲0
②、CS定義爲向後與IP優先級兼容,後三位仍然爲0,也就是說CS仍然沿用了IP PRECEDENCE只不過CS定義的DSCP=IP PRECEDENCE*8,所以CS1-7取值依次爲8,16,24,32,40,48,56
③、EF取值46(101110)
④、AF分爲兩部分,a部分和b部分:a部分爲3 bit仍然可以和IP PRECEDENCE對應;b部分爲2 bit表示丟棄性,01爲低,10爲中,11爲高(00未用),可以應用於RED或者WRED。雖然a部分有3bit,可以將AF分爲8類,但是目前只用到了1~4,即AF只有4個等級AF1-AF4,每個等級有三個丟棄優先級,取值爲[(10,12,14),(18,20,22),(26,28,30),(34,36,38)]
PS:爲了迅速 的和10進制轉換,可以用如下方法,先把10進制數值除8得到的整數就是AF值,餘數換算成二進制看前兩位就是丟棄優先級,比如34/8=4餘數爲2,2換算成二進制爲010,那麼換算以後可以知道34代表AF4丟棄優先級爲middle的數據報。
(4)IP precedence和DSCP的對應
DSCP |
IP/802.1P |
DSCP二進制 |
DSCP十進制 |
應用 |
丟包率 |
BE |
0 |
000 000 |
0[0x0a] |
Internet |
|
AF1 |
Green 1 |
001 010 |
10[0x0a] |
Leased Line |
L |
AF1 |
Green 1 |
001 100 |
12[0x0e] |
Leased Line |
M |
AF1 |
Green 1 |
001 110 |
14[0x0e] |
Leased Line |
H |
AF2 |
Green 2 |
010 010 |
18[0x12] |
IPTV VOD |
L |
AF2 |
Green 2 |
010 100 |
20[0x12] |
IPTV VOD |
M |
AF2 |
Green 2 |
010 110 |
22[0x12] |
IPTV VOD |
H |
AF3 |
Green 3 |
011 010 |
26[0x1a] |
IPTV Broadcast |
L |
AF3 |
Green 3 |
011 100 |
28[0x1a] |
IPTV Broadcast |
M |
AF3 |
Green 3 |
011 110 |
30[0x1a] |
IPTV Broadcast |
H |
AF4 |
Green 4 |
100 010 |
34[0x22] |
NGN/3G Singaling |
L |
AF4 |
Green 4 |
100 100 |
36[0x22] |
NGN/3G Singaling |
M |
AF4 |
Green 4 |
100 110 |
38[0x22] |
NGN/3G Singaling |
H |
EF |
5 |
101 110 |
46[0x2E] |
NGN/3G voice |
|
CS6(INC) |
6 |
110 000 |
48[0x2E] |
Protocol |
|
CS7(NC) |
7 |
111 000 |
56[0x2E] |
Protocol |
|
注:CS6用於網間控制(Internetwork Control),CS7用於網內控制 (Intranetwork Control),EF用於承載語音流量,AF4用於承載語音信令流量,AF3用於承載IPTV的直播流量,AF2用於承載IPTV VOD流量(相對於直播允許有延遲和緩衝),AF1承載不是很重要的專線業務,BE承載Internet業務