DSCP的作用及IP報文的分類(即IP報文的優先級)
【轉自】https://blog.csdn.net/hannibaychty/article/details/81587222
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,就初步實現了通訊業務中的時間管理,我們日常的通訊業務才能保質保量地高效運行。