天天看點

qos - tycoon3

qos

我們用一張圖來引入QoS,這張圖顯示出QoS的大緻架構及邏輯。

QoS目前常用于差分服務模型中,那麼QoS到底有幾個模型呢?

①      盡力而為模型——簡單粗暴,不差別對待,誰先來就幫誰轉發。

②      綜合服務模型——利用RSVP協定(資源預留協定)預留出例如一個10M的帶寬給客戶的特殊流量單獨使用。優點是特殊流量得到區分對待,缺點是客戶不用時,10M帶寬也無法給其他流量使用,浪費帶寬。

③      差分服務模型——-也就是我們将重點講到的。

那差分服務模型如何做到既兼顧區分對待,又不浪費帶寬呢?首先從資料、語音、視訊流量進入接口,我們會對其進行一個分類和标記!分類怎麼分?标記怎麼做?标記在哪裡?交換機或者路由器是怎麼識别這份流量是資料、語音or視訊?

 封包分類和标記

分類有兩種:一為簡單流分類:利用我們在VLAN,MPLS,IP封包裡面标記的字段進行分類, 稱簡單流分類;二為複雜流分類:通過五元組:源IP,目的IP,源端口,目的端口,傳輸層協定來唯一區分一條流。

分類完當然是标記啦,标記可以标記在三個地方:

1.      VLAN tag中的PRI字段(這裡要把VLAN的格式+長度記住)

2.      MPLS中的EXP字段

3.      IP封包中的TOS字段

IP Precedence 一共3bit,是以可以定義的優先級為0-7;後續不夠用又開發了D、T、R位,名為DSCP,是以可以定義的優先級為0-63,用前3位稱IPP;用前五位稱DSCP。

現在語音、資料、視訊流量通過IP優先級或者DSCP優先級、輸入接口、IP封包的五元組等規則來對封包進行分類好、标記好了,在進交換機or路由器前,我們可以對其做一個流量管理,這部分我們先不講,後面會詳細講到哈。然後就要進入交換機or路由器的内部,内部有一個虛拟出來的隊列,高優先級的則會進入高隊列,低優先級則進入低隊列。那麼是哪個協定定義了我們标記的優先級7就比優先級0更優呢?是PHB(Per Hop Behavior)協定,一句話概括這個協定的作用:定義服務等級,也就是7>6>5>4>3>2>1>0

接下來看一張表,讓我們具體了解PHB協定。

PHB協定定義了CS、EF、AF、BE隊列。我們這樣了解,A:DSCP一共有0-63個優先級,B:IPP、MPLS、VLAN有0-7個優先級。我們來做一個劃分,把DSCP稱A,IPP、MPLS、VLAN稱B,那麼:

大家仔細觀察一下這個表格可以看出 A-B-CS之間的關系,PHB把這些優先級都納入到了CS的範圍,那麼EF、AF、BE是什麼呢?

BE是CS0中DSCP為0時一個特殊稱呼(如果标記成0,進入BE隊列,盡力轉發)

EF 則是CS4中DSCP為46時的一個特殊稱呼(如果标記成46,進入EF隊列,加速轉發。)

AF1則是CS1中DSCP為10、12、14時的特殊稱呼(如果标記成10、12、14(對應AF11,AF12,AF13)則進入AF1隊列,確定轉發。)

AF2則是CS1中DSCP為18、20、22時的特殊稱呼(如果标記成18、20、22(對應AF21、AF22、AF23)則進入AF2隊列,確定轉發。)

AF3則是CS1中DSCP為26、28、30時的特殊稱呼(如果标記成26、28、30(對應AF31、AF32、AF33)則進入AF3隊列,確定轉發。)

AF4則是CS1中DSCP為34、36、38時的特殊稱呼(如果标記成34、36、38(對應AF41、AF42、AF43)則進入AF4隊列,確定轉發。)

PS:CS7、CS6預設用于協定封包。如STP等封包 EF>AF4 3 2 1>BE

這裡注意一個點:在AF1中AF13的丢棄等級>AF12>AF11。為什麼呢?我們來補回前面DSCP的一個知識點。

AF11标記成10寫成8bit的二進制則是001010 00

AF12則是标記成12寫成8bit的二進制則是00110000

AF13則是标記成14寫成8bit的二進制則是00111000

TOS字段前3bit為IPP,然後是D、T、R位。這三位置1越多代表丢棄機率越高(D、T、R三個比特,分别表示延遲要求、吞吐量和可靠性。)故AF11比AF12、AF13重要,而AF21比AF11重要。

針對封包頭部中的資訊進行分類:

  • IP封包頭中的DSCP/IP-PRE值
  • MPLS封包頭中的EXP的EXP域值
  • VLAN頭封包中的802.1P值

對封包進行粗略的分類,識别出具有不同優先級或服務等級特征的流量,簡單流分類的好處是直接檢視前面的報頭,而無需關心更高層的辨別。

注:部署在DS域中的網絡裝置使用,對已經打标的資料流直接依據封包頭部進行分類,前提為接入層裝置已将原始流量進行封包頭部的打标

華為裝置支援配置8個DS域:

  • 上行簡單流分類:根據IP DSCP、MPLS EXP或802.1P将封包分為8種業務類型(CS7、CS6、EF、AF1-AF4、BE)、三種顔色(Green、Yellow、Red),進而區分不同的業務(如語音、視訊、資料等)。在擁塞管理、隊列排程時,不同業務進入不同的隊列,得到差異化的排程。例如語音可以進入高優先級的PQ隊列,保證低延時。上行若不做簡單流分類,封包業務類型都為BE
  • 下行簡單流分類:根據内部業務類型(CS7、CS6、EF、AF1-AF4、BE)、三種顔色(Green、Yellow、Red),重新設定封包的IP DSCP、MPLS EXP或802.1P,實作了重标記的功能,重新标記IP DSCP、MPLS EXP或802.1P。下行未配置簡單流分類時,IP DSCP、MPLS EXP或802.1P不做改變

簡單流分類配置:

qos - tycoon3

2. 流量标記:

每種不同類型的資料包都會預留出位元組為QOS做标記:

① IPV4—DSCP

② MPLS—EXP

③ 802.1Q—User Priority

④ FR—DE

(1)IPV4—TOS:

qos - tycoon3

傳統IPv4資料包中,在IP報頭會有1Byte用作QOS辨別,主要分為兩種類型:

① IP Precedence

② DSCP

① IP Precedence:

早期由RFC1349定義,在TOS字段中,隻使用高3bit(5、6、7),稱為IP Precedence辨別,可以辨別2^3=8(0-7)種類别。

② DSCP:

DiffServ Code Point,區分服務代碼點,由RFC2474定義,在TOS中,使用DSCP辨別優先級,為6bit,預設可以辨別2^6=64(0-63)種類别。

qos - tycoon3

注:華為路由器預設信任DSCP值

(2)MPLS—EXP:

标簽中用EXP辨別優先級 ,3bit,可以辨別2^3=8(0-7)種類别,與802.1Q相容 。

qos - tycoon3

(3)802.1Q—802.1P:

8021Q使用802.1P(User Priority)辨別優先級 ,3bit,可以辨別2^3=8(0-7)種類别

qos - tycoon3

注:華為交換機預設信任802.1P

(4)FR—DE:

幀中繼網絡使用DE位做QOS,如果幀中繼網絡出現擁塞,會将DE置位,置為1的時候會被丢棄。

表示對特定的資料流打入特定的數值,比如一個特定的資料流中DSCP打入數值辨別。

(5)标記映射:

由于每種網絡類型資料的辨別數值不同,如果想要實作一種資料類型在另外一種網絡環境的

QOS處理,此時可以配置映射表,将一種類型的标記映射成另一種類型的标記,當裝置收到

資料包時,會根據标記檢視映射表在響應的網絡類型中打入對應的标記。

qos - tycoon3

公網上的路由器我相信90%以上都是支援DSCP的,但是你設定了ip header也沒有用。因為:

1. 營運商的邊界路由器會對你的資料包進行重新tagging,你設定了DSCP也會被重寫為0

2. 如果是普通的Internet線路的話,不會提供QoS功能的,都是FIFO(First In First Out)

你花錢了,營運商信任你的配置,保持原樣,這樣一旦你的流量進入營運商網絡,對EF流量進入低延遲(LLQ)隊列,營運商從接入網、彙聚網、核心網路由器都有低延遲隊列在靜靜等待着EF流量的到來,提供VIP服務。

如果你沒有花錢,即使你的多媒體流量被設定為EF,進入營運商會被鄙視,被改寫為BE (Best Effort),被貶為普通流量,乖乖排隊。

如果你花錢了,但是你隻買了2Mbps EF流量,可是你卻發送3Mbps EF流量,對不起,其中1M的流量将被貶為BE流量。

DSCP為Cisco開發并标準化,将3 bit 的TOS (Type Of Service),擴充到6 bit 成為DSCP ,其對應關系為

IP Precedence 5 : EF

IP Precedence 4: AF4

IP Precedence 3: AF3

IP Precedence 2: AF2

IP Precedence 1: AF1

IP Precedence 0: BE

即使有的路由器不支援6 bit DSCP,依然可以識别出3 bit 的IP Precedence,并提供差異化服務。

qos - tycoon3