本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本文描述常見問題和排除熱待命路由器協定(HSRP)問題的方法。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
本文件將說明以下與 HSRP 相關的最常見問題:
路由器回報重複的 HSRP 待命 IP 位址
HSRP 狀態持續變更(active、standby、speak)
HSRP對等體不存在
與 HSRP 相關的交換器錯誤訊息
有過多網路單點傳播泛洪到 HSRP 組態
附註:本文件將詳細介紹如何疑難排解 Catalyst 交換器環境中的 HSRP 問題。本文件包含許多對軟體版本和網路拓撲設計的參考。不過,本文件的唯一目的是幫助和引導工程師疑難排解 HSRP 問題。本文件的用意並非成為設計指南、軟體推薦文件或最佳作法文件。
依賴內部網路和網際網路服務進行關鍵任務通訊的企業和消費者,會要求且期望能夠持續使用他們的網路和應用程式。如果客戶利用 Cisco IOS® 軟體中的 HSRP,他們對網路正常運行時間的需求就能夠獲得近乎百分之百的滿足。HSRP 是思科平台所獨有,能夠為 IP 網路提供網路備援,且所使用的方法會確保使用者流量立即且透明地從網路邊緣裝置或存取電路中的第一個躍點故障中復原。
如果兩個或多個路由器共用一個 IP 位址和一個 MAC(第 2 層 [L2])位址,則它們可以作為單一虛擬路由器使用。該位址是主機工作站預設閘道備援所必需。大多數主機工作站不包含路由表,而且僅使用單一的下一個躍點 IP 和 MAC 位址。此位址稱為預設閘道。有了 HSRP,虛擬路由器群組的成員就能夠持續交換狀態訊息。如果某個路由器因計劃或非計劃原因而無法運作,另一個路由器就可以承擔其路由責任。主機設定了單一預設閘道,且繼續將 IP 封包轉送到一致的 IP 和 MAC 位址。終端工作站能夠清楚瞭解執行路由之裝置的轉換。
附註:您可以為多個預設閘道設定執行 Microsoft 作業系統的主機工作站。但是多個預設網關不是動態的。作業系統一次只會使用一個預設閘道。如果網際網路控制管理通訊協定 (ICMP) 將第一個設定的預設閘道判定為無法連線,系統只會在啟動時選擇其他設定的預設閘道。
一組執行 HSRP 的路由器協同合作,向 LAN 上的主機呈現單一預設閘道路由器的錯覺。這組路由器稱為 HSRP 群組或待命群組。從組中選擇的單個路由器負責轉發主機傳送到虛擬路由器的資料包。此路由器稱為作用中路由器。另一個路由器被選為待命路由器。如果作用中路由器故障,待命路由器將承擔轉送封包的責任。雖然任意數量的路由器可以運行HSRP,但只有活動路由器會轉發傳送到虛擬路由器IP地址的資料包。
為了最小化網路流量,在通訊協定完成選擇程序後,只有作用中和待命路由器會傳送定期的 HSRP 訊息。HSRP 群組中的其他路由器會保持在 Listen 狀態。如果作用中路由器故障,待命路由器將接替作用中路由器。如果待命路由器故障或成為作用中路由器,另一個路由器就會被選為待命路由器。
每個待命群組都會模擬單一虛擬路由器(預設閘道)。 對於每個群組,都會為其分配一個公認的 MAC 和 IP 位址。一個 LAN 上可以有多個待命群組共存和重疊,且個別路由器可以加入多個群組。在這種情況下,路由器會為每個群組維護一個單獨的狀態和計時器。
字詞 | 定義 |
---|---|
作用中路由器 | 目前為虛擬路由器轉送封包的路由器 |
待命路由器 | 主要備份路由器 |
待命群組 | 參與 HSRP 且共同模擬一個虛擬路由器的一組路由器 |
Hello 時間 | 來自指定路由器之連續 HSRP hello 訊息之間的間隔 |
保留時間 | 收到 hello 訊息和假設傳送路由器已故障之間的間隔 |
執行 HSRP 的路由器會透過 HSRP hello 封包在彼此之間傳遞 HSRP 資訊。這些封包會透過使用者資料包通訊協定 (UDP) 連接埠 1985 傳送到目的地 IP 多點傳播位址 224.0.0.2。IP 多點傳播位址 224.0.0.2 是保留的多點傳播位址,用來與所有路由器通訊。作用中路由器會從其設定的 IP 位址和 HSRP 虛擬 MAC 位址取得 hello 封包。待命路由器會從其設定的 IP 位址和燒錄的 MAC 位址 (BIA) 取得 hello。 這種來源定址的使用方式是必要的,才能讓 HSRP 路由器正確識別彼此。
在大多數情況下,當您將路由器設定為 HSRP 群組的一部分時,路由器會接聽該群組的 HSRP MAC 位址以及其自身的 BIA。此行為的唯一例外是 Cisco 2500、4000 和 4500 路由器。這些路由器具有只能識別單一 MAC 位址的乙太網路硬體。因此,這些路由器作為作用中路由器時,會使用 HSRP MAC 位址。路由器作為待命路由器時,會使用其 BIA。
由於主機工作站的設定是將其預設閘道作為 HSRP 待命 IP 位址,因此主機必須與和 HSRP 待命 IP 位址相關聯的 MAC 位址進行通訊。此 MAC 位址是虛擬 MAC 位址,由 0000.0c07.ac** 組成。** 是十六進位的 HSRP 群組編號,以相應的介面為基礎。例如,HSRP 群組 1 會使用 HSRP 虛擬 MAC 位址 0000.0c07.ac01。 相鄰 LAN 區段上的主機會使用一般位址解析通訊協定 (ARP) 程序來解析相關聯的 MAC 位址。
保護子網路的 HSRP 對等路由器能夠提供對網路中所有其他子網路的存取權限。這是 HSRP 的基礎。因此,哪個路由器會成為作用中的 HSRP 路由器並不相關。在 Cisco IOS 軟體版本 12.1(3)T 之前的 Cisco IOS 軟體版本中,如果某個介面使用了 HSRP,ICMP 重新導向就會在該介面上自動停用。如果沒有此組態,系統就可能會將主機從 HSRP 虛擬 IP 位址重新導向出去,並導向至單一路由器的介面 IP 和 MAC 位址。此時就失去備援了。
Cisco IOS軟體引入了允許HSRP進行ICMP重新導向的方法。此方法會透過 HSRP 過濾外寄 ICMP 重新導向訊息。下一個躍點 IP 位址會變更為 HSRP 虛擬位址。外寄 ICMP 重新導向訊息中的閘道 IP 位址,會與該網路上存在的 HSRP 作用中路由器清單進行比較。如果與閘道 IP 位址對應的路由器是 HSRP 群組的作用中路由器,則閘道 IP 位址將由該群組虛擬 IP 位址取代。此解決方案可讓主機瞭解遠端網路的最佳路由,同時保有 HSRP 提供的彈性。
請參閱了解熱備用路由器協定特性和功能的Cisco IOS®版本和HSRP功能表部分,以瞭解支援HSRP的功能和Cisco IOS軟體版本。
本文件提供有關以下 HSRP 功能的資訊:
佔先
介面追蹤
使用 BIA
多個 HSRP 群組
可設定的 MAC 位址
Syslog 支援
HSRP 偵錯
強化的 HSRP 偵錯
驗證
IP 備援
簡易網路管理通訊協定 (SNMP) MIB
用於多重通訊協定標籤交換 (MPLS) 的 HSRP
附註:您可以使用瀏覽器的「尋找」功能在文件內找到這些章節。
以下表格顯示 UDP HSRP 訊框之資料部分的格式:
版本 | 操作代碼 | 狀態 | hello 時間 |
---|---|---|---|
保持時間 | 優先順序機制 | 群組 | 保留 |
驗證資料 | |||
驗證資料 | |||
虛擬 IP 位址 |
以下表格說明 HSRP 封包中的各個欄位:
封包欄位 | 說明 |
---|---|
操作代碼(1 個八位元) | 操作代碼會說明封包所包含的訊息類型。可能的值:0 - hello,1 - coup 和 2 - resign。Hello 訊息的傳送是表示某個路由器執行 HSRP,而且能夠成為作用中路由器。某個路由器希望成為作用中路由器時,就會傳送 Coup 訊息。某個路由器不再希望成為作用中路由器時,就會傳送 Resign 訊息。 |
狀態(1 個八位元) | 待命群組中的每個路由器都會實作一個狀態機器。狀態欄位會說明傳送訊息之路由器的目前狀態。以下是有關各個狀態的詳細資訊:0 - 初始,1 - 學習,2 - 接聽,4 - 發言,8 - 待命,16 - 作用中。 |
Hello 時間(1 個八位元) | 此欄位僅在 hello 訊息中有意義。它包含路由器傳送之 hello 訊息之間的大約週期。時間以秒為單位。 |
保留時間(1 個八位元) | 此欄位僅在 hello 訊息中有意義。它包含路由器在啟動狀態變更之前等待 hello 訊息的時間量。 |
優先順序(1 個八位元) | 此欄位是用來選出作用中和待命的路由器。在比較兩個路由器的優先順序時,具有最高值的路由器會成為作用中路由器。如果值相同,則由具有較高 IP 位址的路由器勝出。 |
群組(1 個八位元) | 此欄位會識別待命群組。 |
驗證資料(8 個八位元) | 此欄位包含一組明文的八字元密碼。 |
虛擬 IP 位址(4 個八位元) | 如果路由器上未設定虛擬 IP 位址,則可以從作用中路由器的 hello 訊息中獲知該位址。只有在未設定 HSRP 待命 IP 位址,而且已驗證 hello 訊息(如果已設定驗證)的情況下,才會獲知位址。 |
狀態 | 定義 |
---|---|
Initial(初始) | 這是開始時的狀態。此狀態表示 HSRP 並未執行。透過組態變更,或是在介面首次可用時,就會進入此狀態。 |
學習 | 路由器尚未確定虛擬 IP 位址,也尚未看到來自作用中路由器的已驗證 hello 訊息。在這種狀態下,路由器仍然會等待從作用中路由器中獲知資訊。 |
Listen(接聽) | 路由器知道虛擬 IP 位址,但路由器既不是作用中路由器,也不是待命路由器。它會接聽來自這些路由器的 hello 訊息。 |
Speak(發言) | 路由器會定期傳送 hello 訊息並主動參與作用中和/或待命路由器的選擇。除非路由器具有虛擬 IP 位址,否則路由器無法進入 speak 狀態。 |
Standby(待命) | 路由器是成為下一個作用中路由器的候選者,而且會定期傳送 hello 訊息。將暫時性狀況排除後,群組中最多只有一個路由器處於 standby 狀態。 |
Active(作用中) | 路由器目前會轉送傳送到群組虛擬 MAC 位址的封包。路由器會定期傳送 hello 訊息。將暫時性狀況排除後,群組中最多只能有一個路由器處於 active 狀態。 |
每個路由器在 HSRP 中只會使用三個計時器。計時器會為 hello 訊息計時。發生故障時,HSRP 聚合取決於 HSRP hello 和保留計時器的設定方式。依照預設,這些計時器分別設為 3 和 10 秒;也就是說,每 3 秒會在 HSRP 待命群組裝置之間傳送一個 hello 封包,而 10 秒未收到 hello 封包時,待命裝置會成為作用中狀態。您可以降低這些計時器設定以加快故障轉移或搶佔,但是,要避免CPU使用率增加和不必要的待機狀態抖動,請勿將hello計時器設定為低於一(1)秒或保持計時器設定為低於4秒。
附註:如果使用HSRP跟蹤機制並且跟蹤的鏈路發生故障,則無論使用什麼呼叫計時器和保持計時器,都會立即進行故障切換或搶佔。計時器到期時,路由器會轉換到新的 HSRP 狀態。可以使用以下命令來變更計時器:standby [群組編號] timers hello 時間 保留時間。例如,standby 1 timers 5 15。
以下表格提供更多有關這些計時器的資訊:
計時器 | 說明 |
---|---|
作用中計時器 | 此計時器是用來監控作用中路由器。每當作用中路由器收到 hello 封包時,此計時器就會啟動。此計時器會根據 HSRP hello 訊息相關欄位中設定的保留時間值而到期。 |
待命計時器 | 此計時器是用來監控待命路由器。每當待命路由器收到 hello 封包時,此計時器就會啟動。此計時器會根據個別 hello 封包中設定的保留時間值而到期。 |
Hello 計時器 | 此計時器是用來計時 hello 封包。此 hello 計時器到期時,處於任何 HSRP 狀態的所有 HSRP 路由器都會產生 hello 封包。 |
以下表格提供 HSRP 有限狀態機器中的事件:
主要 | 活動 |
---|---|
1 | HSRP 已在啟用的介面上設定。 |
2 | 介面上的 HSRP 已停用,或是介面已停用。 |
3 | 作用中計時器到期 - 從作用中路由器看到最後一則 hello 訊息時,作用中計時器就會設定為保留時間。 |
4 | 待命定時器到期 - 從待命路由器看到最後一則 hello 訊息時,待命定時器就會設定為保留時間。 |
5 | Hello 計時器到期 - 傳送 hello 訊息的定期計時器已到期。 |
6 | 從處於 speak 狀態的路由器接收到更高優先順序的 hello 訊息 |
7 | 從作用中路由器接收到更高優先順序的 hello 訊息 |
8 | 從作用中路由器接收到較低優先順序的 hello 訊息 |
9 | 從作用中路由器接收到 resign 訊息 |
10 | 從更高優先順序的路由器接收到 coup 訊息 |
11 | 從待命路由器接收到更高優先順序的 hello 訊息 |
12 | 從待命路由器接收到較低優先順序的 hello 訊息 |
以下表格詳細說明要在狀態機器中採取的動作:
字母 | 動作 |
---|---|
A | 啟動活動計時器 — 如果由於從活動路由器收到經過身份驗證的hello消息而發生此動作,則活動計時器將設定為hello消息中的保持時間欄位。否則,作用中計時器會設定為此路由器使用的目前保留時間值。接著作用中計時器就會啟動。 |
B | Start standby timer — 如果由於從備用路由器收到經過身份驗證的hello消息而發生此操作,則備用計時器將設定為hello消息中的保持時間欄位。否則,待命計時器會設定為此路由器使用的目前保留時間值。接著待命計時器就會啟動。 |
思 | 停止作用中計時器 - 作用中計時器會停止。 |
D | 停止待命計時器 - 待命計時器會停止。 |
E | 獲知參數 - 從作用中路由器接收到已驗證的訊息時,就會執行此動作。如果該群組的虛擬 IP 位址並非手動設定,就可以從訊息中獲知虛擬 IP 位址。路由器可以從訊息中獲知 hello 時間和保留時間值。 |
思 | 傳送 hello 訊息 - 路由器會傳送含有其目前狀態、hello 時間和保留時間的 hello 訊息。 |
G | 傳送 coup 訊息 - 路由器會傳送 coup 訊息以通知作用中路由器有更高優先順序的路由器可用。 |
H | 傳送 resign 訊息 - 路由器會傳送 resign 訊息以允許另一個路由器成為作用中路由器。 |
I | 傳送 Gratuitous ARP 訊息 - 路由器會廣播一個 ARP 回應封包,以通告群組虛擬 IP 和 MAC 位址。該封包的傳送會包含虛擬 MAC 位址,以便在連結層級標頭和 ARP 封包中作為來源 MAC 位址。 |
此部分的圖表顯示 HSRP 狀態機器的狀態轉換。每次發生事件時,都會產生相關聯的動作,而且路由器會轉換到下一個 HSRP 狀態。在圖表中,數字表示事件,字母則表示相關聯的動作。HSRP 事件部分的表格提供了數字定義,HSRP 動作部分的表格則提供了字母定義。請僅將此圖表當作參考使用。該圖很詳細,不是進行常規故障排除所必需的。
裝置 | MAC 地址 | IP 位址 | 子網路遮罩 | 預設閘道 |
---|---|---|---|---|
電腦 1 | 0000.0c00.0001 | 10.1.1.10 | 255.255.255.0 | 10.1.1.1 |
電腦 2 | 0000.0c00.1110 | 10.1.2.10 | 255.255.255.0 | 10.1.2.1 |
interface GigabitEthernet 0/0 ip address 10.1.1.2 255.255.255.0 mac-address 4000.0000.0010 standby 1 ip 10.1.1.1 standby 1 priority 200
interface GigabitEthernet 0/1 ip address 10.1.2.2 255.255.255.0 mac-address 4000.0000.0011 standby 1 ip 10.1.2.1 standby 1 priority 200
interface GigabitEthernet 0/0 ip address 10.1.1.3 255.255.225.0 mac-address 4000.0000.0020 standby 1 ip 10.1.1.1
interface GigabitEthernet 0/1 ip address 10.1.2.3 255.255.255.0 mac-address 4000.0000.0021 standby 1 ip 10.1.2.1
附註:這些範例是為了說明用途而設定靜態 MAC 位址。除非有必要這麼做,否則請不要設定靜態 MAC 位址。
獲得監聽器追蹤以排除HSRP問題時,您必須瞭解資料包流背後的概念。路由器 A 會使用 200 的優先順序,並成為兩個介面上的作用中路由器。在此部分的範例中,來自路由器且目的地為主機工作站的封包具有路由器實體 MAC 位址 (BIA) 的來源 MAC 位址。 來自主機且目的地為 HSRP IP 位址的封包,具有 HSRP 虛擬 MAC 位址的目的地 MAC 位址。請注意,在路由器和主機之間,每個流量的 MAC 位址都不同。
以下表格是以從交換器 X 取得的監聽器追蹤軌跡為基礎,顯示每個流量的個別 MAC 和 IP 位址資訊。
封包流量 | 來源 MAC | 目的地 MAC | 來源 IP | 目的地 IP |
---|---|---|---|---|
來自電腦 1 且目的地為電腦 2 的封包 | 電腦 1 (0000.0c00.0001) | 路由器 A 介面乙太網路 0 的 HSRP 虛擬 MAC 位址 (0000.0c07.ac01) | 10.1.1.10 | 10.1.2.10 |
從電腦 2 透過路由器 A 傳回且目的地為電腦 1 的封包 | 路由器 A 乙太網路 0 BIA (4000.0000.0010) | 電腦 1 (0000.0c00.0001) | 10.1.2.10 | 10.1.1.10 |
來自電腦 1 且目的地為 HSRP 待命 IP 位址(ICMP、Telnet)的封包 | 電腦 1 (0000.0c00.0001) | 路由器 A 介面乙太網路 0 的 HSRP 虛擬 MAC 位址 (0000.0c07.ac01) | 10.1.1.10 | 10.1.1.1 |
目的地為作用中路由器(ICMP、Telnet)之實際 IP 位址的封包 | 電腦 1 (0000.0c00.0001) | 路由器 A 乙太網路 0 BIA (4000.0000.0010) | 10.1.1.10 | 10.1.1.2 |
目的地為待命路由器(ICMP、Telnet)之實際 IP 位址的封包 | 電腦 1 (0000.0c00.0001) | 路由器 B 乙太網路 0 BIA (4000.0000.0020) | 10.1.1.10 | 10.1.1.3 |
可能會顯示以下錯誤訊息:
Oct 12 13:15:41: %STANDBY-3-DUPADDR: Duplicate address 10.25.0.1 on Vlan25, sourced by 0000.0c07.ac19 Oct 13 16:25:41: %STANDBY-3-DUPADDR: Duplicate address 10.25.0.1 on Vlan25, sourced by 0000.0c07.ac19 Oct 15 22:31:02: %STANDBY-3-DUPADDR: Duplicate address 10.25.0.1 on Vlan25, sourced by 0000.0c07.ac19 Oct 15 22:41:01: %STANDBY-3-DUPADDR: Duplicate address 10.25.0.1 on Vlan25, sourced by 0000.0c07.ac19
這些錯誤訊息不一定表示發生 HSRP 問題。但是,錯誤訊息表示可能發生擴充樹通訊協定 (STP) 迴圈或路由器/交換器組態問題。錯誤訊息只是另一個問題的症狀。
此外,這些錯誤訊息並不會妨礙 HSRP 的正常運作。重複的 HSRP 封包會遭到略過。這些錯誤訊息會以 30 秒的間隔進行節流。但是,造成 HSRP 位址之 STANDBY-3-DUPADDR 錯誤訊息的網路不穩定,可能會導致網路效能緩慢和封包遺失。
這些訊息會特別指出路由器已收到一個資料封包,而該資料封包是來自 VLAN 25 上的 HSRP IP 位址,且 MAC 位址為 0000.0c07.ac19。 由於 HSRP MAC 位址是 0000.0c07.ac19,上述的路由器已收到它自己的封包,或是 HSRP 群組中的兩個路由器都已進入 active 狀態。因為路由器收到了自己的封包,所以問題很可能出在網路而不是路由器上。有多種問題可能會導致此行為。造成錯誤訊息的可能網路問題包括:
暫時 STP 迴圈
乙太通道組態問題
訊框重複
當您對這些錯誤消息進行故障排除時,請參閱本文檔的Catalyst交換機中的HSRP故障排除部分中的故障排除步驟。所有故障排除模組均適用於本部分,包括配置模組。此外,請注意交換器記錄中是否有任何錯誤,並視需要參考其他案例研究。
您可以使用存取清單來防止作用中路由器接收其自身的多點傳播 hello 封包。但是,這只是錯誤訊息的解決方法,實際上卻隱藏了問題的症狀。解決方法是將擴充的內送存取清單套用至 HSRP 介面。存取清單會封鎖所有來自實體 IP 位址且目的地為所有路由器多點傳播位址 224.0.0.2 的流量。
access-list 101 deny ip host 172.16.12.3 host 224.0.0.2 access-list 101 permit ip any any interface GigabitEthernet 0/0 ip address 172.16.12.3 255.255.255.0 standby 1 ip 172.16.12.1 ip access-group 101 in
可能會顯示以下錯誤訊息:
Jan 9 08:00:42.623: %STANDBY-6-STATECHANGE: Standby: 49: Vlan149 state Standby -> Active Jan 9 08:00:56.011: %STANDBY-6-STATECHANGE: Standby: 49: Vlan149 state Active -> Speak Jan 9 08:01:03.011: %STANDBY-6-STATECHANGE: Standby: 49: Vlan149 state Speak -> Standby Jan 9 08:01:29.427: %STANDBY-6-STATECHANGE: Standby: 49: Vlan149 state Standby -> Active Jan 9 08:01:36.808: %STANDBY-6-STATECHANGE: Standby: 49: Vlan149 state Active -> Speak Jan 9 08:01:43.808: %STANDBY-6-STATECHANGE: Standby: 49: Vlan149 state Speak -> Standby
Jul 29 14:03:19.441: %HSRP-5-STATECHANGE: Vlan10 Grp 110 state Standby -> Active
Jul 29 16:27:04.133: %HSRP-5-STATECHANGE: Vlan10 Grp 110 state Active -> Speak
Jul 29 16:31:49.035: %HSRP-5-STATECHANGE: Vlan10 Grp 110 state Speak -> Standby
這些錯誤訊息說明的情況是,待命 HSRP 路由器並未從其 HSRP 對等點收到三個連續的 HSRP hello 封包。輸出顯示待命路由器從 standby 狀態變成 active 狀態。不久之後,路由器回到 standby 狀態。除非在初始安裝期間出現此錯誤訊息,否則 HSRP 問題不太可能會造成此錯誤訊息。此錯誤訊息表示對等點之間的 HSRP hello 遺失。疑難排解此問題時,必須驗證 HSRP 對等點之間的通訊。對等點之間的資料通訊發生隨機、暫時性的遺失,是造成這些錯誤訊息的最常見問題。HSRP 狀態變更通常是因為 CPU 使用率高。如果錯誤訊息是因為 CPU 使用率高所引起,請在網路上放置一個監聽器,並追蹤導致 CPU 使用率高的系統。
對等點之間的 HSRP 封包遺失有多種可能的原因。最常見的問題是實體層問題、擴充樹問題導致的網路流量過大,或是各個 Vlan 造成的流量過大。與案例研究#1一樣,所有故障排除模組都適用於HSRP狀態更改的解決,特別是第3層HSRP調試。
如果對等點之間的 HSRP 封包遺失是由於前面提到的各個 VLAN 造成的流量過大,您可以調整或增加 SPD 並保留佇列大小,以克服輸入佇列捨棄問題。
若要增加選擇性封包捨棄(SPD)大小,請前往組態模式,然後在Cat6500交換器上執行這些命令:
(config)#ip spd queue max-threshold 600 !--- Hidden Command (config)#ip spd queue min-threshold 500 !--- Hidden Command
若要增加保留佇列大小,請前往 VLAN 介面模式並執行以下命令:
(config-if)#hold-queue 500 in
增加SPD和保留隊列大小後,如果執行clear counter interface命令,則可以清除介面計數器。
此區段的路由器輸出顯示出已為 HSRP 設定路由器,但該路由器無法識別其 HSRP 對等點。為了發生這種情況,路由器必須無法從相鄰路由器接收 HSRP hello。疑難排解此問題時,請參閱本文件的驗證實體層連線部分和驗證 HSRP 路由器組態部分。如果實體層連線正確,請檢查是否有不相符的 VTP 模式。
Vlan8 - Group 8 Local state is Active, priority 110, may preempt Hellotime 3 holdtime 10 Next hello sent in 00:00:01.168 Hot standby IP address is 10.1.2.2 configured Active router is local Standby router is unknown expired Standby virtual mac address is 0000.0c07.ac08 5 state changes, last state change 00:05:03
可能會顯示以下錯誤訊息:
2001 Jan 03 14:18:43 %SYS-4-P2_WARN: 1/Host 00:00:0c:14:9d:08 is flapping between port 2/4 and port 2/3
Feb 4 07:17:44 AST: %SW_MATM-4-MACFLAP_NOTIF: Host 0050.56a9.1f28 in vlan 1027 is flapping between port Te1/0/7 and port Te2/0/2
在Catalyst交換器中,交換器報告主機MAC位址,如果主機MAC位址在15秒內移動兩次,該位址會移動。可能的原因是STP環路。交換器會捨棄來自該主機的封包約 15 秒,以盡量減少 STP 迴圈的影響。如果回報的兩個連接埠之間的 MAC 位址移動是 HSRP 虛擬 MAC 位址,則問題很可能是:兩個 HSRP 路由器都進入了 active 狀態。
如果回報的 MAC 位址不是 HSRP 虛擬 MAC 位址,則問題可能表示網路中的封包出現迴圈、重複或反射。這些類型的狀況可能會導致 HSRP 問題。MAC 位址移動的最常見原因是擴充樹問題或實體層問題。
疑難排解此錯誤訊息時,請完成以下步驟:
判斷主機 MAC 位址的正確來源(連接埠)。
斷開不能作為主機MAC地址來源的埠。
記錄每個 VLAN 上的 STP 拓撲,並檢查是否有 STP 故障。
驗證連接埠通道組態。
不正確的連接埠通道組態可能會造成主機 MAC 位址出現翻動的錯誤訊息。這是因為連接埠通道的負載平衡性質所致。
使用非對稱路由時,在主機與其通訊的對等體之間傳輸和接收資料包使用不同的路徑。此資料包流是基於HSRP優先順序在HSRP路由器之間配置負載均衡的結果,HSRP被設定為活動或備用。在交換環境中,這種類型的封包流量可能會導致過多的不明單點傳播泛洪。此外,可能會缺少多層次交換 (MLS) 項目。交換器將單點傳播封包從所有連接埠泛洪出去時,就會發生未知單點傳播泛洪。交換器之所以泛洪封包,是因為沒有目的地 MAC 位址的項目。此行為不會中斷連線,因為封包還是會轉送。但是,該行為確實會造成主機連接埠上額外封包的泛洪。這個案例研究了非對稱路由的行為,以及為什麼會導致單點傳播泛洪。
非對稱路由的症狀包括:
過多的單點傳播封包泛洪
缺少流量的 MLS 項目
監聽器追蹤軌跡顯示主機連接埠上的封包目的地並非主機
使用 L2 型封包重寫引擎(例如伺服器負載平衡器、Web 快取裝置和網路設備)增加了網路延遲
範例包括 Cisco LocalDirector 和 Cisco Cache Engine。
在無法處理額外單點傳播泛洪流量負載的連線主機和工作站上,封包遭到捨棄
附註:路由器的預設 ARP 快取逾時時間為四小時。交換器內容定址記憶體 (CAM) 項目的預設逾時時間為五分鐘。主機工作站的 ARP 逾時時間對於本次討論並不重要。但是,此範例是將 ARP 逾時時間設定為四小時。
以下圖表說明了這個問題。此拓撲範例包括 Catalyst 6500,每個交換器都有多層交換器功能卡 (MSFC)。雖然此範例使用的是 MSFC,您還是可以使用任何路由器來代替 MSFC。您可以使用的範例路由器包括路由交換器模組 (RSM)、Gigabit 交換路由器 (GSR) 和 Cisco 7500。主機會直接連線到交換器上的連接埠。交換器透過中繼線互連,而中繼線承載 VLAN 1 和 VLAN 2 的流量。
以下輸出摘自每個 MSF 的 show standby 命令組態。
interface Vlan 1 mac-address 0003.6bf1.2a01 ip address 10.1.1.2 255.255.255.0 no ip redirects standby 1 ip 10.1.1.1 standby 1 priority 110 interface Vlan 2 mac-address 0003.6bf1.2a01 ip address 10.1.2.2 255.255.255.0 no ip redirects standby 2 ip 10.1.2.1 MSFC1#show standby Vlan1 - Group 1 Local state is Active, priority 110 Hellotime 3 holdtime 10 Next hello sent in 00:00:00.696 Hot standby IP address is 10.1.1.1 configured Active router is local Standby router is 10.1.1.3 expires in 00:00:07 Standby virtual mac address is 0000.0c07.ac01 2 state changes, last state change 00:20:40 Vlan2 - Group 2 Local state is Standby, priority 100 Hellotime 3 holdtime 10 Next hello sent in 00:00:00.776 Hot standby IP address is 10.1.2.1 configured Active router is 10.1.2.3 expires in 00:00:09, priority 110 Standby router is local 4 state changes, last state change 00:00:51 MSFC1#exit Console> (enable)
interface Vlan 1 mac-address 0003.6bf1.2a02 ip address 10.1.1.3 255.255.255.0 no ip redirects standby 1 ip 10.1.1.1 interface Vlan 2 mac-address 0003.6bf1.2a02 ip address 10.1.2.3 255.255.255.0 no ip redirects standby 2 ip 10.1.2.1 standby 2 priority 110 MSFC2#show standby Vlan1 - Group 1 Local state is Standby, priority 100 Hellotime 3 holdtime 10 Next hello sent in 00:00:01.242 Hot standby IP address is 10.1.1.1 configured Active router is 10.1.1.2 expires in 00:00:09, priority 110 Standby router is local 7 state changes, last state change 00:01:17 Vlan2 - Group 2 Local state is Active, priority 110 Hellotime 3 holdtime 10 Next hello sent in 00:00:00.924 Hot standby IP address is 10.1.2.1 configured Active router is local Standby router is 10.1.2.2 expires in 00:00:09 Standby virtual mac address is 0000.0c07.ac02 2 state changes, last state change 00:40:08 MSFC2#exit
附註:在 MSFC1 上,VLAN 1 處於 HSRP active 狀態,VLAN 2 處於 HSRP standby 狀態。在 MSFC2 上,VLAN 2 處於 HSRP active 狀態,VLAN 1 處於HSRP standby 狀態。每個主機的預設閘道都是各自的待命 IP 位址。
一開始,所有快取都是空的。主機 A 使用 MSFC1 作為其預設閘道。主機 B 使用 MSFC2。
啟動 Ping 之前的 ARP 和 MAC 位址表主機 A ARP 表 | 交換器 1 MAC 位址表 MAC VLAN 連接埠 | MSFC1 ARP 表 | MSFC2 ARP 表 | 交換器 2 MAC 位址表 MAC VLAN 連接埠 | 主機 B ARP 表 |
---|---|---|---|---|---|
0003.6bf1.2a01 1 15/1 | 0003.6bf1.2a02 1 15/1 | ||||
0003.6bf1.2a01 2 15/1 | 0003.6bf1.2a02 2 15/1 | ||||
0000.0c07.ac01 1 15/1 | 0000.0c07.ac01 1 1/1 | ||||
0000.0c07.ac02 2 1/1 | 0000.0c07.ac02 2 15/1 | ||||
0003.6bf1.2a02 1 1/1 | 0003.6bf1.2a01 1 1/1 | ||||
0003.6bf1.2a02 2 1/1 | 0003.6bf1.2a01 2 1/1 |
附註:為簡潔說明,路由器 HSRP 的交換器 1 MAC 位址和 MAC 位址並未包含在此部分顯示的其他表格中。
主機 A ping 主機 B,亦即主機 A 傳送 ICMP 回應封包。因為每台主機都駐留在單獨的 VLAN 上,因此主機 A 會將其目的地為主機 B 的封包轉送到其預設閘道。為了使該過程發生,主機 A 必須傳送 ARP,才能解析其預設閘道 MAC 位址 10.1.1.1。
主機 A 對預設閘道傳送 ARP 之後的 ARP 和 MAC 位址表主機 A ARP 表 | 交換器 1 MAC 位址表 MAC VLAN 連接埠 | MSFC1 ARP 表 | MSFC2 ARP 表 | 交換器 2 MAC 位址表 MAC VLAN 連接埠 | 主機 B ARP 表 |
---|---|---|---|---|---|
10.1.1.1 :0000.0c07.ac01 | 0000.0c00.0001 1 2/1 | 10.1.1.10 :0000.0c00.0001 |
MSFC1 會接收封包、重寫封包,並將封包轉送到主機 B。為了重寫封包,MSFC1 會向主機 B 傳送 ARP 要求,因為主機位於直接連線的介面之外。MSFC2 尚未收到此流量中的任何封包。MSFC1 收到主機 B 的 ARP 回覆時,兩台交換器都會獲知與主機 B 相關聯的來源連接埠。
主機A將封包傳送到預設閘道,而MSFC1傳送主機B的ARP後,會顯示ARP和MAC位址表主機 A ARP 表 | 交換器 1 MAC 位址表 MAC VLAN 連接埠 | MSFC1 ARP 表 | MSFC2 ARP 表 | 交換器 2 MAC 位址表 MAC VLAN 連接埠 | 主機 B ARP 表 |
---|---|---|---|---|---|
10.1.1.1 :0000.0c07.ac01 | 0000.0c00.0001 1 2/1 | 10.1.1.10 :0000.0c00.0001 | 0000.0c00.0002 2 2/1 | 10.1.2.2 :0003.6bf1.2a01 | |
0000.0c00.0002 2 1/1 | 10.1.2.10 :0000.0c00.0002 |
主機B通過MSFC1收到來自主機A的回應資料包。主機B現在必須向主機A傳送回應應答。由於主機A位於不同的VLAN上,因此主機B通過其預設網關MSFC2轉發應答。為了通過轉發資料包,主機B必須為其預設網關IP地址10.1.2.1傳送ARP。
主機 B 對其預設閘道傳送 ARP 之後的 ARP 和 MAC 位址表主機 A ARP 表 | 交換器 1 MAC 位址表 MAC VLAN 連接埠 | MSFC1 ARP 表 | MSFC2 ARP 表 | 交換器 2 MAC 位址表 MAC VLAN 連接埠 | 主機 B ARP 表 |
---|---|---|---|---|---|
10.1.1.1 :0000.0c07.ac01 | 0000.0c00.0001 1 2/1 | 10.1.1.10 :0000.0c00.0001 | 10.1.2.10 0000.0c00.0002 | 0000.0c00.0002 2 2/1 | 10.1.2.2 (0003.6bf1.2a01) |
0000.0c00.0002 2 1/1 | 10.1.2.10 :0000.0c00.0001 | 10.1.2.1 (0000.0c07.ac02) |
主機 B 現在會將回應回覆封包轉送到 MSFC2。 MSFC2 會對主機 A 傳送 ARP 要求,因為它是直接在 VLAN 1 上連線。 交換器 2 會使用主機 B 的 MAC 位址填入其 MAC 位址表。
主機 A 收到回應封包之後的 ARP 和 MAC 位址表主機 A ARP 表 | 交換器 1 MAC 位址表 MAC VLAN 連接埠 | MSFC1 ARP 表 | MSFC2 ARP 表 | 交換器 2 MAC 位址表 MAC VLAN 連接埠 | 主機 B ARP 表 |
---|---|---|---|---|---|
10.1.1.1 :0000.0c07.ac01 | 0000.0c00.0001 1 2/1 | 10.1.1.10 :0000.0c00.0001 | 10.1.2.10 0000.0c00.0002 | 0000.0c00.0002 2 2/1 | 10.1.2.2(0003.6bf1.2a01) |
10.1.1.3 :0003.6bf1.2a0 | 0000.0c00.0002 2 1/1 | 10.1.2.10 :0000.0c00.0001 | 10.1.1.10 0000.0c00.0001 | 0000.0c00.00001 1 1/1 | 10.1.2.1 (0000.0c07.ac02) |
回應回覆會到達主機 A,因此流程完成。
請考慮主機 A 不斷 ping 主機 B 的情況。請記住,主機 A 會向 MSFC1 傳送回應封包,主機 B 則是向 MSFC2 傳送回應回覆,因此處於非對稱路由狀態。交換器 1 能夠得知主機 B 來源 MAC 的唯一時間,就是主機 B 回覆來自 MSFC1 的 ARP 要求時。 這是因為主機 B 使用 MSFC2 作為其預設閘道,而且不會對 MSFC1 和之後的交換器 1 傳送封包。 由於 ARP 逾時預設為四小時,交換器 1 預設會在五分鐘後使主機 B 的 MAC 位址逾時。交換機2在五分鐘後使主機A老化。因此,交換器 1 必須將任何具有主機 B 目的地 MAC 的封包視為不明單點傳播。交換器會將來自主機 A 且目的地為主機 B 的封包泛洪到所有連接埠。此外,由於交換器 1 中沒有 MAC 位址項目主機 B,所以也沒有 MLS 項目。
主機 A 連續 Ping 主機 B 5 分鐘之後的 ARP 和 MAC 位址表
主機 A ARP 表 | 交換器 1 MAC 位址表 MAC VLAN 連接埠 | MSFC1 ARP 表 | MSFC2 ARP 表 | 交換器 2 MAC 位址表 MAC VLAN 連接埠 | 主機 B ARP 表 |
---|---|---|---|---|---|
10.1.1.1 :0000.0c07.ac01 | 0000.0c00.0001 1 2/1 | 10.1.1.10 :0000.0c00.0001 | 10.1.2.10 0000.0c00.0002 | 0000.0c00.0002 2 2/1 | 10.1.2.2 :0003.6bf1.2a01 |
10.1.1.3 :0003.6bf1.2a0 | 10.1.2.10 :0000.0c00.0001 | 10.1.1.10 0000.0c00.0001 | 10.1.2.1 :0000.0c07.ac01 |
交換器 2 上主機 A 的 MAC 位址項目逾時後,來自主機 B 的回應回覆封包會遇到相同的問題。 主機 B 會將回應回覆轉送到 MSFC2,後者接著路由封包,並在 VLAN 1 上將其傳送出去。 交換器在 MAC 位址表中沒有項目主機 A,而且必須將封包從 VLAN 1 中的所有連接埠泛洪出去。
非對稱路由問題不會中斷連線。但是,非對稱路由可能會導致過多的單點傳播泛洪和 MLS 項目遺失。有三種組態變更可以解決這種情況:
將各個交換器上的 MAC 逾時時間調整為 14,400 秒(四小時)或更長。
將路由器上的 ARP 逾時變更為五分鐘(300 秒)。
將 MAC 逾時時間和 ARP 逾時時間變更為相同的逾時值。
較偏好的方法是將 MAC 逾時時間變更為 14,400 秒。以下是組態準則:
Cisco IOS軟體:
mac address-table aging-time <seconds> vlan <vlan_id>因為交換器中有橋接迴圈而發生 VLAN 間洩漏時,出現 STANDBY-3-DIFFVIP1 錯誤訊息。
如果您收到此錯誤訊息,而且因為交換器中有橋接迴圈而發生 VLAN 間洩漏,請完成以下步驟以解決錯誤:
確定資料包在終端節點之間採用的路徑。
如果此路徑上有路由器,請完成以下步驟:
疑難排解從第一部交換器到路由器的路徑問題。
疑難排解從路由器到第二部交換器的路徑問題。
連線到路徑上的每部交換器,並檢查在端節點之間的路徑上使用的連接埠狀態。
在連線到啟用 HSRP 之路由器的交換器連接埠上設定連接埠資安時,會導致 MAC 違規,因為您無法在多個介面上擁有相同的安全 MAC 位址。以下其中一種情況會在安全連接埠上發生資安違規:
將最大數量的安全 MAC 位址加入位址表,且其 MAC 位址不在地址表中的站點嘗試存取該介面。
在同一個 VLAN 中的某個安全介面上可看到在另一個安全介面上獲知或設定的位址。
依照預設,連接埠資安違規會導致交換器介面變成錯誤停用狀態並立即關閉,從而封鎖路由器之間的 HSRP 狀態訊息。
因應措施
在路由器上發出 standby use-bia 命令。這樣會強制路由器使用 HSRP 的燒錄位址,而不是虛擬 MAC 位址。
在連線到啟用 HSRP 之路由器的交換器連接埠上停用連接埠資安。
如果在介面上建立了多個 HSRP 群組,就會收到以下錯誤訊息:
%Interface hardware cannot support multiple groups
之所以會收到此錯誤訊息,是因為某些路由器或交換器有硬體限制。任何軟體方法都無法克服這種限制。問題在於,每個 HSRP 群組都會在介面上使用一個額外的 MAC 位址,因此乙太網路 MAC 晶片必須支援多個可程式化 MAC 位址,才能啟用多個 HSRP 群組。
解決方法是使用 standby use-bia 介面組態命令。該命令會使用介面的燒錄位址 (BIA) 作為其虛擬 MAC 位址,而不是預先指派的 MAC 位址。
驗證每個 HSRP 路由器對每個介面上的子網路是否都有唯一的 IP 位址。此外,請驗證每個介面的線路通訊協定都是 up。若要快速驗證每個介面的目前狀態,請發出 show ip interface brief 命令。以下是範例:
Router_1#show ip interface brief Interface IP-Address OK? Method Status Protocol Vlan1 192.168.1.1 YES manual up up Vlan10 192.168.10.1 YES manual up up Vlan11 192.168.11.1 YES manual up up
Router_2#show ip interface brief Interface IP-Address OK? Method Status Protocol Vlan1 192.168.1.2 YES manual up up Vlan10 192.168.10.2 YES manual up up Vlan11 192.168.11.2 YES manual up
up
驗證所設定的待命 (HSRP) IP 位址和待命群組編號是否與每個參與 HSRP 的路由器相符。待命群組或 HSRP 待命位址不相符時,可能會導致 HSRP 問題。show standby 命令詳細說明了每個介面的待命群組和待命 IP 位址組態。以下是範例:
Router_1#show standby
Vlan10 - Group 110
State is Active
2 state changes, last state change 00:01:34
Virtual IP address is 192.168.10.100
Active virtual MAC address is 0000.0c07.ac6e (MAC In Use)
Local virtual MAC address is 0000.0c07.ac6e (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.144 secs
Preemption enabled
Active router is local
Standby router is 192.168.10.2, priority 109 (expires in 10.784 sec)
Priority 110 (configured 110)
Group name is "hsrp-Vl10-110" (default)
FLAGS: 0/1
Vlan11 - Group 111
State is Active
2 state changes, last state change 00:00:27
Virtual IP address is 192.168.11.100
Active virtual MAC address is 0000.0c07.ac6f (MAC In Use)
Local virtual MAC address is 0000.0c07.ac6f (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.096 secs
Preemption enabled
Active router is local
Standby router is 192.168.11.2, priority 109 (expires in 8.944 sec)
Priority 110 (configured 110)
Group name is "hsrp-Vl11-111" (default)
FLAGS: 0/1
Router_2#show standby
Vlan10 - Group 110
State is Standby
1 state change, last state change 00:03:15
Virtual IP address is 192.168.10.100
Active virtual MAC address is 0000.0c07.ac6e (MAC Not In Use)
Local virtual MAC address is 0000.0c07.ac6e (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 1.088 secs
Preemption disabled
Active router is 192.168.10.1, priority 110 (expires in 11.584 sec)
Standby router is local
Priority 109 (configured 109)
Group name is "hsrp-Vl10-110" (default)
FLAGS: 0/1
Vlan11 - Group 111
State is Standby
1 state change, last state change 00:02:53
Virtual IP address is 192.168.11.100
Active virtual MAC address is 0000.0c07.ac6f (MAC Not In Use)
Local virtual MAC address is 0000.0c07.ac6f (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.352 secs
Preemption disabled
Active router is 192.168.11.1, priority 110 (expires in 9.120 sec)
Standby router is local
Priority 109 (configured 109)
Group name is "hsrp-Vl11-111" (default)
FLAGS: 0/1
驗證待命 (HSRP) IP 位址是否與每個介面上設定的 IP 位址不重複。show standby 命令是檢視此資訊的快速參考。以下是範例:
Router_1#show standby
Vlan10 - Group 110
State is Active
2 state changes, last state change 00:01:34
Virtual IP address is 192.168.10.100
Active virtual MAC address is 0000.0c07.ac6e (MAC In Use)
Local virtual MAC address is 0000.0c07.ac6e (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.144 secs
Preemption enabled
Active router is local
Standby router is 192.168.10.2, priority 109 (expires in 10.784 sec)
Priority 110 (configured 110)
Group name is "hsrp-Vl10-110" (default)
FLAGS: 0/1
Vlan11 - Group 111
State is Active
2 state changes, last state change 00:00:27
Virtual IP address is 192.168.11.100
Active virtual MAC address is 0000.0c07.ac6f (MAC In Use)
Local virtual MAC address is 0000.0c07.ac6f (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.096 secs
Preemption enabled
Active router is local
Standby router is 192.168.11.2, priority 109 (expires in 8.944 sec)
Priority 110 (configured 110)
Group name is "hsrp-Vl11-111" (default)
FLAGS: 0/1
Router_2#show standby
Vlan10 - Group 110
State is Standby
1 state change, last state change 00:03:15
Virtual IP address is 192.168.10.100
Active virtual MAC address is 0000.0c07.ac6e (MAC Not In Use)
Local virtual MAC address is 0000.0c07.ac6e (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 1.088 secs
Preemption disabled
Active router is 192.168.10.1, priority 110 (expires in 11.584 sec)
Standby router is local
Priority 109 (configured 109)
Group name is "hsrp-Vl10-110" (default)
FLAGS: 0/1
Vlan11 - Group 111
State is Standby
1 state change, last state change 00:02:53
Virtual IP address is 192.168.11.100
Active virtual MAC address is 0000.0c07.ac6f (MAC Not In Use)
Local virtual MAC address is 0000.0c07.ac6f (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.352 secs
Preemption disabled
Active router is 192.168.11.1, priority 110 (expires in 9.120 sec)
Standby router is local
Priority 109 (configured 109)
Group name is "hsrp-Vl11-111" (default)
FLAGS: 0/1
除非權杖環介面上設定了 HSRP,否則只能在特殊情況下使用 standby use-bia 命令。此命令會告訴路由器使用其 BIA,而不是 HSRP 群組的虛擬 HSRP MAC 位址。在權杖環網路上,如果來源路由橋接 (SRB) 正在使用中,standby use-bia 命令就會允許新的作用中路由器使用 Gratuitous ARP 來更新主機路由資訊欄位 (RIF) 快取。但是,並非所有主機實作都能夠正確處理 Gratuitous ARP。standby use-bia 命令的另一個警告是有關代理 ARP。待命路由器無法涵蓋故障之作用中路由器所遺失的代理 ARP 資料庫。
驗證在所有 HSRP 對等點上設定的存取清單不會過濾在其介面上設定的任何 HSRP 位址。具體而言,就是驗證用來向子網路 (224.0.0.2) 上的所有路由器傳送流量的多點傳播位址。 此外,也請驗證目的地為 HSRP 連接埠 1985 的 UDP 流量未遭到過濾。HSRP 會使用此位址和連接埠在對等點之間傳送 hello 封包。發出 show access-lists 命令作為快速參考,以記錄路由器上設定的存取清單。以下是範例:
Router_1#show access-lists Standard IP access list 77 deny 10.19.0.0, wildcard bits 0.0.255.255 permit any Extended IP access list 144 deny pim 238.0.10.0 0.0.0.255 any permit ip any any (58 matches)
如果使用中繼線來連線 HSRP 路由器,請驗證路由器和交換器上的中繼線組態。有五種可能的中繼線模式:
於
desirable
自動
off
nonegotiate
驗證所設定中繼線模式是否提供所需的中繼線方法。
疑難排解 HSRP 問題時,請對交換器到交換器連線使用 desirable 組態。此組態可以隔離交換器連接埠無法正確建立中繼線的問題。請將路由器到交換器組態設定為 nonegotiate,因為大多數 Cisco IOS 路由器不支援中繼線交涉。
對於IEEE 802.1Q(dot1q)中繼模式,檢驗中繼的兩端是否配置為使用相同的本地VLAN和封裝。由於思科產品預設不會標記原生 VLAN,因此原生 VLAN 組態不相符會導致不相符的 VLAN 上沒有連線。最後,請驗證中繼線是否設定為承載路由器上設定的 VLAN,並驗證 VLAN 未遭修剪,且處於路由器已連線之連接埠的 STP 狀態。發出show interfaces <interface> trunk命令,以快速獲得顯示此資訊的參考。以下是範例:
L2Switch_1#show interfaces gigabitEthernet1/0/13 trunk Port Mode Encapsulation Status Native vlan Gi1/0/13 on 802.1q trunking 1 Port Vlans allowed on trunk Gi1/0/13 1-4094 Port Vlans allowed and active in management domain Gi1/0/13 1,10-11,70,100,300-309 Port Vlans in spanning tree forwarding state and not pruned Gi1/0/13 1,10-11,70,100,300-309
Router_1#show interfaces gigabitEthernet1/0/1 trunk Port Mode Encapsulation Status Native vlan Gi1/0/1 on 802.1q trunking 1 Port Vlans allowed on trunk Gi1/0/1 1-4094 Port Vlans allowed and active in management domain Gi1/0/1 1,10-11,100,206,301,307,401,900,3001-3002 Port Vlans in spanning tree forwarding state and not pruned Gi1/0/1 1,10-11,100,206,301,307,401,900,3001-3002
如果使用連接埠通道來連線 HSRP 路由器,請驗證路由器和交換器上的乙太通道組態。視需要至少在一端設定交換器到交換器連接埠通道。另一端可以處於以下任何一種模式:
於
desirable
自動
但是在本範例中,介面不是port-channel的成員:
Router_1#show etherchannel summary
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
M - not in use, minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
A - formed by Auto LAG
Number of channel-groups in use: 0
Number of aggregators: 0
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
Router_1#
Router_2#show etherchannel summary
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
M - not in use, minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
A - formed by Auto LAG
Number of channel-groups in use: 0
Number of aggregators: 0
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
Router_2#
驗證交換器上是否存在 MAC 位址表項目,以便 HSRP 路由器用於 HSRP 虛擬 MAC 位址和實體 BIA。路由器上的 show standby 命令會提供虛擬 MAC 位址。show interface 命令會提供實體 BIA。以下是輸出範例:
Router_1#show standby Vlan10 - Group 110 State is Active 2 state changes, last state change 00:37:03 Virtual IP address is 192.168.10.100 Active virtual MAC address is 0000.0c07.ac6e (MAC In Use) Local virtual MAC address is 0000.0c07.ac6e (v1 default) Hello time 3 sec, hold time 10 sec Next hello sent in 0.768 secs Preemption enabled Active router is local Standby router is 192.168.10.2, priority 109 (expires in 10.368 sec) Priority 110 (configured 110) Group name is "hsrp-Vl10-110" (default) FLAGS: 0/1 Vlan11 - Group 111 State is Active 2 state changes, last state change 00:35:56 Virtual IP address is 192.168.11.100 Active virtual MAC address is 0000.0c07.ac6f (MAC In Use) Local virtual MAC address is 0000.0c07.ac6f (v1 default) Hello time 3 sec, hold time 10 sec Next hello sent in 1.472 secs Preemption enabled Active router is local Standby router is 192.168.11.2, priority 109 (expires in 8.336 sec) Priority 110 (configured 110) Group name is "hsrp-Vl11-111" (default) FLAGS: 0/1
Router_1#show interfaces vlan 10 Vlan10 is up, line protocol is up , Autostate Enabled Hardware is Ethernet SVI, address is d4e8.801f.4846 (bia d4e8.801f.4846) Internet address is 192.168.10.1/24 MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive not supported ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:00, output 00:00:01, output hang never Last clearing of "show interface" counters never Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 9258 packets input, 803066 bytes, 0 no buffer Received 0 broadcasts (0 IP multicasts) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 3034 packets output, 368908 bytes, 0 underruns Output 0 broadcasts (0 IP multicasts) 0 output errors, 2 interface resets 0 unknown protocol drops 0 output buffer failures, 0 output buffers swapped out
L2Switch_1#show mac address-table address 0000.0c07.ac6e Mac Address Table ------------------------------------------- Vlan Mac Address Type Ports ---- ----------- -------- ----- 10 0000.0c07.ac6e DYNAMIC Gi1/0/13 Total Mac Addresses for this criterion: 1
L2Switch_1#show mac address-table address 0000.0c07.ac6f Mac Address Table ------------------------------------------- Vlan Mac Address Type Ports ---- ----------- -------- ----- 11 0000.0c07.ac6f DYNAMIC Gi1/0/13 Total Mac Addresses for this criterion: 1
請務必檢查 CAM 逾時時間,以判斷項目逾時的速度。如果該時間等於為 STP 轉送延遲所設定的值(預設為 15 秒),則網路中極可能有 STP 迴圈。以下是命令輸出範例:
L2Switch_1#show mac address-table aging-time vlan 10
Global Aging Time: 300
Vlan Aging Time
---- ----------
10 300
L2Switch_1#show mac address-table aging-time vlan 11
Global Aging Time: 300
Vlan Aging Time
---- ----------
11 300
如果 HSRP 群組中的多個路由器變成作用中,則這些路由器不會持續從其他 HSRP 對等點收到 hello 封包。實體層問題會使得對等點之間的流量無法持續傳送,因而導致這種情況。疑難排解 HSRP 問題時,請務必驗證 HSRP 對等點之間的實體連線和 IP 連線。發出 show standby 命令可驗證連線。以下是範例:
Router_1#show standby Vlan10 - Group 110 State is Active 2 state changes, last state change 00:54:03 Virtual IP address is 192.168.10.100 Active virtual MAC address is 0000.0c07.ac6e (MAC In Use) Local virtual MAC address is 0000.0c07.ac6e (v1 default) Hello time 3 sec, hold time 10 sec Next hello sent in 0.848 secs Preemption enabled Active router is local Standby router is unknown Priority 110 (configured 110) Group name is "hsrp-Vl10-110" (default) FLAGS: 0/1 Vlan11 - Group 111 State is Active 2 state changes, last state change 00:52:56 Virtual IP address is 192.168.11.100 Active virtual MAC address is 0000.0c07.ac6f (MAC In Use) Local virtual MAC address is 0000.0c07.ac6f (v1 default) Hello time 3 sec, hold time 10 sec Next hello sent in 0.512 secs Preemption enabled Active router is local Standby router is unknown Priority 110 (configured 110) Group name is "hsrp-Vl11-111" (default) FLAGS: 0/1
Router_2#show standby Vlan10 - Group 110 State is Init (interface down) 2 state changes, last state change 00:00:42 Virtual IP address is 192.168.10.100 Active virtual MAC address is unknown (MAC Not In Use) Local virtual MAC address is 0000.0c07.ac6e (v1 default) Hello time 3 sec, hold time 10 sec Preemption disabled Active router is unknown Standby router is unknown Priority 109 (configured 109) Group name is "hsrp-Vl10-110" (default) FLAGS: 0/1 Vlan11 - Group 111 State is Init (interface down) 2 state changes, last state change 00:00:36 Virtual IP address is 192.168.11.100 Active virtual MAC address is unknown (MAC Not In Use) Local virtual MAC address is 0000.0c07.ac6f (v1 default) Hello time 3 sec, hold time 10 sec Preemption disabled Active router is unknown Standby router is unknown Priority 109 (configured 109) Group name is "hsrp-Vl11-111" (default) FLAGS: 0/1
檢查介面。驗證所有已設定 HSRP 的介面是否都已處於 up/up 狀態,如以下範例所示:
Router_1#show ip interface brief
Interface IP-Address OK? Method Status Protocol
Vlan1 192.168.1.1 YES manual up up
Vlan10 192.168.10.1 YES manual up up
Vlan11 192.168.11.1 YES manual up up
Router_2#show ip interface brief
Interface IP-Address OK? Method Status Protocol
Vlan1 192.168.1.2 YES manual up up
Vlan10 192.168.10.2 YES manual administratively down down
Vlan11 192.168.11.2 YES manual administratively down down
如果任何介面透過系統管理方式進入 down/down,請在路由器上進入組態模式,並發出 no shutdown 介面特定命令。以下是範例:
Router_2#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router_2(config)#interface vlan 10 Router_2(config-if)#no shutdown Router_2(config-if)#endRouter_2#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router_2(config)#interface vlan 11 Router_2(config-if)#no shutdown Router_2(config-if)#end
Router_2#show ip interface brief Interface IP-Address OK? Method Status Protocol Vlan1 192.168.1.2 YES manual up up Vlan10 192.168.10.2 YES manual up down Vlan11 192.168.11.2 YES manual up up
如果有任何介面為 down/down 或 up/down,請檢查記錄以尋找是否有任何介面變更通知。對於以 Cisco IOS 軟體為基礎的交換器,在連結 up/down 情況下會顯示以下訊息:
%LINK-3-UPDOWN: Interface "interface", changed state to up %LINK-3-UPDOWN: Interface "interface", changed state to down Router_1#show log 3d04h: %STANDBY-6-STATECHANGE: Standby: 0: Vlan10 state Active-> Speak 3d04h: %LINK-5-CHANGED: Interface Vlan10, changed state to down 3d04h: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan10, changed state to down
檢查 HSRP 對等點之間的連接埠、纜線和任何收發器或其他裝置。是否有任何人曾經移除或鬆開任何連線?是否有任何介面重複遺失連結?是否使用了正確的纜線類型?檢查介面是否有任何錯誤,如以下範例所示:
Router_2#show interface vlan 10
Vlan10 is down, line protocol is down , Autostate Enabled Hardware is Ethernet SVI, address is 1880.90d8.5946 (bia 1880.90d8.5946) Internet address is 192.168.10.2/24 MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive not supported ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:10, output 00:00:08, output hang never Last clearing of "show interface" counters never Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 1243 packets input, 87214 bytes, 0 no buffer Received 0 broadcasts (0 IP multicasts) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 23 packets output, 1628 bytes, 0 underruns Output 0 broadcasts (0 IP multicasts) 0 output errors, 2 interface resets 0 unknown protocol drops 0 output buffer failures, 0 output buffers swapped out
檢查交換器連接埠連結變更和其他錯誤。發出以下命令並檢查輸出:
show logging
show interfaces <interface>計數器
show interfaces <interface>狀態
這些命令可幫助您判斷交換器和其他裝置之間的連線是否發生問題。
對於連結 up/down 的情況,以下訊息是正常的:
L2Switch_1#show logging
Syslog logging: enabled (0 messages dropped, 5 messages rate-limited, 0 flushes, 0 overruns, xml disabled, filtering disabled)
No Active Message Discriminator.
No Inactive Message Discriminator.
Console logging: level informational, 319 messages logged, xml disabled,
filtering disabled
Monitor logging: level debugging, 0 messages logged, xml disabled,
filtering disabled
Buffer logging: level debugging, 467 messages logged, xml disabled,
filtering disabled
Exception Logging: size (4096 bytes)
Count and timestamp logging messages: disabled
File logging: disabled
Persistent logging: disabled
No active filter modules.
Trap logging: level informational, 327 message lines logged
Logging Source-Interface: VRF Name:
Log Buffer (10000 bytes):
*Jul 26 17:52:07.526: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/13, changed state to up
*Jul 26 17:52:09.747: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/13, changed state to down
*Jul 26 17:57:11.716: %SPANTREE-7-RECV_1Q_NON_TRUNK: Received 802.1Q BPDU on non trunk GigabitEthernet1/0/16 VLAN307.
*Jul 26 17:57:11.716: %SPANTREE-7-BLOCK_PORT_TYPE: Blocking GigabitEthernet1/0/16 on VLAN0307. Inconsistent port type.
*Jul 26 17:57:13.583: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/16, changed state to up
*Jul 26 17:57:16.237: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/16, changed state to down
*Jul 26 18:02:16.481: %SPANTREE-7-RECV_1Q_NON_TRUNK: Received 802.1Q BPDU on non trunk GigabitEthernet1/0/16 VLAN307.
*Jul 26 18:02:16.481: %SPANTREE-7-BLOCK_PORT_TYPE: Blocking GigabitEthernet1/0/16 on VLAN0307. Inconsistent port type.
*Jul 26 18:02:18.367: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/16, changed state to up
*Jul 26 18:02:20.561: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/16, changed state to down
發出show interfaces <interface> status命令,以確定連線埠的一般健康狀況。以下是範例:
L2Switch_1#show interfaces gigabitEthernet 1/0/13 status
Port Name Status Vlan Duplex Speed Type
Gi1/0/13 connected trunk a-full a-1000 10/100/1000BaseTX
介面狀態是connected、notconnect還是errdisable?如果狀態為 notconnect,請檢查兩端的纜線是否都已插入。檢查是否使用了正確的纜線。如果狀態為 errdisable,請檢查計數器是否有過多錯誤。如需詳細資訊,請參閱Cisco IOS平台上的復原錯誤停用連線埠狀態。
此連接埠是針對何種 VLAN 設定的?請確定連線的另一端也是針對相同的 VLAN 設定。如果連結設定為中繼線,請確保中繼線的兩端都乘載相同的 VLAN。
速度和雙工組態為何?如果設定前面有 a-,就代表連接埠設定為自動交涉速度和雙工。否則,網路管理員已預先確定此組態。對於連結的速度和雙工組態,連結兩端的設定必須相符。如果一個交換器連接埠設定為自動交涉,則連結的另一端也必須設定為自動交涉。如果一端硬式編碼為特定速度和雙工,則另一端也必須採用硬式編碼。如果讓一端進行自動交涉而另一端採用硬式編碼,則會中斷自動交涉流程。
L2Switch_1#show interfaces gi1/0/13 counters errors Port Align-Err FCS-Err Xmit-Err Rcv-Err UnderSize OutDiscards Gi1/0/13 0 0 0 0 0 0 Port Single-Col Multi-Col Late-Col Excess-Col Carri-Sen Runts Gi1/0/13 0 0 0 0 0 0
是否有很多 Align-Err、FCS-Err 或 Runts?這些是表示連接埠和連線裝置之間的速度或雙工不相符。請變更該連接埠的速度和雙工設定,以協助修正這些錯誤。
發出 show mac 命令可驗證連接埠是否正在傳送流量。In和Out列表示在特定埠上接收和傳輸的單播、組播和廣播資料包的數量。底部的計數器會顯示有多少封包遭到捨棄或遺失,以及這些封包是內送或外寄流量的一部分。Lrn-Discrd、In-Lost 和 Out-Lost 會計算因緩衝區不足而錯誤轉送或捨棄的封包數量。
L2Switch_1#show interfaces gi1/0/13 counters
Port InOctets InUcastPkts InMcastPkts InBcastPkts
Gi1/0/13 304933333 1180453 1082538 14978
Port OutOctets OutUcastPkts OutMcastPkts OutBcastPkts
Gi1/0/13 282752538 276716 824562 588960
驗證 IP 連線。從相關路由器向遠端HSRP裝置發出IP ping。這樣有助於顯示任何暫時性連線遺失。擴充的 ping 只能在 enable 模式下使用。以下是命令輸出範例:
Router_1#show run interface vlan 10
Building configuration...
Current configuration : 141 bytes
!
interface Vlan10
ip address 192.168.10.1 255.255.255.0
standby 110 ip 192.168.10.100
standby 110 priority 110
standby 110 preempt
end
Router_2#show run interface vlan 10
Building configuration...
Current configuration : 120 bytes
!
interface Vlan10
ip address 192.168.10.2 255.255.255.0
standby 110 ip 192.168.10.100
standby 110 priority 109
end
Router_1#ping 192.168.10.2 repeat 1500
Type escape sequence to abort.
Sending 1500, 100-byte ICMP Echos to 192.168.10.2, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (1500/1500), round-trip min/avg/max = 1/2/9 ms
從每個 HSRP 路由器向其對等點發出 ping,以判斷連線失敗的位置。
檢查交換器是否有 HSRP 對等點之間的單向連結。相鄰裝置收到本機裝置透過連結傳輸的流量,但本機裝置未收到相鄰裝置傳輸的流量時,就會出現單向連結。此功能稱為單向連結檢測 (UDLD) 主動模式。只有在連線的兩端都支援 UDLD 時,才可以使用該功能。UDLD 主動模式會在 L2 運作,以判斷連結是否正確連線,以及流量是否在正確的相鄰裝置之間雙向流動。以下是命令輸出範例:
附註:導覽至設定UDLD通訊協定功能的下一個連結,取決於使用的平台。
另一個在UDLD不可用時有助於驗證單向鏈路的選項是使用Cisco Discovery Protocol(CDP)。 啟用 CDP 是另一種偵測單向連結是否存在的方法。如果連結只有一端可以看到其相鄰裝置,請更換裝置之間的纜線並檢查介面是否有故障。
Router_1
#show cdp
Global CDP information: Sending CDP packets every 60 seconds Sending a holdtime value of 180 seconds Sending CDPv2 advertisements is enabled Router_1#show cdp neighbors gi1/0/1 detail ------------------------- Device ID: L2Switch_1.cisco.com Entry address(es): IP address: 192.168.70.1 IPv6 address: 2001:420:140E:2101::1 (global unicast) IPv6 address: FE80::2FE:C8FF:FED3:86C7 (link-local) Platform: cisco WS-C3650-12X48UR, Capabilities: Router Switch IGMP Interface: GigabitEthernet1/0/1, Port ID (outgoing port): GigabitEthernet1/0/13 Holdtime : 173 sec Version : Cisco IOS Software [Denali], Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M), Version 16.3.8, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2019 by Cisco Systems, Inc. Compiled Wed 13-Feb-19 03:00 by mcpre advertisement version: 2 VTP Management Domain: 'CALOnet' Native VLAN: 1 Duplex: full Management address(es): IP address: 192.168.70.1 Spare Pair PoE: Yes, Spare Pair Detection Required: No Spare Pair PD Config: Disable, Spare Pair PSE Operational: No Total cdp entries displayed : 1
請參閱以下文件:
如果HSRP狀態變化頻繁,請在路由器上使用HSRP debug命令(在啟用模式下)以觀察HSRP活動。此資訊可幫助您判斷路由器接收和傳送哪些 HSRP 封包。如果要透過思科技術支援建立服務要求,請收集此資訊。偵錯輸出也會顯示 HSRP 狀態資訊,以及詳細的 HSRP hello 封包帳戶。
在Cisco IOS中,使用debug standby命令啟用HSRP調試功能。當問題是間歇性且只影響到少數介面時,此資訊很實用。偵錯可讓您判斷上述 HSRP 路由器是否以特定間隔接收和傳輸 HSRP hello 封包。如果路由器沒有收到 hello 封包,則可以推斷對等點並未傳輸 hello 封包,或是網路捨棄了封包。
指令 | 目的 |
---|---|
debug standby | 啟用 HSRP 偵錯 |
以下是命令輸出範例:
Router_1#
debug standby HSRP debugging is on
Jul 29 16:12:16.889: HSRP: Vl10 Grp 110 Hello out 192.168.10.1 Active pri 110 vIP 192.168.10.100 Jul 29 16:12:16.996: HSRP: Vl11 Grp 111 Hello in 192.168.11.2 Standby pri 109 vIP 192.168.11.100 Jul 29 16:12:17.183: HSRP: Vl10 Grp 110 Hello in 192.168.10.2 Standby pri 109 vIP 192.168.10.100
Jul 29 16:12:17.366: HSRP: Vl11 Grp 111 Hello out 192.168.11.1 Active pri 110 vIP 192.168.11.100 Jul 29 16:12:18.736: HSRP: Vl10 Interface adv in, Passive, active 0, passive 1, from 192.168.10.2 Jul 29 16:12:19.622: HSRP: Vl10 Grp 110 Hello out 192.168.10.1 Active pri 110 vIP 192.168.10.100
Cisco IOS 軟體版本 12.0(3) 導入了偵錯條件,可讓您根據介面和群組編號來過濾 debug standby 命令的輸出。該命令會利用 Cisco IOS 軟體版本 12.0 中導入的偵錯條件模式。
指令 | 目的 |
---|---|
debug condition standby <interface> <group> | 啟用群組 (0–255) 的 HSRP 條件性偵錯 |
該介面必須是可以支援 HSRP 的有效介面。該群組可以是從 0 到 255 的任何群組。 可以為不存在的群組設定偵錯條件。這樣會允許在新群組初始化期間擷取偵錯。必須啟用偵錯待命才能產生任何偵錯輸出。如果不存在待命偵錯條件,則會為所有介面上的所有群組產生偵錯輸出。如果至少存在一個待命偵錯條件,則會根據所有待命偵錯條件來過濾待命偵錯輸出。以下是命令輸出範例:
Router_1#debug condition standby vlan 10 110 Condition 1 set Router_1# Jul 29 16:16:20.284: Vl10 HSRP110 Debug: Condition 1, hsrp Vl10 HSRP110 triggered, count 1 Router_1#debug standby HSRP debugging is on Router_1# Jul 29 16:16:44.797: HSRP: Vl10 Grp 110 Hello out 192.168.10.1 Active pri 110 vIP 192.168.10.100
Jul 29 16:16:45.381: HSRP: Vl10 Grp 110 Hello in 192.168.10.2 Standby pri 109 vIP 192.168.10.100
Jul 29 16:16:47.231: HSRP: Vl10 Grp 110 Hello out 192.168.10.1 Active pri 110 vIP 192.168.10.100
Jul 29 16:16:48.248: HSRP: Vl10 Grp 110 Hello in 192.168.10.2 Standby pri 109 vIP 192.168.10.100
Cisco IOS 軟體版本 12.1(1) 新增了強化的 HSRP 偵錯。為了協助找到實用資訊,強化的 HSRP 偵錯會限制來自定期 hello 訊息的雜訊,並納入額外的狀態資訊。如果您要建立服務要求,在與思科技術支援工程師合作時,此資訊就特別實用。
指令 | 目的 |
---|---|
debug standby | 顯示所有 HSRP 錯誤、事件和封包 |
debug standby errors | 顯示 HSRP 錯誤 |
debug standby events [[all] | [hsrp | redundancy | track]] [detail] | 顯示 HSRP 事件 |
debug standby packets [[all | terse] | [advertise | coup | hello | resign]] [detail] | 顯示 HSRP 封包 |
debug standby terse | 顯示有限範圍的HSRP錯誤、事件和資料包 |
以下是命令輸出範例:
Router_2#debug standby terse
HSRP:
HSRP Errors debugging is on
HSRP Events debugging is on
(protocol, neighbor, redundancy, track, ha, arp, interface)
HSRP Packets debugging is on
(Coup, Resign)
Router_2#
*Jul 29 16:49:35.416: HSRP: Vl10 Grp 110 Resign in 192.168.10.1 Active pri 110 vIP 192.168.10.100
*Jul 29 16:49:35.416: HSRP: Vl10 Grp 110 Standby: i/Resign rcvd (110/192.168.10.1)
*Jul 29 16:49:35.416: HSRP: Vl10 Grp 110 Active router is local, was 192.168.10.1
*Jul 29 16:49:35.416: HSRP: Vl10 Nbr 192.168.10.1 no longer active for group 110 (Standby)
*Jul 29 16:49:35.417: HSRP: Vl10 Nbr 192.168.10.1 Was active or standby - start passive holddown
*Jul 29 16:49:35.417: HSRP: Vl10 Grp 110 Standby router is unknown, was local
*Jul 29 16:49:35.417: HSRP: Vl10 Grp 110 Standby -> Active
*Jul 29 16:49:35.418: %HSRP-5-STATECHANGE: Vlan10 Grp 110 state Standby -> Active
*Jul 29 16:49:35.418: HSRP: Peer not present
*Jul 29 16:49:35.418: HSRP: Vl10 Grp 110 Redundancy "hsrp-Vl10-110" state Standby -> Active
*Jul 29 16:49:35.419: HSRP: Vl10 Grp 110 Added 192.168.10.100 to ARP (0000.0c07.ac6e)
*Jul 29 16:49:35.420: HSRP: Vl10 IP Redundancy "hsrp-Vl10-110" standby, local -> unknown
*Jul 29 16:49:35.421: HSRP: Vl10 IP Redundancy "hsrp-Vl10-110" update, Standby -> Active
*Jul 29 16:49:38.422: HSRP: Vl10 IP Redundancy "hsrp-Vl10-110" update, Active -> Active
您可以使用介面和/或 HSRP 群組條件性偵錯來過濾此偵錯輸出。
指令 | 目的 |
---|---|
debug condition interface interface | 啟用介面條件性偵錯 |
debug condition standby <interface> <group> | 啟用 HSRP 條件性偵錯 |
在此範例中,路由器加入了一個預先存在的 HSRP 群組:
Rotuer_2#debug condition standby vlan 10 110
Condition 1 set
Router_2#debug condition interface gigabitEthernet 1/0/1 vlan-id 10
Condition 2 set
Router_2#debug standby
HSRP debugging is on
Router_2#
*Jul 29 16:54:12.496: HSRP: Vl10 Grp 110 Hello out 192.168.10.2 Active pri 109 vIP 192.168.10.100
*Jul 29 16:54:15.122: HSRP: Vl10 Grp 110 Hello out 192.168.10.2 Active pri 109 vIP 192.168.10.100
*Jul 29 16:54:17.737: HSRP: Vl10 Grp 110 Hello out 192.168.10.2 Active pri 109 vIP 192.168.10.100
*Jul 29 16:54:18.880: HSRP: Vl10 Nbr 192.168.10.1 is passive
*Jul 29 16:54:20.316: HSRP: Vl10 Grp 110 Hello out 192.168.10.2 Active pri 109 vIP 192.168.10.100
*Jul 29 16:54:20.322: HSRP: Vl10 Grp 110 Coup in 192.168.10.1 Listen pri 110 vIP 192.168.10.100
*Jul 29 16:54:20.323: HSRP: Vl10 Grp 110 Active: j/Coup rcvd from higher pri router (110/192.168.10.1)
*Jul 29 16:54:20.323: HSRP: Vl10 Grp 110 Active router is 192.168.10.1, was local
*Jul 29 16:54:20.323: HSRP: Vl10 Nbr 192.168.10.1 is no longer passive
*Jul 29 16:54:20.324: HSRP: Vl10 Nbr 192.168.10.1 active for group 110
*Jul 29 16:54:20.324: HSRP: Vl10 Grp 110 Active -> Speak
*Jul 29 16:54:20.325: %HSRP-5-STATECHANGE: Vlan10 Grp 110 state Active -> Speak
*Jul 29 16:54:20.325: HSRP: Peer not present
*Jul 29 16:54:20.325: HSRP: Vl10 Grp 110 Redundancy "hsrp-Vl10-110" state Active -> Speak
*Jul 29 16:54:20.326: HSRP: Vl10 Grp 110 Removed 192.168.10.100 from ARP
*Jul 29 16:54:20.326: HSRP: Vl10 Grp 110 Deactivating MAC 0000.0c07.ac6e
*Jul 29 16:54:20.327: HSRP: Vl10 Grp 110 Removing 0000.0c07.ac6e from MAC address filter
*Jul 29 16:54:20.328: HSRP: Vl10 Grp 110 Hello out 192.168.10.2 Speak pri 109 vIP 192.168.10.100
*Jul 29 16:54:20.328: HSRP: Vl10 Grp 110 Hello in 192.168.10.1 Active pri 110 vIP 192.168.10.100
*Jul 29 16:54:23.104: HSRP: Vl10 Grp 110 Hello out 192.168.10.2 Speak pri 109 vIP 192.168.10.100
*Jul 29 16:54:23.226: HSRP: Vl10 Grp 110 Hello in 192.168.10.1 Active pri 110 vIP 192.168.10.100
*Jul 29 16:54:25.825: HSRP: Vl10 Grp 110 Hello in 192.168.10.1 Active pri 110 vIP 192.168.10.100
*Jul 29 16:54:25.952: HSRP: Vl10 Grp 110 Hello out 192.168.10.2 Speak pri 109 vIP 192.168.10.100
*Jul 29 16:54:28.427: HSRP: Vl10 Grp 110 Hello in 192.168.10.1 Active pri 110 vIP 192.168.10.100
*Jul 29 16:54:28.772: HSRP: Vl10 Grp 110 Hello out 192.168.10.2 Speak pri 109 vIP 192.168.10.100
*Jul 29 16:54:30.727: HSRP: Vl10 Grp 110 Speak: d/Standby timer expired (unknown)
*Jul 29 16:54:30.727: HSRP: Vl10 Grp 110 Standby router is local
*Jul 29 16:54:30.727: HSRP: Vl10 Grp 110 Speak -> Standby
*Jul 29 16:54:30.727: %HSRP-5-STATECHANGE: Vlan10 Grp 110 state Speak -> Standby
*Jul 29 16:54:30.728: HSRP: Peer not present
*Jul 29 16:54:30.728: HSRP: Vl10 Grp 110 Redundancy "hsrp-Vl10-110" state Speak -> Standby
*Jul 29 16:54:30.728: HSRP: Vl10 Grp 110 Hello out 192.168.10.2 Standby pri 109 vIP 192.168.10.100
*Jul 29 16:54:31.082: HSRP: Vl10 Grp 110 Hello in 192.168.10.1 Active pri 110 vIP 192.168.10.100
*Jul 29 16:54:33.459: HSRP: Vl10 Grp 110 Hello out 192.168.10.2 Standby pri 109 vIP 192.168.10.100
*Jul 29 16:54:33.811: HSRP: Vl10 Grp 110 Hello in 192.168.10.1 Active pri 110 vIP 192.168.10.100
*Jul 29 16:54:36.344: HSRP: Vl10 Grp 110 Hello out 192.168.10.2 Standby pri 109 vIP 192.168.10.100
*Jul 29 16:54:36.378: HSRP: Vl10 Grp 110 Hello in 192.168.10.1 Active pri 110 vIP 192.168.10.100
*Jul 29 16:54:38.856: HSRP: Vl10 Grp 110 Hello in 192.168.10.1 Active pri 110 vIP 192.168.10.100
*Jul 29 16:54:38.876: HSRP: Vl10 Grp 110 Hello out 192.168.10.2 Standby pri 109 vIP 192.168.10.100
*Jul 29 16:54:41.688: HSRP: Vl10 Grp 110 Hello out 192.168.10.2 Standby pri 109 vIP 192.168.10.100
*Jul 29 16:54:41.717: HSRP: Vl10 Grp 110 Hello in 192.168.10.1 Active pri 110 vIP 192.168.10.100
網路中的 STP 迴圈條件或不穩定會使得 HSRP 對等點無法適當通訊。由於這種不正確的通訊,每個對等點都變成了作用中路由器。STP 迴圈可能會導致廣播風暴、重複訊框和 MAC 表不一致。所有這些問題都會影響整個網路,尤其是 HSRP。HSRP 錯誤訊息可能是 STP 問題的第一個跡象。
疑難排解 STP 問題時,您必須瞭解每個 VLAN 上的網路 STP 拓撲。您必須判斷哪個交換器是根橋接器,以及交換器上的哪些連接埠處於封鎖和轉送狀態。由於每個 VLAN 都有自己的 STP 拓撲,因此此資訊對每個 VLAN 都非常重要。
確定網路中的每部交換器和橋接裝置上都設定了 STP。記下每個交換器認為根橋接器所在的位置。另外,也請記下以下計時器的值:
根最大逾時時間
Hello 時間
轉撥延遲
發出show spanning-tree命令可檢視所有這些資訊。預設情況下,命令會顯示所有VLAN的此資訊。但是,如果您使用命令提供VLAN編號,則也可以篩選其他VLAN資訊。疑難排解 STP 問題時,此資訊非常實用。
show spanning-tree輸出中記錄的這三個計時器是從根網橋獲取的。這些計時器不需要與該特定橋接器上設定的計時器相符。但是,如果此交換器隨時都會成為根橋接器,就務必確保計時器與根橋接器相符。計時器與根橋接器的這種相符情況有助於維持連續性且易於管理。此相符情況也能夠防止具有錯誤計時器的交換器癱瘓網路。
附註:無論網路中是否有備援連結,請隨時為所有 VLAN 啟用 STP。如果在非備援網路中啟用 STP,則可以防止中斷。如果有人將交換器與集線器或其他交換器橋接在一起,且意外建立了實體迴圈,就可能會發生中斷。STP 在隔離特定問題方面也非常實用。如果啟用 STP 會影響網路中部分內容的運作,就表示可能存在需要隔離的問題。
以下是show spanning-tree命令的輸出示例:
L2Switch_1#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol rstp
Root ID Priority 32778
Address 00fe.c8d3.8680
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 00fe.c8d3.8680
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi1/0/3 Desg FWD 4 128.3 P2p
Gi1/0/10 Desg FWD 4 128.10 P2p Edge
Gi1/0/11 Desg FWD 4 128.11 P2p
Gi1/0/13 Desg FWD 4 128.13 P2p
Gi1/0/14 Desg FWD 4 128.14 P2p
Gi1/0/15 Desg FWD 4 128.15 P2p
Gi1/0/16 Desg FWD 4 128.16 P2p
Gi1/0/35 Desg FWD 4 128.35 P2p
L2Switch_1#show spanning-tree vlan 11
VLAN0011
Spanning tree enabled protocol rstp
Root ID Priority 32779
Address 00fe.c8d3.8680
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32779 (priority 32768 sys-id-ext 11)
Address 00fe.c8d3.8680
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi1/0/3 Desg FWD 4 128.3 P2p
Gi1/0/10 Desg FWD 4 128.10 P2p Edge
Gi1/0/11 Desg FWD 4 128.11 P2p
Gi1/0/13 Desg FWD 4 128.13 P2p
Gi1/0/14 Desg FWD 4 128.14 P2p
Gi1/0/15 Desg FWD 4 128.15 P2p
Gi1/0/16 Desg FWD 4 128.16 P2p
Gi1/0/35 Desg FWD 4 128.35 P2p
交換機L2Switch_1是VLAN 10和VLAN 11的根。
若要發生 STP 迴圈,網路中必須有 L2 實體備援。如果不可能出現實體迴圈條件,就不會發生 STP。STP 迴圈條件的症狀為:
網路整體中斷
連線遺失
網路設備回報處理和系統使用率偏高
發生 STP 迴圈條件的單一 VLAN 可能會導致連結壅塞並使其他 VLAN 頻寬不足。show interfaces <interface> controller命令會記錄哪些埠傳輸或接收過多的資料包。過多的廣播和多點傳播可能表示連接埠是 STP 迴圈的一部分。根據一般規則,只要多點傳播或廣播超過單點傳播封包的數量,就會懷疑連結出現 STP 迴圈條件。
附註:交換器也會計算接收和傳輸作為多點傳播訊框的 STP 橋接通訊協定資料單元 (BPDU)。處於 STP 封鎖狀態的連接埠仍然會傳輸和接收 STP BPDU。
Router_2#show interfaces gi1/0/1 controller
GigabitEthernet1/0/1 is up, line protocol is up (connected)
Hardware is Gigabit Ethernet, address is 1880.90d8.5901 (bia 1880.90d8.5901)
Description: PNP STARTUP VLAN
MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full-duplex, 1000Mb/s, media type is 10/100/1000BaseTX
input flow-control is on, output flow-control is unsupported
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:00, output 00:00:04, output hang never
Last clearing of "show interface" counters never
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 33000 bits/sec, 31 packets/sec
5 minute output rate 116000 bits/sec, 33 packets/sec
9641686 packets input, 1477317083 bytes, 0 no buffer
Received 1913802 broadcasts (1151766 multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 1151766 multicast, 0 pause input
0 input packets with dribble condition detected
10702696 packets output, 4241534645 bytes, 0 underruns
Output 3432 broadcasts (0 multicasts)
0 output errors, 0 collisions, 2 interface resets
9582 unknown protocol drops
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 pause output
0 output buffer failures, 0 output buffers swapped out
Transmit GigabitEthernet1/0/1 Receive
4241534645 Total bytes 1477317083 Total bytes
10562003 Unicast frames 7727884 Unicast frames
4229489212 Unicast bytes 1291270617 Unicast bytes
137261 Multicast frames 1151766 Multicast frames
11812065 Multicast bytes 91096867 Multicast bytes
3432 Broadcast frames 762036 Broadcast frames
233368 Broadcast bytes 94949599 Broadcast bytes
0 System FCS error frames 0 IpgViolation frames
0 MacUnderrun frames 0 MacOverrun frames
0 Pause frames 0 Pause frames
0 Cos 0 Pause frames 0 Cos 0 Pause frames
0 Cos 1 Pause frames 0 Cos 1 Pause frames
0 Cos 2 Pause frames 0 Cos 2 Pause frames
0 Cos 3 Pause frames 0 Cos 3 Pause frames
0 Cos 4 Pause frames 0 Cos 4 Pause frames
0 Cos 5 Pause frames 0 Cos 5 Pause frames
0 Cos 6 Pause frames 0 Cos 6 Pause frames
0 Cos 7 Pause frames 0 Cos 7 Pause frames
0 Oam frames 0 OamProcessed frames
0 Oam frames 0 OamDropped frames
38144 Minimum size frames 4165201 Minimum size frames
4910833 65 to 127 byte frames 3126489 65 to 127 byte frames
1237675 128 to 255 byte frames 750243 128 to 255 byte frames
1029126 256 to 511 byte frames 1279281 256 to 511 byte frames
2205966 512 to 1023 byte frames 103668 512 to 1023 byte frames
1280952 1024 to 1518 byte frames 205229 1024 to 1518 byte frames
0 1519 to 2047 byte frames 11575 1519 to 2047 byte frames
0 2048 to 4095 byte frames 0 2048 to 4095 byte frames
0 4096 to 8191 byte frames 0 4096 to 8191 byte frames
0 8192 to 16383 byte frames 0 8192 to 16383 byte frames
0 16384 to 32767 byte frame 0 16384 to 32767 byte frame
0 > 32768 byte frames 0 > 32768 byte frames
0 Late collision frames 0 SymbolErr frames
0 Excess Defer frames 0 Collision fragments
0 Good (1 coll) frames 0 ValidUnderSize frames
0 Good (>1 coll) frames 0 InvalidOverSize frames
0 Deferred frames 0 ValidOverSize frames
0 Gold frames dropped 0 FcsErr frames
0 Gold frames truncated
0 Gold frames successful
0 1 collision frames
0 2 collision frames
0 3 collision frames
0 4 collision frames
0 5 collision frames
0 6 collision frames
0 7 collision frames
0 8 collision frames
0 9 collision frames
0 10 collision frames
0 11 collision frames
0 12 collision frames
0 13 collision frames
0 14 collision frames
0 15 collision frames
0 Excess collision frames
LAST UPDATE 2384 msecs AGO
另一個對STP問題診斷至關重要的命令是show spanning-tree detail命令。此命令會將拓撲變更通知 (TCN) 訊息回溯至發話者。這些在交換器之間以特殊 BPDU 傳送的訊息,表示交換器上的拓撲有所變動。該交換器會從其根連接埠傳送一個 TCN。TCN 會往上游移至根橋接器。接著,根橋接器會從其所有連接埠傳送另一個特殊的 BPDU,也就是拓撲變更確認 (TCA)。根橋接器會在組態 BPDU 中設定 TCN 位元。這樣會導致所有非根橋接器將其 MAC 位址表逾時計時器設定為組態 STP 轉送延遲。
若要隔離此問題,請存取每個VLAN的根網橋,並對交換器連線的連線埠發出show spanning-tree <interface> detail命令。last change occurred entry提供接收上一個TCN的時間。在這種情況下,若要查看由何者發出可能導致潛在 STP 迴圈的 TCN,為時已晚。Number of topology changes條目可讓您瞭解出現的TCN數量。在 STP 迴圈期間,此計數器可能會每分鐘都增量。如需詳細資訊,請參閱疑難排解STP問題和相關設計注意事項。
其他實用的資訊包括:
最後一個 TCN 的連接埠
最後一個 TCN 時間
目前 TCN 計數
以下是命令輸出範例:
L2Switch_1#show spanning-tree vlan 10 detail
VLAN0010 is executing the rstp compatible Spanning Tree protocol
Bridge Identifier has priority 32768, sysid 10, address 00fe.c8d3.8680
Configured hello time 2, max age 20, forward delay 15, transmit hold-count 6
We are the root of the spanning tree
Topology change flag not set, detected flag not set
Number of topology changes 8 last change occurred 03:21:48 ago
from GigabitEthernet1/0/35
Times: hold 1, topology change 35, notification 2
hello 2, max age 20, forward delay 15
Timers: hello 0, topology change 0, notification 0, aging 300
Port 3 (GigabitEthernet1/0/3) of VLAN0010 is designated forwarding
Port path cost 4, Port priority 128, Port Identifier 128.3.
Designated root has priority 32778, address 00fe.c8d3.8680
Designated bridge has priority 32778, address 00fe.c8d3.8680
Designated port id is 128.3, designated path cost 0
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 1
Link type is point-to-point by default
BPDU: sent 6066, received 0
Port 10 (GigabitEthernet1/0/10) of VLAN0010 is designated forwarding
Port path cost 4, Port priority 128, Port Identifier 128.10.
Designated root has priority 32778, address 00fe.c8d3.8680
Designated bridge has priority 32778, address 00fe.c8d3.8680
Designated port id is 128.10, designated path cost 0
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 1
The port is in the portfast mode by portfast trunk configuration
Link type is point-to-point by default
BPDU: sent 6063, received 0
Port 11 (GigabitEthernet1/0/11) of VLAN0010 is designated forwarding
Port path cost 4, Port priority 128, Port Identifier 128.11.
Designated root has priority 32778, address 00fe.c8d3.8680
Designated bridge has priority 32778, address 00fe.c8d3.8680
Designated port id is 128.11, designated path cost 0
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 1
Link type is point-to-point by default
BPDU: sent 6066, received 0
Port 13 (GigabitEthernet1/0/13) of VLAN0010 is designated forwarding
Port path cost 4, Port priority 128, Port Identifier 128.13.
Designated root has priority 32778, address 00fe.c8d3.8680
Designated bridge has priority 32778, address 00fe.c8d3.8680
Designated port id is 128.13, designated path cost 0
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 1
Link type is point-to-point by default
BPDU: sent 6066, received 3
Port 14 (GigabitEthernet1/0/14) of VLAN0010 is designated forwarding
Port path cost 4, Port priority 128, Port Identifier 128.14.
Designated root has priority 32778, address 00fe.c8d3.8680
Designated bridge has priority 32778, address 00fe.c8d3.8680
Designated port id is 128.14, designated path cost 0
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 1
Link type is point-to-point by default
BPDU: sent 6066, received 3
Port 15 (GigabitEthernet1/0/15) of VLAN0010 is designated forwarding
Port path cost 4, Port priority 128, Port Identifier 128.15.
Designated root has priority 32778, address 00fe.c8d3.8680
Designated bridge has priority 32778, address 00fe.c8d3.8680
Designated port id is 128.15, designated path cost 0
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 1
Link type is point-to-point by default
BPDU: sent 6067, received 0
Port 16 (GigabitEthernet1/0/16) of VLAN0010 is designated forwarding
Port path cost 4, Port priority 128, Port Identifier 128.16.
Designated root has priority 32778, address 00fe.c8d3.8680
Designated bridge has priority 32778, address 00fe.c8d3.8680
Designated port id is 128.16, designated path cost 0
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 1
Link type is point-to-point by default
BPDU: sent 6067, received 0
Port 35 (GigabitEthernet1/0/35) of VLAN0010 is designated forwarding
Port path cost 4, Port priority 128, Port Identifier 128.35.
Designated root has priority 32778, address 00fe.c8d3.8680
Designated bridge has priority 32778, address 00fe.c8d3.8680
Designated port id is 128.35, designated path cost 0
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 1
Link type is point-to-point by default
BPDU: sent 6067, received 0
此輸出顯示,上次拓撲更改發生在從介面GigabitEthernet1/0/35連線的裝置上。接下來,從該裝置發出相同的show spanning-tree detail命令以嘗試跟蹤問題。如果生成TCN的交換機僅連線到PC或端點,請確保這些埠上啟用了STP PortFast。連接埠轉換狀態時,STP PortFast 會抑制 STP TCN。
請參閱以下文件,以瞭解有關 STP 以及如何疑難排解與網路介面卡 (NIC) 相關聯之連結轉換問題的資訊:
由於快速乙太通道 (FEC)(連接埠通道)的負載平衡性質,FEC 問題可能會導致 HSRP 和 STP 問題。當您對STP或HSRP進行故障排除時,可以刪除任何FEC連線的配置。在配置更改到位後,在兩台交換機上發出show spanning-tree blockedports命令。確定至少有一個連接埠開始在連線的任一端進行封鎖。
有關EtherChannel的資訊,請參閱以下檔案:
啟用廣播抑制有助於減少廣播風暴的影響。廣播風暴是 STP 迴圈的主要副作用之一。以下是命令輸出範例:
L2Switch_1#show run interface TenGigabitEthernet1/1/5
Building configuration...
Current configuration : 279 bytes
!
interface TenGigabitEthernet1/1/5
switchport trunk allowed vlan 300-309
switchport mode trunk
storm-control broadcast level 30.00
storm-control multicast level 30.00
storm-control unicast level 30.00
spanning-tree guard root
end
L2Switch_1#show storm-control broadcast
Key: U - Unicast, B - Broadcast, M - Multicast
Interface Filter State Upper Lower Current Action Type
--------- ------------- ----------- ----------- ---------- --------- ----
Te1/1/5 Forwarding 30.00% 30.00% 0.00% None B
Te1/1/7 Link Down 30.00% 30.00% 0.00% None B
Te1/1/8 Forwarding 10.00% 10.00% 0.00% None B
L2Switch_1#show storm-control multicast
Key: U - Unicast, B - Broadcast, M - Multicast
Interface Filter State Upper Lower Current Action Type
--------- ------------- ----------- ----------- ---------- --------- ----
Te1/1/5 Forwarding 30.00% 30.00% 0.00% None M
Te1/1/7 Link Down 30.00% 30.00% 0.00% None M
對交換器的主控台或 Telnet 流量通常變得太慢,無法在 STP 迴圈期間正確追蹤違規的裝置。若要強制網路立即復原,請移除所有備援實體連結。允許 STP 在新的非備援拓撲上重新聚合後,請一次重新連接一個備援連結。如果 STP 迴圈在您新增某個特定分段之後再度出現,就表示您已找出違規的裝置。
驗證 PortFast、UplinkFast 和 BackboneFast 設定是否正確。疑難排解 STP 問題時,請停用所有進階 STP(UplinkFast 和 BackboneFast)。 此外,請驗證僅在直接連線到非橋接主機的連接埠上啟用 STP PortFast。非橋接主機包括沒有橋接器群組的使用者工作站和路由器。請勿在連線到集線器或其他交換器的連接埠上啟用 PortFast。以下是一些文檔,可幫助瞭解並配置這些功能:
啟用 PortFast BPDU 防護時,非中繼線、已啟用 PortFast 的連接埠會在該連接埠上收到 BPDU 時進入 errdisable 狀態。此功能可幫助您尋找為 PortFast 錯誤設定的連接埠。此功能還檢測裝置反映資料包或將STP BPDU插入網路的位置。排除STP故障時,您可以啟用此功能以幫助隔離STP問題。
L2Switch_1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
L2Switch_1(config)#spanning-tree portfast bpduguard
L2Switch_1(config)#end
在網路中啟用 VTP 修剪時,可能會導致 HSRP 群組的裝置進入作用中狀態。這樣會在閘道之間產生 IP 衝突並造成流量問題。請確定任何 HSRP 群組的 VLAN 都未遭到網路中的 VTP 修剪。
如果所有其他隔離或解決 HSRP 的嘗試均失敗,則下一個方法是「各個擊破」法。此方法有助於隔離組成網路的網路和組件。「各個擊破」是有關以下清單中的任何一項準則:
附註:此清單重複了本文件其他部分的一些準則。
為 HSRP 建立測試 VLAN 和隔離 VLAN,以便與 HSRP 路由器進行交換。
將所有備援連接埠中斷連線。
將 FEC 連接埠拆分為單一連線的連接埠。
將 HSRP 群組成員減少到只有兩個成員。
修剪中繼線連接埠,以便只有必要的 VLAN 在這些連接埠之間傳播。
將網路中連線的交換器中斷連線,直到問題停止。
在網路連線中斷或對網路新增具有更高優先順序的 HSRP 路由器時,快速乙太網路介面可能會出現此問題。HSRP 狀態從作用中變更為發言時,路由器會重設介面,以便將 HSRP MAC 位址從介面 MAC 位址過濾中移除。只有在 Cisco 2600、3600 和 7500 的快速乙太網路介面上使用的特定硬體才會出現此問題。路由器介面重設會導致快速乙太網路介面上的連結狀態變更,而且交換器會偵測到這種變更。如果交換器執行 STP,則該變更會導致 STP 轉換。STP 需要 30 秒才能將連接埠轉換至 forwarding 狀態。該時間是預設轉送延遲時間(15 秒)的兩倍。同時,發言的路由器會在 10 秒之後轉換到 standby 狀態,這就是 HSRP 保留時間。STP 尚未轉送,因此並未從作用中路由器接收到 HSRP hello 訊息。這樣會導致待命路由器在大約 10 秒之後變為作用中狀態。兩個路由器現在都處於 active 狀態。STP 連接埠變為轉送狀態時,優先順序較低的路由器會從作用中狀態變為發言狀態,然後整個過程會重複。
平台 | 說明 | 思科錯誤 ID | 修正 | 因應措施 |
---|---|---|---|---|
Cisco 2620/2621 | 設定 HSRP 並拔下纜線時,快速乙太網路介面開始翻動。 | 軟體升級;請參閱錯誤以瞭解修訂詳細資料。 | 在連線的交換器連接埠上啟用擴充樹 PortFast。 | |
Cisco 2620/2621 | HSRP 狀態在使用快速乙太網路的 2600 上翻動。 | Cisco IOS 軟體版本 12.1.3 | 在連線的交換器連接埠上啟用擴充樹 PortFast。 | |
使用 NM-1FE-TX 的 Cisco 36001 | HSRP 狀態在 2600 和 3600 快速乙太網路上翻動。 | Cisco IOS 軟體版本 12.1.3 | 在連線的交換器連接埠上啟用擴充樹 PortFast。 | |
使用快速乙太網路介面的 Cisco 4500 | HSRP 狀態在 4500 快速乙太網路上翻動。 | Cisco IOS 軟體版本 12.1.5 | 在連線的交換器連接埠上啟用擴充樹 PortFast。 |
1 NM-1FE-TX = 單連接埠快速乙太網路(10/100BASE-TX 介面)網路模組。
另一種解決方法是調整 HSRP 計時器,使 STP 轉送延遲小於預設 HSRP 保留時間的一半。預設 STP 轉送延遲為 15 秒,預設 HSRP 保留時間為 10 秒。
在 HSRP 流程下使用 track 命令時,思科建議您使用特定的遞減值以避免 HSRP 翻動。
以下是使用 track 命令時 HSRP 作用中路由器的組態範例:
standby 1 ip 10.0.0.1 standby 1 priority 105 standby 1 preempt delay minimum 60 standby 1 name TEST standby 1 track <object> decrement 15
其中15是對象擺動時的遞減值值。要瞭解有關track命令的更多資訊,請導航至HSRPv2配置示例中的Track Option文檔。
修訂 | 發佈日期 | 意見 |
---|---|---|
3.0 |
13-Dec-2024 |
格式化。 |
2.0 |
09-Jan-2023 |
更新了技術內容,使之與時俱進。將格式、德語、機器翻譯、樣式要求、標題長度、SEO和影象更新為.png。 |
1.0 |
29-Nov-2001 |
初始版本 |