【定義】
QoS指的意思是Quality of Service,表示在網路環境中,你送出的封包的品質,所謂品質越好,表示有越低的延遲,掉包和抖動現象,並且搭配更高的吞吐量和可靠性。實際上的作法就是利用封包內容的特定欄位的高低,告訴Switch/Router等如何處理封包。是先還是後,直接影響著品質。
第二層(Link Layer)封包是利用VLAN(IEEE 802.1Q) TAG裡頭的Priority(3 bits)欄位,值從0(最低)-7(最高),很簡單沒有什麼特別。重點在於第三層封包。
在第三層(IP)以上的網路環境中,靠得是一個8 bits的優先權欄位,IPv4和IPv6皆有,只是位置不同而已。這個8 bits的欄位有2種型態-ToS以及DS。最簡單來看,就是欄位值越高,代表的就是此IP封包有越高的優先權。
- Type of Service (ToS) - 定義了資料包的優先順序(Precedence),並指定同樣優先等級下,資料封包的丟棄原則(ToS)。
- Differentiated Services (DS) - 網路中的每個node,會根據封包中的欄位值,來判斷是否提高優先權,對每個同樣bit設定的包進行調整,配置不同策略。
【相關的RFC】
Type of Service最早定義在RFC-791。之後的RFC-2474則改變了這些區域的代表意義,稱作DS(Differentiated Services)。ToS的定義問題,使得支援性比較低,實際網路上都是用DS,因此在IPv6階段,ToS已經不支援了。後面還有其他RFC文件,提到再帶出。
【圖解-IPv4 Header封包示意圖】
【圖解-IPv6 Header封包示意圖】
【圖解-QoS欄位】
【欄位說明】
IP Precedence(RFC-1112) – 值越高,優先權越高
111
|
Network Control
|
110
|
Internetwork Control
|
101
|
Critic/ECP
|
100
|
Flash Override
|
011
|
Flash
|
010
|
Immediate
|
001
|
Priority
|
000
|
Routine
|
ToS(RFC-1349) – 同上,值越大,優先權越高。這些值的Or組合是沒有意義的,他們個別獨立。
1000
|
Minimize Delay
|
0100
|
Maximize Throughput
|
0010
|
Maximize Reliability
|
0001
|
Minimize Monetary Cost
|
0000
|
Normal Service(Default)
|
Differentiated Services Code Point(DSCP, RFC-2474)
細分的話還可以分為2個欄位
Class Selector(3)
|
Drop Precedence(3)
|
000 000
|
Class
0
|
Best effort
|
001
000
|
Class
1
|
Class 1
|
001 010
|
Class
1, AF11
|
|
001 100
|
Class
1, AF12
|
|
001 110
|
Class
1, AF13
|
|
010
000
|
Class
2
|
Class 2
|
010 010
|
Class
2, AF21
|
|
010 100
|
Class
2, AF22
|
|
010 110
|
Class
2, AF23
|
|
011
000
|
Class 3
|
Class 3
|
011 010
|
Class
3, AF31
|
|
011 100
|
Class
3, AF32
|
|
011 110
|
Class
3, AF33
|
|
100
000
|
Class 4
|
Class 4
|
100 010
|
Class
4, AF41
|
|
100 100
|
Class
4, AF42
|
|
100 110
|
Class
4, AF43
|
|
101
000
|
Class 5
|
Express Forwarding
|
101
110
|
Class 5,
EF
|
|
110
000
|
Class
6
|
Stays the same
|
111
000
|
Class
7
|
Stays the same
|
- Class可以想像被定義分配不同的帶寬區域,假設#1-50%, #2-20%, #3-20%, #4-10%,通常class越大,其處理優先權越大,有越大的優先排程,和ToS的IP Precedence相對應。
- AFxy-Assured Forwarding (x=class, y=drop precedence, RFC2597),被丟棄的機率AFx1<AFx2<AFx3
- Best effort-此時latency就不是考量因素
- Expedited Forwarding (RFC-3246)-具有low delay, low loss and low jitter特性,適用於voice, video and other realtime services。通常會嚴格限流,否則overload會影響其他包,典型網路EF traffic通常不大於30%。
- Class6/7通常只能在確認後才會發送,表示這個服務是保證可用的。一般用在routing traffic。
- Explicit Congestion Notification(ECN, RFC-3246, RFC-3168, 目前未使用)
0 意見:
張貼留言