簡介
本文件說明如何在思科路由器上,設定服務品質 (QoS) 組態的區別服務代碼點 (DSCP) 值。
必要條件
需求
您必須熟悉 IP 標頭和 Cisco IOS®CLI 的欄位。
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
慣例
如需檔案慣例的詳細資訊,請參閱思科技術提示慣例。
背景資訊
區分服務(DiffServ)是一種新模式,在該模式下,流量由基於服務型別(ToS)欄位的相對優先順序的中繼系統處理。RFC 2474和RFC 2475中定義的DiffServ標準取代原始規範來定義RFC 791中描述的資料包優先順序。DiffServ在重新分配IP資料包的位並將其標籤為優先順序時,會增加可定義的優先順序級別的數目。
DiffServ架構定義DiffServ(DS)欄位,取代IPv4中的ToS欄位,就封包分類和流量調節功能(例如計量、標籤、整形和管制)作出每躍點行為(PHB)決策。
RFC並不規定實作PHB的方式;這是供應商的責任。思科實施排隊技術,可根據資料包的IP報頭中的IP優先順序或DSCP值來確定其PHB。根據 DSCP 或 IP 優先順序,流量可以放到特定服務類別中。服務類別中的封包也以相同方式處理。
區別服務代碼點
DiffServ欄位的六個最高有效位稱為DSCP。DiffServ欄位中最後兩個目前未使用(CU)位元未在DiffServ欄位架構中定義;這些現在用作顯式擁塞通知(ECN)位。位於網路邊緣的路由器對資料包進行分類,並使用Diffserv網路中的IP Precedence或DSCP值標籤它們。核心中支援Diffserv的其他網路裝置使用IP報頭中的DSCP值為資料包選擇PHB行為並提供適當的QoS處理。
本節中的圖表顯示了RFC 791定義的ToS位元組與DiffServ欄位之間的比較。
ToS 位元組
P2
|
P1
|
P0
|
T2
|
T1
|
T0
|
CU1
|
CU0
|
-
IP 優先順序 — 3 位元(P2 至 P0)
-
延遲、吞吐量和可靠性-三位(T2至T0)
-
CU(當前未使用)-兩位(CU1-CU0)
DiffServ 欄位
DS5 |
DS4 |
DS3 |
DS2 |
DS1 |
DS0 |
ECN |
ECN |
-
DSCP -六位(DS5-DS0)
-
ECN -兩位
封包的 DiffServ 標準化欄位會標示一個值,以便封包在每個網路節點接收特定的轉送處理或 PHB。
預設DSCP為000 000。類選擇器DSCP是向後相容IP優先順序的值。在IP優先順序和DSCP之間進行轉換時,請匹配三個最高有效位。也就是:
IP Prec 5 (101) maps to IP DSCP 101 000
ToS 位元組
DiffServ 欄位
DiffServ 標準會對優先順序設定使用相同的優先位元(最高有效位元:DS5、DS4 和 DS3),但會進一步釐清定義,並透過使用 DSCP 中接下來的三個位元來提供更精細的粒度。DiffServ 會重新組織並重新命名優先層級(依然由 DSCP 的三個最高有效位元定義)為下列類別(本文件將進一步詳細說明相關層級):
優先層級 |
說明 |
7
|
保持不變(鏈路層和路由協定保持活動)
|
6
|
保持不變(用於IP路由協定)
|
5
|
快速轉送 (EF)
|
4
|
第4類
|
3
|
第3類
|
2
|
類別 2
|
1
|
類別 1
|
0
|
盡力
|
在此系統中,裝置會先以類別決定流量的優先順序。接著,裝置會區分和優先處理相同類別的流量,並考慮捨棄可能性。
DiffServ標準沒有指定低、中、高丟棄概率的精確定義。並非所有裝置都能識別DiffServ(DS2和DS1)設定;即使識別了這些設定,它們也不一定會在每個網路節點觸發相同的PHB轉發操作。每個節點會根據設定實作個別的回應。
保證轉發
RFC 2597定義了保證轉發(AF)PHB,並將其描述為提供商DS域為從客戶端DS域接收的IP資料包提供不同級別的轉發保證的一種方法。保證轉發PHB可保證向AF類提供一定量的頻寬,並允許訪問額外的頻寬(如果可用)。共有四種 AF 類別,從 AF1x 到 AF4x。在每個類別中,有三種捨棄可能性。根據指定網路原則,能以所需的輸送量、延遲、抖動、損耗或存取網路服務的優先順序,來為 PHB 選取封包。
1到4類稱為AF類。此表說明了指定概率的AF類的DSCP代碼。位DS5、DS4和DS3定義了類;位DS2和DS1指定丟棄概率;位DS0始終為零。
drop |
類別 1 |
類別 2 |
第3類 |
第4類 |
低
|
001010 AF11 DSCP 10
|
010010 AF21 DSCP 18
|
011010 AF31 DSCP 26
|
100010 AF41 DSCP 34
|
中
|
001100 AF12 DSCP 12
|
010100 AF 22 DSCP 20
|
011100 AF32 DSCP 28
|
100100 AF42 DSCP 36
|
高
|
001110 AF13 DSCP 14
|
010110 AF23 DSCP 22
|
011110 AF33 DSCP 30
|
100110 AF43 DSCP 38
|
加速轉發
RFC 2598定義加速轉送(EF)PHB:EF PHB可用於通過DS(Diffserv)域構建低丟失、低延遲、低抖動、保證頻寬的端到端服務。此類服務對終端而言類似於點對點連線或虛擬租用線路。此服務也稱為高級服務。對於EF PHB,建議使用Codepoint 101110,它對應於DSCP值46。
再次重申,必須設定特定廠商機制才能實作這些 PHB。有關EF PHB的詳細資訊,請參閱RFC 2598 。
使用 DSCP 欄位
您共有三種使用 DSCP 欄位的方式:
如果有流量以加權公平佇列(WFQ)、加權隨機早期偵測(WRED)或加權輪詢法(WRR)排隊,Cisco IOS軟體會考慮ToS欄位的優先位元。 設定原則路由、優先順序佇列 (PQ)、自訂佇列 (CQ) 或類別型加權公平佇列 (CBWFQ) 後,就不會考慮優先位元。如需詳細資訊,請參閱類別型加權公平佇列 (CBWFQ)。
封包分類
封包分類包含使用流量描述元來將封包分類至特定群組,並讓封包便於存取,方便 QoS 在網路中管理。使用封包分類時,可以將網路流量劃分為多個優先順序層級或服務類別(CoS)。
可在模組化QoS CLI中使用訪問清單(ACL)或match命令匹配DSCP值。Cisco IOS 軟體版本 12.1(5)T 導入了在 match 命令中選取 DSCP 值的功能。
Router1(config)#access-list 101 permit ip any any ?
dscp Match packets with given dscp value
fragments Check non-initial fragments
log Log matches against this entry
log-input Log matches against this entry, including input interface
precedence Match packets with given precedence value
time-range Specify a time-range
tos Match packets with given TOS value
使用class map命令指定ip dscp值時,可採用以下方法:
Router(config)#class-map match-all VOIP
1751-uut1(config-cmap)#match ip dscp ?
<0-63> Differentiated services codepoint value
af11 Match packets with AF11 dscp (001010)
af12 Match packets with AF12 dscp (001100)
af13 Match packets with AF13 dscp (001110)
af21 Match packets with AF21 dscp (010010)
af22 Match packets with AF22 dscp (010100)
af23 Match packets with AF23 dscp (010110)
af31 Match packets with AF31 dscp (011010)
af32 Match packets with AF32 dscp (011100)
af33 Match packets with AF33 dscp (011110)
af41 Match packets with AF41 dscp (100010)
af42 Match packets with AF42 dscp (100100)
af43 Match packets with AF43 dscp (100110)
cs1 Match packets with CS1(precedence 1) dscp (001000)
cs2 Match packets with CS2(precedence 2) dscp (010000)
cs3 Match packets with CS3(precedence 3) dscp (011000)
cs4 Match packets with CS4(precedence 4) dscp (100000)
cs5 Match packets with CS5(precedence 5) dscp (101000)
cs6 Match packets with CS6(precedence 6) dscp (110000)
cs7 Match packets with CS7(precedence 7) dscp (111000)
default Match packets with default dscp (000000)
ef Match packets with EF dscp (101110)
Router1(config-cmap)#match ip dscp af31
標籤
可以在網路邊緣將DSCP設定為所需值,以便核心裝置可以很容易地按照Packet Classificationsection中的說明對資料包進行分類,並提供適當的服務級別。Class-Based Packet Marking可用於設定DSCP值,如下所示:
policy-map pack-multimedia-5M
!--- Creates a policy map named pack-multimedia-5M.
class management
!--- Specifies the policy to be created for the !--- traffic classified by class management.
bandwidth 50
set ip dscp 8
!--- Sets the DSCP value of the packets matching !--- class management to 8.
class C1
priority 1248
set ip dscp 40
class voice-signalling
bandwidth 120
set ip dscp 24
使用承諾訪問速率或基於類的策略
承諾訪問速率和基於類的策略是流量管制機制,用於管制流量以符合商定的服務引數。這些機制和DSCP可用於提供不同等級的服務,當流量適當修改DSCP值時,這些服務不會也確實符合流量,如本節所示。
如需詳細資訊,請參閱「流量」和「比較類別型管制和認可存取速率」。 Configuring
Policing
interface Serial1/0.1 point-to-point
bandwidth 5000
ip address 192.168.126.134 255.255.255.252
rate-limit output access-group 150 8000 1500 2000 conform-action
set-dscp-transmit 10 exceed-action set-dscp-transmit 20
!--- For traffic matching access list 150, sets the DSCP value of conforming traffic !--– to 10 and that of non-conforming traffic to 20.
rate-limit output access-group 152 8000 1500 2000 conform-action
set-dscp-transmit 15 exceed-action set-dscp-transmit 25
rate-limit output access-group 154 8000 1500 2000 conform-action
set-dscp-transmit 18 exceed-action set-dscp-transmit 28
frame-relay interface-dlci 17
class shaper-multimedia-5M
與 DSCP 相容的 WRED
加權隨機早期偵測 (WRED) 會在介面開始壅塞時,選擇性捨棄低優先順序的流量。WRED 可為不同 CoS 提供差異化的效能特徵。此差異化服務可以基於DSCP,如下所示:
class C2
bandwidth 1750
random-detect dscp-based
!--- Enable dscp-based WRED as drop policy.
random-detect exponential-weighting-constant 7
!--- Specifies the exponential weight factor for the !--- average queue size calculation for the queue.
random-detect dscp 16 48 145 10
!--- Specifies the minimum and maximum queue thresholds !--- for each DSCP value.
random-detect dscp 32 145 435 10
有關詳細資訊,請參閱擁塞迴避概述的DiffServ相容WRED部分。
Cisco IOS 軟體 12.2 版本系列已知問題
偵錯工具和資訊僅供已註冊的思科用戶端存取。
您可以使用錯誤搜尋工具搜尋這些錯誤。
-
思科錯誤ID CSCdt63295 — 如果在Cisco IOS軟體版本12.2.2T中,未能在撥號對等體(設為0)上使用新的DSCP標籤命令設定ToS位元組,則無法標籤封包,且在ToS設定為0的情況下可以保留這些封包。
-
思科漏洞ID CSCdt74738 — Cisco 7200路由器和低端平台上的set ip dscp 命令支援組播資訊包,自Cisco IOS軟體版本12.2(3.6)及更高版本起必須可用。
相關資訊