本文回答有關Cisco Catalyst 9000系列交換機輸出丟棄的常見問題。
思科建議您深入瞭解交換概念,包括介面緩衝和服務品質(QoS)設定。
本檔案適用於所有Cisco Catalyst 9000系列交換器,並不限於特定硬體或軟體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
當介面出口緩衝區耗盡時,就會發生輸出丟棄,從而導致資料包丟失和網路效能下降。常見原因包括網路擁塞、流量微爆發、配置錯誤或硬體限制。本常見問題解答文檔解答有關Cisco Catalyst 9000系列交換機輸出丟棄的常見問題。它提供有關確定根本原因、故障排除方法以及恢復網路效率和可靠性的建議實踐的指導。
A. Cisco Catalyst 9000交換器上的輸出捨棄是指即使封包已由裝置處理,但遭捨棄且無法從介面傳輸的資料包數量。當介面的輸出隊列已滿時會發生這種情況。交換器介面具有硬體緩衝區,可在封包從連線埠傳輸或轉送出去之前臨時儲存封包。當傳出流量的速率超過硬體傳輸該流量的速率時,緩衝區會變滿,到達隊列的所有額外資料包都會被丟棄。
A.使用命令show interfaces <interface>並查詢total output drops計數器,該計數器表示在該介面的輸出隊列上丟棄的資料包數。
範例:
GigabitEthernet1/0/1 is up, line protocol is up (connected)
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 3089
Queueing strategy: fifo
Output queue: 0/40 (size/max)
答:Catalyst 9000交換機上的輸出丟棄通常發生在由於各種擁塞或配置問題導致資料包在傳輸之前被丟棄時。常見原因包括:
A.微突發是發生在微秒或毫秒內的高強度、短持續時間的流量峰值。它們會立即耗盡Catalyst 9000交換器上的輸出硬體緩衝區,導致輸出下降。因為標準監控工具可以按較長的時間間隔對流量進行平均,所以這些突發事件通常是不可見的。即使介面的平均利用率在容量內表現良好,這也會導致資料包丟失。因此,在高速網路環境中,這些臨時峰值是導致擁塞的主要原因。
答:不,即使在正常的網路中,短流量突發期間也可能會發生輸出丟棄。現代交換機使用基於緩衝區的隊列,並且偶爾發生丟包而不會影響應用程式。當出現以下情況時,丟棄通常會出現問題:
下降持續增加
應用程式遇到延遲或丟包
TCP重傳次數增加
即時應用(VoIP/影片)受到影響
A.即使介面利用率遠低於鏈路的最大頻寬(例如,千兆介面上的1000 MBPS以下),也可能會發生輸出丟棄。 發生這種情況是因為網路流量無法以完全平滑和連續的方式傳輸。在理想情況下,所有位均通過鏈路均勻傳輸,並且所有裝置以精確同步的時間間隔傳送流量。但是,在真實的網路中,裝置可以根據需要隨時傳輸流量。因此,多個資料包可以同時到達交換機,並且必須通過同一傳出介面傳輸。為了處理這種情況,交換器在每個介面上使用硬體緩衝區。這些緩衝區臨時儲存同時到達的資料包,以便它們可以通過鏈路按順序傳輸。如果特定時刻到達介面的資料包數量超過了可用緩衝區容量,交換機將無法儲存所有資料包。如果發生這種情況,多餘的資料包會被丟棄,從而導致輸出丟棄。
這就是即使在平均頻寬使用率相對較低(例如,1 GBPS介面上的300 MBPS)時仍有可能觀察到輸出丟棄的原因。 平均利用率可能看起來較低,但短暫的突發流量可能會暫時超過介面傳輸資料包的能力或超過可用的緩衝區容量。
還必須注意的是,通過SNMP監控工具或show interface命令顯示的介面利用率值基於時間間隔內的平均流量測量值,如30秒或5分鐘。這些平均值並不反映可能在毫秒內發生的非常短暫的流量峰值。
答:您可以通過多種技術管理和減少Catalyst 9000交換機上的輸出丟棄,而無需升級物理鏈路速度:
此命令會增加埠隊列閾值,以便隊列可以在需要時佔用共用緩衝池中的更多緩衝單元。這通常用作一種快速緩解技術,用於減少流量突發引起的輸出丟棄。但是,由於緩衝區是共用資源,因此配置假定並非所有埠上同時發生微突發。
每隊列緩衝區修改(QoS策略調整):如果SoftMax乘數不足,可以使用QoS策略對映在隊列級別調整緩衝區分配。這樣,管理員可以為特定流量類分配更多緩衝區空間、修改隊列緩衝區比率以及配置關鍵流量的優先順序隊列。當特定流量型別需要專用緩衝區資源或流量量變曲線差異較大時,此方法非常有用。
範例:
policy-map QOS-POLICY
class VOICE
priority level 1
queue-buffers ratio 50
class class-default
queue-buffers ratio 50
範例:
policy-map SHAPE-POLICY
class class-default
shape average
範例:
port-channel load-balance src-dst-ip
A.消除產出下降的最有效解決辦法是:
答:對於Catalyst 9000交換機,可以使用show platform hardware fed active qos queue stats interface <port>命令檢查詳細的硬體隊列統計資訊。此命令提供詳細的統計資訊,包括指定介面上每個隊列的緩衝區使用情況、入隊計數和丟棄計數器,從而有助於監控隊列效能和識別擁塞或資料包丟棄。
範例:
show platform hardware fed switch active qos queue stats interface Gig 1/0/1
DATA Port:0 Enqueue Counters
---------------------------------------------------------------------------------------------
Q Buffers Enqueue-TH0 Enqueue-TH1 Enqueue-TH2 Qpolicer
(Count) (Bytes) (Bytes) (Bytes) (Bytes)
- ------- -------------------- -------------------- -------------------- --------------------
0 0 0 0 384251797 0
1 0 0 0 488393930284 0
...
DATA Port:0 Drop Counters
-------------------------------------------------------------------------------------------------------------------------------
Q Drop-TH0 Drop-TH1 Drop-TH2 SBufDrop QebDrop QpolicerDrop
(Bytes) (Bytes) (Bytes) (Bytes) (Bytes) (Bytes)
- -------------------- -------------------- -------------------- -------------------- -------------------- --------------------
0 0 0 0 0 0 0
1 0 0 192308101 0 0 0
...
A.為了驗證QoS是否負責輸出丟棄,請使用命令show policy-map interface <interface>和queue counters檢查QoS策略統計資訊。如果在特定QoS類下丟棄計數器增加,則可能由QoS隊列限制或策略導致。如果可能,在維護期間,使用命令no service-policy output <policy-name>暫時從介面刪除QoS策略,並監視輸出丟棄是否繼續。如果在刪除策略後停止丟包,則可能是QoS配置導致了丟包。
範例:
sh policy-map interface gigabitEthernet 1/0/1
GigabitEthernet1/0/1
Service-policy output: TEST
Class-map: class-default (match-any)
0 packets
Match: any
Queueing
(total drops) 587230
(bytes output) 834545
...
答:是的,當多個高速流在單個埠上收斂時,即使是10G或40G等高速介面也會遇到輸出下降,從而導致介面緩衝區不堪重負。此外,微猝發(超過介面頻寬的短突發流量)可能會快速耗盡埠緩衝區,導致丟包。
A.輸出丟棄通常不是由硬體故障引起的。它們通常由流量擁塞引起,高流量率或微突發導致介面緩衝區不堪重負。硬體相關丟包可能發生,但通常與特定錯誤條件相關聯,與擁塞相關丟包相比,這種情況非常罕見。因此,輸出丟棄主要與網路流量狀況有關,而不是與硬體故障有關。監控介面錯誤(如FCS/CRC錯誤)有助於識別硬體問題(如果存在),但這些問題與由擁塞引起的輸出丟棄不同。
A.軟體缺陷導致的輸出丟棄非常少見,而且大多是無關緊要的,對流量沒有實質影響。大多數輸出丟棄主要是由流量擁塞和緩衝區耗盡引起的。
答:是。等價多路徑(ECMP)路由和負載平衡通過將流量平均分配到多個等價路徑到目的地來降低擁塞。此方法提高了頻寬利用率,防止任何單個路徑成為瓶頸。
答:是,輸出丟棄影響UDP流量的方式與TCP不同,因為UDP是一種無連線協定,不會重新傳輸丟失的資料包,因此任何資料包丟失都會直接影響到語音或影片等應用程式,這些應用程式依賴於及時傳輸。相反,TCP包含重傳機制,可嘗試恢復丟失的資料包,減輕丟棄的影響。因此,在基於UDP的即時應用程式中,輸出丟棄會導致更明顯的降級,因為丟失的資料包無法恢復,並且可能導致品質問題。
答:介面上的輸入丟棄通常發生在輸入隊列變得不堪重負,並且處理資料包的速度不夠快時,導致基於排隊演算法的選擇性資料包丟棄。當由於輸出隊列中的擁塞或緩衝區耗盡而離開介面時丟棄資料包時,會發生輸出丟棄。輸入捨棄與輸入處理限制相關,而輸出捨棄主要由輸出擁塞和緩衝區溢位引起。這些丟棄可能受流量突發、平台限制以及管理擁塞和緩衝區分配的服務品質(QoS)配置等因素影響。
答:是的,大型備份作業(如資料備份、複製或批次傳輸)通常會產生突發流量,這些流量可能會淹沒介面緩衝區,從而導致輸出丟棄。這些突發會導致輸出介面上出現臨時擁塞,尤其是當傳出頻寬低於傳入流量速率時,或者當多個高速流在單個埠上收斂時。
答:為了確認由流量突發引起的輸出丟棄,您可以在發生輸出丟棄時,使用結合Wireshark的SPAN作業階段來擷取和分析受影響介面上的輸出流量。觀察以下步驟,驗證流量突發觸發輸出丟棄。
monitor session 1 source interfaceTx
monitor session 1 destination interface
Replacewith the interface where output drops are seen for the source.
Replacewith the interface connected to the laptop for the destination.
在毫秒範圍內查詢超過介面轉發速度的流量峰值(例如,1 GBPS介面為1,000,000位/毫秒)。 當流量超過此轉送速度時,交換器會緩衝封包,這可能會導致擁塞和輸出捨棄。通過觀察流量高峰以及流量過低或無流量週期來識別流量猝發(微猝發)。在Wireshark中,按一下一個峰值選擇相應的資料包,從而進一步分析觸發丟棄的流量。下一張圖顯示遇到輸出丟棄的介面的更新I/O圖形。

誤解:任何輸出丟棄都表示網路出現故障。
現實:在高速網路中,由於微突發或短流量高峰,少量輸出丟棄是正常現象。
誤解:如果介面利用率較低,則決不能發生丟棄。
現實:利用率是以一段時間的平均值來衡量的。微爆發可能暫時超出介面頻寬,即使平均利用率較低也會造成資料丟失。
誤解:輸出丟棄表示交換機硬體出現故障。
現實:輸出丟棄通常由流量擁塞或突發流量引起,而不是由硬體問題引起。
誤解:增加緩衝區分配將防止所有丟棄。
現實:緩衝區只能吸收臨時突發。持續擁塞仍將導致丟包。
誤解:只有1G介面遇到輸出丟棄。
現實:當流量突發超過可用頻寬或緩衝區容量時,10G、25G、40G或高速介面上可能會發生丟棄。
誤解:QoS必須消除所有丟包/防止資料包丟失。
現實:QoS可以優先處理重要的流量,但在擁塞時,它可能會故意丟棄優先順序較低的流量。
誤解:任何輸出丟棄都會造成使用者影響。
現實:許多應用程式使用TCP重傳,它可以從偶爾的丟包中恢復而不會產生明顯的影響。
誤解:僅當介面達到100%利用率時才會發生丟棄。
現實:即使平均利用率仍然較低,流量在短時間突發期間也可能發生丟棄。
誤解:QoS配置始終是丟棄的原因。
現實:大多數丟棄是由流量模式或超訂用引起的,而不是QoS策略。
誤解:正常的網路絕不能出現輸出丟棄。
現實:在高效能交換環境中,偶爾出現丟包是正常現象。
| 修訂 | 發佈日期 | 意見 |
|---|---|---|
1.0 |
22-Apr-2026
|
初始版本 |