本文為使用Supervisor Engine 720、原則功能卡3(PFC3)和多層交換器功能卡3(MSFC3)的Cisco Catalyst 6500/6000系列交換器上的單點傳播IP路由疑難排解提供指南。 Cisco Express Forwarding(CEF)用於在Supervisor Engine 720上執行單點傳播路由。本檔案僅討論搭載Supervisor Engine 720、PFC3和MSFC3的Catalyst 6500/6000系列交換器上的IP路由。本檔案對搭載Supervisor Engine 1或1A的Catalyst 6500/6000或多層交換器模組(MSM)無效。 本檔案僅適用於在Supervisor Engine上執行Cisco IOS®軟體的交換器。本檔案對Cisco Catalyst OS(CatOS)系統軟體無效。
注意:您還可以使用本文檔,對搭載Supervisor Engine 2和MSFC2的Catalyst 6500/6000交換器上的單點傳播IP路由進行疑難排解。
注意:本文檔使用路由處理器(RP)和交換機處理器(SP)來分別代替MSFC和PFC。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
CEF最初是一種Cisco IOS軟體交換技術,旨在更快地路由資料包。CEF的可擴充性比快速交換強得多。無需傳送第一個資料包來處理交換。搭載Supervisor Engine 720的Catalyst 6500/6000使用在SP上實作的硬體CEF轉送機制。CEF主要使用兩個表來儲存路由所需的資訊:
轉送資訊庫(FIB)表
鄰接表
CEF使用FIB以作出IP目的地首碼型交換決策。CEF首先檢視最長匹配。FIB在概念上類似於路由表或資訊庫。FIB維護IP路由表包含的轉發資訊的映象。當網路中發生路由或拓撲更改時,IP路由表會發生更新。FIB反映了這些變化。FIB根據IP路由表中的資訊維護下一跳地址資訊。由於FIB條目和路由表條目之間是一對一的關聯,因此FIB包含所有已知的路由。這消除了與交換路徑相關聯的路由快取維護的需求,例如快速交換和最佳交換。FIB中總有一個相符專案,無論相符專案是預設專案還是萬用字元專案。
如果網路中的節點能夠通過鏈路層的一跳到達彼此,則稱為相鄰節點。除FIB外,CEF還使用鄰接表來預置第2層(L2)編址資訊。鄰接表為所有FIB條目維護第2層下一跳地址。完整的FIB條目包含指向鄰接表中位置的指標,該位置儲存了下一跳到達最終IP目標的L2重寫資訊。為了讓硬體CEF在搭載Supervisor Engine 720系統的Catalyst 6500/6000上運作,IP CEF需要在MSFC3上執行。
SP的FIB表必須與RP上的FIB表完全相同。在RP上,三重內容可定址儲存器(TCAM)將所有IP字首儲存在FIB中。字首的排序按掩碼長度進行,並以最長的掩碼開始。因此,您首先會找到掩碼為32的所有條目,即主機條目。接下來,查詢掩碼長度為31的所有條目。繼續操作,直到找到掩碼長度為0的條目,這是預設條目。順序讀取FIB,並將第一次命中用作匹配。考慮RP上的以下FIB表格示例:
Cat6500-A#show ip cef Prefix Next Hop Interface 0.0.0.0/0 14.1.24.1 FastEthernet2/48 0.0.0.0/32 receive 14.1.24.0/24 attached FastEthernet2/48 14.1.24.0/32 receive 14.1.24.1/32 14.1.24.1 FastEthernet2/48 14.1.24.111/32 receive 14.1.24.179/32 14.1.24.179 FastEthernet2/48 14.1.24.255/32 receive 100.100.100.0/24 attached TenGigabitEthernet6/1 100.100.100.0/32 receive 100.100.100.1/32 100.100.100.1 TenGigabitEthernet6/1 100.100.100.2/32 receive 100.100.100.255/32 receive 112.112.112.0/24 attached FastEthernet2/2 112.112.112.0/32 receive 112.112.112.1/32 receive 112.112.112.2/32 112.112.112.2 FastEthernet2/2 112.112.112.255/32 receive 127.0.0.0/8 attached EOBC0/0 127.0.0.0/32 receive 127.0.0.51/32 receive 127.255.255.255/32 receive Prefix Next Hop Interface 222.222.222.0/24 100.100.100.1 TenGigabitEthernet6/1 223.223.223.1/32 100.100.100.1 TenGigabitEthernet6/1 224.0.0.0/4 drop 224.0.0.0/24 receive 255.255.255.255/32 receive
每個條目包含以下欄位:
Prefix — 相關的目標IP地址或IP子網
Next Hop — 與此字首關聯的下一跳點
可能的下一跳值為:
receive — 與MSFC介面關聯的字首
此專案包含與第3層(L3)介面的IP位址對應且遮罩為32的字首。
attached — 與已連線網路關聯的字首
下一跳的IP地址
drop — 丟棄與條目匹配的所有資料包。
Interface — 該目標IP地址或IP子網的傳出介面
要檢視完整的鄰接表,請發出以下命令:
Cat6500-A#show adjacency TenGigabitEthernet 6/1 detail Protocol Interface Address IP TenGigabitEthernet6/1 100.100.100.1(9) 5570157 packets, 657278526 bytes 00D0022D3800 00D0048234000800 ARP 03:43:51 Epoch: 0
本節提供故障排除示例和詳細資訊。但是首先,本節總結了排除特定IP地址連線或可達性故障的方法。請記住,SP上的CEF表映象RP上的CEF表。因此,如果RP已知的資訊也正確,則SP僅保留到達IP地址的正確資訊。因此,您需要始終驗證此資訊。
請完成以下步驟:
驗證RP表上IP路由中儲存的資訊是否正確。
發出show ip route命令,並驗證輸出中是否包含所需的下一跳。
附註: 如果您改為發出show ip route x.x.x.x命令,則無需瀏覽完整的路由表。
如果輸出中不包含預期的下一跳,請檢查您的配置和路由協定鄰居。還要執行與您運行的路由協定相關的任何其他故障排除過程。
驗證下一個躍點,或者對於連線的網路,最終目的地在RP上是否有正確的、已解析的地址解析協定(ARP)條目。
發出show ip arp next_hop_ip_address 命令。檢驗ARP條目的解析度以及該條目是否包含正確的MAC地址。
如果MAC地址不正確,您需要驗證另一台裝置是否擁有該IP地址。最後,您需要在連線擁有MAC地址的裝置的埠上跟蹤交換機級別。不完整的ARP條目表示RP沒有收到來自該主機的任何應答。確認主機已啟動且正在運行。您可以在主機上使用監聽器來檢視主機是否正確收到了ARP回覆和回應。
驗證RP上的CEF表包含正確的資訊並且鄰接關係已解決。
請完成以下步驟:
發出show ip cef destination_network 命令,確認CEF表中的下一躍點與IP路由表中的下一躍點匹配。
這是本部分步驟1中的下一跳。
發出show adjacency detail | begin next_hop_ip_address 命令以驗證鄰接關係是否正確。
條目必須包含與本部分步驟2中相同的ARP的MAC地址。
如果本節的步驟1和2提供正確的結果,但是步驟3a或3b失敗,則您會遇到Cisco IOS軟體CEF問題。此問題可能不是與Catalyst 6500/6000相關的平台特定問題。您必須嘗試清除ARP表和IP路由表。
請完成以下步驟:
驗證SP儲存的FIB資訊是否正確並與RP儲存的CEF表的資訊匹配。
註:CEF表中的資訊來自「從RP」部分的步驟3。
發出show mls cef lookup destination_ip_network detail命令,驗證是否存在鄰接條目。
如果該資訊不存在,則RP和SP之間會發生通訊問題。此問題與Catalyst 6500/6000平台特定的功能有關。確認您執行的特定Cisco IOS軟體版本沒有已知錯誤。若要還原正確的條目,請在RP上發出clear ip route命令。
若要驗證SP上的鄰接表,請發出show mls cef adjacency entry adjacency_entry_number detail命令。
驗證條目包含的目標MAC地址是否與在「從RP」一節的步驟2和3b中看到的地址相同。
如果SP中的鄰接與步驟3b中下一跳的鄰接不匹配,則可能會面臨RP和SP之間的內部通訊問題。嘗試清除鄰接關係以還原正確的資訊。
這個簡單的案例將研究這些主機之間的連通性:
網路112.112.112.0/24中的主機A,IP地址為112.112.112.2
網路222.222.222.0/24中的主機B,IP地址為222.222.222.2
這是相關的RP配置:
interface TenGigabitEthernet4/1 ip address 100.100.100.1 255.255.255.0 ! interface GigabitEthernet5/5 ip address 222.222.222.1 255.255.255.0
重要附註:搭載Supervisor Engine 720和MSFC3的Catalyst 6500/6000平台在硬體中使用CEF執行路由。CEF沒有配置要求,因此您不能在MSFC3上禁用CEF。
按照本檔案疑難排解方法一節中的步驟操作,驗證到達IP位址22.222.222.2的路徑。
若要確認IP路由表,請發出以下兩個命令之一:
Cat6500-B#show ip route 222.222.222.2 Routing entry for 222.222.222.0/24 Known via "connected", distance 0, metric 0 (connected, via interface) Redistributing via eigrp 100 Routing Descriptor Blocks: * directly connected, via GigabitEthernet5/5 Route metric is 0, traffic share count is 1
或
Cat6500-B#show ip route | include 222.222.222.0 C 222.222.222.0/24 is directly connected, GigabitEthernet5/5
從這兩個命令輸出中,可以看到目標位於直連子網中。因此沒有到達目的地的下一跳。
檢驗RP上的ARP條目。
在這種情況下,請確認目的地IP位址是否存在ARP專案。發出以下命令:
Cat6500-B#show ip arp 222.222.222.2 Protocol Address Age (min) Hardware Addr Type Interface Internet 222.222.222.2 41 0011.5c85.85ff ARPA GigabitEthernet5/5
驗證RP上的CEF和鄰接表。
若要驗證CEF表,請發出以下命令:
Cat6500-B#show ip cef 222.222.222.2 222.222.222.2/32, version 10037, epoch 0, connected, cached adjacency 222.222.222.2 0 packets, 0 bytes via 222.222.222.2, GigabitEthernet5/5, 0 dependencies next hop 222.222.222.2, GigabitEthernet5/5 valid cached adjacency
可以看到存在掩碼長度為32的有效CEF條目。另外,可以看到有效的快取鄰接關係。
若要驗證鄰接表,請發出以下命令:
Cat6500-B#show adjacency detail | begin 222.222.222.2 IP GigabitEthernet5/5 222.222.222.2(7) 481036 packets, 56762248 bytes 00115C8585FF 00D0022D38000800 ARP 03:10:29 Epoch: 0
此輸出顯示存在鄰接關係。鄰接的目標MAC地址顯示的資訊與本部分步驟2的ARP表中的MAC地址相同。
從SP的角度驗證您是否具有正確的CEF/FIB條目。
FIB中有兩個有趣的條目:
目標IP地址的條目,如以下輸出所示:
Cat6500-B#show mls cef ip 222.222.222.2 detail Codes: M - mask entry, V - value entry, A - adjacency index, P - priority bit D - full don't switch, m - load balancing modnumber, B - BGP Bucket sel V0 - Vlan 0,C0 - don't comp bit 0,V1 - Vlan 1,C1 - don't comp bit 1 RVTEN - RPF Vlan table enable, RVTSEL - RPF Vlan table select Format: IPV4_DA - (8 | xtag vpn pi cr recirc tos prefix) Format: IPV4_SA - (9 | xtag vpn pi cr recirc prefix) M(90 ): E | 1 FFF 0 0 0 0 255.255.255.255 V(90 ): 8 | 1 0 0 0 0 0 222.222.222.2 (A:327680 ,P:1,D:0,m:0 , B:0 )
此條目是具有已知下一跳的主機條目。在這種情況下,下一跳就是目的地本身。
與目的地網路對應的專案,如以下輸出所示:
Cat6500-B#show mls cef ip 222.222.222.0 detail Codes: M - mask entry, V - value entry, A - adjacency index, P - priority bit D - full don't switch, m - load balancing modnumber, B - BGP Bucket sel V0 - Vlan 0,C0 - don't comp bit 0,V1 - Vlan 1,C1 - don't comp bit 1 RVTEN - RPF Vlan table enable, RVTSEL - RPF Vlan table select Format: IPV4_DA - (8 | xtag vpn pi cr recirc tos prefix) Format: IPV4_SA - (9 | xtag vpn pi cr recirc prefix) M(88 ): E | 1 FFF 0 0 0 0 255.255.255.255 V(88 ): 8 | 1 0 0 0 0 0 222.222.222.0 (A:13 ,P:1,D:0,m:0 , B:0 ) M(3207 ): E | 1 FFF 0 0 0 0 255.255.255.0 V(3207 ): 8 | 1 0 0 0 0 0 222.222.222.0 (A:14 ,P:1,D:0,m:0 , B:0 )
此條目是連線的FIB條目。到達此條目的任何資料包都會重定向到RP以進行其他處理。這個處理主要涉及傳送ARP並等待ARP解析。
請記住,FIB是順序瀏覽的,並以最長的掩碼長度開始。因此,如果同時具有目標IP地址條目和目標網路條目,則SP會使用掩碼為32的第一個條目。此條目是主機條目。不考慮不太特定的FIB表條目。如果沒有/32條目,SP將使用第二個條目,即目標網路的條目。就像該條目是連線的條目一樣,SP會將資料包重定向到RP以進行進一步處理。RP可以傳送ARP請求來獲取目標掩碼。收到ARP應答後,RP上該主機的ARP表和鄰接表即已完成。
當具有掩碼長度為32的正確FIB條目時,請驗證該主機的鄰接關係是否正確填充。
發出以下命令:
Cat6500-B#show mls cef adjacency entry 327680 detail Index: 327680 smac: 00d0.022d.3800, dmac: 0011.5c85.85ff mtu: 1518, vlan: 1021, dindex: 0x0, l3rw_vld: 1 format: MAC_TCP, flags: 0x8408 delta_seq: 0, delta_ack: 0 packets: 0, bytes: 0
注意:鄰接關係已填充,並且目標MAC(dmac)欄位包含主機B的有效MAC地址。此地址是本節的步驟2和3b中看到的地址。
註: packets和bytes計數為0。如果輸入模組具有分散式轉發卡(DFC),則必須登入到模組以獲取資料包/位元組計數。其他疑難排解提示和已知問題一節討論此過程。
如疑難排解步驟的步驟4所述,有兩個FIB條目可以很好地匹配。它們是:
網路專案(本例中為222.222.222.0/24) — 此專案一律存在,且直接來自MSFC上的路由和CEF表。此網路在路由表中始終具有直接連線。
目標主機條目(本例中為222.222.222.2/32) — 此條目不一定存在。如果該條目不存在,SP將使用該網路條目,並且會發生以下事件:
SP將資料包轉發到RP。
PFC的FIB表建立掩碼長度為32的主機條目。但是,您還沒有完整的CEF鄰接關係,因此使用type drop建立鄰接關係。
該目的地的後續封包會命中/32捨棄專案,因此封包會捨棄。
同時,傳送到RP的原始資料包觸發MSFC傳送ARP請求。
解析ARP後,ARP條目即告完成。RP上的鄰接關係已完成。鄰接更新將傳送到SP以完成現有的drop鄰接關係。
SP更改主機鄰接關係以反映重寫MAC地址。鄰接型別將更改為連線的介面。
當您等待ARP解析時,用於安裝drop鄰接關係的這種機制的名稱為「ARP throttle」。ARP限制對於避免將所有資料包轉發到RP和生成多個ARP請求非常有用。只有前幾個資料包傳輸到RP,PFC丟棄其餘資料包,直到鄰接關係完成。
ARP限制還允許您丟棄定向到直連網路中不存在或不響應主機的流量。
當您對兩個不同VLAN中的兩個使用者之間的連線進行疑難排解時,請務必記住您需要瞭解:
此外,請記得在來源的預設閘道上取得輸出。從主機A到主機B的流量以及從主機B到主機A的流量不一定相同。
在本節的圖表中,主機A的IP位址為112.112.112.2 ping主機B的IP位址為222.222.2。但這一次,主機B沒有與Cat6500-A交換器的直接連線;主機B離路由的兩跳遠。使用相同的方法來追蹤Cat6500-B交換器上的CEF路由路徑。
請完成以下步驟:
若要檢查Cat6500-A上的路由表,請發出以下命令:
Cat6500-A#show ip route 222.222.222.2 Routing entry for 222.222.222.0/24 Known via "ospf 100", distance 110, metric 2, type intra area Last update from 100.100.100.1 on TenGigabitEthernet6/1, 00:00:37 ago Routing Descriptor Blocks: * 100.100.100.1, from 222.222.222.1, 00:00:37 ago, via TenGigabitEthernet6/1 Route metric is 2, traffic share count is 1
從該輸出中可看到,為了到達IP位址為222.222.222.2的主機B,您有一條開放最短路徑優先(OSPF)通訊協定路由。您需要使用IP地址100.100.100.1到達主機,下一跳是TenGigabitEthernet6/1。
若要檢查RP上的ARP表,請發出以下命令:
注意:檢查ARP條目中是否有下一跳,而不是最終目的地。
Cat6500-A#show ip arp 100.100.100.1 Protocol Address Age (min) Hardware Addr Type Interface Internet 100.100.100.1 27 00d0.022d.3800 ARPA TenGigabitEthernet6/1
若要檢查RP上的CEF表和鄰接表,請發出以下命令:
Cat6500-A#show ip cef 222.222.222.2 222.222.222.0/24, version 6876, epoch 0, cached adjacency 100.100.100.1 0 packets, 0 bytes via 100.100.100.1, TenGigabitEthernet6/1, 0 dependencies next hop 100.100.100.1, TenGigabitEthernet6/1 valid cached adjacency
可以看到目標網路有一個CEF條目。此外,下一跳結果與步驟1中路由表中的結果一致。
若要檢查下一個躍點的鄰接表,請發出以下命令:
Cat6500-A#show adjacency detail | begin 100.100.100.1 IP TenGigabitEthernet6/1 100.100.100.1(9) 2731045 packets, 322263310 bytes 00D0022D3800 00D0048234000800 ARP 03:28:41 Epoch: 0
下一跳有一個有效的鄰接關係,目的MAC地址與步驟2中的ARP條目匹配。
若要檢查SP上的FIB表,請發出以下命令:
Cat6500-A#show mls cef ip lookup 222.222.222.2 detail Codes: M - mask entry, V - value entry, A - adjacency index, P - priority bit D - full don't switch, m - load balancing modnumber, B - BGP Bucket sel V0 - Vlan 0,C0 - don't comp bit 0,V1 - Vlan 1,C1 - don't comp bit 1 RVTEN - RPF Vlan table enable, RVTSEL - RPF Vlan table select Format: IPV4_DA - (8 | xtag vpn pi cr recirc tos prefix) Format: IPV4_SA - (9 | xtag vpn pi cr recirc prefix) M(3203 ): E | 1 FFF 0 0 0 0 255.255.255.0 V(3203 ): 8 | 1 0 0 0 0 0 222.222.222.0 (A:163840 ,P:1,D:0,m:0 ,B:0 )
FIB反映了您在步驟3中找到的相同資訊,並且您具有相同的下一跳。
要檢查SP上的鄰接關係,請發出以下命令:
Cat6500-A#show mls cef adjacency entry 163840 detail Index: 163840 smac: 00d0.0482.3400, dmac: 00d0.022d.3800 mtu: 1518, vlan: 1018, dindex: 0x0, l3rw_vld: 1 format: MAC_TCP, flags: 0x8408 delta_seq: 0, delta_ack: 0 packets: 726, bytes: 85668
注意:packets和bytes計數器是即時的。當流量停止時,計數器會返回到0。
以下疑難排解步驟用於驗證Cat6500-A交換器上的連線以便到達遠端網路。這些步驟與案例研究1中的故障排除步驟相似:連線到直連網路中的主機。但是,存在一些差異。在案例研究2的故障排除步驟中:連線到遠端網絡,您需要:
檢查IP路由表、CEF表和FIB中的最終目的地。
您可以在步驟1、3和5中執行此檢查。
檢查ARP表和鄰接表中的下一跳資訊。
在步驟2和4中執行此檢查。
檢查最終目標的鄰接關係。
您可以在步驟6中執行此檢查。
本案例研究討論了如果有多個下一跳和多個路由可以到達同一個目的網路,會發生什麼情況。
檢查路由表,確定到達同一目的IP地址有不同的路由和不同的下一跳。
在此路由表的示例部分中,有兩個路由和兩個下一跳可用於到達目標IP地址222.222.222.2:
Cat6500-A#show ip route | begin 222.222.222.0 O 222.222.222.0/24 [110/2] via 100.100.100.1, 00:01:40, TenGigabitEthernet6/1 [110/2] via 111.111.111.2, 00:01:40, FastEthernet2/1
檢查ARP條目,瞭解接下來的三個躍點中的每一跳。
請完成以下步驟:
檢查CEF表以查詢目標。
請注意,目的地也會在RP的CEF表中顯示兩個不同的條目。Cisco IOS軟體CEF能夠在不同的路由之間執行負載共用。
Cat6500-A#show ip cef 222.222.222.2 222.222.222.0/24, version 6893, epoch 0 0 packets, 0 bytes via 100.100.100.1, TenGigabitEthernet6/1, 0 dependencies traffic share 1 next hop 100.100.100.1, TenGigabitEthernet6/1 valid adjacency via 111.111.111.2, FastEthernet2/1, 0 dependencies traffic share 1 next hop 111.111.111.2, FastEthernet2/1 valid adjacency 0 packets, 0 bytes switched through the prefix tmstats: external 0 packets, 0 bytes internal 0 packets, 0 bytes
檢查ARP條目中的兩個下一跳。
Cat6500-A#show ip arp 100.100.100.1 Protocol Address Age (min) Hardware Addr Type Interface Internet 100.100.100.1 13 00d0.022d.3800 ARPA TenGigabit Ethernet6/1 Cat6500-A#show ip arp 111.111.111.2 Protocol Address Age (min) Hardware Addr Type Interface Internet 111.111.111.2 0 00d0.022d.3800 ARPA FastEthernet2/1
檢查RP鄰接表中的兩個鄰接關係。
Cat6500-A#show adjacency detail Protocol Interface Address IP TenGigabitEthernet6/1 100.100.100.1(23) 62471910 packets, 7371685380 bytes 00D0022D3800 00D0048234000800 ARP 03:34:26 Epoch: 0 IP FastEthernet2/1 111.111.111.2(23) 0 packets, 0 bytes 00D0022D3800 Address 00D0048234000800 ARP 03:47:32 Epoch: 0
步驟2b和2c中的資訊必須匹配。
請注意,為同一目標安裝了兩個不同的FIB條目。
PFC上的硬體CEF最多可以為同一目標載入16個不同路徑。預設值為src_dst IP負載共用。
Cat6500-A#show mls cef ip 222.222.222.0 Codes: decap - Decapsulation, + - Push Label Index Prefix Adjacency 3203 222.222.222.0/24 Te6/1 , 00d0.022d.3800 (Hash: 007F) Fa2/1 , 00d0.022d.3800 (Hash: 7F80)
檢查用於轉發流量的確切路由。
發出以下命令:
Cat6500-A#show ip cef exact-route 111.111.111.2 222.222.222.2 111.111.111.2 -> 222.222.222.2 : TenGigabitEthernet6/1 (next hop 100.100.100.1)
無論路由表看起來如何,在Supervisor Engine 720中總有一個FIB條目用於轉發與之前的任何條目都不匹配的資料包。若要看到此專案,請發出以下命令:
Cat6500-A#show mls cef ip 0.0.0.0 Codes: decap - Decapsulation, + - Push Label Index Prefix Adjacency 64 0.0.0.0/32 receive 134368 0.0.0.0/0 Fa2/48 , 000c.3099.373f 134400 0.0.0.0/0 drop
有三個條目。此預設值可分為兩種型別:
首先,檢驗RP路由表中是否存在預設路由。您可以查詢目的地為0.0.0.0的路由,或者在路由表中查詢。預設路由標有星號(*)。 此處,預設路由也會以粗體文本顯示。
Cat6500-A#show ip route 0.0.0.0 Routing entry for 0.0.0.0/0, supernet Known via "static", distance 1, metric 0, candidate default path Routing Descriptor Blocks: * 14.1.24.1 Route metric is 0, traffic share count is 1
在這種情況下,預設路由存在於RP路由表中,通過配置的「靜態」路由可知。
注意:無論是通過靜態、OSPF、路由資訊協定(RIP)還是其它方法獲知此預設路由,CEF的行為都是相同的。
如果您有預設路由,則始終有一個掩碼長度為0的CEF條目。此條目轉發所有不匹配任何其他字首的流量。
Cat6500-A#show mls cef ip 0.0.0.0 Codes: decap - Decapsulation, + - Push Label Index Prefix Adjacency 64 0.0.0.0/32 receive 134368 0.0.0.0/0 Fa2/48 , 000c.3099.373f 134400 0.0.0.0/0 drop
CEF按順序瀏覽每個資料包的FIB,並首先從最長匹配開始。因此,此預設FIB僅用於找不到其他匹配項的資料包。
Cat6500-B#show ip route 0.0.0.0 % Network not in table
如果路由表中沒有預設路由,則Supervisor Engine 720中仍存在掩碼長度為0的FIB條目。此FIB條目用於與FIB中任何其他條目不匹配的資料包,因此丟棄該條目。此丟棄非常有用,因為您沒有任何預設路由。無需將這些封包轉送到RP,RP仍會捨棄封包。如果使用此FIB條目,請確保在硬體中丟棄這些無用的資料包。此丟棄可避免不必要地利用RP。但是,如果資料包的目的地是IP地址0.0.0.0(具體來說),則該資料包將到達RP。
Cat6500-B#show mls cef ip 0.0.0.0 Codes: decap - Decapsulation, + - Push Label Index Prefix Adjacency 67 0.0.0.0/32 receive 134400 0.0.0.0/0 drop
註:在極少數情況下,FIB表已滿,FIB刪除條目仍然存在。但是,與其丟棄與條目匹配的資料包,不如將資料包傳送到RP。僅當在FIB中存在超過256,000個字首且整個路由表空間不足時,才會出現這種情況。
如果流量的輸入模組是基於DFC的線卡,則會在模組本地做出轉發決策。若要檢查硬體封包計數器,請執行到模組的遠端登入。然後,發出命令,如本節所示。
用作示例案例研究2:連線到遠端網路。對於Cat6500-B,流量進入具有DFC的模組4。發出以下命令可遠端登入到模組:
Cat6500-B#remote login module 4 Trying Switch ... Entering CONSOLE for Switch Type "^C^C^C" to end this session Cat6500-B-dfc4#
然後,您可以檢查模組上的CEF FIB資訊。
Cat6500-B-dfc4#show mls cef ip 222.222.222.2 detail Codes: M - mask entry, V - value entry, A - adjacency index, P - priority bit D - full don't switch, m - load balancing modnumber, B - BGP Bucket sel V0 - Vlan 0,C0 - don't comp bit 0,V1 - Vlan 1,C1 - don't comp bit 1 RVTEN - RPF Vlan table enable, RVTSEL - RPF Vlan table select Format: IPV4_DA - (8 | xtag vpn pi cr recirc tos prefix) Format: IPV4_SA - (9 | xtag vpn pi cr recirc prefix) M(90 ): E | 1 FFF 0 0 0 0 255.255.255.255 V(90 ): 8 | 1 0 0 0 0 0 222.222.222.2 (A:294912 ,P:1,D:0,m:0 ,B:0 )
接下來,您可以檢查硬體計數器的鄰接資訊。
Cat6500-B-dfc4#show mls cef adjacency entry 294912 detail Index: 294912 smac: 00d0.022d.3800, dmac: 0011.5c85.85ff mtu: 1518, vlan: 1021, dindex: 0x0, l3rw_vld: 1 format: MAC_TCP, flags: 0x8408 delta_seq: 0, delta_ack: 0 packets: 4281043, bytes: 505163074
在Cisco IOS軟體版本12.1(20)E和更新版本中,已移除Catalyst 6500系列交換器對停用IP路由的支援。您不能在這些交換器上停用IP路由,如以下範例所示:
Cat6500(config)#no ip routing Cannot disable ip routing on this platform
no ip routing命令是Cisco IOS軟體命令,用於在Cisco IOS路由器上禁用IP路由。通常,在低端路由器上使用此命令。
只有在交換器上已啟用service internal指令時,才會接受no ip routing指令。但是它不會儲存到組態中,而且會在交換器重新載入後遺失。思科建議不要在執行Cisco IOS系統軟體的Catalyst 6000/6500系列交換器上停用IP路由。
要解決此問題,請使用ip route 0.0.0.0 0.0.0.0 a.b.c.d 命令。在此命令中,a.b.c.d是預設閘道的IP位址。如果以下兩項均為真,則不使用工藝路線流程:
您可以使用switchport命令將交換器中的所有介面設定為L2連線埠。
交換器中未設定交換虛擬介面(SVI)(VLAN介面)。
show mls cef exact-route source-ip address dest-ip address 和show ip cef exact-route source-ip address dest-ip address 的輸出不同,因為使用IP CEF時封包進行軟體交換,而使用MLS CEF時封包進行硬體交換。由於大多數資料包都是硬體交換的,因此檢視到達目的地的下一跳的最佳命令是show mls cef exact-route source-ip address dest-ip address。