5.4 時鐘
每臺路由器都要維護3個時鐘,一個激活時鐘,一個備份時鐘,和一個Hello時鐘。
激活時鐘是用來監視活路由器的,在任何時候,只要路由器發現了從活路由器發過來的被認證過的Hello消息,激活時鐘就開始計時,直到到達Hello消息中所設定的Hold time值爲止。
備份時鐘用於監視備份路由器。該時鐘也是在路由器發現了從活路由器發過來的被認證過的Hello消息,隨時開始計時,直到到達Hello消息中所設定的Hold time值爲止。
Hello時鐘是在每一個Hellotime時間段終止一次。如果路由器是處於會話、備份或激活狀態下,它會在Hello 時鐘停止時產生一個Hello消息。Hello消息必須是不穩定的。
5.5 事件
下面是在HSRP有限的狀態機制下所能發生的事件
a - 在一個使能的端口上配置HSRP
b - 在一個端口上禁用HSRP,或這個端口被禁用。
c - 活時鐘期滿。活時鐘從路由器收到從活路由器發送來的最後一個Hello消息開始計時,時長爲Hello消息中所設定的Holdtime值。
d - 備份時鐘期滿。備份時鐘從路由器收到從活路由器發送來的最後一個Hello消息開始計時,時長爲Hello消息中所設定的Holdtime值。
e - Hello時鐘期滿。用於發送Hello消息的週期性時鐘期滿。
f - 收到一個發自一臺處於對話狀態路由器的高優先級Hello消息。
g - 收到一個發自活路由器的高優先級的Hello消息。
h - 收到一個來自活路由器的低優先級的Hello消息。
i - 收到一個來自活路由器的Resign消息。
j - 收到一個來自一臺高優先級路由器的Coup消息。
k - 收到一個來自備份路由器的高優先級的Hello消息。
l - 收到一個來自備份了路由器的低優先級的Hello消息。
5. 6 操作
本節說明了這種狀態機制中所要採取的一系列操作
A、 啓動活時鐘
如果這個動作是作爲從活路由器接受到認證過的Hello消息的結果來發生的話,那麼活時鐘要在Hello 消息中的Hold time域中設定。否則,活時鐘將使用路由器當前的Hold time值啓動。
B、 啓動備份時鐘
如果這個動作是由於從備份路由器接受到認證過的Hello消息而導致發生的話,那麼備份時鐘要在Hello 消息中的Hold time域中設定。否則,備份時鐘將使用路由器當前的Hold time值啓動。
C、 終止活時鐘
活時鐘被終止。
D、 終止備份時鐘
備份時鐘被終止。
E、 學習參數
這個動作在接收到一個來自活路由器的一個已認證的消息時發生。如果這個組沒有手工配置虛IP地址,它就會從消息中學到一個虛IP地址。路由器也可能從消息中學習Hello time 和Hold time 值。
F、 發送Hello消息
路由器以它當前的狀態、Hellotime 和Holdtime值來發送Hello消息。
G、 發送Coup消息
路由器發送Coup消息包給活路由器,通知它發現了一個更高優先級的路由器。
H、 發送Resign 消息
路由器發送Resign消息來允許其他路由器成爲活路由器。
I、 發送無償ARP消息
路由器通過廣播ARP應答包來把組的虛IP地址和虛MAC地址廣播出去。如同ARP包一樣,這個包使用虛擬MAC地址作爲鏈路層包頭中的源MAC地址。
5,7 狀態過渡
下面的表格說明了這種狀態機制的各狀態間的轉換過程。對於每個時間以及路由器所處的每個狀態來說,路由器必須執行前面已說明的一系列操作並轉換爲即定的狀態。如果沒有操作被事先聲明,也就不會有任何操作發生,如果沒有聲明任何狀態改變,也不會有任何的狀態的改變。
下面表中所使用的符號是在5,6節的操作列表中所列出的一系列操作所對應的字母。狀態則是用在5,3節中的狀態列表中個狀態所對應的數字來表示。斜線(‘/’)是操作和狀態的分隔符。狀態的轉變可以是二選一的,這主要取決於外部狀態。二選一的狀態用‘|’來分隔。詳細情況請見附加說明
States
+-----+----------+----------+----------+----------+----------+----------+
| | 1 | 2 | 3 | 4 | 5 | 6 |
| | Initial | Learn | Listen | Speak | Standby | Active |
+-----+----------+----------+----------+----------+----------+----------+
|Event| |
+-----+----------+----------+----------+----------+----------+----------+
| a | AB/2|3+ | | | | | |
+-----+----------+----------+----------+----------+----------+----------+
| b | | CD/1 | CD/1 | CD/1 | CD/1 | CDH/1 |
+-----+----------+----------+----------+----------+----------+----------+
| c | | | AB/4 | | CDFI/6 | |
+-----+----------+----------+----------+----------+----------+----------+
| d | | | B/4 | D/5 | | |
+-----+----------+----------+----------+----------+----------+----------+
| e | | | | F | F | F |
+-----+----------+----------+----------+----------+----------+----------+
| f | | | | B/3 | B/3 | |
+-----+----------+----------+----------+----------+----------+----------+
| g | | EAB/3 | EA | EA | EA | AB/4 |
+-----+----------+----------+----------+----------+----------+----------+
| h | | EAB/3 | A|BGFI/6*| A|BGFI/6*| A|BGFI/6*| G |
+-----+----------+----------+----------+----------+----------+----------+
| i | | | AB/4 | A | CFI/6 | |
+-----+----------+----------+----------+----------+----------+----------+
| j | | | | | | ABH/4 |
+-----+----------+----------+----------+----------+----------+----------+
| k | | | B | B/3 | B/3 | B |
+-----+----------+----------+----------+----------+----------+----------+
| l | | | B/4 | D/5 | | B |
+-----+----------+----------+----------+----------+----------+----------+