目錄

簡介

必要條件

需求

採用元件

程式

其他資訊

相關資訊

簡介

本文說明如何提取與針對使用簡單網路管理通訊協定(SNMP)的控制平面應用的Class Based Quality of Service(QoS)詳細資訊(CISCO-CLASS-BASED-QOS-MIB)相關的各種值。

必要條件

需求

- Net-SNMP或任何類似的基於命令列的實用程式，運行在基於UNIX的作業系統上，從思科裝置輪詢SNMP管理資訊庫(MIB)。Net-SNMP是第三方開放原始碼實用程式，可從此處下載 。

- 確保已配置控制階段管制(CoPP)。

採用元件

本文中的資訊係根據以下軟體和硬體版本：

- Cisco IOS®軟體版本12.0(3)T或更新版本

- Cisco Catalyst 6500系列交換器

- Cisco SNMP物件導覽器

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

程式

1. 獲取控制平面的ifindex(1.3.6.1.2.1.2.2.1.1)，如以下示例輸出所示：
show snmp mib ifmib ifindex | include Cont

Control Plane: Ifindex = 268

您也可以使用SNMP達成此目的，如以下範例所示：

UNIX #snmpwalk -v2c -c

| grep -i control plane

IF-MIB::ifDescr.268 = STRING: Control Plane

請注意，在此輸出中，ifIndex為268。

2. 獲取路由器中對應的IfIndex的cbQosIfindex(1.3.6.1.4.1.9.9.166.1.1.1.1.4:
UNIX # snmpwalk -v 2c -c

1.3.6.1.4.1.9.9.166.1.1.1.1.4 | grep -i 268

SNMPv2-SMI::enterprises.9.9.166.1.1.1.1.4.225 = INTEGER: 268

cbQosPolicyIndex(1.3.6.1.4.1.9.9.166.1.1.1.1.1)為225。

3. cbQosCMName(1.3.6.1.4.1.9.9.166.1.7.1.1.1)是檢索路由器上配置的類對映名稱的MIB對象。這會導致使用它們的索引設定的各種類對映的輸出。例如，cbQosConfigIndex(1.3.6.1.4.1.9.9.166.1.5.1.1.2)。
UNIX #snmpwalk -v2c -c

1.3.6.1.4.1.9.9.166.1.7.1.1.1

範例

UNIX # snmpwalk -v2c -c

1.3.6.1.4.1.9.9.166.1.7.1.1.1 | egrep -i "copp|class"

SNMPv2-SMI::enterprises.9.9.166.1.7.1.1.1.1593 = STRING: "class-default"

SNMPv2-SMI::enterprises.9.9.166.1.7.1.1.1.274033342 = STRING: "CoPP-IMPORTANT"

SNMPv2-SMI::enterprises.9.9.166.1.7.1.1.1.280880137 = STRING: "CoPP-Match-all"

SNMPv2-SMI::enterprises.9.9.166.1.7.1.1.1.321645237 = STRING: "CoPP-NORMAL"

SNMPv2-SMI::enterprises.9.9.166.1.7.1.1.1.347132543 = STRING: "CoPP-CRITICAL2"

SNMPv2-SMI::enterprises.9.9.166.1.7.1.1.1.373457077 = STRING: "CoPP-BAD"

SNMPv2-SMI::enterprises.9.9.166.1.7.1.1.1.383240351 = STRING: "CoPP-CRITICAL"

請注意突出顯示的值274033342，即cbQosConfigIndex。

4. 使用cbQosConfigIndex為特定類對映獲取cbQosPolicyIndex(1.3.6.1.4.1.9.9.166.1.1.1.1.1)和cbQosObjectsIndex(1.3.6.1.4.1.9.9.166.1.5.1.1.1)。此步驟中的示例說明如何監控class-map CoPP-IMPORTANT:
UNIX #snmpwalk -v2c -c

1.3.6.1.4.1.9.9.166.1.5.1.1.2

在以下輸出中搜尋274033342（突出顯示的步驟3中的值）以獲取OID（對象識別符號）輸出：

UNIX #snmpwalk -v2c -c

1.3.6.1.4.1.9.9.166.1.5.1.1.2

範例

UNIX# snmpwalk -v2c -c

1.3.6.1.4.1.9.9.166.1.5.1.1.2 | grep -i 'Gauge32: 274033342'

SNMPv2-SMI::enterprises.9.9.166.1.5.1.1.2.225.131072 = Gauge32: 274033342 <<<< Match these value

cbQosConfigIndex為27403342,cbQosPolicyIndex為225,cbQosObjectsIndex為131072。

現在，我們有各種選項來輪詢策略對映中的特定資料：

+—R — 計數器cbQosCMPrePolicyPktOverflow(1)

+—R — 計數器cbQosCMPrePolicyPkt(2)

+—R— Counter64 cbQosCMPrePolicyPkt64(3)

+—R — 計數器cbQosCMPrePolicyByteOverflow(4)

+—R — 計數器cbQosCMPrePolicyByte(5)

+—R— Counter64 cbQosCMPrePolicyByte64(6)

+—R — 測量cbQosCMPrePolicyBitRate(7)

+—R — 計數器cbQosCMPostPolicyByteOverflow(8)

+—R — 計數器cbQosCMPostPolicyByte(9)

+—R— Counter64 cbQosCMPostPolicyByte64(10)

+—R — 測量cbQosCMPostPolicyBitRate(11)

+—R — 計數器cbQosCMDropPktOverflow(12)

+—R — 計數器cbQosCMDropPkt(13)

+—R— Counter64 cbQosCMDropPkt64(14)

+—R — 計數器cbQosCMDropByteOverflow(15)

+—R — 計數器cbQosCMDropByte(16)

+—R— Counter64 cbQosCMDropByte64(17)

+—R — 測量cbQosCMDropBitRate(18)

+—R — 計數器cbQosCMNoBufDropPktOverflow(19)

—R — 計數器cbQosCMNoBufDropPkt(20)

—R— Counter64 cbQosCMNoBufDropPkt64(21)

例如，cbQosCMPostPolicyBitRate(1.3.6.1.4.1.9.9.166.1.15.1.1.11)是輪詢「執行QoS策略後流量的位速率」的對象。

UNIX #snmpwalk -v2c -c

1.3.6.1.4.1.9.9.166.1.15.1.1.11.225.131072

SNMPv2-SMI::enterprises.9.9.166.1.15.1.1.11.225.131072 = Gauge32: 12000

!--- Match this from the output taken from the router for verification.

此show policy-map control-plane input class CoPP-IMPORTANT命令輸出顯示來自路由器的摘錄，以匹配來自snmpwalk和路由器計數器的值：

Router # show policy-map control-plane input class CoPP-IMPORTANT

Control Plane

Service-policy input: CoPP

Hardware Counters:

class-map: CoPP-IMPORTANT (match-all)

Match: access-group 121

police :

10000000 bps 312000 limit 312000 extended limit

Earl in slot 1 :

2881610867 bytes

5 minute offered rate 13072 bps

aggregate-forwarded 2881610867 bytes action: transmit

exceeded 0 bytes action: drop

aggregate-forward 13248 bps exceed 0 bps

Earl in slot 2 :

0 bytes

5 minute offered rate 0 bps

aggregate-forwarded 0 bytes action: transmit

exceeded 0 bytes action: drop

aggregate-forward 0 bps exceed 0 bps

Earl in slot 3 :

0 bytes

5 minute offered rate 0 bps

aggregate-forwarded 0 bytes action: transmit

exceeded 0 bytes action: drop

aggregate-forward 0 bps exceed 0 bps

Earl in slot 5 :

0 bytes

5 minute offered rate 0 bps

aggregate-forwarded 0 bytes action: transmit

exceeded 0 bytes action: drop

aggregate-forward 0 bps exceed 0 bps

Software Counters:

Class-map: CoPP-IMPORTANT (match-all)

16197981 packets, 3101873552 bytes

5 minute offered rate 12000 bps, drop rate 0000 bps

Match: access-group 121

police:

cir 10000000 bps, bc 312500 bytes, be 312500 bytes

conformed 16198013 packets, 3101878887 bytes; actions:

transmit

exceeded 0 packets, 0 bytes; actions:

drop

violated 0 packets, 0 bytes; actions:

drop

conformed 12000 bps, exceed 0000 bps, violate 0000 bps

也可以使用此過程查詢/確認輪詢所需的OID。

其他資訊

您可以使用SNMP檢索與平台相關的這些計數器：

- 6500 - CoPP硬體計數器

- 7600 - CoPP軟體計數器

如果您嘗試透過SNMP為各自的平台反向取得計數器（硬體計數器取代軟體計數器，反之亦然），則是不可能的。這是因為各自的程式碼是透過這種方式設計的，而且知道您可能只需使用CLI來取得計數器，而且也沒有替代方法。

相關資訊

- 控制階段策略實施最佳實踐

- Cisco 7600系列路由器MIB規格指南

- 配置拒絕服務保護

- 監控CoPP

- 技術支援與文件 - Cisco Systems