IP QoS的流分類方法詳解

 RFC 791中把TOS位的IP Precedence劃分成了8個優先級,可以應用於流分類,數值越大表示優先級越高。

   0     1     2     3     4     5     6     7  
+-----+-----+-----+-----+-----+-----+-----+-----+
|   PRECEDENCE    |  D  |  T  |  R  |  0  |  0  |
+-----+-----+-----+-----+-----+-----+-----+-----+

            111 - Network Control
            110 - Internetwork Control
            101 - CRITIC/ECP
            100 - Flash Override
            011 - Flash
            010 - Immediate
            001 - Priority
            000 – Routine

 但是在網絡中實際部署的時候這8個優先級是遠遠不夠的,於是在RFC 2474中又對TOS進行了重新的定義。把前六位定義成DSCP,後兩位保留。

   0   1   2   3   4   5   6   7
+---+---+---+---+---+---+---+---+
|         DSCP          |  CU   |
+---+---+---+---+---+---+---+---+

DSCP: differentiated services codepoin

CU:   currently unused 

但是由於DSCP和IP PRECEDENCE是共存的於是存在了一些兼容性的問題,DSCP的可讀性比較差,比如DSCP 43我們並不知道對應着IP PRECEDENCE的什麼取值,於是就把DSCP進行了進一步的分類。DSCP總共分成了4類。

                 Class Selector(CS)           aaa 000
                 Expedited Forwarding(EF)     101 110
                 Assured Forwarding(AF)       aaa bb0
                 Default(BE)                  000 000

 1,默認的DSCP爲000 000
2,CS的DSCP後三位爲0,也就是說CS仍然沿用了IP PRECEDENCE只不過CS定義的DSCP=IP PRECEDENCE*8,比如CS6=6*8=48,CS7=7*8=56
3,EF含義爲加速轉發,也可以看作爲IP PRECEDENCE爲5,是一個比較高的優先級,取值爲101110(46),但是RFC並沒有定義爲什麼EF的取值爲46。
4,AF分爲兩部分,a部分和b部分,a部分爲3 bit仍然可以和IP PRECEDENCE對應,b部分爲2 bit表示丟棄性,可以表示3個丟棄優先級,可以應用於RED或者WRED。目前a部分由於有三個bit最大取值爲8,但是目前只用到了1~4。爲了迅速的和10進制轉換,可以用如下方法,先把10進制數值除8得到的整數就是AF值,餘數換算成二進制看前兩位就是丟棄優先級,比如34/8=4餘數爲2,2換算成二進制爲010,那麼換算以後可以知道34代表AF4丟棄優先級爲middle的數據報。

如果把CS EF AF和BE做一個排列可以發現一個有趣的現象,如下表。這個表也就是我們在現實當中應用最多的隊列。根據IP PRECEDENCE的優先級,CS7最高依次排列BE最低。一般情況下這些隊列的用途看這個表的Usage字段

 

對應的服務 IPv4優先級/ EXP / 802.1P DSCP(二進制) DSCP(十進制) TOS(十六進制) 應用
BE 0 0 0 0 Internet
AF1 Green 1 1010 10 28 Leased Line 
AF2 Green 2 10010 18 48 IPTV VOD
AF3 Green 3 11010 26 68 IPTV Broadcast
AF4 Green 4 100010 34 88 NGN/3G Singaling
EF 5 101110 46 B8 NGN/3G voice
CS6 6 110000 48 C0 Protocol
CS7 7 111000 56 E0 Protocol

 


1,CS6和CS7默認用於協議報文,比如說OSPF報文,BGP報文等應該優先保障,因爲如果這些報文無法接收的話會引起協議中斷。而且是大多數廠商硬件隊列裏最高優先級的報文。
2,EF用於承載語音的流量,因爲語音要求低延遲,低抖動,低丟包率,是僅次於協議報文的最重要的報文。
3,AF4用來承載語音的信令流量,這裏大家可能會有疑問爲什麼這裏語音要優先於信令呢?其實是這樣的,這裏的信令是電話的呼叫控制,你是可以忍受在接通的時候等待幾秒鐘的,但是絕對不能允許在通話的時候的中斷。所以語音要優先於信令。
4,AF3可以用來承載IPTV的直播流量,直播的時時性很強需要連續性和大吞吐量的保證。
5,AF4可以用來承載VOD的流量,相對於直播VOD要求時時性不是很強,允許有延遲或者緩衝。
6,AF5可以承載不是很重要的專線業務,因爲專線業務相對於IPTV和VOICE來講,IPTV和VOICE是運營商最關鍵的業務,需要最優先來保證。當然面向銀行之類需要鑽石級保證的業務來講,可以安排爲AF4甚至爲EF。
7,最不重要的業務是INTERNET業務,可以放在BE模型來傳輸。

 而在硬件隊列裏是如何保證協議報文(CS6和CS7中的數據)優先傳輸呢?在製作路由器的時候一般都是把CS6和CS7中的數據做PQ也就是絕對優先處理,無論下面是否有數據也是要優先來傳遞這兩個隊列中的數據。而其他EF到AF1的隊列中是用WFQ來做的,保證所有隊列都可以得到帶寬來傳輸

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章