目錄

簡介

必要條件

需求

採用元件

慣例

設定

網路圖表

組態

驗證

疑難排解

疑難排解指令

調試輸出示例

疑難排解程序

相關資訊

簡介

在通過LAN交換機連線的兩台路由器之間運行熱備份路由器協定(HSRP)時，您可能會發現HSRP不穩定。這通常發生在網路中斷或活動路由器轉換期間，例如將具有更高優先順序的HSRP路由器和預佔配置為新增到LAN。本文解釋為什麼會發生這種不穩定以及如何避免它。

必要條件

需求

本文件沒有特定需求。

採用元件

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

慣例

如需文件慣例的詳細資訊，請參閱思科技術提示慣例。

設定

本節提供用於設定本文件中所述功能的資訊。

注意：要查詢有關本文檔中使用的命令的其他資訊，請使用命令查詢工具(僅限註冊客戶)。

網路圖表

本文檔使用下圖所示的網路設定。

組態

本檔案會使用以下設定：

路由器A

interface FastEthernet1/0

ip address 10.144.220.3 255.255.252.0

standby priority 120

standby preempt

standby ip 10.144.220.1

路由器B

interface FastEthernet3/0

ip address 10.144.220.2 255.255.252.0

standby priority 110

standby preempt

standby ip 10.144.220.1

驗證

目前沒有適用於此組態的驗證程序。

疑難排解

本節提供的資訊可用於對組態進行疑難排解。

疑難排解指令

輸出直譯器工具(僅供註冊客戶使用)支援某些show命令，此工具可讓您檢視show命令輸出的分析。

註：使用debug命令之前，請參閱有關Debug命令的重要資訊。

- debug standby

調試輸出示例

在上圖中，當路由器A新增到網路時，您可以觀察路由器B的HSRP狀態從活動到備用之間的抖動。在路由器B上運行debug standby將產生以下輸出：

RouterB# debug standby

*Mar 1 02:55:56: SB0:FastEthernet3/0 Hello out 10.144.220.2 Active pri 110 hel 3

hol 10 ip 10.144.220.1

*Mar 1 02:56:08: SB0:FastEthernet3/0 Hello in 10.144.220.3 Active pri 120 hel 3

hol 10 ip 10.144.220.1

*Mar 1 02:56:08: SB0: FastEthernet3/0 state Active -> Speak

*Mar 1 02:56:08: SB0:FastEthernet3/0 Resign out 10.144.220.2 Speak pri 110 hel 3

hol 10 ip 10.144.220.1

*Mar 1 02:56:08: SB0:FastEthernet3/0 Hello out 10.144.220.2 Speak pri 110 hel 3

hol 10 ip 10.144.220.1

*Mar 1 02:56:09: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet3/0,

changed state to down

*Mar 1 02:56:11: SB0: FastEthernet3/0 state Speak -> Init

*Mar 1 02:56:13: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet3/0,

changed state to up

*Mar 1 02:56:13: SB0: FastEthernet3/0 state Init -> Listen

*Mar 1 02:56:14: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet3/0,

changed state to down

*Mar 1 02:56:14: SB0: FastEthernet3/0 state Listen -> Init

*Mar 1 02:56:20: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet3/0,

changed state to up

*Mar 1 02:56:20: SB0: FastEthernet3/0 state Init -> Listen

*Mar 1 02:56:30: SB0: FastEthernet3/0 state Listen -> Speak

*Mar 1 02:56:40: SB0: FastEthernet3/0 state Speak -> Standby

*Mar 1 02:56:41: SB0: FastEthernet3/0 state Standby -> Active

*Mar 1 02:56:41: SB: FastEthernet3/0 Adding 0000.0c07.ac00 to address filter

*Mar 1 02:56:41: SB0:FastEthernet3/0 Hello out 10.144.220.2 Active pri 110 hel 3

hol 10 ip 10.144.220.1

*Mar 1 02:56:44: SB0:FastEthernet3/0 Hello in 10.144.220.3 Active pri 120 hel 3

hol 10 ip 10.144.220.1

*Mar 1 02:56:44: SB0: FastEthernet3/0 state Active -> Speak

從上面的輸出可以清楚地看到，路由器B的HSRP狀態正在不斷地從活動狀態變為通話狀態，再到備用狀態，如此等等。

HSRP過程使用組播地址224.0.0.2與其他HSRP路由器通訊hello資料包。如果失去連線，或者向網路新增了具有更高優先順序的HSRP路由器，HSRP狀態可能會開始擺動，如上圖所示。當在某些路由器平台上運行HSRP(請參閱下面的註釋)，並且向網路新增了優先順序較高的路由器時，優先順序較低的路由器的HSRP狀態會從「活動」更改為「正在發言」，並且會發生鏈路狀態更改。交換器的連線埠會偵測到此連結狀態變更，而且會進行跨距樹狀目錄通訊協定轉換。埠大約需要30秒才能完成偵聽、學習和轉發階段。此時間段超過HSRP hello進程的預設超時，因此優先順序較低的路由器在達到Standby狀態後會變為Active，因為未從活動路由器收到任何hello資料包。

由於路由器看不到彼此的HSRP hello資料包，因此它們都會變為活動狀態。當交換機埠轉換到Learning狀態時，交換機可能會看到兩個不同埠中的同一個虛擬MAC地址。

注意：由HSRP狀態更改引起的物理鏈路狀態更改專門發生在Cisco 2600、Cisco 3600和Cisco 7200系列路由器的網路模組 — 快速乙太網(NM-FE)介面上。此行為在Cisco IOS®軟體版本12.1(3)及更新版本中不再發生。

如需更多資訊，請參閱Cisco錯誤ID CSCdr02376(僅限註冊客戶)。

疑難排解程序

執行下列任務之一，以解決上述問題。

1. 使用set spantree portfast enable配置交換機，這樣交換機就可以繞過spantree狀態並直接進入轉發狀態。

如果路由器配置為在此介面/埠橋接資料包，則不能使用此解決方法，因為此類鏈路上的立即轉發會使網路容易出現轉發環路故障。

注意：對於連線到其他交換機或網橋的交換機埠，此限制也適用。

2. 更改HSRP計時器，使生成樹轉發延遲（預設值為15秒）小於HSRP保持時間（預設值為10秒）的一半。

我們建議HSRP保持時間為40秒。

注意：增加HSRP保持時間會使HSRP在檢測到活動路由器關閉和使備用路由器活動時速度變慢。

3. 確保網路上沒有資料包風暴（IPX容易發生資料包風暴）。

4. 配置standby use-bia 命令，該命令強制HSRP活動路由器使用燒錄地址。

這實現了兩件事。由於HSRP不再需要更改（或新增）單播MAC地址到MAC地址過濾器清單，因此乙太網介面不會重置。它還會使交換機無法學習兩個不同埠上的相同地址。請參閱什麼是standby use-bia命令及其如何工作？以獲取更多資訊。

注意：使用standby use-bia命令具有以下缺點：

- 當路由器變為活動狀態時，虛擬IP地址將移動到不同的MAC地址。新活動路由器傳送一個免費地址解析協定(ARP)響應，但並非所有主機實現都正確處理了免費ARP。

- 設定備用use-bia時，代理ARP會中斷。備用路由器無法覆蓋故障路由器的代理ARP資料庫丟失。

- 由於內部限制，多層交換器功能卡2(MSFC2)上不支援standby use-bia命令。 如需詳細資訊，請參閱在Supervisor引擎2上設定IP單播第3層交換的設定原則與限制一節。

相關資訊

- 瞭解和設定Catalyst交換器上的跨距樹狀目錄通訊協定(STP)

- HSRP（熱待命路由器通訊協定）支援頁面

- 技術支援 - Cisco Systems