from:https://blog.51cto.com/imccie/1750821
談到qos首先需要了解qos調度的幾個重要過程,qos調度過程包括網絡入口數據流量的分類和標記、骨幹網設備上的擁塞避免和擁塞管理、網路出口的隊列調度這幾個重要過程.
1、cos和tos的區別:
通過acl對流量進行分類以後,緊接著就需要對報文進行標記,打標記可以在三層(ip)報文頭上做,也可以在二層報文頭上做.
tos(type of service)就是指在三層報文頭(即ip頭)作標記,cos(code of service)則是在二層報文頭作標記,tos與cos只是qos的一種標記機制。
2、802.1p、ip preference、tos、dscp的區別:
(1)、802.1p:
當需要在二層報文頭做標記的時候,由於單純二層報文沒有地方能打標記,二層打標記只能在trunk上完成,trunk要用到802.1q或isl協議,如果使用的是802.1q協議,標記會打在802.1q協議頭的tci字段上,打了標記(優先級)後的報文,就稱為802.1p報文了。
二層報文頭:
1、cos和tos的區別:
通過acl對流量進行分類以後,緊接著就需要對報文進行標記,打標記可以在三層(ip)報文頭上做,也可以在二層報文頭上做.
tos(type of service)就是指在三層報文頭(即ip頭)作標記,cos(code of service)則是在二層報文頭作標記,tos與cos只是qos的一種標記機制。
2、802.1p、ip preference、tos、dscp的區別:
(1)、802.1p:
當需要在二層報文頭做標記的時候,由於單純二層報文沒有地方能打標記,二層打標記只能在trunk上完成,trunk要用到802.1q或isl協議,如果使用的是802.1q協議,標記會打在802.1q協議頭的tci字段上,打了標記(優先級)後的報文,就稱為802.1p報文了。
二層報文頭:
| da | sa | data | fcs | 
802.1q報文頭:
| da | sa | tpid 2byte  | tci 2byte  | pt | data | fcs | 
tci字段結構:
| tci | ||
| pri 3 bits  | cfi 1 bit  | vlan id 12 bits  | 
tpid字段標識此報文是802.1q報文,tci字段有3bit是用來標記優先級的,如果標記了優先級就稱為802.1p報文了。
(2)、ip preference和tos:
ip報文結構如下:
| version | ihl | type of service | packet length | ||
| identification | flag | frag offset | |||
| time to live | protocol | header checksum | |||
| source address | |||||
| destination address | |||||
| options | padding | ||||
ip報文頭的type of sevice字段長度為1個字節,其中高3 bit用來標記優先級,所以有0-7共8個ip preference級別。
type of service字段的中間4bit為tos子字段,最低1bit未用但必須置0。4bit的tos分別代表:最小時延、最大吞吐量、最小費用和最高可靠性。4bit中只能將其中1bit置1。如果所有4bit均為0,那麼就表示是普通服務。type of service字段結構如下:
type of service字段的中間4bit為tos子字段,最低1bit未用但必須置0。4bit的tos分別代表:最小時延、最大吞吐量、最小費用和最高可靠性。4bit中只能將其中1bit置1。如果所有4bit均為0,那麼就表示是普通服務。type of service字段結構如下:
| type of service | |||||||
| x | x | x | delay | troughput | cost | rely | 0 | 
| ip preference | tos | 長置0 | |||||
(3)、dscp:
為了更精細化的控制數據流分類,rfc2474定義了dscp(differential services code point),dscp擴展了type of service字段的高6 bit來表示報文優先級,因此,標記範圍從0-63。type of service字段結構如下:
為了更精細化的控制數據流分類,rfc2474定義了dscp(differential services code point),dscp擴展了type of service字段的高6 bit來表示報文優先級,因此,標記範圍從0-63。type of service字段結構如下:
| type of service | |||||||
| x | x | x | x | x | x | 0 | 0 | 
| ip preference | 長置0 | ||||||
dscp定義了四個系列,default、cs系列、af系列、ef系列。
①、default :
就是默認的不做優先級,即ip preference字段都是0。
①、default :
就是默認的不做優先級,即ip preference字段都是0。
| type of service | |||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 
| ip preference | 長置0 | ||||||
②、cs系列:
rfc2474定義最高3比特為級別/類別選擇代碼(class selector codepoints,cs),其意義和ipv4報頭中ip優先級的定義是相同的,cs0 ~ cs7的級別相當於ip優先級0 ~ 7。但它並沒有定義第3到第5比特的具體含義以及使用規則。dscp使用6比特,可以定義64個優先級(0-63)。cs系列ip報文中type of service字段結構如下:
 
rfc2474定義最高3比特為級別/類別選擇代碼(class selector codepoints,cs),其意義和ipv4報頭中ip優先級的定義是相同的,cs0 ~ cs7的級別相當於ip優先級0 ~ 7。但它並沒有定義第3到第5比特的具體含義以及使用規則。dscp使用6比特,可以定義64個優先級(0-63)。cs系列ip報文中type of service字段結構如下:
| type of service | |||||||
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 
| ip preference | 長置0 | ||||||
.
.
.
.
.
| type of service | |||||||
| 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 
| ip preference | 長置0 | ||||||
cs = 6網間控制(internetwork control),dscp = 48 (110000).路由協議優先級默認是cs6。
cs = 7網內控制(intranetwork control),dscp = 56 (111000)
③、af :
保證轉發(assured forwarding, af)由rfc2597對cs1~cs4進行進一步定義。它使用第3和第4比特做丟棄優先級標誌。01-低丟棄優先級;10-中丟棄優先級;11-高丟棄優先級。這樣,在同一類數據中,又根據被丟棄的可能性劃分出3個級別。af11~af13,af21~af23,af31~af33,af41~af43.下表列出了af服務等級及其對應的dscp值:
cs = 7網內控制(intranetwork control),dscp = 56 (111000)
③、af :
保證轉發(assured forwarding, af)由rfc2597對cs1~cs4進行進一步定義。它使用第3和第4比特做丟棄優先級標誌。01-低丟棄優先級;10-中丟棄優先級;11-高丟棄優先級。這樣,在同一類數據中,又根據被丟棄的可能性劃分出3個級別。af11~af13,af21~af23,af31~af33,af41~af43.下表列出了af服務等級及其對應的dscp值:
| cs1 00100  | cs2 01000  | cs3 01100  | cs4 10000  | |
| low drop 01  | af11 00101  | af21 01001  | af31 01101  | af41 10001  | 
| medium drop 10  | af12 00110  | af22 01010  | af32 01110  | af42 10010  | 
| high drop 11  | af13 00111  | af23 01011  | af33 01111  | af43 10011  | 
④、ef:
由rfc2598定義,dscp值為46 (101110)。ef服務適用於低丟包率,低延遲,低抖動及保證帶寬的業務,voip默認級別是ef。
由rfc2598定義,dscp值為46 (101110)。ef服務適用於低丟包率,低延遲,低抖動及保證帶寬的業務,voip默認級別是ef。