本文提供在Catalyst 5000系列交換器上使用路由交換器模組(RSM)來排解InterVLAN路由疑難問題的資訊。在對RSM進行故障排除時,首先要做的是將其視為簡單的外部路由器。在涉及InterVLAN路由時,RSM特定問題很少導致問題。因此,本檔案僅說明可能會發生此情況的兩個主要方面:
RSM硬體相關問題:本檔案將介紹RSM架構,並詳述要追蹤的其他RSM相關計數器。
InterVLAN設定特定問題(主要與路由器和交換器之間的互動有關):這也適用於其他內部路由器(例如多層交換器功能卡[MSFC]、路由交換器功能卡[RSFC]、8510CSR等),通常適用於外部路由器。
注意:本檔案並不說明在Catalyst 4000、5000和6000交換器上設定InterVLAN路由。有關詳細資訊,請參閱以下檔案:
本檔案並不涵蓋基本路由通訊協定疑難排解或多層交換(MLS)相關問題。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
在討論InterVLAN路由之前,本檔案將重點介紹VLAN概念。這不是關於VLAN需求的理論討論,而只是討論VLAN在交換機上的運行方式。在交換器上建立VLAN時,感覺像是您將交換器分割為多個虛擬橋接器,每個虛擬橋接器僅有一個屬於同一個VLAN的橋接連線埠。
此圖顯示一台交換機,該交換機有九個埠分配給三個不同的VLAN:
這完全等同於以下網路,該網路由三個獨立的網橋組成:
在交換機中,由於每個VLAN都建立一個單獨的網橋,因此有三個不同的網橋。由於每個VLAN都建立一個單獨的生成樹協定(STP)例項,因此STP維護三個不同的轉發表。
使用第二張圖可以看出,雖然連線到同一台物理裝置,但屬於不同VLAN的埠不能在第2層(L2)直接通訊。 即使可能,也不合適。例如,如果將連線埠1連線到連線埠4,只需將VLAN1合併到VLAN2。在這種情況下,沒有理由有兩個獨立的VLAN。
您想要的VLAN之間的唯一連線是在第3層(L3)由路由器實現。這就是InterVLAN路由。為了進一步簡化圖表,VLAN表示為不同的物理乙太網段,因為您對交換機提供的特定橋接功能並不真正感興趣。
在此圖中,兩個VLAN被視為兩個不同的乙太網段。InterVLAN流量需要通過外部路由器。如果主機A希望與主機B通訊,它通常使用路由器作為預設網關。
您可以將RSM檢視為外部路由器,其中包含直接連線到Catalyst 5000交換器不同VLAN的多個介面。
這些介面不是稱為乙太網介面,而是根據其連線的VLAN命名。(介面VLAN1直接連線到VLAN1,依此類推。)
RSM是Catalyst 5000線卡內部的Cisco 7500路由交換處理器(RSP)路由器。您無需對卡的架構有太多瞭解,即可對其進行配置和故障排除。但是,瞭解如何構建RSM有助於瞭解它不同於常規外部路由器的特點。在介紹show controller c5ip命令時,此知識尤為重要。
此圖找到RSM線卡中的主要元件:
Catalyst 5000介面處理器(C5IP)是模擬Catalyst 7500系統IP的RSM的一部分,Catalyst 5000交換匯流排作為網路介面。C5IP包括一個R4700處理器以及兩個SAGE應用專用積體電路(ASIC),負責訪問Catalyst 5000交換匯流排。
這兩個ASIC從交換匯流排獲得資料包並將其緩衝。除了封包中的資料以外,他們還取得指標以識別交換器中的封包目的地。
目的VLAN介面不是根據資料包本身的內容來確定,而是從索引中匯出。資料包和索引首先儲存在SAGE內的兩個不同的FIFO中。讀取索引,並在目標VLAN區域保留必要的共用記憶體。然後,使用到SAGE的直接儲存器訪問(DMA),將分組複製到儲存器裝置(MEMD)中。
兩個SAGE並行工作以在路由器和交換匯流排之間通訊,可能導致資料包傳輸順序錯誤。(例如,在SAGE0上接收的一個大資料包可以在SAGE1稍後接收到一個小資料包之後進行傳輸。) 為了避免這種情況,每個VLAN都會靜態分配給給定SAGE。這會在啟動時自動完成。(根據路由器,一個VLAN與兩個DMA通道之一相關聯,每個通道都通向一個SAGE。) 來自給定VLAN的資料包總是按順序傳送。
MEMD是路由器用來傳送和接收封包的共用記憶體。為RSM上配置的每個VLAN介面分配一部分可用共用記憶體。配置的VLAN介面越多,每個介面的共用記憶體就越少。VLAN介面即使在禁用或關閉時也會保留其共用記憶體的一部分。只有通過管理方式新增或刪除VLAN介面,才能在VLAN介面之間觸發MEMD的新重新分割槽。
通常的Cisco IOS®路由器文檔中不包括的與RSM相關的主要問題是訪問RSM的問題,以及效能問題。
可以通過三種不同方式訪問RSM:
為了通過Telnet連線到RSM,您需要知道分配給其VLAN介面之一的IP地址。Telnet會話的工作方式與嘗試連線到普通Cisco IOS路由器時完全相同。您可能需要為vty分配密碼才能實現Telnet訪問並獲得啟用訪問許可權。
此範例顯示從Supervisor Engine到RSM的Telnet作業階段,其中VLAN1的IP位址為10.0.0.1:
sup> (enable) telnet 10.0.0.1 Trying 10.0.0.1... Connected to 10.0.0.1. Escape character is '^]'. User Access Verification Password: rsm> enable Password: rsm# show run !--- Output suppressed. ! hostname rsm ! enable password ww !--- An enable password is configured. ! !--- Output suppressed. line vty 0 4 password ww login !--- Login is enabled. A password must be configured on the vty. ! end
這與其它外部路由器Cisco IOS配置類似。
使用Supervisor Engine中的session x 命令可將您連線到插槽x中的RSM。
方法與上一個方法相同:rsm有一個隱藏的VLAN0介面,其IP地址為127.0.0.(x+1),其中x是安裝RSM的插槽。session命令向此地址發出隱藏的Telnet會話。
注意:這一次,vty和啟用密碼不必位於配置中才能獲得對RSM的完全訪問許可權。
sup> (enable) show module Mod Slot Ports Module-Type Model Status --- ---- ----- ------------------------- ------------------- 1 1 0 Supervisor III WS-X5530 ok 2 2 Route Switch Ext Port 3 3 1 Route Switch WS-X5302 ok 4 4 24 10/100BaseTX Ethernet WS-X5225R ok 5 5 12 10/100BaseTX Ethernet WS-X5203 ok !--- Output suppressed. sup> (enable) session 3 Trying Router-3... Connected to Router-3. Escape character is '^]'. rsm> enable rsm#
您可以使用Supervisor Engine指令show module來識別交換器中安裝RSM的插槽。您可以使用session指令直接存取它。
RSM上的系統控制檯埠是一個用於連線資料終端的DB-25插座DCE埠,可用於配置系統並與系統通訊。使用提供的控制檯電纜將終端連線到RSM上的控制檯埠。控制檯埠位於RSM的輔助埠旁,並標為console。
連線控制檯埠之前,請檢視終端文檔以確定您將使用的終端的波特率。終端的波特率必須與預設波特率(9600波特)匹配。 將終端設定為:9600波特、8個資料位、無奇偶校驗和2個停止位(9600,8N2)。
RSM可以隔離有幾個原因。即使無法連線,您仍可以從外部檢視一些生命跡象:
檢查RSM上LED的狀態:
CPU Halt LED熄滅 — 系統檢測到處理器硬體故障。
橙色狀態LED — 已禁用模組、正在進行測試或正在進行系統引導。
檢查Supervisor Engine以檢視交換機是否可以看到RSM。若要執行此操作,請發出show module命令:
sup> (enable) show module Mod Slot Ports Module-Type Model Status --- ---- ----- ------------------------- ------------------- 1 1 0 Supervisor III WS-X5530 ok 2 2 Route Switch Ext Port 3 3 1 Route Switch WS-X5302 ok 4 4 24 10/100BaseTX Ethernet WS-X5225R ok 5 5 12 10/100BaseTX Ethernet WS-X5203 ok !--- Output suppressed.
在嘗試控制檯連線之前,切勿宣告您的RSM已停用。如您所見,會話和Telnet訪問都依賴於到RSM的IP連線。例如,如果RSM正在引導或停滯在ROMMON模式,則無法對其進行Telnet或會話。不過,這相當正常。
即使RSM看起來有故障,也要嘗試連線到其控制檯。執行此操作後,您可能會看到一些錯誤消息,這些消息將在該處顯示。
大多數與RSM相關的效能問題的故障排除方法與普通Cisco IOS路由器完全相同。本節重點介紹RSM實施的特定部分,即C5IP。命令show controller c5ip可以提供C5IP運行的相關資訊。此輸出描述了其一些最重要的欄位:
RSM# show controllers c5ip DMA Channel 0 (status ok) 51 packets, 3066 bytes One minute rate, 353 bits/s, 1 packets/s Ten minute rate, 36 bits/s, 1 packets/s Dropped 0 packets Error counts, 0 crc, 0 index, 0 dmac-length, 0 dmac-synch, 0 dmac-timeout Transmitted 42 packets, 4692 bytes One minute rate, 308 bits/s, 1 packets/s Ten minute rate, 32 bits/s, 1 packets/s DMA Channel 1 (status ok) Received 4553 packets, 320877 bytes One minute rate, 986 bits/s, 2 packets/s Ten minute rate, 1301 bits/s, 3 packets/s Dropped 121 packets 0 ignore, 0 line-down, 0 runt, 0 giant, 121 unicast-flood Last drop (0xBD4001), vlan 1, length 94, rsm-discrim 0, result-bus 0x5 Error counts, 0 crc, 0 index, 0 dmac-length, 0 dmac-synch, 0 dmac-timeout Transmitted 182 packets, 32998 bytes One minute rate, 117 bits/s, 1 packets/s Ten minute rate, 125 bits/s, 1 packets/s Vlan Type DMA Channel Method 1 ethernet 1 auto 2 ethernet 0 auto Inband IPC (status running) Pending messages, 0 queued, 0 awaiting acknowledgment Vlan0 is up, line protocol is up Hardware is Cat5k Virtual Ethernet, address is 00e0.1e91.c6e8 (bia 00e0.1e91.c6e8) Internet address is 127.0.0.4/8 MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:00, output 00:00:00, output hang never Last clearing of "show interface" counters never Queueing strategy: fifo Output queue 0/40, 0 drops; input queue 0/75, 0 drops 5 minute input rate 0 bits/sec, 1 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 53 packets input, 3186 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored RSM#
RSM中的RSP路由器通過兩個不同的DMA通道(到兩個SAGE ASIC)與交換機通訊。 每個VLAN介面自動與這些DMA通道之一相關聯。show controllers c5ip命令在兩個不同的部分中顯示每個控制器的資訊。
這些統計資訊有助於識別不同DMA通道上的負載。查詢與其它通道相比穩定過載的DMA通道。如果將所有流量密集型VLAN分配給同一DMA通道,則可能會出現這種情況。如有必要,可以使用介面命令dma-channel手動將VLAN介面分配給特定DMA通道。
這表示RSM接收但丟棄的資料包數量。當與封包一起接收的索引未將RSM作為封包的特定目的地時,會發生這種情況。
CRC - RSM檢測到錯誤的CRC時會發生循環冗餘循環(CRC)錯誤。底板上的任何CRC錯誤資料包都不應該存在,而檢測到這些錯誤的RSM表示某些線卡或其他底板連線的裝置工作不正常。
注意:CRC錯誤也可能來自通過ISL中繼連線的遠端裝置。大多數Catalyst線卡不會檢查從背板接收並在中繼上轉發的資料包的CRC。
index — 索引不準確時會出現索引錯誤。C5IP不知道為什麼收到此資料包。這也會增加Dropped計數器。
dmac-length — 當C5IP介面阻止SAGE ASIC超過最大傳輸單元(MTU)大小(如果未檢測到,則會損壞路由器共用記憶體)時,會發生這些錯誤。
dmac-synch — 如果SAGE ASIC丟棄資料包,則資料包FIFO和索引FIFO將失去同步。如果發生此錯誤,系統會自動檢測此錯誤,dmac-synch計數器會增加。這不太可能發生,但是如果發生,對效能的影響非常低。
dmac-timeout — 此計數器已新增到Cisco IOS軟體版本11.2(16)P和12.0(2)中的show controllers c5ip命令中。 當DMA傳輸未在DMA傳輸所需的最長時間內完成時,該引數會增加。它表示硬體故障,並且顯示該計數器的非零值的RSM是進行替換的良好候選者。
ignore — 當路由器用完輸入資料包的MEMD緩衝區時,就會發生忽略。當CPU處理資料包的速度沒有資料包傳入的速度時會發生這種情況。這可能是由於什麼原因導致CPU繁忙。
line-down -Line-down表示目的地為線路協定關閉VLAN的資料包被丟棄。C5IP收到其認為已關閉的VLAN介面的資料包。這種情況不應該發生,因為交換器應停止將封包轉送到關閉的RSM介面。但是,由於RSM宣告介面關閉和交換機被通知之間的時間安排,在介面關閉時可能會看到一些情況。
runt/giant — 此計數器跟蹤無效大小的資料包。
unicast-flood -Unicast-flood packets是傳送到特定MAC地址的資料包。Catalyst 5000內容可定址記憶體(CAM)表不知道MAC位址位於哪個連線埠,因此它會將該封包湧向VLAN上的所有連線埠。RSM也會收到這些封包,但除非它設定為橋接該VLAN,否則它不會對不匹配自己MAC位址的封包感興趣。RSM會捨棄這些封包。這與乙太網介面晶片中的實際乙太網介面上發生的情況等效,乙太網介面晶片被程式設計為忽略其它MAC地址的資料包。在RSM中,這在C5IP軟體中完成。大多數丟棄的資料包是單播泛洪資料包。
Last drop — 此計數器顯示有關上次丟棄的資料包的特定資訊。這是超出本文檔範圍的低級資訊。
以下是已設定10個VLAN介面的RSM上show controllers c5ip命令輸出的一部分:
Vlan Type DMA Channel Method 1 ethernet 1 auto 2 ethernet 0 auto 3 ethernet 1 auto 4 ethernet 0 auto 5 ethernet 1 auto 6 ethernet 0 auto 7 ethernet 1 auto 8 ethernet 0 auto 9 ethernet 1 auto 10 ethernet 0 auto
此輸出顯示給定VLAN介面分配的DMA通道。您可以看到奇數VLAN進入通道0,偶數VLAN連結到通道1。如有必要,可以使用介面配置命令dma-channel對此通訊進行硬編碼。此示例說明如何將RSM的介面VLAN1分配給DMA通道0:
RSM# show controllers c5ip !--- Output suppressed. Vlan Type DMA Channel Method 1 ethernet 1 auto 2 ethernet 0 auto !--- Output suppressed. RSM# configure terminal Enter configuration commands, one per line. End with CNTL/Z. RSM(config)# interface vlan 1 RSM(config-if)# dma-channel 0 RSM(config-if)# ^Z RSM# RSM# show controllers c5ip !--- Output suppressed. Vlan Type DMA Channel Method 1 ethernet 0 configured 2 ethernet 0 auto !--- Output suppressed.
VLAN0的主要目的是確保與交換機的Supervisor Engine進行有效通訊。由於這是一個隱藏介面,因此您不能使用簡單的show interface vlan0命令來檢視其統計資訊。
橋接經常遇到的一個問題是,斷開的鏈路很容易將L2網路拆分為兩個部分。由於不連續的網路會破壞路由,因此應不惜一切代價避免這種情況。(這通常通過部署冗餘鏈路來實現。)
請考慮以下示例,在交換機2上連線的客戶端與交換機1上連線的伺服器通訊:
僅考慮從客戶端到伺服器的流量。來自VLAN3中客戶端的傳入流量由RSM2路由,RSM2通過其介面VLAN2與伺服器的子網直接連線。紫色箭頭表示以下路徑:
假設VLAN1的交換機1和交換機2之間的鏈路斷開。這裡的主要問題是,從RSM2的角度看,網路中沒有任何變化。RSM2仍然有一個直接連線到VLAN1的介面,它不斷通過此路徑將流量從客戶端轉發到伺服器。交換機2中的流量丟失,並且客戶端與伺服器之間的連線中斷。
RSM自動狀態功能旨在解決此問題。如果交換器上沒有特定VLAN的開啟連線埠,RSM的相應VLAN介面就會關閉。
在本例中,當交換機1和交換機2之間的VLAN中的鏈路發生故障時,交換機2上VLAN1的唯一埠斷開(鏈路斷開)。 RSM自動狀態功能禁用RSM2上的介面VLAN1。現在介面VLAN1已關閉,RSM2可以使用路由協定為發往伺服器的資料包找到另一條路徑,並最終通過另一個介面轉發流量,如下圖所示:
RSM自動狀態僅在VLAN中沒有其它埠啟動時有效。例如,如果您在VLAN1中有另一個客戶端連線到交換機2,或者機箱中有定義介面VLAN1的RSM,那麼如果交換機1和交換機2之間的鏈路發生故障,將不會禁用介面VLAN1。然後,流量將再次中斷。
預設情況下,RSM自動狀態功能已啟用。如果需要,可以使用Supervisor Engine上的set rsmutostate 命令手動禁用它:
sup> (enable) show rsmautostate RSM Auto port state: enabled sup> (enable) set rsmautostate disable sup> (enable) show rsmautostate RSM Auto port state: disabled
回退橋接包括VLAN之間的橋接協定,同時路由其它一些協定。如果可能,應避免這種配置,並僅在過渡性遷移期間使用。通常情況下,當您使用不同的IP子網(每個子網位於不同的VLAN上)將網路分段,但您想繼續橋接一些舊的不可路由協定(例如,局域傳輸[LAT])時,就需要這樣做。 在這種情況下,您想將RSM用作IP的路由器,但是用作其他協定的網橋。這只需在RSM介面上配置橋接,同時保留IP地址即可。以下示例說明使用回退橋接的非常簡單的網路,以及此類配置可能出現的最常見問題。
這個非常簡單的網路由兩個VLAN組成,對應於兩個不同的IP子網。給定VLAN中的主機可以使用其中任一個RSM作為預設閘道(或甚至同時使用兩者,使用熱待命路由器通訊協定[HSRP]),因此可以與另一個VLAN上的主機通訊。網路如下所示:
兩種RSM還配置為在其介面(VLAN1和VLAN2)之間橋接其它協定。假設您有一台主機提供LAT服務,並且有一台客戶端使用它們。您的網路將如下所示:
在此圖中,每個Catalyst被分割為兩個不同的橋接器(每個VLAN一個)。 您可以看到,兩個VLAN之間的橋接導致兩個VLAN合併。就橋接通訊協定而言,您只有一個VLAN,而LAT伺服器和使用者端可以直接通訊。當然,這也意味著網路中存在環路,並且STP必須阻塞一個埠。
您可以看到,此封鎖連線埠將產生問題。交換機是純L2裝置,無法區分IP流量和LAT流量。因此,如果交換器2封鎖一個連線埠(如上圖所示),便會封鎖所有型別的流量(IP、LAT或其他)。 因此,您的網路如下所示:
VLAN2分為兩部分,您有一個不連續的子網10.2.0.0。使用此配置,主機10.2.0.10無法與主機10.2.0.20通訊,儘管它們位於同一個子網和VLAN中。
解決方案是在唯一可以區分L2和L3流量的裝置上移動阻塞埠。該裝置是RSM。實現這一點主要有兩種方式:
通過調整STP引數:您需要增加一台或多台裝置的成本,以便最終阻塞埠位於RSM1或RSM2上。這種方法不夠靈活,意味著需要非常嚴格的STP配置。新增交換機或更改鏈路(快速EtherChannel或Gigabit乙太網)的頻寬可能導致調整完全返工。
在RSM上使用不同的跨距樹狀目錄演演算法(STA):這些交換機僅運行IEEE STA,對DEC STP完全透明。如果在這兩個RSM上配置DEC STP,它們的工作方式就如同直接連線在一起,其中一個將會阻塞。此圖說明此情況:
測試網路在故障時的重新配置速度的客戶通常會處理與STP相關的配置問題。請考慮以下網路,其中客戶端通過兩個不同的路徑訪問伺服器。預設情況下,RSM2通過介面VLAN2路由從客戶端到伺服器的流量:
為了執行測試,使用者斷開交換機2和交換機3之間的鏈路。相應埠立即關閉,RSM自動狀態功能使RSM2上的介面VLAN2關閉。伺服器的直連路由從RSM2的路由表中消失,從而通過RSM1快速獲取新路由。使用開放最短路徑優先(OSPF)或增強型內部網關路由協定(EIGRP)等有效的路由協定,收斂速度非常快,在此操作過程中幾乎不會丟失ping。
如果發生故障,兩條路徑(黃色的VLAN2和綠色的VLAN3)之間的切換會立即進行。但是,如果使用者在Switch 2和Switch 3之間重建了鏈路,則客戶端會經歷與伺服器的連線中斷約30秒。
原因也與STA有關。運行STA時,新連線的埠首先經過偵聽和學習階段,然後以轉發模式結束。在前兩個15秒級期間,埠處於開啟狀態,但不傳輸流量。這表示一旦連結連線,RSM自動狀態功能會立即重新啟用RSM2上的介面VLAN2,但流量無法通過,直到交換器2和交換器3之間連結上的連線埠達到轉送階段。這解釋了客戶端和伺服器之間的臨時連線斷開的原因。如果交換機1和交換機2之間的鏈路不是TRUNK,可以啟用PortFast功能來跳過偵聽和學習階段,並立即收斂。
注意:PortFast在中繼埠上不起作用。有關詳細資訊,請參閱使用PortFast和其他命令修復工作站啟動連線延遲。
本檔案將重點介紹一些特定於RSM的問題,以及一些非常常見的InterVLAN路由問題。只有在嘗試了所有正常的Cisco IOS路由器故障排除步驟時,此資訊才有用。如果RSM路由的資料包中有一半因路由表錯誤而丟失,則嘗試解釋DMA通道統計資訊沒有幫助。即使是一般的InterVLAN路由問題也是高級主題,並不經常發生。在大多數情況下,將RSM(或交換機內的任何其他整合路由裝置)視為簡單的外部Cisco IOS路由器,足以解決交換環境中的路由問題。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
02-Sep-2005 |
初始版本 |