簡介
本文檔介紹如何在模組化服務品質命令列介面策略對映中應用 和 命令。 bandwidth
priority
必要條件
需求
本文件沒有特定需求。
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
慣例
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
背景資訊
bandwidth 和 priority 指令都定義了可套用至模組化服務品質指令行介面 (MQC) 原則對應的動作,進而透過 指令套用至介面、子介面或虛擬電路 (VC)。 service-policy
具體而言,這些命令為符合流量類條件的資料包提供頻寬保證。不過,兩個指令的保證有功能上的重要差異。
本技術說明將解釋這些差異,並說明如何將某類未使用的頻寬分配給與其他類匹配的流。
差異摘要
本表列出 和 指令之間的功能差異: bandwidth
priority
功能 |
bandwidth指令 |
priority指令 |
最小頻寬保證 |
是 |
是 |
最大頻寬保證 |
否 |
是 |
內建監察器 |
否 |
是 |
提供低延遲 |
否 |
是 |
此外, 和priority命令的設計旨在滿足不同的服務品質(QoS)策略目標。 bandwidth
下表列出了這些不同的目標:
應用 |
bandwidth指令 |
priority指令 |
WAN 連結的頻寬管理 |
是 |
有一點幫助 |
管理延遲和延遲(抖動)的變化 |
否 |
是 |
改善應用程式回應時間 |
否 |
是 |
即使使用快速介面,大多數網路仍然需要強大的QoS管理模型來有效處理由於速度不匹配或不同的流量模式而不可避免地出現的擁塞點和瓶頸。
現實中的網路具有有限的資源和資源瓶頸,並且需要QoS策略來確保正確的資源分配。
設定 Bandwidth 指令
Cisco IOS ® 配置指南將 命令描述為「要分配給類的頻寬量(以kbps為單位)。 bandwidth
..指定或修改為屬於策略對映的類分配的頻寬。"
看看這些定義意味著什麼。
指令提供壅塞時最小頻寬保證。 bandwidth
共有三種指令語法,如下表所示:
指令語法 |
說明 |
bandwidth {kbps}
|
以位元速率指定頻寬配置。 |
bandwidth percent {value}
|
以主鏈路速率的百分比指定頻寬分配。 |
bandwidth remaining percent {value}
|
指定頻寬分配為未分配給其他類的頻寬的百分比。 |
附註:bandwidth命令定義一個行為,即最小頻寬保證。並非所有 Cisco 路由器平台都使用 (WFQ) 作為實作此行為的主要演算法。 weighted-fair
queueing
如需詳細資訊,請參閱「為什麼要使用 CBWFQ?」
設定 Priority 指令
Cisco IOS 組態設定指南說明 priority 指令會保留「優先佇列,並指定可用的 CBWFQ 流量頻寬量…以根據流量原則中可用的頻寬量給予流量類別優先權。」
下一個示例說明了這些定義的含義。
使用以下命令集建立優先順序隊列:
Router(config)#policy-map policy-name
Router(config-pmap)#class class-name
Router(config-pmap-c)#priority kpbs [bytes]
在壅塞情況下,流量類別的保證頻寬會相等於特定速率的頻寬。(回想一下,頻寬保證只是介面擁塞時的一個問題。) 換句話說, 命令提供了最小頻寬保證。 priority
此外,透過 命令還實現了最大頻寬保證。 priority
優先佇列在內部使用權杖儲存貯體,用以衡量提供的負載,並確保流量串流符合設定的速率。
只有符合令牌桶的流量才能保證低延遲。任何超額流量在連結無壅塞時傳送,或在連結壅塞時下降。如需更多資訊,請參閱「什麼是權杖儲存貯體?」
內建監察器的目的是確保隊列排程程式為其他隊列提供服務。在使用 和 命令的早期Cisco優先順序排隊功能中,排程程式總是首先服務於最高優先順序的隊列。 priority-group
priority-list
在極端情況下,優先順序較低的隊列很少得到服務,因此實際上會缺少頻寬。
命令(以及其與 命令的主要區別)的真正優點是它如何提供嚴格的出列優先順序,從而提供一個延遲範圍。 priority
bandwidth
以下是《Cisco IOS配置指南》對此優勢的描述:"嚴格優先順序隊列(PQ)允許將延遲敏感資料(例如語音)出列並在其他隊列中的資料包出列之前傳送。"
看看這是什麼意思。
每個路由器介面都會保持這兩組佇列:
佇列 |
位置 |
佇列方法 |
應用服務策略 |
要調整的命令 |
硬體佇列或傳輸環 |
埠介面卡或網路模組 |
僅限 FIFO |
否 |
tx-ring-limit |
第 3 層佇列 |
第 3 層處理器系統或介面緩衝區 |
基於流量的WFQ、CBWFQ、LLQ |
是 |
因佇列方法而異。對頻寬類使用queue-limit命令。 |
在上表中,我們可以看到service-policy僅適用於第3層隊列中的資料包。
嚴格去佇列是指排程器,它可為優先順序佇列提供服務,並先將其封包轉送到傳輸環。傳輸環是物理介質之前的最後一站。
在下一個圖中,傳輸環已配置為容納四個資料包。如果已經有三個資訊包在環中,那麼我們最多可以排到第四個位置,然後等待其他三個資訊包清空。
因此,低延遲佇列 (LLQ) 機制只需在傳輸環驅動程式層級先進先出 (FIFO) 佇列尾端的封包取消佇列即可。

使用 命令將傳輸環路的大小調整為非預設值。 tx-ring-limit
Cisco 建議您在傳輸語音流量時調整傳輸環。
流量優先排序對於延遲敏感型、互動式基於事務的應用尤其重要。為了將延遲和抖動降至最低,網路裝置必須能夠在語音資料包到達時立即為其提供服務,換句話說,必須嚴格按照優先順序提供服務。只有嚴格優先順序能有效用於語音。除非語音封包立即取消佇列,否則每個躍點都會造成更多延遲。
國際電信聯盟 (ITU) 建議最大 150 毫秒的單向端對端延遲。如果沒有在路由器介面處立即取消佇列,單一路由器躍點可能就佔了此延遲預算的大部分。如需更多資訊,請參閱語音品質支援。
附註:對於這兩個命令,kbps值必須考慮第2層開銷。換句話說,如果對類做出保證,則保證將針對第2層吞吐量。
哪些流量類別可以使用多餘頻寬?
雖然我們將 和 命令提供的頻寬保證描述為「預留」和「要留出的頻寬」,但這兩種命令都沒有實現真正的保留。 bandwidth
priority
換句話說,如果流量類未使用其配置的頻寬,則任何未使用的頻寬將在其他類之間共用。
佇列系統對具有優先順序類別的此規則施加重要的例外。如前所述,優先順序類別的已提供負載由流量監察器測量。 在壅塞期間,優先順序類別無法使用任何多餘頻寬。
下表描述頻寬類和優先順序類何時可以使用超額頻寬:
指令 |
壅塞 |
無擁塞 |
bandwidth指令 |
允許超過分配的速率。 |
允許超過分配的速率。 |
priority指令 |
Cisco IOS 會測量封包,並透過權杖儲存貯體套用流量測量系統。匹配的資料包將被管製為配置的bps速率,任何多餘的資料包將被丟棄。 |
該類別可以超過其設定的頻寬。 |
附註:Cisco 7200路由器和其他非路由/交換處理器(RSP)平台上的幀中繼是這些LLQ准則的例外。在這些平台上透過幀中繼最初實施的LLQ不允許優先順序類在非擁塞期間超過配置的速率。Cisco IOS 軟體版本 12.2 剔除此例外狀況,並確保不合格封包只會在壅塞時遭捨棄。此外,小於 FRF.12 分段大小的封包不再透過分段程序傳送,進而降低 CPU 使用率。
從前面的討論中,必須瞭解的是,由於優先順序類在擁塞條件下會受到管制,因此不會從頻寬類中分配任何剩餘的頻寬。因此,剩餘頻寬由所有頻寬類和class-default共用。
未使用的頻寬分配
本節介紹排隊系統如何分配任何剩餘頻寬。以下是基於類的加權公平排隊功能概述對分配機制的描述:
「如果有多餘的頻寬可用,多餘的頻寬會按照配置頻寬的比例在流量類別之間分配。如果仍有未配置的頻寬,剩餘的頻寬會根據其設定的頻寬,依比例配置到類別中。」
看兩個例子。
在第一個示例中, policy-map foo保證類條頻寬的30%,類塊頻寬的60%。
policy-map foo
class bar
bandwidth percent 30
class baz
bandwidth percent 60
如果將此策略應用於1 Mbps鏈路,則意味著保證300 kbps為bar類,600 kbps為baz類。更重要的是,100 kbps 是預設類別的剩餘頻寬。
如果class-default不需要它,則未使用的100 kbps可供類欄和class baz使用。
如果兩個類別都需要頻寬,會依其設定的速率比例分配共用。在此組態中,共用比例為 30:60 或 1:2。
下一個示例配置包含三個策略對映:bar、baz和poli。在 bar 原則對應和 baz 原則對應中,系統會以百分比指定頻寬。
不過,在 poli 原則對應中,頻寬指定的單位為 kbps。
請記住,建立策略對映之前必須已經建立類對映。
policy-map bar
class voice
priority percent 10
class data
bandwidth percent 30
class video
bandwidth percent 20
policy-map baz
class voice
priority percent 10
class data
bandwidth remaining percent 30
class video
bandwidth remaining percent 20
policy-map poli
class voice
class data
bandwidth 30
class video
bandwidth 20
附註:bandwidth remaining percent命令是在Cisco IOS版本12.2(T)中引入的。
使用 Police 指令來設定最大值
如果在未出現擁塞時頻寬或優先順序類不能超出其分配的頻寬,您可以結合使用 命令和 命令。 priority
police
此組態會套用類別上永遠處於作用中狀態的最大速率。在此配置中配置 語句的選擇取決於策略目標。 police
瞭解可用的頻寬值
本節說明佇列系統如何衍生可用頻寬值,如 或 指令的輸出所顯示。 show interface
show queueing
我們建立了名為Leslie的策略對映:
7200-16#show policy-map leslie
Policy Map leslie
Class voice
Weighted Fair Queueing
Strict Priority
Bandwidth 1000 (kbps) Burst 25000 (Bytes)
Class data
Weighted Fair Queueing
Bandwidth 2000 (kbps) Max Threshold 64 (packets)
接著,我們建立了 ATM 永久虛擬電路 (PVC),指派至可變位元速率的非即時 ATM 服務類別,並設定 6 Mbps 的持續信元速率。然後我們使用 命令對此PVC應用策略對映。 service-policy output leslie
7200-16(config)#interface atm 4/0.10 point
7200-16(config-subif)#pvc 0/101
7200-16(config-if-atm-vc)#vbr-nrt 6000 6000
7200-16(config-if-atm-vc)#service-policy output leslie
show queueing interface atm
該命令顯示可用頻寬1500 KB/秒。 show queueing interface atm
7200-16#show queue interface atm 4/0.10
Interface ATM4/0.10 VC 0/101
queue strategy: weighted fair
Output queue: 0/512/64/0 (size/max total/threshold/drops)
Conversations 0/0/128 (active/max active/max total)
Reserved Conversations 1/1 (allocated/max allocated)
Available Bandwidth 1500 kilobits/sec
現在來看看這個值是如何得出的:
-
6 Mbps 為持續信元速率 (SCR)。 根據預設,其中 75% 可保留:
0.75 * 6000000 = 4500000
-
3000 kbps已被語音和資料類使用:
4500000 - 3000000 = 1500000 bps
-
可用頻寬為 1500000 bps。
預設的 75% 最大可保留頻寬值專為負荷流量保留足夠頻寬,例如路由通訊協定更新和第 2 層 keepalive,
也包括相符的第 2 層封包負荷,並定義流量類別或預設類別。您現在可以透過 指令,在 ATM PVC 上提高最大可保留頻寬值。 max-reserved-bandwidth
如需支援的 Cisco IOS 版本和更多背景資訊,請參閱「瞭解 ATM PVC 的 max-reserved-bandwidth 指令」。
在幀中繼PVC上, 和 命令將以下列一種方式計算可用頻寬總量: bandwidth
priority
因此,幀中繼PVC不支援 命令,儘管您必須確保配置的頻寬量足夠容納第2層開銷。 max-reserved-bandwidth
如需更多資訊,請參閱「在框架轉送 PVC 上設定 CBWFQ」。
相關資訊