簡介
本檔案將說明流量調節和流量原則制定之間的功能差異,兩者都會限制輸出速率。
必要條件
需求
本文件沒有特定需求。
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
慣例
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
背景資訊
本文檔闡明了流量整形和策略之間的功能差異。這兩個功能都限制了流量輸出速率。兩種機制都使用令牌桶作為流量計量器來測量資料包速率。有關令牌桶的詳細資訊,請參閱什麼是令牌桶
管制與調節
流量策略會傳播突發流量。當流量速率達到設定的最大速率時,會捨棄或重標多餘流量。結果輸出速率顯示為具有頂部和槽的鋸齒形。與策略管制相反,流量整形在隊列中保留超額資料包,然後將超額資料包排程到稍後的傳輸過程中。流量整形的結果是平滑的資料包輸出速率。
下圖說明了兩種流量選項之間的主要區別。
管制VS整形
整形表示存在隊列和足夠的記憶體來緩衝延遲的資料包,而策略則不是。隊列是一個出站概念;離開介面的資料包將進入隊列並可進行整形。僅策略可以應用於介面上的入站流量。啟用整形時,請確保有足夠的記憶體。此外,整形要求一個函式,該函式可排程任何延遲資料包的稍後傳輸。此排程功能允許您將整形隊列組織到不同的隊列中。此功能的示例是基於類的加權公平值 Queuing
(CBWFQ)和低延遲 Queuing
(LLQ)。
選擇標準
下表列出了整形和策略之間的差異,以幫助您選擇適當的流量解決方案。
|
調節 |
管制 |
目標 |
將超出的資料包緩衝並排隊(超過承諾速率)。 |
丟棄(或重新命名)超過承諾速率的超額資料包。不緩衝。* |
令牌刷新率 |
在時間間隔開始時遞增。(需要的最小間隔數。) |
基於公式:1 /承諾資訊速率的連續 |
權杖值 |
配置以位/秒為單位。 |
已配置(以位元組為單位)。 |
組態選項 |
- Shape命令在模組化的服務品質命令列介面(MQC)中實施基於類的整形。
- Frame-relay traffic-shape命令用於實施幀中繼流量調節(FRTS)。
- Traffic-shape命令實施通用流量調節(GTS)。
|
- MQC中的警察命令實施基於類的策略。
- Rate-limit命令,用於實現承諾訪問速率(CAR)。
|
適用於入站 |
否 |
是 |
適用於出站 |
是 |
是 |
突發 |
控制猝發,並在至少八個時間間隔內平滑輸出速率。使用漏桶來延遲流量,這可以達到平滑效果。 |
傳播猝發。不進行平滑。 |
優勢 |
由於緩衝了多餘的資料包,因此丟棄多餘資料包的可能性較小。(以隊列長度為限緩衝資料包。如果超額流量以較高的速率持續,則可能發生丟棄。) 通常避免由於丟棄的資料包而重新傳輸。 |
通過丟包控制輸出速率。避免由於以下原因導致的延遲 queuing . |
缺點 |
可能由於以下原因導致延遲: queuing 尤其是深排隊。 |
丟棄多餘的資料包(如果已配置)、限制的TCP視窗大小,並降低受影響的流量流的整體輸出速率。過於激進的突發大小會導致過多的丟包並限制整體輸出速率,尤其是對於基於TCP的資料流。 |
可選資料包重標籤 |
否 |
是(具有傳統CAR功能)。 |
*雖然策略不應用緩衝區,但已配置 queuing
機制適用於需要排隊等待在物理介面上序列化的已編排資料包。
令牌刷新率
整形和策略之間的一個關鍵區別是令牌的補充速率。 整形和策略都使用令牌桶比喻。令牌桶本身沒有丟棄策略或優先順序策略。
使用令牌桶功能:
-
令牌以一定的速率放入桶中。
-
每個令牌都允許源向網路傳送一定數量的位。
-
要傳送資料包,流量調節器必須能夠從儲存桶中移除表示資料包大小的數個令牌。
-
如果儲存桶中沒有足夠的令牌來傳送資料包,資料包將等待直到儲存桶中有足夠的令牌(對於整形器),或者資料包被丟棄或降級(對於整形器)。
-
桶本身具有指定的容量。如果儲存桶已滿容量,則到達的新令牌將被丟棄,不能用於未來的資料包。因此,在任何時間,源可以傳送到網路的最大突發量與儲存桶的大小大致成正比。令牌桶允許突發事件,但會限制突發事件。
整形以使用每秒位數(bps)值的定時間隔增加令牌桶。整形器使用下一個公式:
Tc = Bc/CIR (in seconds)
在此等式中,Bc代表承諾突發量,CIR代表承諾資訊速率。(如需詳細資訊,請參閱設定訊框中繼流量調節。) Tc的值定義傳送Bc位的時間間隔,以便保持CIR的平均速率(以秒為單位)。
Tc的範圍在10 ms和125 ms之間。使用Cisco 7500系列上的分散式流量調節(DTS),最小Tc為4毫秒。路由器內部根據CIR和Bc值計算此值。如果Bc/CIR小於125毫秒,它將使用該等式計算的Tc。如果Bc/CIR大於或等於125毫秒,如果Cisco IOS®確定流量可以在更小的時間間隔內更穩定,則會使用內部Tc值。使用show traffic-shape 命令可確定路由器是使用Tc的內部值,還是使用在命令列中配置的值。show traffic-shape 命令的下一個輸出示例在Show Commands for Frame Relay Traffic Shaping中說明。
show traffic output
當超額突發量(Be)配置為不同於0的值時,整形器允許令牌儲存在桶中,最大值為Bc + Be。令牌桶可達到的最大值是Bc + Be,溢位令牌被丟棄。在桶中具有多個Bc令牌的唯一方式是在一個或多個Tc期間不使用所有Bc令牌。由於令牌桶會使用Bc令牌在每個Tc中補充,因此您可以累積未使用的令牌,供以後使用,最多Bc + Be。
相比之下,基於類的策略和速率limiting
將令牌連續新增到桶中。具體來說,令牌到達率計算如下:
(time between packets<which is equal to t-t1>* policer rate)/8 bits per byte
換句話說,如果資料包的先前到達時間是t1,而當前時間是t,則基於令牌到達速率,使用t-t1的位元組值更新儲存桶。
注意:流量管制器使用以位元組為單位指定的突發值,並且先前的公式將從位轉換為位元組。
以下範例使用8000 bps的CIR(或管制器速率)和1000位元組的正常突發量:
Router(config)# policy-map police-setting
Router(config-pmap)# class access-match
Router(config-pmap-c)# police 8000 1000 conform-action transmit exceed-action drop
令牌桶從1000位元組開始已滿。如果450位元組的封包到達,則封包符合,因為權杖桶中有足夠的位元組可用。封包會執行conform動作(傳輸),並從權杖桶中移除450位元組(並保留550位元組)。如果下一個資料包在0.25秒後到達,則會根據下一個公式將250位元組新增到令牌桶中:
(0.25 * 8000)/8
計算在令牌桶中會保留700位元組。如果下一個資料包是800位元組,則該資料包會超出並會採取超出操作(丟棄)。令牌桶中沒有位元組。
流量調節
Cisco® IOS支援以下流量整形方法:
所有流量整形方法在實現上都是相似的,儘管它們的命令列介面(CLI)略有不同,並且它們使用不同型別的隊列來包含和整形被延遲的流量。思科建議使用模組化QoS CLI配置的基於類的整形和分散式整形。
下圖說明QoS策略如何將流量安排到類中,並將超過配置整形速率的資料包排入隊列。
流量管制
Cisco IOS支援流量管制的以下方法:
這兩個機制具有重要的功能差異,如比較基於類的策略和承諾訪問速率中所述。應用QoS策略時,思科建議使用基於類的策略以及模組化QoS CLI的其他功能。
使用police命令可以指定某類流量必須具有對其施加的最大速率,如果超過該速率,則必須立即執行操作。換句話說,使用police命令時,不能像shape命令那樣緩衝封包並在稍後傳送該封包。
此外,通過管制,令牌桶可確定資料包是否超過或符合應用的速率。在任一情況下,策略都會實施可配置操作,包括IP優先順序或差分服務代碼點(DSCP)。
下圖說明了在通常應用QoS功能的擁塞點執行流量策略的一般應用。
最小頻寬控制和最大頻寬控制
shape和police命令都將輸出速率限製為最大kbps值。重要的是,這兩種機制在擁塞期間都不提供最小頻寬保證。使用bandwidth 或priority 命令提供此類保證。
分層策略使用兩個服務策略 — 父策略將QoS機制應用於流量聚合,子策略將QoS機制應用於流量聚合的流或子集。邏輯介面(例如子介面和隧道介面)需要具有流量的分層策略。limiting
在父級有功能,在較低級有排隊。流量 — limiting
功能可降低輸出速率並(據推測)造成擁塞,如所示 queuing
過多的資料包。
下一個配置是次優配置,並展示以說明當發生以下情況時策略與shape命令的差異 limiting
流量會聚到最大速率,在本例中為class-default。在此配置中,police命令根據資料包的大小以及符合和超過令牌桶中剩餘的位元組數從子類傳送資料包。(請參閱流量管制。) 其結果是,無法保證IP語音(VoIP)和網際網路通訊協定(IP)類別所能達到的速率,因為警察功能會覆蓋優先功能所提供的保證。
但是,如果使用shape命令,則結果是一個分層排隊系統,並且做出了所有保證。換句話說,當提供的負載超過整形速率時,VoIP和IP類會保證它們的速率,而類預設流量(在子級)會引發任何丟棄。
注意:建議不要使用此配置,並顯示此配置可以說明police 與shape 命令在限制流量聚合時的區別。
class-map match-all IP
match ip precedence 3
class-map match-all VoIP
match ip precedence 5
policy-map child
class VoIP
priority 128
class IP
priority 1000
policy-map parent
class class-default
police 3300000 103000 103000 conform-action transmit exceed-action drop
service-policy child
為了讓先前的設定有意義,必須將原則制定替換為調節。
例如:
policy-map parent
class class-default
shape average 3300000 103000 0
service-policy child
注意:要瞭解有關父策略和子策略的更多資訊,請參閱優先順序類的QoS子服務策略。
相關資訊