本文檔針對可能造成網路速度慢的最常見問題。本文檔對常見的網路速度慢症狀進行分類,並概述診斷和解決問題的方法。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
VLAN連線緩慢的症狀可能是由不同網路層上的多個因素造成的。通常,網路速度問題可能在較低級別發生,但故障症狀可在較高級別上觀察到,因為該問題以「慢VLAN」一詞來掩蓋其本身。 為了作出澄清,本檔案定義了以下新術語:「慢速衝突域」、「慢速廣播域」(換句話說,慢速VLAN)和「慢速interVLAN轉發」。 這些在下面的「三類原因」部分中定義。
在以下場景中(如下圖所示),有一個第3層(L3)交換機在伺服器和客戶端VLAN之間執行InterVLAN路由。在此失敗情況中,一台伺服器連線到一台交換器,且連線埠雙工模式在伺服器端設定為半雙工,在交換器端設定為全雙工。這種錯誤配置會導致封包遺失和速度緩慢,當連線伺服器的連結上發生更高的流量速率時,封包遺失會增加。對於與此伺服器通訊的使用者端,問題看起來像InterVLAN轉送緩慢,因為它們與同一VLAN上的其他裝置或使用者端通訊時沒有問題。僅當與不同VLAN上的伺服器通訊時,才會出現問題。因此,此問題發生在單個衝突域中,但被視為InterVLAN轉發速度緩慢。
慢化的原因可以分為以下三類:
衝突域定義為以半雙工埠配置配置的已連線裝置,相互連線或連線到集線器。如果裝置連線到交換器連線埠且已設定全雙工模式,則這種點對點連線是無衝突的。由於不同的原因,此類網段上仍可能出現速度緩慢。
當整個VLAN(即位於同一個VLAN中的所有裝置)出現速度緩慢時,廣播域連線就會變慢。
當本地VLAN上沒有速度慢時,就會發生InterVLAN連線緩慢(VLAN之間的轉發緩慢),但流量需要轉發到備用VLAN,並且沒有以預期速率轉發。
大多數情況下,當高層協定(應用程式)需要較長時間來完成通常運行速度較快的操作時,網路會被認為是慢速的。這種緩慢是由於網路上丟失了一些資料包,導致較高級別的協定(如TCP或應用程式)超時並啟動重傳。
由於網路裝置導致另一種型別的慢速,因此轉發速度(無論是第2層[L2]還是L3)執行緩慢。這是因為偏離了正常(設計)操作和切換到慢速路徑轉發。例如,當交換器上的多層交換(MLS)在硬體中的VLAN之間轉送L3封包時,但由於組態錯誤,MLS無法正常運作,且轉送是由軟體中的路由器完成(這會大幅降低InterVLAN轉送速率)。
因此,如果您的VLAN速度似乎很慢,請先找出衝突域問題。您需要確定是只有同一衝突域上的使用者遇到連線問題,還是發生在多個域上。為此,請在同一衝突域上的使用者PC之間進行資料傳輸,並將此效能與另一個衝突域的效能或其預期效能進行比較。
如果問題只發生在衝突域中,而同一VLAN中其他衝突域的效能正常,則檢視交換機上的埠計數器,確定此網段可能遇到什麼問題。原因很可能很簡單,例如雙工不相符。另一個不太常見的原因是資料段超載或超額使用。如需更多有關疑難排解單一區段問題的資訊,請參閱設定和疑難排解乙太網路10/100/1000Mb半/全雙工自動交涉的檔案。
如果位於不同衝突網域(但位於同一個VLAN中)的使用者具有相同的效能問題,則仍可能是由於來源和目的地之間的一個或多個乙太網段上的雙工不相符所致。通常會發生以下情況:交換器手動設定為在VLAN中的所有連線埠上採用全雙工(預設設定為「自動」),而連線到連線埠的使用者(網路介面卡[NIC])正在執行自動交涉程式。這會導致所有連線埠上的雙工不相符,因此每個連線埠(衝突網域)上的效能不良。 因此,雖然看起來整個VLAN(廣播域)都有效能問題,但對於每個連線埠的衝突網域,它仍會分類為雙工不相符的情況。
另一個要考慮的問題是特定的NIC效能問題。如果存在效能問題的NIC連線到共用網段,則整個網段可能正在變慢,尤其是如果NIC屬於同時服務於其他網段或VLAN的伺服器。請記住此案例,因為在進行故障排除時它可能會誤導您。同樣,縮小此問題的最佳方法是在同一網段上的兩台主機之間執行資料傳輸(假設存在問題的NIC連線到該網絡卡),或者如果只有該NIC位於該埠上,則不容易隔離,因此嘗試在此主機中使用不同的NIC,或者嘗試在單獨的埠上連線可疑主機,以確保正確配置埠和NIC。
如果問題仍然存在,請嘗試對交換機埠進行故障排除。請參閱疑難排解交換器連線埠和介面問題的檔案。
最嚴重的情況是某些或全部不相容的NIC連線到Cisco交換機。在這種情況下,交換器似乎存在效能問題。要檢查NIC與Cisco交換器的相容性,請參閱疑難排解Cisco Catalyst交換器與NIC的相容性問題的檔案。
您需要區分前兩種情況(衝突域緩慢和VLAN緩慢故障排除),因為這兩種原因涉及不同的域。由於衝突域速度緩慢,問題可能出在交換機外部(或交換機邊緣上、交換機埠)或交換機外部。可能是網段本身有問題(例如,超額訂閱網段、超過網段長度、網段上的物理問題或集線器/中繼器問題)。 若是VLAN速度緩慢,問題很可能出在交換器(或多個交換器)內部。 如果您錯誤地診斷問題,則可能會將時間浪費在錯誤的位置查詢問題。
所以,確診病例後,請檢查下列專案。
在共用網段的情況下:
確定網段是否超載或超訂用
確定網段是否正常(包括電纜長度是否正確、衰減是否在正常範圍內、介質是否受到物理損壞)
確定網路埠和連線到網段的所有NIC是否具有相容設定
確定NIC是否運行良好(並運行最新的驅動程式)
確定網路埠是否繼續顯示越來越多的錯誤
判斷網路連線埠是否超載(尤其是當作伺服器連線埠時)
在點對點共用網段或無衝突(全雙工)網段的情況下:
確定埠和網絡卡相容的配置
確定網段的運行狀況
確定網絡卡的運行狀況
查詢網路埠錯誤或超訂用
驗證不存在雙工不相符或衝突網域問題後(如以上節所述),現在可以排除IntraVLAN緩慢性故障。隔離速度慢的位置的下一步是執行同一VLAN(但不同埠)上的主機之間的資料傳輸;也就是在不同的衝突域上),並將效能與備用VLAN中的相同測試進行比較。
以下情況可能會導致VLAN速度緩慢:
1這三種導致VLAN內連線速度慢的原因不在本檔案的範圍之內,可能需要思科技術支援工程師進行故障排除。排除上述前五個可能的原因後,您可能需要使用思科技術支援提交服務請求。
流量環路是VLAN速度慢的最常見原因。除了環路以外,您還應看到其他症狀,表明您正在經歷環路。如需跨距樹狀目錄通訊協定(STP)回圈的疑難排解,請參閱跨距樹狀目錄通訊協定問題和相關設計注意事項檔案。雖然具備千兆位後台的強大交換機(如Cisco Catalyst 6500/6000)可以處理某些(STP)環路而不會影響管理CPU的效能,但是環回資料包可能會導致輸入緩衝區在NIC上溢位以及交換機上的接收/傳輸(Rx/Tx)緩衝區,從而導致連線到其他裝置時的效能降低。
環路的另一個範例是非對稱配置的EtherChannel,如下例所示:
在本範例中,連線埠1/1和1/2位於通道中,但連線埠2/1和2/2不是。
交換機1具有已配置的通道(強制通道),交換機2沒有相應埠的通道配置。如果泛洪流量(mcast/bcast/未知單點傳播)從交換機1流向交換機2,交換機2會將其回送到通道。這不是完整的環路,因為流量不會連續環路,而是隻反映一次。它是整個循環的一半。出現兩個這樣的錯誤配置可能會產生完整的環路,如下例所示。
發生此類錯誤配置的危險在於,由於流量交換錯誤,導致丟包,因此會在不正確的埠上獲取MAC地址。例如,考慮連線到交換機1的活動熱待命路由器協定(HSRP)的路由器(如上圖所示)。 路由器廣播資料包後,其MAC會被交換機2環回,並由交換機1獲知該通道,直到路由器再次傳送單播資料包。
注意VLAN上任何位置是否存在瓶頸(超額訂閱資料段)並找到它們。VLAN超載的第一個跡象是埠上的Rx或Tx緩衝區超額預訂。如果看到某些埠上存在外掛或內掛,請檢查這些埠是否超載。(丟棄數量的增加不僅表示已滿Rx緩衝區。) 在Catalyst OS(CatOS)中,可發出的有用命令是show mac mod/port 或show top [N]。在Cisco IOS®軟體(原生)中,可以發出show interfaces slot#/port#counters errors命令來查看丟棄情況。超載或超額使用VLAN的情況和流量環路情況經常相互伴隨,但它們也可以單獨存在。
通常,當流量聚合頻寬被低估時,主幹埠會發生過載。解決此問題的最佳方法是在連線埠受到封鎖的裝置之間設定EtherChannel。如果網段已經是通道,請在通道組中新增更多埠以增加通道容量。
另請注意Cisco Express Forwarding(CEF)極化問題。此問題發生在流量由路由器進行負載均衡的網路上,但是由於Cisco Express Forwarding的演算法一致性,所有流量都會被極化,並且在下一跳上不進行負載均衡。但是,此問題通常不會發生,因為它需要具有負載平衡L3鏈路的特定拓撲。有關Cisco Express Forwarding和Load Balancing的詳細資訊,請參閱使用Supervisor Engine 2且執行CatOS系統軟體的Catalyst 6500/6000系列交換器上涉及CEF的單播IP路由疑難排解。
VLAN過載的另一個原因是非對稱路由問題。這種型別的配置也會導致過多的流量泛洪您的VLAN。如需詳細資訊,請參閱原因1:交換園區網路中單播泛洪文檔的非對稱路由部分。
有時,瓶頸可能是網路裝置本身。例如,如果您嘗試使用3千兆背板通過交換機傳輸4千兆流量,最終流量將大幅減少。瞭解網路交換器架構不在本文的討論範圍之內;但是,在考慮網路交換機的容量時,請注意以下方面:
背板容量
線頭阻塞問題
阻塞和非阻塞交換機/埠體系結構
交換機帶內路徑上的擁塞會導致生成樹環路或網路中其他型別的不穩定。任何思科交換器上的頻內連線埠是虛擬連線埠,可為管理處理器提供介面,供管理流量(例如思科探索通訊協定和連線埠彙總通訊協定[PAgP])使用。帶內埠被認為是虛擬埠,因為在某些架構中,使用者看不到它,並且帶內功能與正常埠操作相結合。例如,Catalyst 4000、Catalyst 5000和Catalyst 6500/6000系列交換器(執行CatOS)上的SC0介面是頻內連線埠的子集。介面SC0隻為已配置VLAN中的管理處理器提供IP堆疊,而帶內埠為任何已配置VLAN中的橋接協定資料單元(BPDU)和許多其他管理協定(例如Cisco發現協定、網際網路組管理協定[IGMP]、Cisco組管理協定和動態中繼協定[DTP])提供對管理處理器的訪問。
如果帶內埠超載(由於應用程式或使用者流量配置錯誤),可能導致協定狀態穩定性基於收到的常規消息或「hello」的任何協定不穩定。此狀態可能導致臨時環路、介面抖動和其他問題,從而造成此類緩慢。
雖然惡意形成的拒絕服務(DoS)攻擊可能會成功,但很難導致交換機上的帶內埠擁塞。無法限制或減少帶內連線埠上的流量。解決方案需要交換機管理員干預和調查。頻內連線埠一般對擁塞有較高的容錯能力。帶內埠很少出現故障或卡在Rx或Tx方向。這意味著嚴重的硬體中斷並將影響整個交換機。這種情況難以識別,通常由思科技術支持工程師診斷。症狀是交換機突然變得「耳聾」,並且無法看到控制流量,如思科發現協定鄰居更新。這表示Rx帶內問題。(但是,如果只看到一個思科發現協定鄰居,您可以確信帶內工作正常。) 相應地,如果所有連線的交換機都從單個交換機丟失思科發現協定(以及所有其它管理協定),則表明該交換機的帶內介面出現Tx問題。
如果帶內路徑過載,可能會導致交換器遇到高CPU條件;而且,由於CPU處理了所有不必要的流量,情況會惡化。如果CPU使用率高是由帶內路徑過載或備用問題引起的,則可能會影響管理協定,如上文交換機帶內路徑擁塞一節所述。
一般情況下,將管理CPU視為任何交換機的薄弱點。正確配置的交換機可降低因高CPU使用率而導致問題的風險。
Catalyst 4000系列交換器的Supervisor引擎I和II的架構設計為讓管理CPU參與交換額外負荷。請記住:
每當新路徑(Supervisor引擎I和II基於路徑)進入交換機時,CPU都會對交換機交換矩陣進行程式設計。如果帶內埠超載,將導致任何新路徑被丟棄。這會導致在連線埠之間交換流量時,較高層通訊協定中的封包遺失(靜默捨棄)和速度緩慢。(請參閱上述交換機帶內路徑上的擁塞部分。)
因為CPU在Supervisor引擎I和II中部分執行交換,所以高CPU條件會影響Catalyst 4000的交換能力。Supervisor引擎I和II上的CPU使用率較高可能是由於交換開銷本身造成的。
Catalyst 4500/4000系列的Supervisor引擎II+、III和IV相當能容忍流量,但在基於Cisco IOS軟體的Supervisor引擎中,MAC位址學習仍完全在軟體中完成(由管理CPU);CPU使用率較高可能會影響此進程並導致速度緩慢。與Supervisor Engine I和II一樣,大量的MAC地址學習或重新學習會導致Supervisor Engine II+、III和IV上的CPU使用率高。
Catalyst 3500XL和2900XL系列交換器中的MAC學習也涉及CPU,因此導致快速位址重新獲知的流程會影響CPU效能。
此外,與交換過程相比,MAC地址學習過程(即使它在硬體中完全實現)是一個相對較慢的過程。如果MAC地址重新獲取的速率持續很高,則必須找到原因並將其消除。網路上的跨距樹狀目錄回圈可能會導致此型別的MAC位址重新學習。實施基於埠的VLAN的第三方交換機也可能導致MAC地址重新學習(或MAC地址擺動),這意味著MAC地址沒有與VLAN標籤相關聯。這種交換機以特定配置連線到Cisco交換機時,可能會導致VLAN之間的MAC洩漏。這又會導致MAC地址重新獲取的速率很高,並可能降低效能。
直通輸入錯誤資料包傳播與慢速衝突域連線相關,但由於錯誤資料包被傳輸到另一個網段,因此問題似乎是在網段之間交換。如果交換器有足夠的資訊來讀取封包的L2/L3標頭,藉此將封包轉送到目的地連線埠或連線埠,直通交換器(例如Catalyst 8500系列園區交換路由器(CSR)和Catalyst 2948G-L3或Catalyst 4000系列的L3交換模組)就會開始封包/訊框交換。因此,當封包在輸入連線埠和輸出連線埠之間交換時,封包的開始部分已從輸出連線埠轉送,而封包的其餘部分仍由輸入連線埠接收。如果輸入網段不正常並生成循環冗餘檢查(CRC)錯誤或殘幀,會發生什麼情況?交換機只有在收到幀結尾時才會識別出這一點,而且到那時,幀的大部分內容都已從輸出埠轉發出去。由於傳輸錯誤幀的其餘部分沒有任何意義,其餘部分將被丟棄,輸出埠會增加「underrun」錯誤,輸入埠會增加相應的錯誤計數器。如果多個輸入埠不正常,並且其伺服器駐留在輸出埠上,則伺服器段似乎出現了問題,即使沒有。
對於直通L3交換機,請注意底線,當您看到底線時,請檢查所有入口埠是否存在錯誤。
組態錯誤可能導致VLAN速度緩慢。這些負面影響可能是由於VLAN超額訂閱或超負荷引起的,但通常是由於設計不良或配置被忽視造成的。例如,如果某個VLAN上未正確設定多點傳播流量限制技術,該網段(VLAN)很容易被多點傳播流量(例如影片或音訊流)壓倒。此類組播流量可能會影響資料傳輸,導致所有使用者的整個VLAN丟包(並泛洪不希望接收組播流的使用者段)。
軟體錯誤和硬體問題難以識別,因為它們導致偏差,難以排除。如果您認為問題是由軟體錯誤或硬體問題引起的,請聯絡思科技術支援工程師,讓他們調查問題。
在對慢速InterVLAN連線(VLAN之間)進行故障排除之前,請調查並排除本文排查衝突域問題和排查慢速IntraVLAN(廣播域)一節中討論的問題。
在大多數情況下,InterVLAN連線速度緩慢是由使用者配置錯誤造成的。例如,如果您錯誤地配置了MLS或組播多層交換(MMLS),則路由器CPU會完成資料包轉發,這是一條較慢的路徑。為了避免配置錯誤並在必要時進行有效的故障排除,您應該瞭解L3轉發裝置使用的機制。在大多數情況下,L3轉發機制基於路由和地址解析協定(ARP)表的編譯,並將提取的資料包轉發資訊程式設計到硬體(快捷方式)。 在程式設計快捷方式過程中出現的任何故障都會導致軟體資料包轉發(慢速路徑)、錯誤轉發(轉發到錯誤的埠)或流量黑洞。
通常,快捷方式程式設計失敗或建立不完整的快捷方式(這也會導致軟體資料包轉發、錯誤轉發或流量黑洞)是軟體錯誤的結果。如果您懷疑是這種情況,請讓思科技術支援工程師進行調查。InterVLAN轉送緩慢的其他原因包括硬體故障,但這些原因不屬於本文檔的討論範圍。硬體故障只會導致無法在硬體中成功建立快捷方式,因此,流量可能會採用較慢的(軟體)路徑,或者被黑洞。硬體故障也應由思科技術支援工程師處理。
如果您確定裝置配置正確,但硬體交換未執行,則可能是由於軟體錯誤或硬體故障。但是,在得出此結論之前,請注意裝置功能。
以下是在硬體轉發可能停止或不發生時最常見的兩個情況:
儲存快捷方式的記憶體已用盡。一旦記憶體已滿,軟體通常會停止進一步的快捷方式建立。(例如,MLS,無論基於NetFlow還是基於Cisco Express Forwarding,一旦沒有空間可供使用新的快捷方式,就會變為非活動狀態,並且會切換到軟體[慢路徑]。)
裝置的設計目的不是執行硬體交換,但並不明顯。例如,Catalyst 4000系列Supervisor Engine III及更高版本設計為僅硬體轉發IP流量;所有其他型別的流量都是CPU處理的軟體。另一個範例是需要CPU介入的存取控制清單(ACL)的組態(例如使用「log」選項)。 應用於此規則的流量由軟體中的CPU處理。
直通交換器上的輸入錯誤也會導致InterVLAN路由緩慢。直通交換機使用相同的架構原則來轉發L3和L2流量,因此上述Troubleshoot Slow IntraVLAN(Broadcast Domain)部分中提供的故障排除方法同樣適用於L2流量。
影響InterVLAN路由的另一類錯誤配置是終端使用者裝置(如PC和印表機)上的錯誤配置。常見情況是PC配置錯誤;例如,預設網關配置錯誤、PC ARP表無效或IGMP客戶端出現故障。常見的情況是存在多個路由器或支援路由的裝置,並且部分或全部終端使用者PC配置錯誤,使用錯誤的預設網關。這可能是最麻煩的情況,因為所有網路裝置都配置並且工作正常,但是終端使用者裝置由於此配置錯誤而不使用它們。
如果網路中的裝置是普通路由器,沒有任何型別的硬體加速(並且不參與NetFlow MLS),則流量轉發速率完全取決於CPU的速度和繁忙程度。高CPU利用率肯定會影響轉發速率。但是,在L3交換機上,高CPU條件不一定影響轉發速率;高CPU利用率會影響CPU建立(程式設計)硬體快捷方式的能力。如果快捷方式已經安裝到硬體中,則即使CPU被高度利用,流量(對於程式設計的快捷方式)也將在硬體中切換,直到快捷方式老化(如果有到期計時器)或被該CPU移除。但是,如果路由器已配置為支援任何型別的軟體加速(如快速交換或Cisco快速轉發交換),則資料包轉發可能會受到軟體快捷方式的影響;如果快捷方式被破壞,或者機制本身發生故障,那麼流量將被傳送到CPU,而不是轉發速率被加速,從而降低了資料轉發速率。