目錄

簡介

必要條件

需求

採用元件

慣例

瞭解show interface rate命令輸出

CAR和基於類的策略計數器的已知問題

相關資訊

簡介

承諾存取速率(CAR)是一種速率限制功能，可用於提供分類和管制服務。CAR可用於根據某些標準（例如使用訪問清單的IP地址和埠值）對資料包進行分類。可以定義符合速率限制值並超過此值的資料包的操作。有關如何配置CAR的詳細資訊，請參閱配置承諾訪問速率。

本檔案將說明show interface x/x rate-limit命令的輸出在conformed bps值小於已設定的承諾資訊速率(CIR)時為什麼會顯示非零超出bps值。

必要條件

需求

本文件沒有特定需求。

採用元件

本文件所述內容不限於特定軟體和硬體版本。

慣例

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

瞭解show interface rate命令輸出

在以下三種情況下，您可以在此命令的輸出中看到非零超額比率：

- 突發值設定得太低，無法提供足夠的吞吐率。例如，請參閱Cisco錯誤ID CSCdw42923（僅限註冊客戶）。

- 已解決Cisco IOS®軟體中的雙重記賬問題

- Cisco IOS中的軟體錯誤

請檢視虛擬訪問介面的示例輸出。在此配置中，RADIUS用於為動態建立的虛擬接入介面分配速率限制。

AV Pair from Radius

Cisco-AVPair = "lcp:interface-config#1=rate-limit input 256000 7500 7500

conform-action continue

exceed-action drop",

Cisco-AVPair = "lcp:interface-config#2=rate-limit output 512000 7500 7500

conform-action continue

exceed-action drop",

使用show interface x rate-limit命令以監控思科舊版監察器CAR的效能。在本例中，此命令的輸出提供有關為什麼存在非零超出bps的提示。當前突發值為7392位元組，而由限制值指示的承諾突發量(Bc)值設定為7500位元組。

router#show interfaces virtual-access 26 rate-limit

Virtual-Access26 Cable Customers

Input

matches: all traffic

params:  256000 bps, 7500 limit, 7500 extended limit

conformed 2248 packets, 257557 bytes; action: continue

exceeded 35 packets, 22392 bytes; action: drop

last packet: 156ms ago, current burst: 0 bytes

last cleared 00:02:49 ago, conformed 12000 bps, exceeded 1000 bps

Output

matches: all traffic

params:  512000 bps, 7500 limit, 7500 extended limit

conformed 3338 packets, 4115194 bytes; action: continue

exceeded 565 packets, 797648 bytes; action: drop

last packet: 188ms ago, current burst: 7392 bytes

last cleared 00:02:49 ago, conformed 194000 bps, exceeded 37000 bps

當您配置基於類的思科的CAR或更新策略器時，您必須配置足夠高的突發值，以確保預期的吞吐量，並確保策略器僅丟棄資料包以懲罰短期擁塞。

選擇突發值時，必須適應隊列大小的瞬時增加。您不能簡單地假設資料包同時到達和離開。您也不能假定隊列從空變為一個資料包，並且根據一致的一進/一出到達時間，隊列保持在一個資料包。如果典型流量具有相當的突發性，那麼突發值需要相應地變大，以允許鏈路利用率保持在可接受的較高水準。如果突發大小太小或最小閾值太低，則可能導致鏈路利用率低得不可接受。

突發可以簡單地定義為一系列背對背的MTU大小的幀，例如來自乙太網路的1500位元組幀。當此類幀的突發到達輸出介面時，它可能超出輸出緩衝區，並瞬間超過令牌桶的配置深度。通過使用令牌計量系統，策略器對到達的包是否符合、超過或違反配置的策略值做出二進位制決定。對於突發流量（例如FTP流），這些資料包的即時到達率可能超過配置的突發值，並導致CAR丟棄。

此外，擁塞期間的整體吞吐量隨監察器評估的流量型別而變化。雖然TCP流量響應擁塞，但其它流量則不響應。無響應流的示例包括基於UDP的資料包和基於ICMP的資料包。

TCP基於帶重傳的正確認。TCP使用滑動視窗作為其肯定確認機制的一部分。滑動視窗協定可以更好地使用網路頻寬，因為它們允許傳送方在等待確認之前傳輸多個資料包。例如，在視窗大小為8的滑動視窗協定中，允許傳送方在收到確認之前傳輸8個資料包。如果增加視窗大小，網路空閒時間將大大減少。經過良好調整的滑動視窗協定使網路保持資料包完全飽和並保持高吞吐量。

由於終端並不知道網路的特定擁塞狀態，因此TCP作為一種協定設計在出現擁塞時，通過降低其傳輸速率來應對網路擁塞。具體來說，它使用兩種技術：

技術

說明

乘性減少擁塞規避

丟失資料段（相當於TCP的資料包）時，將擁塞視窗減少一半。擁塞視窗是第二個值或視窗，用於限制傳送方在等待確認之前可以傳輸到網路的資料包數量。

緩慢啟動恢復

在新連線上啟動流量或在擁塞一段時間後增加流量時，以單個網段的大小啟動擁塞視窗，並在每次確認到達時增加一個網段。TCP將擁塞視窗初始化為1，傳送初始資料段並等待。當確認到達時，它將擁塞視窗增加到2，傳送兩個資料段並等待。如需更多詳細資訊，請參閱RFC 2001 。

當傳輸錯誤干擾資料、網路硬體發生故障或網路負載過重無法承受負載時，資料包可能會丟失或損壞。TCP假定丟失的資料包，或由於極端延遲未能在時間間隔內確認的資料包表示網路擁塞。

在每次分組到達時呼叫監察器的令牌桶計量系統。具體來說，一致速率和超過速率是基於以下簡單公式計算的：

(conformed bits since last clear counter)/(time in seconds elapsed since last clear counter)

由於該公式計算從上次清除計數器起一段時間內的速率，Cisco建議清除計數器以便監視當前速率。如果未清除計數器，則上面的公式速率實際上意味著show命令輸出顯示了一個在可能很長的週期內計算的平均值，並且這些值在確定當前速率時可能沒有意義。

在一段時間內，平均吞吐量應匹配配置的承諾資訊速率(CIR)。突發大小允許在給定時間達到最大突發持續時間。如果沒有流量或小於CIR的流量值，且令牌桶未滿，則非常大的突發量仍會限製為根據正常突發量和擴展突發量計算的特定大小。

此機制導致丟棄率

1. 記下當前時間。

2. 使用自上次資料包到達後持續累積的令牌數更新令牌桶。

3. 累計的令牌總數不能超過maxtokens值。刪除多餘的令牌。

4. 檢查資料包一致性。

使用管制也可以實現速率限制。這是一個配置示例，用於在使用基於類的策略的乙太網介面上提供速率限制。

class-map match-all rtp1

match ip rtp 2000 10

!

policy-map p3b

class rtp1

police 200000 6250 6250 conform-action transmit exceed-action drop violate-action    drop

policy-map p2

class rtp1

police 250000 7750 7750 conform-action transmit exceed-action drop violate-action    drop

!

interface Ethernet3/0

service-policy output p3b

service-policy input p2

show policy-map interface命令的輸出示例正確說明了所提供的速率和丟棄速率以及一致和超過bps速率的計算和同步值。

router#show policy-map interface ethernet 3/0

Ethernet3/0

Service-policy input: p2

Class-map: rtp1 (match-all)

88325 packets, 11040625 bytes

30 second offered rate 400000 bps, drop rate 150000 bps

Match: ip rtp 2000 10

police:

250000 bps, 7750 limit, 7750 extended limit

conformed 55204 packets, 6900500 bytes; action: transmit

exceeded 33122 packets, 4140250 bytes; action: drop

conformed 250000 bps, exceed 150000 bps violate 0 bps

Service-policy : p3b

Class-map: rtp1 (match-all)

88325 packets, 11040625 bytes

30 second offered rate 400000 bps, drop rate 50000 bps

Match: ip rtp 2000 10

police:

200000 bps, 6250 limit, 6250 extended limit

conformed 44163 packets, 5520375 bytes; action: transmit

exceeded 11041 packets, 1380125 bytes; action: drop

conformed 200000 bps, exceed 50000 bps violate 0 bps

Class-map: class-default (match-any)

0 packets, 0 bytes

30 second offered rate 0 bps, drop rate 0 bps

Match: any

CAR和基於類的策略計數器的已知問題

此表列出show policy-map或show interface rate-limit命令中顯示的計數器的已解決問題。已登入的註冊客戶可在Bug Search Tool中檢視錯誤資訊。

症狀

已解決的錯誤ID和解決方法

低於預期的丟棄計數器

- 思科錯誤ID CSCdv41231（僅限註冊客戶）

當輸入分層服務策略在父級和子級級別使用police命令時，監察器丟棄的資料包數可能小於預期數量，因為父級監察器在丟棄資料包之前必須擁塞。以下是此類策略的一個示例：

policy-map child

class dscp1

police cir 100000 bc 3000 conform-action transmit exceed-action drop

!

policy-map parent

class rtp1

police cir 250000 bc 7750 conform-action transmit exceed-action drop

service-policy child

作為解決方法，可建立單獨的策略並在入站和出站分別應用一個策略，以避免配置分層策略。

使預期丟棄率和吞吐量加倍

- 思科錯誤ID CSCds23924（僅限註冊客戶）

Cisco Express Forwarding(CEF)定義用於將封包從輸入介面轉送到輸出介面的IOS交換機制。根據此錯誤ID實作的變更之前，CEF和已設定的QoS機制（例如CAR或類別型管制）都會增加封包計數器。結果就是所謂的雙重記帳、膨脹一致資料包和超額丟棄值。

- 思科錯誤ID CSCdr40598（僅限註冊客戶）

在Cisco 12000系列上，當啟用輸出CAR且輸入線路卡為引擎2時，輸出計數器會加倍。這種雙重記賬是由處理輸出計數器的方式造成的。

- 思科錯誤ID CSCdv84259（僅限註冊客戶）

如果您在Cisco 7500系列路由器上全域性啟用ip cef distributed命令，則會顯示非多功能介面處理器(VIP)卡介面，且預設會啟用ip route-cache distributed命令。非VIP不支援分散式CEF，非VIP上顯示的此命令罕見的副作用是雙重記帳。

無捨棄或捨棄率

通常，當您應用基於類的QoS功能時，故障排除的第一步是確保QoS分類機制正常工作。換句話說，請確保在類對映的match語句中指定的資料包命中正確的類。
router#show policy-map interface

ATM4/0.1

Service-policy input: drop-inbound-http-hacks (1061)

Class-map: http-hacks (match-any) (1063/2)

149 packets, 18663 bytes

5 minute offered rate 2000 bps, drop rate 0 bps

Match: protocol http url "*cmd.exe*" (1067)

145 packets, 18313 bytes

5 minute rate 2000 bps

Match: protocol http url "*.ida*" (1071)

0 packets, 0 bytes

5 minute rate 0 bps

Match: protocol http url "*root.exe*" (1075)

4 packets, 350 bytes

5 minute rate 0 bps

Match: protocol http url "*readme.eml*" (1079)

0 packets, 0 bytes

5 minute rate 0 bps

police:

1000000 bps, 31250 limit, 31250 extended limit

conformed 0 packets, 0 bytes; action: drop

exceeded 0 packets, 0 bytes; action: drop

violated 0 packets, 0 bytes; action: drop

conformed 0 bps, exceed 0 bps violate 0 bps

- 思科錯誤ID CSCds34478（僅限註冊客戶）

當啟用CEF而不是DCEF並將輸入策略連線到ATM PVC時，分類失敗。在Cisco IOS軟體版本12.1T中，當啟用CEF（而不是DCEF）並將輸出原則附加到ATM PVC時，輸出分類失敗。

異常或不一致的丟包率

- 思科錯誤ID CSCdw50583（僅限註冊客戶）

類對映中顯示的丟棄率與策略操作指示的丟棄率不匹配。在此示例輸出中，類的丟棄率為745000 bps，而管制操作顯示的丟棄率為1072000 bps。

router#show policy-map interface

Serial3/0.1: DLCI 13 -

Service-policy output: out

Class-map: c2 (match-all)

172483 packets, 91760956 bytes

30 second offered rate 1384000 bps, drop rate 745000 bps

Match: ip precedence 0

police:

384000 bps, 1500 limit, 1500 extended limit

conformed 38903 packets, 20696396 bytes; action: transmit

exceeded 133580 packets, 71064560 bytes; action: drop

conformed 311000 bps, exceed 1072000 bps violate 0 bps

相關資訊

- 配置承諾訪問速率

- 使用CAR管制

- 在DOS攻擊期間使用CAR

- QoS技術支援頁面

- IP 路由通訊協定支援頁面

- IP 路由支援頁面

- 技術支援與文件 - Cisco Systems