目錄

簡介

必要條件

需求

採用元件

慣例

背景資訊

輸出佇列捨棄

Catalyst 6500/6000上輸出排程所涉及的排隊型別

尾部丟棄

隨機早期檢測和加權隨機早期檢測

加權循環配置資源

嚴格優先順序隊列

Catalyst 6000上不同線卡的輸出排隊功能

show port命令功能

瞭解埠的排隊功能

在Catalyst 6500/6000上建立QoS

Catalyst 6500/6000上的輸出排程機制

Catalyst 6500/6000上的配置、監控和輸出排程

Catalyst 6500/6000上QoS的預設配置

組態

監控輸出計畫並驗證配置

使用輸出排程減少延遲和抖動

減少延遲

減少抖動

相關資訊

簡介

輸出排程確保重要流量在嚴重超訂用時不會被丟棄。本文討論執行Catalyst OS(CatOS)系統軟體的Cisco Catalyst 6500/6000系列交換器上的輸出排程中所涉及的所有技巧和演演算法。本文還提供了Catalyst 6500/6000交換機的排隊功能以及如何配置輸出排程的不同引數的簡要概述。

註：如果在Catalyst 6500/6000上運行Cisco IOS®軟體，請參閱運行Cisco IOS系統軟體的Catalyst 6500/6000系列交換機上的QoS輸出排程，瞭解詳細資訊。

必要條件

需求

本文件沒有特定需求。

採用元件

本檔案中的範例是根據搭載Supervisor引擎1A和原則功能卡(PFC)的Catalyst 6000建立的。 但是這些範例對搭載PFC2的Supervisor引擎2或搭載PFC3的Supervisor引擎720同樣有效。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路正在作用，請確保您已瞭解任何指令可能造成的影響。

慣例

如需文件慣例的詳細資訊，請參閱思科技術提示慣例。

背景資訊

輸出佇列捨棄

輸出丟棄是由介面擁塞引起的。此問題的一個常見原因可能是來自高頻寬鏈路且正在切換到低頻寬鏈路的流量，或者來自多個入站鏈路且正在切換到單個出站鏈路的流量。

例如，如果大量突發流量進入千兆介面並切換到100 Mbps介面，則可能導致在100 Mbps介面上輸出丟棄增加。這是因為由於傳入和傳出頻寬之間的速度不匹配，該介面上的輸出隊列被超額流量壓倒。傳出介面的流量速率無法接受所有應傳出的封包。

解決此問題的最終解決方案是提高線路速度。但是，如果您不想增加線路速度，則有方法可以防止、減少或控制輸出下降。僅當輸出丟棄是短時間突發資料造成的結果時，才能防止輸出丟棄。如果輸出丟棄是由恆定高速流引起的，則無法阻止丟棄。但是，您可以控制它們。

Catalyst 6500/6000上輸出排程所涉及的排隊型別

尾部丟棄

尾部丟棄是一種基本的擁塞迴避機制。當隊列在擁塞期間開始填滿時，尾部丟棄對所有流量進行同等處理，不會區分服務類別(CoS)。當輸出隊列已滿而尾部丟棄生效時，資料包將被丟棄，直到擁塞消除且隊列不再已滿。尾部丟棄是最基本的擁塞迴避型別，不考慮任何QoS引數。

Catalyst 6000已實施高級版本的尾部丟棄擁塞規避，當達到一定百分比的緩衝區填充時，會丟棄具有特定CoS的所有資料包。使用加權尾部丟棄，可以定義一組閾值並將CoS與每個閾值相關聯。在本節的示例中，有四個可能的閾值。每個閾值的定義如下：

- 當緩衝區的50%已填充時，達到閾值1。CoS 0和1分配給此閾值。

- 當緩衝區的60%已填充時，達到閾值2。CoS 2和3被分配給此閾值。

- 當緩衝區的80%已填充時，達到閾值3。CoS 4和5被分配給此閾值。

- 100%的緩衝區已滿時，達到閾值4。CoS 6和7被分配給此閾值。

在圖1的圖表中，如果緩衝區已填滿50%，則CoS為0或1的所有封包都會遭捨棄。如果CoS為0、1、2或3的緩衝區已滿60%，則會丟棄所有資料包。CoS為6或7的封包會在緩衝區完全填充後遭捨棄。

圖1

注意：一旦緩衝區填充下降到某個閾值以下，具有相關CoS的資料包就不再被丟棄。

隨機早期檢測和加權隨機早期檢測

加權隨機早期偵測(WRED)是一種擁塞迴避機制，當緩衝區達到定義的填充閾值時，會隨機捨棄具有特定IP優先順序的封包。WRED是以下兩個功能的組合：

- 尾部丟棄

- 隨機早期偵測(RED)

RED不是優先順序感知或CoS感知。當緩衝區的閾值填充時，RED使用單個閾值之一。RED開始隨機丟棄資料包（但並非所有資料包，如尾部丟棄），直到達到最大（最大）閾值。達到最大閾值後，所有封包都會遭捨棄。資料包被丟棄的概率隨緩衝區填充量超過閾值的增加而線性增加。圖2中的圖顯示了資料包丟棄概率：

圖2 — 資料包丟棄概率

註：此圖中的標籤概率在RED中可調，這意味著線性丟棄概率的斜率是可調的。

RED和WRED對於基於TCP的流量是非常有用的擁塞迴避機制。對於其他型別的流量，RED不是非常有效。這是因為RED利用TCP用來管理擁塞的視窗機制。RED可避免多個TCP作業階段通過同一個路由器連線埠時，路由器上會發生典型的擁塞。這種機制稱為全域性網路同步。圖3中的圖表顯示了RED對負載的平滑效果：

圖3 — 用於避免擁塞的紅色

如需更多有關RED如何減輕擁塞並順利通過路由器的流量的資訊，請參閱擁塞迴避概觀檔案的路由器如何與TCP互動一節。

WRED與RED類似，二者都定義一些最小（最小）閾值，當達到這些最小閾值時，資料包會被隨機丟棄。WRED還定義某些最大閾值，當達到這些最大閾值時，所有資料包都會被丟棄。WRED也是CoS感知，這意味著將一個或多個的CoS值新增到每個最小閾值/最大閾值對。當超出最小閾值時，資料包隨分配的CoS隨機丟棄。請考慮以下示例，在隊列中有兩個閾值：

- CoS 0和1分配給最小閾值1和最大閾值1。最小閾值1設定為緩衝區填充的50%，最大閾值1設定為80%。

- CoS 2和3被分配給最小閾值2和最大閾值2。最小閾值2被設定為緩衝器填充的70%，最大閾值2被設定為100%。

一旦緩衝區超過最小閾值1(50%)，就會開始隨機丟棄CoS 0和1的資料包。隨著緩衝區利用率的增加，丟棄更多資料包。如果達到最小閾值2(70%)，則具有CoS 2和3的資料包開始被隨機丟棄。

注意：在此階段，CoS 0和1資料包的丟棄概率遠高於CoS 2或CoS 3資料包的丟棄概率。

每當達到最大閾值2時，CoS 0和1的資料包都會被丟棄，而CoS 2和3的資料包會繼續被隨機丟棄。最後，當達到100%（最大閾值2）時，會丟棄CoS 2和3的所有資料包。

圖4和圖5中的圖顯示了這些閾值的示例：

圖4 - WRED具有兩組最小閾值和最大閾值（兩種服務）

圖5 - WRED帶有兩組服務，但兩個最小閾值均等於0

WRED早期的CatOS實現只設定了最大閾值，而最小閾值則硬編碼為0%。圖5中圖表的底部顯示了所產生的行為。

注意：資料包的丟棄概率始終為非null，因為該概率始終高於最小閾值。此行為已在軟體版本6.2及更高版本中更正。

加權循環配置資源

加權輪詢(WRR)是Catalyst 6000上的另一種輸出排程機制。WRR在兩個或多個隊列之間工作。WRR的隊列以循環方式清空，您可以為每個隊列配置權重。預設情況下，Catalyst 6000上的埠有兩個WRR隊列。預設值為：

- 為高優先順序WRR隊列提供70%的時間

- 為低優先順序WRR隊列提供30%的時間

圖6中的圖表顯示了一個WRR，該WRR具有三個以WRR方式服務的隊列。高優先順序隊列（紅色資料包）傳送的資料包多於另外兩個隊列：

圖6 — 輸出排程：WRR

注意：大多數6500線卡確實為每個頻寬實施WRR。這種按頻寬實現的WRR意味著每當排程程式允許隊列傳輸資料包時，都允許傳輸一定數量的位元組。此位元組數可以表示多個資料包。例如，如果一次傳送5120位元組，則可傳送三個1518位元組封包，總共有4554位元組。超出的位元組會丟失（5120 - 4554 = 566位元組）。 因此，使用某些極端權重（例如隊列1為1%，隊列2為99%）時，可能無法達到確切的配置權重。無法達到準確權重通常是較大資料包的情況。

某些新一代線卡（例如6548-RJ-45）通過實施差額加權循環配置來克服這一限制。DWRR從隊列中傳輸，但不會使低優先順序隊列缺血。DWRR會跟蹤正在傳輸的低優先順序隊列，並在下一輪中進行補償。

嚴格優先順序隊列

Catalyst 6000中的另一種佇列型別（嚴格的優先順序佇列）一律首先清空。只要嚴格優先順序隊列中有封包，就會傳送封包。

只有在清空嚴格優先順序隊列之後，才會檢查WRR或WRED隊列。從WRR隊列或WRED隊列傳輸每個資料包後，會檢查嚴格優先順序隊列，並在必要時清空。

注意：隊列型別類似於1p2q1t、1p3q8t和1p7q8t的所有線卡均使用DWRR。其它線卡使用標準WRR。

Catalyst 6000上不同線卡的輸出排隊功能

show port命令功能

如果您不確定埠的排隊功能，可以發出show port capabilities命令。以下是WS-X6408-GBIC線卡上命令的輸出：

Model                  WS-X6408-GBIC

Port                   4/1

Type                   No GBIC

Speed                  1000

Duplex                 full

Trunk encap type       802.1Q,ISL

Trunk mode             on,off,desirable,auto,nonegotiate

Channe                 yes

Broadcast suppression  percentage(0-100)

Flow control           receive-(off,on,desired),send-(off,on,desired)

Security               yes

MembershIP             static,dynamic

Fast start             yes

QOS scheduling         rx-(1q4t),tx-(2q2t)

CoS rewrite            yes

ToS rewrite            DSCP

UDLD                   yes

SPAN                   source,destination

COPS port group        none

此埠具有稱為2q2t的隊列輸出型別。

瞭解埠的排隊功能

Catalyst 6500/6000交換器上提供多種型別的佇列。隨著新線卡的發佈，本節中的表格可能會變得不完整。新的線卡可以引入新的排隊組合。有關Catalyst 6500/6000交換器模組可用的所有佇列的目前說明，請參閱Catalyst 6500系列軟體檔案的CatOS版本的設定QoS一節。

註：Cisco Communication Media Module(CMM)不支援所有QoS功能。檢視特定軟體版本的版本說明，以確定支援的功能。

下表說明連線埠QoS架構的表示法：

Tx^1/Rx^2 ide

隊列表示法

隊列數

優先順序隊列

WRR隊列數

WRR隊列的閾值數量和型別

Tx

2q2t

2

—

2

2個可配置的尾部丟棄

Tx

1p2q2t

3

1

2

2個可配置的WRED

Tx

1p3q1t

4

1

3

1個可配置的WRED

Tx

1p2q1t

3

1

2

1個可配置的WRED

Rx

1q4t

1

—

1

4個可配置的尾部丟棄

Rx

1p1q4t

2

1

1

4個可配置的尾部丟棄

Rx

1p1q0t

2

1

1

不可配置

Rx

1p1q8t

2

1

1

8個可配置的WRED

1 Tx =傳輸。

2 Rx =接收。

下表列出介面或連線埠的Rx和Tx端的所有模組和佇列型別：

模組

Rx隊列

Tx隊列

WS-X6K-S2-PFC2

1p1q4t

1p2q2t

WS-X6K-SUP1A-2GE

1p1q4t

1p2q2t

WS-X6K-SUP1-2GE

1q4t

2q2t

X6501-10GEX4

1p1q8t

1p2q1t

X6502-10GE

1p1q8t

1p2q1t

X6516-GBIC

1p1q4t

1p2q2t

X6516-GE-TX

1p1q4t

1p2q2t

X6416-GBIC

1p1q4t

1p2q2t

WS-X6416-GE-MT

1p1q4t

1p2q2t

X6316-GE-TX

1p1q4t

1p2q2t

X6408A-GBIC

1p1q4t

1p2q2t

X6408-GBIC

1q4t

2q2t

X6524-100FX-MM

1p1q0t

1p3q1t

X6324-100FX-SM

1q4t

2q2t

X6324-100FX-MM

1q4t

2q2t

WS-X6224-100FX-MT

1q4t

2q2t

X6548-RJ-21

1p1q0t

1p3q1t

X6548-RJ-45

1p1q0t

1p3q1t

X6348-RJ-21

1q4t

2q2t

X6348-RJ21V

1q4t

2q2t

X6348-RJ-45

1q4t

2q2t

X6348-RJ-45V

1q4t

2q2t

X6148-RJ-45V

1q4t

2q2t

X6148-RJ21V

1q4t

2q2t

X6248-RJ-45

1q4t

2q2t

WS-X6248A-TEL

1q4t

2q2t

X6248-TEL

1q4t

2q2t

X6024-10FL-MT

1q4t

2q2t

在Catalyst 6500/6000上建立QoS

Catalyst 6500/6000上的三個欄位用於設定QoS:

- IP優先順序 — IP報頭中「服務型別」欄位的前三個位

- 區別服務代碼點(DSCP)- IP報頭中ToS欄位的前六位

- CoS — 在第2層(L2)級別使用的三個位

這三個位是交換器間連結(ISL)標頭的一部分，或是位於IEEE 802.1Q(dot1q)標籤內。未標籤的乙太網路封包中沒有CoS。

Catalyst 6500/6000上的輸出排程機制

從要傳輸的資料匯流排傳送幀時，資料包的CoS是唯一要考慮的引數。然後，封包會經過排程器，排程器會選擇封包所放置的佇列。因此，請記住，本文檔討論的輸出排程和所有機制都只有CoS感知。

採用多層次交換功能卡(MSFC)的Catalyst 6500/6000使用內部DSCP對封包進行分類。當在PFC層級做出轉送決定時，設定已啟用QoS的Catalyst 6500/6000會指派一個DSCP值。此DSCP分配給包括非IP資料包的任何資料包，並對映到CoS以啟用輸出排程。您可以在Catalyst 6500/6000上配置從DSCP到CoS值的對映。如果保留預設值，則可以從DSCP匯出CoS。公式為：

DSCP_value / 8

此外，如果資料包是ISL或dot1q（非本地VLAN）標籤的IP資料包，則DSCP值將對映到傳出資料包的CoS。DSCP值也寫入IP報頭的ToS欄位中。

圖7中的圖顯示1p2q2t隊列。使用WRR排程程式清空WRR隊列。還有一個仲裁器，它檢查來自WRR隊列的每個資料包，以確定嚴格優先順序隊列中是否有內容。

圖7

1. ToS欄位在IP報頭和802.1p/ISL CoS欄位中重新寫入。

2. 排程隊列和閾值是基於CoS通過可配置的對映選擇的。

3. 每個隊列具有可配置的大小和閾值，某些隊列具有WRED。

4. 出隊在兩個隊列之間使用WRR。

5. 傳出封裝可以是dot1q、ISL或none。

Catalyst 6500/6000上的配置、監控和輸出排程

Catalyst 6500/6000上QoS的預設配置

本節提供Catalyst 6500/6000上的預設QoS設定的範例輸出，以及有關這些值的含義和如何調整這些值的資訊。

發出以下命令時，QoS預設會停用：

set qos disable

此清單中的命令顯示2q2t埠中每個CoS的預設分配。隊列1將CoS 0和1分配給其第一個閾值，並將CoS 2和3分配給其第二個閾值。隊列2將CoS 4和5分配給其第一個閾值，並將CoS 6和7分配給其第二個閾值：

set qos map 2q2t tx 1 1 cos 0

set qos map 2q2t tx 1 1 cos 1

set qos map 2q2t tx 1 2 cos 2

set qos map 2q2t tx 1 2 cos 3

set qos map 2q2t tx 2 1 cos 4

set qos map 2q2t tx 2 1 cos 5

set qos map 2q2t tx 2 2 cos 6

set qos map 2q2t tx 2 2 cos 7

這些命令預設情況下在每個隊列的2q2t埠上顯示閾值級別：

set qos drop-threshold 2q2t tx queue 1 80 100

set qos drop-threshold 2q2t tx queue 2 80 100

您可以為每個WRR隊列分配預設權重。發出此命令，為隊列1和隊列2分配預設權重：

注意：低優先順序隊列佔用5/260%的時間，高優先順序隊列佔用255/260%的時間。

set qos wrr 2q2t 5 255

總緩衝區可用性將在兩個隊列中分隔。低優先順序隊列正確分配給80%的可用緩衝區，因為此隊列最有可能緩衝資料包並等待一段時間。發出以下命令以定義可用性：

set qos txq-ratio 2q2t 80 20

您可以在此配置中檢視1p2q2t埠的類似設定：

set qos map 1p2q2t tx 1 1 cos 0

set qos map 1p2q2t tx 1 1 cos 1

set qos map 1p2q2t tx 1 2 cos 2

set qos map 1p2q2t tx 1 2 cos 3

set qos map 1p2q2t tx 2 1 cos 4

set qos map 1p2q2t tx 3 1 cos 5

set qos map 1p2q2t tx 2 1 cos 6

set qos map 1p2q2t tx 2 2 cos 7

set qos wrr 1p2q2t 5 255

set qos txq-ratio 1p2q2t 70 15 15

set qos wred 1p2q2t tx queue 1 80 100

set qos wred 1p2q2t tx queue 2 80 100

注意：預設情況下，CoS 5（語音流量）分配給嚴格的優先順序隊列。

組態

第一個配置步驟是啟用QoS。請記住，預設情況下禁用QoS。禁用QoS時，CoS對映不相關。有一個隊列被用作FIFO，所有資料包都會被丟棄。

bratan> (enable) set qos enable

QoS is enabled

bratan> (enable) show qos status

QoS is enabled on this switch

需要將CoS值分配給所有隊列型別的隊列或閾值。為2q2t型別的埠定義的對映未應用於任何1p2q2t埠。此外，為2q2t建立的對映將應用於具有2q2t排隊機制的所有埠。發出以下命令：

set qos map queue_type tx Q_number threshold_number cos value

注意：隊列始終進行編號，以儘可能低的優先順序隊列開頭，以可用的嚴格優先順序隊列結尾。以下是範例：

- 隊列1是低優先順序WRR隊列

- 隊列2是高優先順序WRR隊列

- 隊列3是嚴格的優先順序隊列

您必須對所有型別的隊列重複此操作。否則，您將保留預設的CoS分配。以下是1p2q2t的示例：

組態

set qos map 1p2q2t tx 1 1 cos 0

!--- This is the low-priority WRR queue threshold 1, CoS 0 and 1.

set qos map 1p2q2t tx 1 1 cos 1 and 1

set qos map 1p2q2t tx 1 2 cos 2

!--- This is the low-priority WRR queue threshold 2, CoS 2 and 3.

set qos map 1p2q2t tx 1 2 cos 3 and 3

set qos map 1p2q2t tx 2 1 cos 4

!--- This is the high-priority WRR queue threshold 1, CoS 4.

set qos map 1p2q2t tx 3 1 cos 5

!--- This is the strict priority queue, CoS 5.

set qos map 1p2q2t tx 2 1 cos 6

!--- This is the high-priority WRR queue threshold 2, CoS 6.

set qos map 1p2q2t tx 2 2 cos 7 and 7

控制檯輸出

tamer (enable) set qos map 1p2q2t tx 1 1 cos 0

QoS tx priority queue and threshold mapped to cos successfully

您必須為兩個WRR隊列配置WRR權重。發出以下命令：

set qos wrr Q_type weight_1 weight_2

Weight_1與隊列1相關，該隊列應該是低優先順序WRR隊列。weight_1必須始終低於weight_2。此權重可以採用1到255之間的任何值。您可以使用以下公式分配百分比：

- 隊列1:

weight_1 / (weight_1 + weight_2)

- 隊列2:

weight_2 / (weight_1 + weight_2)

您還必須定義各種型別的隊列的權重。重量不必相同。例如，對於2q2t（其中30%的時間為隊列1,70%的時間為隊列2），可以發出以下命令以定義權重：

set qos wrr 2q2t 30 70

!--- This ensures that the high-priority WRR queue is served 70 percent of the time !--- and that the low-priority WRR queue is served 30 percent of the time.

控制檯輸出

tamer (enable) set qos wrr 2q2t 30 70

QoS wrr ratio is set successfully

您還必須定義傳輸隊列比率，它是指緩衝區在不同隊列中的拆分方式。發出以下命令：

set qos txq-ratio port_type queuel_val queue2_val ... queueN_val

注意：如果您有三個隊列(1p2q2t)，則出於硬體原因，必須將高優先順序WRR隊列和嚴格優先順序隊列設定為同一級別。

組態

set qos txq-ratio 1p2q2t 70 15 15

!--- This gives 70 percent of the buffer of all 1p2q2t ports to the low-priority WRR !--- queue and gives 15 percent to each of the other two queues.

set qos txq-ratio 2q2t 80 20

!--- This gives 80 percent of the buffer to the low-priority queue, !--- and gives 20 percent of the buffer to the high-priority queue.

控制檯輸出

tamer (enable) set qos txq-ratio 1p2q2t 70 15 20

Queue ratio values must be in range of 1-99 and add up to 100

Example: set qos txq-ratio 2q2t 20 80

tamer (enable) set qos txq-ratio 1p2q2t 70 30 30

Queue ratio values must be in range of 1-99 and add up to 100

Example: set qos txq-ratio 2q2t 20 80

tamer (enable) set qos txq-ratio 1p2q2t 80 10 10

QoS txq-ratio is set successfully

如以下控制檯輸出所示，隊列值的總和必須為100。請為低優先順序WRR隊列保留緩衝區的最大部分，因為該隊列需要最多的緩衝。其他隊列的優先順序更高。

最後一步是為WRED隊列或尾部丟棄隊列配置閾值級別。發出以下命令：

set qos wred port_type [tx] queue q_num thr1 thr2 ... thrn

set qos drop-threshold port_type tx queue q_num thr1 ... thr2

組態

set qos drop-threshold 2q2t tx queue 1 50 80

!--- For low-priority queues in the 2q2t port, the first threshold is defined at 50 !--- percent and the second threshold is defined at 80 percent of buffer filling.

set qos drop-threshold 2q2t tx queue 2 40 80

!--- For high-priority queues in the 2q2t port, the first threshold is defined at 40 !--- percent and the second threshold is defined at 80 percent of buffer filling.

set qos wred 1p2q2t tx queue 1 50 90

!--- The commands for the 1p2q2t port are identical.

set qos wred 1p2q2t tx queue 2 40 80

控制檯輸出

tamer (enable) set qos drop-threshold 2q2t tx queue 1 50 80

Transmit drop thresholds for queue 1 set at 50% 80%

tamer (enable) set qos drop-threshold 2q2t tx queue 2 40 80

Transmit drop thresholds for queue 2 set at 40% 80%

tamer (enable) set qos wred 1p2q2t tx queue 1 50 90

WRED thresholds for queue 1 set to 50 and 90 on all WRED-capable 1p2q2t ports

tamer (enable) set qos wred 1p2q2t tx queue 2 40 80

WRED thresholds for queue 2 set to 40 and 80 on all WRED-capable 1p2q2t ports

set qos wred 1p2q2t tx queue 2 40 80命令與用於閾值對映的CoS協同工作。例如，當您發出以下清單中的命令時，您確保在1p2q2t埠上傳輸方向上，CoS 0、1、2和3的資料包被傳送到第一個隊列（低WRR隊列）。 當隊列中的緩衝區已滿50%時，WRED開始丟棄具有CoS 0和1的資料包。只有隊列中的緩衝區已滿90%時，才會丟棄具有CoS 2和3的資料包。

set qos map 1p2q2t tx 1 1 cos 0

set qos map 1p2q2t tx 1 1 cos 1

set qos map 1p2q2t tx 1 2 cos 2

set qos map 1p2q2t tx 1 2 cos 3

set qos wred 1p2q2t tx queue 1 50 90

監控輸出計畫並驗證配置

用於驗證埠輸出排程的當前運行時配置的簡單命令是show qos info runtime mod/port 。命令會顯示以下資訊：

- 埠上的排隊型別

- CoS到不同隊列和閾值的對映

- 緩衝區共用

- WRR重量

在本示例中，隊列1的值是20% WRR，隊列2的值是80% WRR:

tamer (enable) show qos info runtime 1/1

Run time setting of QoS:

QoS is enabled

Policy Source of port 1/1: Local

Tx port type of port 1/1 : 1p2q2t

Rx port type of port 1/1 : 1p1q4t

Interface type: port-based

ACL attached:

The qos trust type is set to untrusted

Default CoS = 0

Queue and Threshold Mapping for 1p2q2t (tx):

Queue   Threshold     CoS

-----   ---------    -------

1          1           0 1

1          2           2 3

2          1           4 6

2          2           7

3          1           5

Queue and Threshold Mapping for 1p1q4t (rx):

All packets are mapped to a single queue

Rx drop thresholds:

Rx drop thresholds are disabled

Tx drop thresholds:

Tx drop-thresholds feature is not supported for this port type

Tx WRED thresholds:

Queue #        Thresholds - percentage (* abs values)

-------     ------------------------------------------

1             80% (249088 bytes) 100% (311168 bytes)

2             80% (52480 bytes) 100% (61440 bytes)

Queue Sizes:

Queue #       Sizes - percentage (* abs values)

-------       -------------------------------------

1                70% (311296 bytes)

2                15% (65536 bytes)

3                15% (65536 bytes)

WRR Configuration of ports with speed 1000Mbps:

Queue #       Ratios (* abs values)

-------       -------------------------------------

1                20 (5120 bytes)

2                80 (20480 bytes)

(*) Runtime information may differ from user configured setting

due to hardware granularity.

tamer (enable)

在下一個示例中，請注意WRR權重不是預設值1。隊列1的權重設定為20，隊列2的權重設定為80。此示例使用流量生成器將2 Gb的流量傳送到Catalyst 6000。這些2 Gb的流量應通過埠1/1退出。由於埠1/1超額訂閱，因此丟棄了許多資料包(1 Gbps)。 show mac命令顯示有許多輸出捨棄專案：

tamer (enable) show mac 1/1

Port            Rcv-Unicast            Rcv-Multicast           Rcv-Broadcast

--------     --------------------   --------------------   --------------------

1/1                  0                     1239                     0

Port             Xmit-Unicast             Xmit-Multicast        Xmit-Broadcast

--------     --------------------     --------------------  --------------------

1/1             73193601                     421                     0

Port            Rcv-Octet                 Xmit-Octet

--------     --------------------    --------------------

1/1              761993                  100650803690

MAC          Dely-Exced         MTU-Exced         In-Discard         Out-Discard

--------    --------------   ----------------   ---------------   -----------------

1/1              0                 -                  0              120065264

Last-Time-Cleared

--------------------------

Fri Jan 12 2001, 17:37:43

請考慮捨棄的封包。這就是拆分建議流量模式的方式：

- 1 Gb流量，IP優先順序為0

- 250 Mb流量，具有IP優先順序4

- 250 Mb流量，具有IP優先順序5

- 250 Mb流量，具有IP優先順序6

- 250 Mb流量，具有IP優先順序7

根據CoS對映，傳送此流量：

- 1 Gb流量排隊1閾值1

- 0 Mb流量排隊1閾值2

- 500 Mb流量排隊2閾值1

- 250 Mb流量排隊2閾值2

- 到隊列3的250 Mb流量（嚴格優先順序隊列）

交換機必須信任收到的流量，以便傳入IP優先順序保留在交換機中並用於對映到CoS值以進行輸出排程。

注意：到CoS的預設IP優先順序對映為IP優先順序等於CoS。

發出show qos stat 1/1命令，以檢視遭到捨棄的封包和大約百分比：

- 此時，隊列3中沒有丟棄資料包(CoS 5)。

- 被丟棄的資料包中有91.85%是隊列1中的CoS 0資料包。

- 8%的丟棄資料包是隊列2中的CoS 4和6，閾值1。

- 0.15%的丟棄資料包是隊列2、閾值2中的CoS 7。

以下輸出說明命令的使用方式：

tamer (enable) show qos stat 1/1

Tx port type of port 1/1 : 1p2q2t

Q3T1 statistics are covered by Q2T2.

Q #       Threshold #:Packets dropped

---      -------------------------------

1         1:110249298 pkts, 2:0 pkts

2         1:9752805 pkts, 2:297134 pkts

3         1:0 pkts

Rx port type of port 1/1 : 1p1q4t

Rx drop threshold counters are disabled for untrusted ports

Q #       Threshold #:Packets dropped

---     ---------------------------------

1         1:0 pkts, 2:0 pkts, 3:0 pkts, 4:0 pkts

2         1:0 pkts

如果在清除計數器後將WRR權重更改回預設值，則隊列2中僅出現丟棄資料包的1%，而不是之前出現的8%:

注意：隊列1的預設值為5，隊列2的預設值為255。

tamer (enable) show qos stat 1/1

TX port type of port 1/1 : 1p2q2t

Q3T1 statistics are covered by Q2T2

Q #               Threshold #:Packets dropped

---             ----------------------------------

1                 1:2733942 pkts, 2:0 pkts

2                 1:28890 pkts, 2:6503 pkts

3                 1:0 pkts

Rx port type of port 1/1 : 1p1q4t

Rx drop threshold counters are disabled for untrusted ports

Q #               Threshold #:Packets dropped

---             ------------------------------------

1                  1:0 pkts, 2:0 pkts, 3:0 pkts, 4:0 pkts

2                  1:0 pkts

使用輸出排程減少延遲和抖動

監控輸出排程和驗證配置一節中的示例演示了輸出排程實施的好處，它可避免在輸出埠超訂用時丟棄VoIP或任務關鍵型流量。超訂用在正常網路中，尤其是在千兆鏈路上很少發生。通常，超訂用僅在流量高峰時間或在極短時間內的流量突發期間發生。

即使沒有任何超訂用，在端到端實施QoS的網路中，輸出排程也可以有很大的幫助。輸出排程有助於減少延遲和抖動。本節提供輸出排程如何幫助減少延遲和抖動的示例。

減少延遲

在等待傳輸期間，封包的延遲會增加每個交換器的緩衝區中「丟失」的時間。例如，在大型備份或檔案傳輸期間，會將CoS為5的小型語音資料包從埠傳送出去。如果輸出埠沒有任何QoS，並且假設小型語音資料包在10個大型1500位元組資料包後排隊，則可以輕鬆計算傳輸10個大型資料包所需的千兆速度時間：

(10 × 1500 × 8) = 120,000 bits that are transmitted in 120 microseconds

如果此資料包在通過網路時需要經過八到九台交換機，則可能導致大約1毫秒的延遲。此數量僅計算網路中交叉的交換機的輸出隊列中的延遲。

注意：如果需要在10 Mbps介面上為相同的10個大型資料包排隊（例如，使用IP電話並連線PC），則引入的延遲為：

(10 × 1500 × 8) = 120,000 bits that are transmitted in 12 ms

輸出排程實施可以確保CoS為5的語音資料包被放入嚴格的優先順序隊列中。此放置可確保在CoS小於5的任何資料包之前傳送這些資料包，從而減少延遲。

減少抖動

輸出排程實施的另一個重要優點是它減少了抖動。抖動是觀察同一資料流中資料包的延遲變化。圖8中的圖顯示了輸出排程如何減少抖動的示例場景：

圖8

在此案例中，有一個輸出連線埠必須傳送兩個流：

- 一個在10 Mbps乙太網埠上傳入的語音流

- 一個1 Gbps乙太網上行鏈路傳入的FTP流

兩個流通過相同的輸出埠離開交換機。此示例顯示不使用輸出排程會發生的情況。所有大資料包都可以在兩個語音資料包之間交錯，這會導致從同一資料流接收語音資料包時產生抖動。當交換器傳輸大資料封包時，封包n和封包n+1之間的延遲較大。但是，n+1和n+2之間的延遲是可忽略的。這會導致語音流量流中的抖動。使用嚴格的優先順序隊列可以輕鬆地避免此問題。確保將語音資料包的CoS值對映到嚴格的優先順序隊列。

相關資訊

- 執行Cisco IOS系統軟體的Catalyst 6500/6000系列交換器上的QoS輸出排程

- 瞭解Catalyst 6000系列交換器上的服務品質

- LAN 產品支援頁面

- LAN 交換支援頁面

- 技術支援與文件 - Cisco Systems