本文包含基本疑難排解步驟、服務品質(QoS)限制,並提供有關疑難排解Catalyst 6500交換器上常見QoS問題的資訊。本文檔還討論在分類、標籤和管制時發生的QoS問題。
本文件沒有特定需求。
本檔案中的資訊是根據Catalyst 6500系列交換器。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
QoS是一種用於對流量進行分類並提供確定性交付服務的網路功能。以下專案說明QoS流程中的各個步驟:
輸入調度 — 由硬體埠ASIC處理,並且是第2層QoS操作。它不需要策略功能卡(PFC)。
Classification — 由Supervisor和/或PFC通過訪問控制清單(ACL)引擎處理。管理引擎處理第2層QoS操作。PFC處理第2層和第3層QoS操作。
管制 — 由PFC透過第3層轉送引擎處理。PFC是必需的,它處理第2層和第3層QoS操作。
資料包重寫 — 由硬體埠ASIC處理。它是基於先前完成的分類的第2層和第3層QoS操作。
輸出調度 — 由硬體埠ASIC處理。它是基於先前完成的分類的第2層和第3層QoS操作。
Catalyst 6500交換器中的QoS運作方式與路由器中的不同。Catalyst 6500交換器中的QoS架構相當複雜。建議您瞭解Catalyst 6500中的多層交換器功能卡(MSFC)、PFC和Supervisor Engine架構。在混合作業系統中設定QoS需要深入瞭解第2層CatOS功能和使用Cisco IOS®功能的第3層MSFC。建議您在配置QoS之前深入閱讀這些文檔:
本節包含用於QoS的基本逐步故障排除過程,以便隔離問題以進行進一步的故障排除。
啟用QoS - show mls qos命令顯示策略統計資訊和QoS狀態(無論已啟用還是已禁用)。
Switch#show mls qos QoS is enabled globally QoS ip packet dscp rewrite enabled globally Input mode for GRE Tunnel is Pipe mode Input mode for MPLS is Pipe mode Vlan or Portchannel(Multi-Earl)policies supported: Yes Egress policies supported: Yes ----- Module [5] ----- QoS global counters: Total packets: 244 IP shortcut packets: 0 Packets dropped by policing: 0 IP packets with TOS changed by policing: 5 IP packets with COS changed by policing: 4 Non-IP packets with COS changed by policing: 0 MPLS packets with EXP changed by policing: 0
使用信任埠的入站流量分類 — 此分類將入站流量分類到七個服務類別(CoS)值之一。入站流量可以具有源已分配的CoS值。在這種情況下,您需要將連線埠設定為信任傳入流量的CoS值。信任使交換機能夠維護接收幀的CoS或服務型別(ToS)值。此命令顯示如何驗證連線埠信任狀態:
Switch#show queueing int fa 3/40 Port QoS is enabled Trust state: trust CoS Extend trust state: not trusted [CoS = 0] Default CoS is 0 !--- Output suppressed.
CoS值僅由交換機間鏈路(ISL)和dot1q幀承載。未標籤的幀不承載CoS值。未標籤的訊框的確會攜帶ToS值,這些值是從IP封包標頭的IP優先順序或區別服務代碼點(DSCP)派生的。為了信任ToS值,您需要將埠配置為信任IP優先順序或DSCP。DSCP向後相容IP優先順序。例如,如果將交換器連線埠設定為第3層連線埠,它不會傳送dot1q或ISL訊框。在這種情況下,您需要將此埠配置為信任DSCP或IP優先順序。
Switch#show queueing interface gigabitEthernet 1/1 Interface GigabitEthernet1/1 queueing strategy: Weighted Round-Robin Port QoS is enabled Trust state: trust DSCP Extend trust state: not trusted [COS = 0] Default CoS is 0 !--- Output suppressed.
使用ACL和ACE對入站流量進行分類 — 您還可以配置交換機以對流量進行分類和標籤。配置分類和標籤包括的步驟有:建立訪問清單、類對映和策略對映,然後發出service-policy input命令以將策略對映應用到介面。可以驗證策略對映統計資訊,如下所示:
Switch#show policy-map interface fa 3/13 FastEthernet3/13 Service-policy input: pqos2 class-map: qos1 (match-all) Match: access-group 101 set precedence 5: Earl in slot 5 : 590 bytes 5 minute offered rate 32 bps aggregate-forwarded 590 bytes Class-map: class-default (match-any) 36 packets, 2394 bytes 5 minute offered rate 0 bps, drop rate 0 bps Match: any Switch#show mls qos ip ingress QoS Summary [IPv4]: (* - shared aggregates, Mod - switch module) Int Mod Dir Class-map DSCP Agg Trust Fl AgForward-By AgPoliced-By Id Id ------------------------------------------------------------------------------- Fa3/13 5 In qos1 40 1 No 10 590 0 All 5 - Default 0 0* No 0 365487 0
請注意,與class-map qos1對應的計數器AgForward-By增加。如果您沒有看到相應類對映的統計資訊,請驗證附加到類對映的訪問清單。
輸入調度 — 配置輸入排程不需要PFC。不能在單個10/100埠上配置rcv-queue threshold或set qos drop-threshold命令。這是因為輸入排程由包含12個10/100埠的Coil ASIC埠處理。因此,您必須在包含12個埠的組(例如1-12、13-24、25-36、37-48)中配置輸入排程。
排隊架構內建於ASIC中,無法重新配置。發出show queueing interface fastethernet slot/port | include type命令檢視LAN埠的隊列結構。
Switch#show queueing interface fastEthernet 3/40 Queueing Mode In Rx direction: mode-cos Receive queues [type = 1q4t]: <--------- 1 Queue 4 Threshold Queue Id Scheduling Num of thresholds ----------------------------------------- 1 Standard 4 queue tail-drop-thresholds -------------------------- 1 50[1] 60[2] 80[3] 100[4] <------ Threshold levels 50%, 60%, 80% and 100% Packets dropped on Receive: BPDU packets: 0 queue thresh dropped [cos-map] --------------------------------------------------- 1 1 0 [0 1 ] 1 2 0 [2 3 ] 1 3 0 [4 5 ] 1 4 0 [6 7 ] !--- Output suppressed.
預設情況下,所有4個閾值都是100%。您可以發出rcv-queue threshold <Queue Id> <Threshold 1> <Threshold 2> <Threshold 3> <Threshold 14>命令以配置閾值級別。這樣,在擁塞期間,在降低CoS值資料之前,不會丟棄較高的CoS值資料。
Switch(config)#interface range fa 3/37 - 48 Switch(config-if-range)#rcv-queue threshold 1 50 60 80 100
Mapping — 如果埠配置為信任CoS,則使用CoS-DSCP對映表將接收的CoS值對映到內部DSCP值。
Switch#show mls qos maps cos-dscp Cos-dscp map: cos: 0 1 2 3 4 5 6 7 ------------------------------------ dscp: 0 8 16 24 32 40 48 56
如果連線埠設定為信任信任IP優先順序,請使用ip-prec-dscp對應表將接收的IP優先順序值對應到內部DSCP值。
Switch#show mls qos maps ip-prec-dscp IpPrecedence-dscp map: ipprec: 0 1 2 3 4 5 6 7 ------------------------------------ dscp: 0 8 16 24 32 40 48 56
如果埠配置為信任DSCP,則將收到的DSCP值用作內部DSCP值。
網路中所有交換機的這些表應該相同。如果任一交換機具有具有不同對映的表,則不會收到預期結果。您可以更改這些表值,如下所示:
Switch(config)#mls qos map cos-dscp 0 8 16 24 40 48 48 56 Switch(config)#mls qos map ip-prec-dscp 0 8 16 24 40 48 48 56
管制 - Catalyst 6500交換器提供兩種管制型別:
聚合策略 — 聚合策略控制交換機中流的頻寬。show mls qos aggregate-policer命令顯示交換機上配置的所有已配置的聚合監察器。以下是策略統計資訊:
Switch#show mls qos ip fastEthernet 3/13 [In] Policy map is pqos2 [Out] Default. QoS Summary [IPv4]: (* - shared aggregates, Mod - switch module) Int Mod Dir Class-map DSCP Agg Trust Fl AgForward-By AgPoliced-By Id Id ------------------------------------------------------------------------------- Fa3/13 5 In qos1 0 1* dscp 0 10626 118860 Fa3/13 5 In class-defa 40 2 No 0 3338 0 Switch#show mls qos QoS is enabled globally QoS ip packet dscp rewrite enabled globally Input mode for GRE Tunnel is Pipe mode Input mode for MPLS is Pipe mode Vlan or Portchannel(Multi-Earl) policies supported: Yes Egress policies supported: Yes ----- Module [5] ----- QoS global counters: Total packets: 163 IP shortcut packets: 0 Packets dropped by policing: 120 IP packets with TOS changed by policing: 24 IP packets with COS changed by policing: 20 Non-IP packets with COS changed by policing: 3 MPLS packets with EXP changed by policing: 0
微流管制 — 微流管制控制交換機中每個介面的流頻寬。預設情況下,微流管制器僅影響路由的流量。在VLAN介面中發出mls qos bridged命令,以便為橋接流量啟用微流量管制。這是對微流策略統計資訊的驗證:
Switch#show mls ip detail Displaying Netflow entries in Supervisor Earl DstIP SrcIP Prot:SrcPort:DstPort Src i/f :AdjPtr ----------------------------------------------------------------------------- Pkts Bytes Age LastSeen Attributes --------------------------------------------------- Mask Pi R CR Xt Prio Dsc IP_EN OP_EN Pattern Rpf FIN_RDT FIN/RST ----+--+-+--+--+----+---+-----+-----+-------+---+-------+------- Ig/acli Ig/aclo Ig/qosi Ig/qoso Fpkt Gemini MC-hit Dirty Diags -------+-------+-------+-------+----+------+------+-----+------ QoS Police Count Threshold Leak Drop Bucket Use-Tbl Use-Enable -----------+------------+---------+-----------+----+-------+-------+----------+ 10.175.50.2 10.175.51.2 icmp:8 :0 -- :0x0 43 64500 84 21:37:16 L3 - Dynamic 1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0 0 0 0 NO 1518 NO NO 10.175.50.2 10.175.51.2 icmp:0 :0 -- :0x0 43 64500 84 21:37:16 L3 - Dynamic 1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0 664832 0 0 NO 1491 NO NO 0.0.0.0 0.0.0.0 0 :0 :0 -- :0x0 1980 155689 1092 21:37:16 L3 - Dynamic 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0 0 0 0 NO 0 NO NO Switch#show mls qos QoS is enabled globally QoS ip packet dscp rewrite enabled globally Input mode for GRE Tunnel is Pipe mode Input mode for MPLS is Pipe mode Vlan or Portchannel(Multi-Earl) policies supported: Yes Egress policies supported: Yes ----- Module [5] ----- QoS global counters: Total packets: 551 IP shortcut packets: 0 Packets dropped by policing: 473 IP packets with TOS changed by policing: 70 IP packets with COS changed by policing: 44 Non-IP packets with COS changed by policing: 11 MPLS packets with EXP changed by policing: 0
註:show mls qos ip type mod/number 命令不顯示微流策略統計資訊。它只顯示聚合策略統計資訊。
如果您沒有看到所需的策略統計資訊,請驗證策略配置。請參閱Catalyst 6500/6000系列交換器上的QoS管制以瞭解組態範例。此外,請參閱本檔案的Catalyst 6500交換器上的QoS原則及限制一節。
檢查您的OS版本的版本說明,並確保沒有與QoS配置相關的錯誤。
請注意您的交換機Supervisor型號、PFC型號、MSFC型號和Cisco IOS/CatOS版本。參照您的規格,請參閱Catalyst 6500交換器上的QoS原則和限制。確保您的配置適用。
在Catalyst 6500交換器上設定QoS之前,您需要瞭解以下QoS限制:
PFC或PFC2不為WAN流量提供QoS。對於PFC或PFC2,PFC QoS不會更改WAN流量中的ToS位元組。
第3層交換的輸入LAN流量不會通過MSFC或MSFC2,並保留第3層交換引擎分配的CoS值。
在使用untrusted、trust-ipprec或trust-dscp關鍵字配置的埠上,QoS不會實施入口埠擁塞規避。流量直接進入交換引擎。
交換機對傳輸僅對映到隊列的CoS值的流量使用尾部丟棄閾值。交換機對傳輸對映到隊列的CoS值的流量使用WRED丟棄閾值和閾值。
使用第3層交換引擎的分類使用第2層、第3層和第4層值。使用第3層交換引擎進行標籤時,會使用第2層CoS值和第3層IP優先順序或DSCP值。
信任成本ACL無法還原來自不受信任埠的流量中收到的CoS。來自不受信任埠的流量始終具有埠CoS值。
注意:在將策略對映附加到介面之前,PFC QoS不會檢測不受支援的命令的使用。
三元CAM(TCAM)是一塊專用記憶體,用於根據通過交換機的資料包快速查詢表,由PFC、PFC2和PFC3上的ACL引擎執行。ACL在稱為TCAM的Cisco Catalyst 6500系列交換機的硬體中處理。配置ACL時,將ACL對映到QoS,當在介面上應用QoS策略時,交換機將對TCAM進行程式設計。如果您已經將交換機上的所有可用TCAM空間用於QoS,則會遇到以下錯誤消息:
Switch(config)#interface vlan 52 Switch(config-if)#service-policy input test Switch(config-if)# 3w0d: %QM-4-TCAM_ENTRY: Hardware TCAM entry capacity exceeded
此show tcam count命令輸出顯示TCAM條目掩碼已使用95%。因此,當您在介面上應用QoS策略時,會遇到%QM-4-TCAM_ENTRY:錯誤消息。
Switch#show tcam count Used Free Percent Used Reserved ---- ---- ------------ -------- Labels:(in) 43 4053 1 Labels:(eg) 2 4094 0 ACL_TCAM -------- Masks: 19 4077 0 72 Entries: 95 32673 0 576 QOS_TCAM -------- Masks: 3902 194 95 18 Entries: 23101 9667 70 144 LOU: 0 128 0 ANDOR: 0 16 0 ORAND: 0 16 0 ADJ: 3 2045 0
TCAM條目和ACL標籤是有限的資源。因此,根據您的ACL配置,您可能需要小心不要耗儘可用資源。此外,對於大型QoS ACL和VLAN存取控制清單(VACL)組態,您還需要考慮非易失性隨機存取記憶體(NVRAM)空間。在搭載PFC的Supervisor 1a、搭載PFC2的Supervisor 2以及搭載PFC3的Supervisor 720上,可用的硬體資源會有所不同。
管理引擎模組 | QoS TCAM | ACL標籤 |
---|---|---|
Supervisor 1a和PFC | 路由器存取控制清單(RACL)、VACL和QoS ACL之間共用的2K遮罩和16K模式 | RACL、VACL和QoS ACL之間共用的512個ACL標籤 |
Supervisor 2和PFC2 | 適用於QoS ACL的4K遮罩和32K模式 | RACL、VACL和QoS ACL之間共用的512個ACL標籤 |
Supervisor 720和PFC3 | 適用於QoS ACL的4K遮罩和32K模式 | RACL、VACL和QoS ACL之間共用的512個ACL標籤 |
注意:使用預設(二進位制)配置模式時,Cisco CatOS系統範圍內存在額外的軟體限制,不受512 ACL標籤限制的影響,限製為250 QoS ACL。此限制在文本配置模式下刪除。發出set config mode text命令,將組態模式變更為文字模式。與二進位制配置模式相比,文本模式通常佔用較少的NVRAM或快閃記憶體空間。在文字模式下運作時,必須發出write memory指令,才能在NVRAM中儲存組態。發出set config mode text auto-save命令,以自動將文字組態儲存到NVRAM中。
以下是TCAM問題的解決方法:
如果您在屬於一個VLAN的多個第2層介面上實施了service-policy命令,則可以實施基於VLAN的策略,而不是基於交換機埠。範例如下:
Switch(config)#interface range fastethernet x/y - Z Switch(config-if)#mls qos vlan-based Switch(config-if)#exit Switch(config)#interface vlan 100 Switch(config-if)#service-policy input Test_Policy
禁用QoS標籤統計資訊。no mls qos marking statistics命令不允許實現最多1020個AgID。這是因為它為設定dscp策略器分配預設策略器。此方法的缺點是沒有特定監察器的統計資訊,因為它們都共用預設監察器。
Switch(config)#no mls qos marking statistics
如果可能,請在多個介面上使用相同的ACL,以減少TCAM資源爭用。
網路型應用程式辨識(NBAR)是一種分類引擎,可識別各種應用程式,包括使用動態TCP/UDP連線埠分配的網路型和其他難以分類的通訊協定。當NBAR識別和分類應用時,網路可以呼叫該特定應用的服務。NBAR對資料包進行分類,然後將QoS應用到已分類的流量,以確保有效使用網路頻寬。在使用NBAR時,如何實施QoS有一些限制:
PFC3不支援NBAR。
使用Supervisor引擎2、PFC2和MSFC2:
您可以在第3層介面上配置NBAR,而不是PFC QoS。
PFC2為配置NBAR的埠上的輸入ACL提供硬體支援。
啟用PFC QoS時,通過您配置NBAR的埠的流量會通過入口和出口隊列以及丟棄閾值。
啟用PFC QoS時,MSFC2將輸出CoS設定為等於NBAR流量中的輸出IP優先順序。
所有流量通過入口隊列後,它將在您配置NBAR的介面的MSFC2上的軟體中處理。
在本機IOS軟體版本12.1(8a)EX-12.1(8b)EX5和12.1(11b)E及更高版本中,Supervisor2上千兆上行鏈路的預設QoS CoS對映已變更。所有CoS值已分配給隊列1和閾值1,並且無法更改。
在這些版本中,無法在Sup2 Gigabit上行鏈路埠上配置以下命令:
rcv-queue cos-map priority-queue wrr-queue cos-map
QoS配置有限,不能使用嚴格的優先順序隊列。這僅影響實際位於Supervisor 2引擎上的千兆埠。其他線卡模組上的Gigabit埠不受影響。
韌體升級可以解決此問題。此升級可通過軟體完成。如果需要韌體升級,請聯絡技術支援。請注意,僅當Supervisor2的硬體版本低於4.0時,才需要升級韌體。如果Supervisor2的硬體版本是4.0或更高版本,則應在未升級韌體的千兆上行鏈路埠上允許QoS。您可以發出show module命令以尋找韌體級別。此問題在Cisco錯誤ID CSCdw89764(僅限註冊客戶)中識別。
若要將策略對映應用於介面,請發出service-policy命令。如果策略對映中有不受支援的命令,則在使用service-policy命令應用該命令後,交換機將在控制檯上提示錯誤消息。在對服務策略相關問題進行故障排除時,需要考慮以下幾點。
不要將服務策略附加到EtherChannel成員的埠。
安裝了分散式轉送卡(DFC)後,PFC2便不支援基於VLAN的QoS。您不能發出mls qos vlan-based命令或將服務策略連線到VLAN介面。
PFC QoS僅支援PFC3的output關鍵字,且僅支援第3層介面(配置為第3層介面的LAN埠或VLAN介面)。 使用PFC3,您可以將輸入和輸出策略對映連線到第3層介面。
第2層埠上基於VLAN或基於埠的PFC QoS與使用output關鍵字連線到第3層介面的策略無關。
附加了output關鍵字的策略不支援微流管制。
不能附加使用service-policy命令輸出配置信任狀態的策略對映。
PFC QoS不支援使用輸出降級的輸入降級或使用輸出降級的輸入降級。
在FlexWan模組上的多鏈路上配置QoS時,無法在show running-config命令輸出中看到service-policy命令輸出。當交換器執行低於12.2SX的Cisco IOS版本時,會發生這種問題。Cisco 7600系列的FlexWAN在非捆綁介面上支援dLLQ。在MLPPP捆綁介面上不支援dLLQ。Cisco IOS軟體版本12.2S提供此類支援。
繞過此限制的解決方法是將服務策略連線到非捆綁介面,或者將Cisco IOS版本升級到12.2SX或更高版本(此功能受支援)。
管制在PFC上的硬體中執行,不受交換機效能的影響。沒有PFC,無法在6500平台上執行管制。在混合作業系統中,必須在CatOS上配置管制。排除策略問題故障時,需要考慮以下幾點:
對同一流量同時應用輸入策略和輸出策略時,輸入策略和輸出策略必須標籤掉流量或丟棄流量。PFC QoS不支援使用輸出降級的輸入降級或使用輸出降級的輸入降級。
當您建立不使用pir關鍵字的策略器時,且maximum_burst_bytes引數等於normal_burst_bytes引數(如果不輸入maximum_burst_bytes引數就屬於這種情況),exceed-action policed-dscp-transmit關鍵字會導致PFC QoS按照policed-dscp max-burst markdown對映的定義將流量降級。
當丟棄超過操作時,PFC QoS會忽略任何已配置的違反操作。
將丟棄配置為符合操作時,PFC QoS將丟棄配置為超出操作和違反操作。
微流管制、NetFlow和NetFlow資料匯出(NDE)的流掩碼要求可能會發生衝突。
在執行混合OS的Catalyst 6500交換器上,速率限制組態不會提供所需的輸出。例如,如果您在MSFC上在interface vlan命令下設定rate-limit命令,則實際上不會限制流量。
interface Vlan10 rate-limit input 256000 2000 2000 conform-action transmit exceed-action drop rate-limit output 256000 2000 2000 conform-action transmit exceed-action drop
或:
interface Vlan10 service-policy input Test_Policy
發生這種情況的原因是MSFC只處理控制功能,但實際流量轉發發生在Supervisor上的PFC ASIC上。MSFC編譯FIB和鄰接表以及其他控制資訊,並將其下載到PFC以在硬體中實施。使用您建立的組態,您只會對軟體交換流量進行速率限制,該流量應降至最低(或無)。
因應措施是使用CatOS命令列介面(CLI)設定Supervisor上的速率限制。有關如何在CatOS中設定QoS原則制的詳細說明,請參閱CatOS QoS。您也可以參閱Catalyst 6500/6000系列交換器上的QoS管制來檢視組態範例。
將服務策略輸入應用到Cisco 7600上的介面時,將顯示以下錯誤消息:
7600_1(config)#int Gi 1/40 7600_1(config-if)#service-policy input POLICY_1 shape average command is not supported for this interface
Cisco 7600中的VLAN介面不支援shape average命令。您需要使用管制。
7600_1(config)#policy-map POLICY_1 7600_1(config-pmap)#class TRAFFIC_1 7600_1(config-pmap-c)#policeconform-action transmit exceed-action drop
有關如何實施策略以限制速率流量的策略的詳細資訊,請參閱配置策略對映類策略。
將此服務策略連線到VLAN介面(SVI)時,需要在屬於要應用此策略對映的此VLAN的所有第2層埠上啟用基於VLAN的QoS。
7600_1(config)#interface Gi 1/40 7600_1(config-if)#mls qos vlan-based
如需詳細資訊,請參閱在第2層LAN連線埠上啟用基於VLAN的PFC QoS。
QoS-ERROR: Addition/Modification made to policymap vtc-map and class voice-video is not valid, command is rejected
此錯誤訊息表示在Cisco Catalyst 6500系列交換器中不允許上述類別中定義的動作。在配置策略對映類操作期間有一些限制。
不能在策略對映類中同時執行這三個操作:
使用set命令標籤流量
配置信任狀態
配置管制
只能使用set命令標籤流量。
或
配置信任狀態和/或配置管制。
對於硬體交換流量,PFC QoS不支援bandwidth、priority、queue-limit或random-detect策略對映類命令。您可以配置這些命令,因為它們可用於軟體交換流量。
PFC QoS不支援set qos-group policy map class命令。
有關此類限制的詳細資訊,請參閱配置策略對映類操作。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
03-Oct-2006 |
初始版本 |