HSRP

HSRP

熱備份路由器協定(HSRP)的設計目標是支持特定情況下 IP 流量失敗轉移不會引起混亂、並允許主機使用單路由器,以及即使在實際第一跳路由器使用失敗的情形下仍能維護路由器間的連通性。實現HSRP的條件是系統中有多台路由器,它們組成一個“熱備份組”,這個組形成一個虛擬路由器。換句話說,當源主機不能動態知道第一跳路由器的 IP 地址時,HSRP 協定能夠保護第一跳路由器不出故障。

基本介紹

  • 中文名熱備份路由器協定
  • 外文名:Hot Standby Router Protocol
  • 英文簡稱:HSRP
  • 用途:保護第一跳路由器不出故障
簡介,原理,與VRRP的差別,套用,特點,配置命令,配置實例,查看版本,認證,監測,

簡介

HSRP:熱備份路由器協定(HSRP:Hot Standby Router Protocol),是cisco平台一種特有的技術,是cisco的私有協定。
該協定中含有多台路由器,對應一個HSRP組。該組中只有一個路由器承擔轉發用戶流量的職責,這就是活動路由器。當活動路由器失效後,備份路由器將承擔該職責,成為新的活動路由器。這就是熱備份的原理。
實現HSRP的條件是系統中有多台路由器,它們組成一個“熱備份組”,這個組形成一個虛擬路由器。在任一時刻,一個組內只有一個路由器是活動的,並由它來轉發數據包,如果活動路由器發生了故障,將選擇一個備份路由器來替代活動路由器,但是在本網路內的主機看來,虛擬路由器沒有改變。所以主機仍然保持連線,沒有受到故障的影響,這樣就較好地解決了路由器切換的問題。
為了減少網路的數據流量,在設定完活動路由器和備份路由器之後,只有活動路由器和備份路由器定時傳送HSRP報文。如果活動路由器失效,備份路由器將接管成為活動路由器。如果備份路由器失效或者變成了活躍路由器,將由另外的路由器被選為備份路由器。
在實際的一個特定的區域網路中,可能有多個熱備份組並存或重疊。每個熱備份組模仿一個虛擬路由器工作,它有一個Well-known-MAC地址和一個IP位址。該IP位址、組內路由器的接口地址、主機在同一個子網內,但是不能一樣。當在一個區域網路上有多個熱備份組存在時,把主機分布到不同的熱備份組,可以使負載得到分擔。

原理

負責轉發數據包路由器稱之為活動路由器(Active Router)。一旦主動路由器出現故障,HSRP 將激活備份路由器(Standby Routers)取代主動路由器。HSRP 協定提供了一種決定使用主動路由器還是備份路由器的機制,並指定一個虛擬的 IP 地址作為網路系統的預設網關地址。如果主動路由器出現故障,備份路由器(Standby Routers)承接主動路由器的所有任務,並且不會導致主機連通中斷現象。
HSRP 運行在UDP上,採用連線埠號1985。路由器轉發協定數據包的源地址使用的是實際 IP 地址,而並非虛擬地址,正是基於這一點,HSRP 路由器間能相互識別。
HSRP協定利用一個優先權方案來決定哪個配置了HSRP協定的路由器成為默認的主動路由器。如果一個路由器的優先權設定的比所有其他路由器的優先權高,則該路由器成為主動路由器。路由器的預設優先權是100,所以如果只設定一個路由器的優先權高於100,則該路由器將成為主動路由器。
通過在設定了HSRP協定的路由器之間發組播(地址224.0.0.2)來得知各自的HSRP優先權,HSRP協定選出當前的主動路由器。當在預先設定的一段時間內主動路由器不能傳送hello訊息時,優先權最高的備用路由器變為主動路由器。路由器之間的包傳輸對網路上的所有主機來說都是透明的。
配置了HSRP協定的路由器交換以下三種多點組播訊息:
Hello———hello訊息通知其他路由器傳送路由器的HSRP優先權和狀態信息,HSRP路由器默認為每3秒鐘傳送一個hello訊息;
Coup———當一個備用路由器變為一個主動路由器時傳送一個coup訊息;
Resign———當主動路由器要宕機或者當有優先權更高的路由器傳送hello訊息時,主動路由器傳送一個resign訊息。在任一時刻,配置了HSRP協定的路由器都將處於以下六種狀態之一:
Initial———HSRP啟動時的狀態,HSRP還沒有運行,一般是在改變配置或連線埠剛剛啟動時進入該狀態。
Learn——— 學習狀態,不知道虛擬IP,未看到活躍路由器發hello。等待活躍路由器發hello。
Listen———路由器已經得到了虛擬IP位址,但是它既不是活動路由器也不是等待路由器。它一直監聽從活動路由器和等待路由器發來的HELLO報文。
Speak———在該狀態下,路由器定期傳送HELLO報文,並且積極參加活動路由器或等待路由器的競選。
Standby———當主動路由器失效時路由器準備接管包傳輸功能。
Active———路由器執行包傳輸功能。

與VRRP的差別

1.在功能上,VRRP和HSRP非常相似,但是就安全而言,VRRP對HSRP的一個主要優勢:它允許參與VRRP組的設備間建立認證機制.並且,不像HSRP那樣要求虛擬路由器不能是其中一個路由器的ip地址,但是VRRP允許這種情況發生(如果”擁有”虛擬路由器地址的路由器被建立並且正在運行,那么應該總是由這個虛擬路由器管理—等價於HSRP中的活動路由器),但是為了確保萬一失效發生的時候終端主機不必重新學習MAC地址,它指定使用的MAC地址00-00-5e-00-01-VRID,這裡的VRID是虛擬路由器的ID(等價於一個HSRP的組標識符).
2.另外一個不同是VRRP不使用HSRP中的政變或者一個等價訊息,VRRP的狀態機比HSRP的要簡單,HSRP有6個狀態(初始(Initial)狀態,學習(Learn)狀態,監聽(Listen)狀態,對話(Speak)狀態,備份(Standby)狀態,活動(Active)狀態)和8個事件, VRRP只有3個狀態(初始狀態(Initialize)、主狀態(Master)、備份狀態(Backup))和5個事件.
3. HSRP有三種報文,而且有三種狀態可以傳送報文 呼叫(Hello)報文 告辭(Resign)報文 突變(Coup)報文
VRRP有一種報文
VRRP廣播報文:由主路由器定時發出來通告它的存在,使用這些報文可以檢測虛擬路由器各種參數,還可以用於主路由器的選舉。
4. HSRP將報文承載在UDP報文上,而VRRP承載在IP報文上(HSRP 使用UDP 1985連線埠,向組播地址224.0.0.2 傳送hello訊息,HSRP 版本2向224.0.0.102傳送hello訊息)
5.VRRP的安全:VRRP協定包括三種主要的認證方式:無認證,簡單的明文密碼和使用 MD5 HMAC ip認證的強認證.
強認證方法使用IP認證頭(AH)協定.AH是與用在IPSEC中相同的協定,AH為認證VRRP分組中的內容和分組頭提供了一個方法. MD5 HMAC 的使用表明使用一個共享的密鑰用於產生hash值.路由器傳送一個VRRP分組產生MD5 hash值,並將它置於要傳送的通告中,在接收時,接受方使用相同的密鑰和MD5值,重新計算分組內容和分組頭的hash值,如果結果相同,這個訊息就是真正來自於一個可信賴的主機,如果不相同,它必須丟棄,這可以防止攻擊者通過訪問LAN而發出能影響選擇過程的通告訊息或者其他一些方法中斷網路.
另外,VRRP包括一個保護VRRP分組不會被另外一個遠程網路添加內容的機制(設定TTL值=255,並在接受時檢查),這限制了可以進行本地攻擊的大部分缺陷.而另一方面,HSRP在它的訊息中使用的TTL值是1.
6.VRRP的崩潰間隔時間:3*通告間隔+時滯時間(skew-time)

套用

隨著Internet的日益普及,人們對網路的依賴性也越來越強。這同時對網路的穩定性提出了更高的要求,人們自然想到了基於設備的備份結構,就像在伺服器中為提高數據的安全性而採用雙硬碟結構一樣。路由器是整個網路的核心和心臟,如果路由器發生致命性的故障,將導致本地網路的癱瘓,如果是骨幹路由器,影響的範圍將更大,所造成的損失也是難以估計的。因此,對路由器採用熱備份是提高網路可靠性的必然選擇。在一個路由器完全不能工作的情況下,它的全部功能便被系統中的另一個備份路由器完全接管,直至出現問題的路由器恢復正常,這就是熱備份路由協定(HotStandbyRouterProtocol),HSRP-RFC2281技術要解決的問題。

特點

1.高度的可靠性,兩台路由器之間採用HSRP(熱備份冗餘協定)協定,來保證兩台路由器中的任意一台down掉,或路由器的廣域網口down,都會迅速切換到另外一台。
2.有效的實現了負載均衡,在STAR-S1924F+上劃分出各自的VLAN,儲蓄子網VLAN在左側路由器上的HSRP的優先權較高,默認使用網通的FR線路;郵政系統(辦公、報刊、EMS、VOIP等等)子網VLAN在右側路由器上的HSRP的優先權較高,默認使用聯通的FR線路。充分利用了頻寬資源,而且實現了負載均衡。
3.充分利用了多以太口路由器在劃分多業務網段上的功能,也只有多以太口路由器在HSRP套用中才能實現兩個路由器間的負載分擔,這是具有四個以太口路由器的極大的優點。
4.在右側路由器上啟用QoS策略,VoIP業務需要較低的延時,所以將VoIP業務設定成較高的優先權。
5.通過在交換機上設定VLAN,有效的控制了兩個子網間的安全。
6.不存在單點故障問題。

配置命令

配置實例

這是一個多HSRP組的實例,這種配置可以用於HSRP負載均衡
HSRP實例圖HSRP實例圖
在配置之前,連線的連線埠必須是trunk模式。
如右圖
CK2:
(config)#int e0
(config-if)#ip add 10.16.6.6 255.255.255.0
(config-if)#standby 1 ip 10.16.6.100
(config-if)#standby 1 preempt
(config-if)#standby 1 track s0 30
(config-if)#standby 1 priority 120
(config-if)#standby 2 ip 10.16.6.200
(config-if)#standby 2 preempt
(config-if)#standby 2 track s0
(config-if)#standby 2 priority 100
CK1:
(config)#int e0
(config-if)#ip add 10.16.6.5 255.255.255.0
(config-if)#standby 1 ip 10.16.6.100
(config-if)#standby 1 preempt
(config-if)#standby 1 track s0
(config-if)#standby 1 priority 100
(config-if)#standby 2 ip 10.16.6.200
(config-if)#standby 2 track s0 30
(config-if)#standby 2 priority 120
(config-if)#standby 2 preempt

查看版本

IOS中的默認HSRP版本是HSRPv1,它允許配置最多255個組號碼。由於一台設備可以支持4095個VLAN,因此如果需要的話,管理員要在多個接口上重複使用相同的HSRP組號碼。儘管這會引起管理員的困惑,但這種配置方法是可行的。HSRPv1使用虛擬MAC地址是0000.0C07.ACXX,XX表示HSRP組;並向組播地址224.0.0.2傳送Hello數據包。
HSRPv2使用的數據包格式與HSRPv1不同。管理員要確保在同一HSRP組中的所有路由器上配置了相同的HSRP版本。因為不同版本的設備之間無法識別Hello訊息。設備默認的版本為版本1,管理員可以使用以下命令來改變HSRP版本。
Switch(config-if)#standby<hsrp group number>version 2

認證

HSRP認證可以防止網路中的惡意路由器加入到HSRP組中。
管理員可以通過在HSRP組中所有成員設備上,配置認證字元串來啟用HSRP認證。認證字元串的最大長度為8位元組,默認關鍵字為cisco。實例如下:
RouterA(config)#interface vlan 10
RouterA(config-if)#ip address 10.1.1.2 255.255.255.0
RouterA(config-if)#standby 10 ip 10.1.1.1
RouterA(config-if)#standby 10 priority 110
RouterA(config-if)#standby 10 preempt
RouterA(config-if)#standby 10 authentication xyz123

監測

管理員可以使用一系列show standby 命令來檢查HSRP的狀態,其中有多個參數可供使用。比如命令 show standby brief 可以簡單顯示出HSRP的匯總配置。管理員可以確認每個備用組中的本地路由器鄰居。
當管理員輸入 show standby 命令時,設備會顯示出完整的信息。在一個HSRP組中,管理員可以使用命令 show ip arp 來查看多層交換機上的ARP快取。
HSRP還通過IOS的調試(debug)工具提供了更詳細的檢測功能。用於調試HSRP的命令如下:
Swtich# debug standby [errors][events][packets]顯示出HSRP的所有狀態變化;
Switch# debug standby terse顯示出所有HSRP錯誤、事件和數據包,但不包括Hello和公告數據包。

相關詞條

熱門詞條

聯絡我們