目錄

簡介

必要條件

需求

採用元件

瞭解 HSRP

背景資訊

基本運作

HSRP 字詞

HSRP 定址

HSRP 路由器通訊

除了權杖環以外之所有媒體上的 HSRP 待命 IP 位址通訊

ICMP 重新導向

HSRP 功能對照表

HSRP 功能

封包格式

HSRP 狀態

HSRP 計時器

HSRP 事件

HSRP 動作

HSRP 狀態表

封包流量

路由器 A 組態（作用中路由器）

路由器 B 組態（待命路由器）

疑難排解 HSRP 問題的案例研究

案例研#1:HSRP備用IP地址報告為重複的IP地址

案例研#2: HSRP狀態持續更改（活動、待機、發言）或%HSRP-6-STATECHANGE

案例研#3:HSRP無法識別對等體

案例研#4:HSRP狀態更改和交換機報告SYS-4-P2_WARN:1/Host 在埠之間擺動 和埠 在系統日誌中

案例研究#5：非對稱路由和HSRP（運行HSRP的路由器在網路中泛洪過多單播流量）

MSFC1

MSFC2

非對稱路由的後果

案例研#6:HSRP虛擬IP地址報告為不同的IP地址

案例研#7:HSRP導致安全埠上的MAC違規

案例研#9: %Interface硬體無法支援多個組

Catalyst交換機中的HSRP故障排除

A. 驗證 HSRP 路由器組態

1. 驗證唯一的路由器介面 IP 位址

2. 驗證待命 (HSRP) IP 位址和待命群組數量

3. 驗證每個介面的待命 (HSRP) IP 位址是否不同

4. 何時使用備用的 use-bia 命令

5. 驗證存取清單組態

B. 驗證 Catalyst 快速乙太通道和中繼線組態

1. 驗證中繼線組態

2. 驗證快速乙太通道（連接埠通道）組態

3.檢查交換機MAC地址轉發表

C. 驗證實體層連線

1. 檢查介面狀態

2. 連結變更和連接埠錯誤

3. 驗證 IP 連線

4. 檢查單向連結

5. 其他實體層疑難排解參考

D. 第 3 層 HSRP 偵錯

1. 標準 HSRP 偵錯

2. 條件式 HSRP 偵錯（根據待命群組和/或 VLAN 限制輸出）

3. 強化的 HSRP 偵錯

E. 擴充樹疑難排解

1. 驗證擴充樹組態

2. 擴充樹迴圈條件

3. 拓撲變更通知

4. 已中斷連線的已封鎖連接埠

5. 廣播抑制

6. 主控台和 Telnet 存取

7.生成樹功能：Portfast、UplinkFast和BackboneFast

8. BPDU 防護

9. VTP 修剪

F.分治

已知的問題

將Cisco 2620/2621和Cisco 3600與快速乙太網配合使用時，HSRP狀態抖動/不穩定

相關資訊

簡介

本文描述常見問題和排除熱待命路由器協定(HSRP)問題的方法。

必要條件

需求

本文件沒有特定需求。

採用元件

本文件所述內容不限於特定軟體和硬體版本。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

瞭解 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 OS的主機工作站。但是多個預設網關不是動態的。作業系統一次只會使用一個預設閘道。如果網際網路控制管理通訊協定 (ICMP) 將第一個設定的預設閘道判定為無法連線，系統只會在啟動時選擇其他設定的預設閘道。

基本運作

一組執行 HSRP 的路由器協同合作，向 LAN 上的主機呈現單一預設閘道路由器的錯覺。這組路由器稱為 HSRP 群組或待命群組。從組中選擇的單個路由器負責轉發主機傳送到虛擬路由器的資料包。此路由器稱為作用中路由器。另一個路由器被選為待命路由器。如果作用中路由器故障，待命路由器將承擔轉送封包的責任。雖然任意數量的路由器可以運行HSRP，但只有活動路由器會轉發傳送到虛擬路由器IP地址的資料包。

為了最小化網路流量，在通訊協定完成選擇程序後，只有作用中和待命路由器會傳送定期的 HSRP 訊息。HSRP 群組中的其他路由器會保持在 Listen 狀態。如果作用中路由器故障，待命路由器將接替作用中路由器。如果待命路由器故障或成為作用中路由器，另一個路由器就會被選為待命路由器。

每個待命群組都會模擬單一虛擬路由器（預設閘道）。對於每個群組，都會為其分配一個公認的 MAC 和 IP 位址。一個 LAN 上可以有多個待命群組共存和重疊，且個別路由器可以加入多個群組。在這種情況下，路由器會為每個群組維護一個單獨的狀態和計時器。

HSRP 字詞

字詞

定義

作用中路由器

目前為虛擬路由器轉送封包的路由器

待命路由器

主要備份路由器

待命群組

參與 HSRP 且共同模擬一個虛擬路由器的一組路由器

Hello 時間

來自指定路由器之連續 HSRP hello 訊息之間的間隔

保留時間

收到 hello 訊息和假設傳送路由器已故障之間的間隔

HSRP 定址

HSRP 路由器通訊

執行 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 位址，因此主機必須與和 HSRP 待命 IP 位址相關聯的 MAC 位址進行通訊。此 MAC 位址是虛擬 MAC 位址，由 0000.0c07.ac** 組成。** 是十六進位的 HSRP 群組編號，以相應的介面為基礎。例如，HSRP組1使用HSRP虛擬MAC地址000.0c07.ac01。相鄰LAN區段上的主機使用常規位址解析通訊協定(ARP)程式來解析關聯的MAC位址。

ICMP 重新導向

保護子網路的 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 提供的彈性。

HSRP 功能對照表

請參閱熱待命由器通訊協定特性和功能的 Cisco IOS 版本和 HSRP 功能對照表部分，以瞭解支援 HSRP 的特性和 Cisco IOS 軟體版本。

HSRP 功能

請參閱熱待命路由器通訊協定特性和功能以瞭解有關大部分 HSRP 功能的資訊。本文件提供有關以下 HSRP 功能的資訊：

- 佔先

- 介面追蹤

- 使用 BIA

- 多個 HSRP 群組

- 可設定的 MAC 位址

- Syslog 支援

- HSRP 偵錯

- 強化的 HSRP 偵錯

- 驗證

- IP 備援

- 簡易網路管理通訊協定 (SNMP) MIB

- 用於多重通訊協定標籤交換 (MPLS) 的 HSRP

註：您可以使用瀏覽器的「查詢」功能在文檔中查詢這些部分。

封包格式

以下表格顯示 UDP HSRP 訊框之資料部分的格式：

版本

操作代碼

狀態

hello 時間

保留時間

優先順序機制

群組

保留

驗證資料

驗證資料

虛擬 IP 位址

以下表格說明 HSRP 封包中的各個欄位：

封包欄位

說明

操作代碼（1 個八位元）

操作代碼會說明封包所包含的訊息類型。可能的值為：0 — 你好，1 — 政變，2 — 辭職。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 訊息（如果已設定驗證）的情況下，才會獲知位址。

HSRP 狀態

狀態

定義

Initial（初始）

這是開始時的狀態。此狀態表示 HSRP 並未執行。透過組態變更，或是在介面首次可用時，就會進入此狀態。

學習

路由器尚未確定虛擬 IP 位址，也尚未看到來自作用中路由器的已驗證 hello 訊息。在這種狀態下，路由器仍然會等待從作用中路由器中獲知資訊。

Listen（接聽）

路由器知道虛擬 IP 位址，但路由器既不是作用中路由器，也不是待命路由器。它會接聽來自這些路由器的 hello 訊息。

Speak（發言）

路由器會定期傳送 hello 訊息並主動參與作用中和/或待命路由器的選擇。除非路由器具有虛擬 IP 位址，否則路由器無法進入 speak 狀態。

Standby（待命）

路由器是成為下一個作用中路由器的候選者，而且會定期傳送 hello 訊息。將暫時性狀況排除後，群組中最多只有一個路由器處於 standby 狀態。

Active（作用中）

路由器目前會轉送傳送到群組虛擬 MAC 位址的封包。路由器會定期傳送 hello 訊息。將暫時性狀況排除後，群組中最多只能有一個路由器處於 active 狀態。

HSRP 計時器

每個路由器在 HSRP 中只會使用三個計時器。計時器會為 hello 訊息計時。發生故障時，HSRP 聚合取決於 HSRP hello 和保留計時器的設定方式。依照預設，這些計時器分別設為 3 和 10 秒；也就是說，每 3 秒會在 HSRP 待命群組裝置之間傳送一個 hello 封包，而 10 秒未收到 hello 封包時，待命裝置會成為作用中狀態。您可以降低這些計時器設定以加快故障轉移或搶佔，但是，要避免CPU使用率增加和不必要的待機狀態抖動，請勿將hello計時器設定為低於一(1)秒或保持計時器設定為低於4秒。請注意，如果您使用 HSRP 追蹤機制且所追蹤的連結發生故障，則無論 hello 和保留計時器為何，都會立即發生容錯移轉或佔先。計時器到期時，路由器會轉換到新的 HSRP 狀態。可以使用以下命令更改計時器：standby [group-number] timers hellotime holdtime。例如，standby 1 timers 5 15。

以下表格提供更多有關這些計時器的資訊：

計時器

說明

作用中計時器

此計時器是用來監控作用中路由器。每當作用中路由器收到 hello 封包時，此計時器就會啟動。此計時器會根據 HSRP hello 訊息相關欄位中設定的保留時間值而到期。

待命計時器

此計時器是用來監控待命路由器。每當待命路由器收到 hello 封包時，此計時器就會啟動。此計時器會根據個別 hello 封包中設定的保留時間值而到期。

Hello 計時器

此計時器是用來計時 hello 封包。此 hello 計時器到期時，處於任何 HSRP 狀態的所有 HSRP 路由器都會產生 hello 封包。

HSRP 事件

以下表格提供 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 訊息

HSRP 動作

以下表格詳細說明要在狀態機器中採取的動作：

字母

動作

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 事件部分的表格提供了數字定義，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

路由器 A 組態（作用中路由器）

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

路由器 B 組態（待命路由器）

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

疑難排解 HSRP 問題的案例研究

案例研#1:HSRP備用IP地址報告為重複的IP地址

可能會顯示以下錯誤訊息：

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

案例研#2: HSRP狀態持續更改（活動、待機、發言）或%HSRP-6-STATECHANGE

可能會顯示以下錯誤訊息：

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命令，則可以清除介面計數器。

案例研#3:HSRP無法識別對等體

此區段的路由器輸出顯示出已為 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

案例研究#4:HSRP狀態更改和交換機報告SYS-4-P2_WARN: 1/Host <mac_address>在系統日誌中的埠<port_1>和埠<port_2>之間擺動

可能會顯示以下錯誤訊息：

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 位址移動的最常見原因是擴充樹問題或實體層問題。

疑難排解此錯誤訊息時，請完成以下步驟：

注意：此外，請完成本文檔的Catalyst交換機中的HSRP故障排查部分中的步驟。

1. 判斷主機 MAC 位址的正確來源（連接埠）。

2. 斷開不能作為主機MAC地址來源的埠。

3. 記錄每個 VLAN 上的 STP 拓撲，並檢查是否有 STP 故障。

4. 驗證連接埠通道組態。

1. 不正確的連接埠通道組態可能會造成主機 MAC 位址出現翻動的錯誤訊息。這是因為連接埠通道的負載平衡性質所致。

案例研究#5：非對稱路由和HSRP（運行HSRP的路由器在網路中泛洪過多單播流量）

使用非對稱路由時，在主機與其通訊的對等體之間傳輸和接收資料包使用不同的路徑。此資料包流是基於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 命令組態。

MSFC1

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)

MSFC2

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活動狀態，VLAN 2處於HSRP備用狀態。在 MSFC2 上，VLAN 2 處於 HSRP active 狀態，VLAN 1 處於HSRP standby 狀態。每個主機的預設閘道都是各自的待命 IP 位址。

1. 一開始，所有快取都是空的。主機 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的Switch 1的MAC地址和MAC地址未包含在本節中顯示的其他表中。

2. 主機 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 : 000.0c00.0001

3. 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 : 000.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 : 000.0c00.0002

4. 主機B透過MSFC1收到來自主機A的回應封包。主機B現在必須向主機A傳送回應回覆。由於主機A位於不同的VLAN上，因此主機B會通過其預設網關MSFC2轉發回覆。為了通過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 : 000.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 : 000.0c00.0001

10.1.2.1 (0000.0c07.ac02)

5. 主機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 : 000.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 : 000.0c00.0001

10.1.1.10 0000.0c00.0001

0000.0c00.00001 1 1/1

10.1.2.1 (0000.0c07.ac02)

6. 回應回覆會到達主機 A，因此流程完成。

非對稱路由的後果

請考慮主機 A 不斷 ping 主機 B 的情況。請記住，主機 A 會向 MSFC1 傳送回應封包，主機 B 則是向 MSFC2 傳送回應回覆，因此處於非對稱路由狀態。交換機1唯一知道主機B的源MAC的時間是主機B對來自MSFC1的ARP請求作出響應的時間。這是因為主機B使用MSFC2作為其預設閘道，且不會將封包傳送到MSFC1，因此也不會傳送到Switch 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 : 000.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 : 000.0c00.0001

10.1.1.10 0000.0c00.0001

10.1.2.1 : 0000.0c07.ac01

來自主機B的回應回覆封包在交換器2上主機A的MAC位址專案過時後遇到相同問題。主機B將回應回覆轉送到MSFC2,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>

案例研#6:HSRP虛擬IP地址報告為不同的IP地址

因為交換器中有橋接迴圈而發生 VLAN 間洩漏時，出現 STANDBY-3-DIFFVIP1 錯誤訊息。

如果您收到此錯誤訊息，而且因為交換器中有橋接迴圈而發生 VLAN 間洩漏，請完成以下步驟以解決錯誤：

1. 確定資料包在終端節點之間採用的路徑。

如果此路徑上有路由器，請完成以下步驟：

1. 疑難排解從第一部交換器到路由器的路徑問題。

2. 疑難排解從路由器到第二部交換器的路徑問題。

2. 連線到路徑上的每部交換器，並檢查在端節點之間的路徑上使用的連接埠狀態。

案例研#7:HSRP導致安全埠上的MAC違規

在連線到啟用 HSRP 之路由器的交換器連接埠上設定連接埠資安時，會導致 MAC 違規，因為您無法在多個介面上擁有相同的安全 MAC 位址。以下其中一種情況會在安全連接埠上發生資安違規：

- 將最大數量的安全 MAC 位址加入位址表，且其 MAC 位址不在地址表中的站點嘗試存取該介面。

- 在同一個 VLAN 中的某個安全介面上可看到在另一個安全介面上獲知或設定的位址。

依照預設，連接埠資安違規會導致交換器介面變成錯誤停用狀態並立即關閉，從而封鎖路由器之間的 HSRP 狀態訊息。

因應措施

- 在路由器上發出 standby use-bia 命令。這樣會強制路由器使用 HSRP 的燒錄位址，而不是虛擬 MAC 位址。

- 在連線到啟用 HSRP 之路由器的交換器連接埠上停用連接埠資安。

案例研#9: %Interface硬體無法支援多個組

如果在介面上建立了多個 HSRP 群組，就會收到以下錯誤訊息：

%Interface hardware cannot support multiple groups

之所以會收到此錯誤訊息，是因為某些路由器或交換器有硬體限制。任何軟體方法都無法克服這種限制。問題在於，每個 HSRP 群組都會在介面上使用一個額外的 MAC 位址，因此乙太網路 MAC 晶片必須支援多個可程式化 MAC 位址，才能啟用多個 HSRP 群組。

解決方法是使用 standby use-bia 介面組態命令。該命令會使用介面的燒錄位址 (BIA) 作為其虛擬 MAC 位址，而不是預先指派的 MAC 位址。

Catalyst交換機中的HSRP故障排除

A. 驗證 HSRP 路由器組態

1. 驗證唯一的路由器介面 IP 位址

驗證每個 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

2. 驗證待命 (HSRP) IP 位址和待命群組數量

驗證所設定的待命 (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

3. 驗證每個介面的待命 (HSRP) IP 位址是否不同

驗證待命 (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

4. 何時使用備用的 use-bia 命令

除非權杖環介面上設定了 HSRP，否則只能在特殊情況下使用 standby use-bia 命令。此命令會告訴路由器使用其 BIA，而不是 HSRP 群組的虛擬 HSRP MAC 位址。在權杖環網路上，如果來源路由橋接 (SRB) 正在使用中，standby use-bia 命令就會允許新的作用中路由器使用 Gratuitous ARP 來更新主機路由資訊欄位 (RIF) 快取。但是，並非所有主機實作都能夠正確處理 Gratuitous ARP。standby use-bia 命令的另一個警告是有關代理 ARP。待命路由器無法涵蓋故障之作用中路由器所遺失的代理 ARP 資料庫。

5. 驗證存取清單組態

驗證在所有 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)

B. 驗證 Catalyst 快速乙太通道和中繼線組態

1. 驗證中繼線組態

如果使用中繼線來連線 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

2. 驗證快速乙太通道（連接埠通道）組態

如果使用連接埠通道來連線 HSRP 路由器，請驗證路由器和交換器上的乙太通道組態。視需要至少在一端設定交換器到交換器連接埠通道。另一端可以處於以下任何一種模式：

- 於

- desirable

- 自動

但是在本範例中，介面不是連線埠通道的成員：

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#

3.檢查交換機MAC地址轉發表

驗證交換器上是否存在 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

C. 驗證實體層連線

如果 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

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)#end

Router_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

2. 連結變更和連接埠錯誤

檢查交換器連接埠連結變更和其他錯誤。發出以下命令並檢查輸出：

- 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

3. 驗證 IP 連線

驗證 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，以判斷連線失敗的位置。

4. 檢查單向連結

檢查交換器是否有 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

5. 其他實體層疑難排解參考

請參閱以下文件：

- 設定和疑難排解乙太網路 10/100/1000Mb 半/全雙工自動交涉功能

- 恢復Cisco IOS平台上的錯誤停用連線埠狀態

- 疑難排解 Cisco Catalyst 交換器與 NIC 的相容性問題

- 疑難排解 Cisco Catalyst 交換器與 NIC 的相容性問題的瞭解資料連結錯誤部分

- 疑難排解交換器連接埠和介面問題

D. 第 3 層 HSRP 偵錯

如果HSRP狀態變化頻繁，請在路由器上使用HSRP debug命令（在啟用模式下）以觀察HSRP活動。此資訊可幫助您判斷路由器接收和傳送哪些 HSRP 封包。如果要透過思科技術支援建立服務要求，請收集此資訊。偵錯輸出也會顯示 HSRP 狀態資訊，以及詳細的 HSRP hello 封包帳戶。

1. 標準 HSRP 偵錯

在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

2. 條件式 HSRP 偵錯（根據待命群組和/或 VLAN 限制輸出）

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

3. 強化的 HSRP 偵錯

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

E. 擴充樹疑難排解

網路中的 STP 迴圈條件或不穩定會使得 HSRP 對等點無法適當通訊。由於這種不正確的通訊，每個對等點都變成了作用中路由器。STP 迴圈可能會導致廣播風暴、重複訊框和 MAC 表不一致。所有這些問題都會影響整個網路，尤其是 HSRP。HSRP 錯誤訊息可能是 STP 問題的第一個跡象。

疑難排解 STP 問題時，您必須瞭解每個 VLAN 上的網路 STP 拓撲。您必須判斷哪個交換器是根橋接器，以及交換器上的哪些連接埠處於封鎖和轉送狀態。由於每個 VLAN 都有自己的 STP 拓撲，因此此資訊對每個 VLAN 都非常重要。

1. 驗證擴充樹組態

確定網路中的每部交換器和橋接裝置上都設定了 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的根。

2. 擴充樹迴圈條件

若要發生 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

3. 拓撲變更通知

另一個對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 迴圈期間，此計數器可能會每分鐘都增量。請參閱擴充樹通訊協定問題和相關設計考量以瞭解更多資訊。

其他實用的資訊包括：

- 最後一個 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) 相關聯之連結轉換問題的資訊：

- 使用 PortFast 和其他命令修復工作站啟動連線延遲

- 瞭解快速跨距樹狀目錄通訊協定(802.1w)

- STP 問題和相關設計考量

4. 已中斷連線的已封鎖連接埠

由於快速乙太通道 (FEC)（連接埠通道）的負載平衡性質，FEC 問題可能會導致 HSRP 和 STP 問題。當您對STP或HSRP進行故障排除時，可以刪除任何FEC連線的配置。在配置更改到位後，在兩台交換機上發出show spanning-tree blockedports命令。確定至少有一個連接埠開始在連線的任一端進行封鎖。

請參閱以下文件以瞭解有關快速乙太通道的資訊：

- 瞭解Catalyst交換器上的EtherChannel負載平衡和備援

- 配置EtherChannel

5. 廣播抑制

啟用廣播抑制有助於減少廣播風暴的影響。廣播風暴是 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

6. 主控台和 Telnet 存取

對交換器的主控台或 Telnet 流量通常變得太慢，無法在 STP 迴圈期間正確追蹤違規的裝置。若要強制網路立即復原，請移除所有備援實體連結。允許 STP 在新的非備援拓撲上重新聚合後，請一次重新連接一個備援連結。如果 STP 迴圈在您新增某個特定分段之後再度出現，就表示您已找出違規的裝置。

7.生成樹功能：Portfast、UplinkFast和BackboneFast

驗證 PortFast、UplinkFast 和 BackboneFast 設定是否正確。疑難排解 STP 問題時，請停用所有進階 STP（UplinkFast 和 BackboneFast）。此外，請驗證僅在直接連線到非橋接主機的連接埠上啟用 STP PortFast。非橋接主機包括沒有橋接器群組的使用者工作站和路由器。請勿在連線到集線器或其他交換器的連接埠上啟用 PortFast。以下是一些文檔，可幫助瞭解並配置這些功能：

配置生成樹PortFast、BPDU防護、BPDU過濾器、UplinkFast、BackboneFast和環路防護

瞭解和配置Cisco UplinkFast功能

8. BPDU 防護

啟用 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

9. VTP 修剪

在網路中啟用 VTP 修剪時，可能會導致 HSRP 群組的裝置進入作用中狀態。這樣會在閘道之間產生 IP 衝突並造成流量問題。請確定任何 HSRP 群組的 VLAN 都未遭到網路中的 VTP 修剪。

F.分治

如果所有其他隔離或解決 HSRP 的嘗試均失敗，則下一個方法是「各個擊破」法。此方法有助於隔離組成網路的網路和組件。「各個擊破」是有關以下清單中的任何一項準則：

注意：此清單重複了來自本文檔其他部分的一些指導原則。

- 為 HSRP 建立測試 VLAN 和隔離 VLAN，以便與 HSRP 路由器進行交換。

- 將所有備援連接埠中斷連線。

- 將 FEC 連接埠拆分為單一連線的連接埠。

- 將 HSRP 群組成員減少到只有兩個成員。

- 修剪中繼線連接埠，以便只有必要的 VLAN 在這些連接埠之間傳播。

- 將網路中連線的交換器中斷連線，直到問題停止。

已知的問題

將Cisco 2620/2621和Cisco 3600與快速乙太網配合使用時，HSRP狀態抖動/不穩定

在網路連線中斷或對網路新增具有更高優先順序的 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 3600^1

HSRP 狀態在 2600 和 3600 快速乙太網路上翻動。

Cisco IOS 軟體版本 12.1.3

在連線的交換器連接埠上啟用擴充樹 PortFast。

使用快速乙太網路介面的 Cisco 4500

HSRP 狀態在 4500 快速乙太網路上翻動。

思科錯誤ID CSCds16055

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文檔。

相關資訊

- 園區LAN Catalyst交換器 — 存取

- LAN 交換

- 技術支援與文件 - Cisco Systems