詳解HSRP和VRRP的不同之處

詳解HSRP(HotStandbyRouterProtocal 熱備路由器協議)和VRRP(Virtual Router Redundancy Protocol 虛擬路由器冗餘協議)的不同之處

  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廣播報文:由主路由器定時發出來通告它的存在,使用這些報文可以檢測虛擬路由器各種參數,還可以用於主路由器的選舉。
  5.VRRP的安全:VRRP協議包括三種主要的認證方式:無認證,簡單的明文密碼和使用 MD5 HMAC ip認證的強認證.
  另外,VRRP包括一個保護VRRP分組不會被另外一個遠程網絡添加內容的機制(設置TTL值=255,並在接受時檢查),這限制了可以進行本地***的大部分缺陷.而另一方面,HSRP在它的消息中使用的TTL值是1.
  6.VRRP的崩潰間隔時間:3*通告間隔+時滯時間(skew-time)
 
HSRP的工作原理 
在整個電力局企業網內,虛網之間的交換(三層交換)是通過7609路由交換機(多層交換特徵卡MSFC2)和5500交換機(路由交換模塊RSM)來實現的。兩臺交換機通過Cisco的熱備路由器協議(HSRP)可以實現路由設備之間的冗餘,即三層交換的冗餘。HSRP協議是針對於IP協議,參與HSRP協議的路由設備爲IP終端提供一個虛擬IP地址,且IPX等其它網絡協議與HSRP兼容。
圖:熱備路由協議(HSRP)示意圖
 

 

 

HSRP的工作原理
HSRP協議利用一個優先級方案來決定哪個配置了HSRP協議的路由器成爲默認的主動路由器。如果一個路由器的優先級設置得比所有其他路由器的優先級高,則該路由器成爲主動路由器。路由器的缺省優先級是100,所以如果只設置一個路由器的優先級高於100,則該路由器將成爲主動路由器。
通過在設置了HSRP協議的路由器之間廣播HSRP優先級,HSRP協議選出當前的主動路由器。當在預先設定的一段(Hold Time 缺省爲10秒)時間內主動路由器不能發送hello消息,或者說HSRP檢測不到主動路由器的hello消息時,將認爲主動路由器有故障,這時HSRP會選擇優先級最高的備用路由器變爲主動路由器,同時將按HSRP優先級在配置了HSRP的路由器中再選擇一臺路由器作爲新的備用路由器。
所有參與HSRP的路由器共享一個虛的IP地址,網絡中的工作站將缺省網關指向該虛地址,被選出的主動路由器負責轉發由工作站發到虛地址的數據包。
Hello消息是基於UDP的信息包,配置了HSRP的路由器將會週期性的廣播Hello消息包,並利用Hello消息包來選擇主動路由器和備用路由器及判斷路由器是否失效。
如圖所示,PC將數據包發送到設置的缺省網關(配置HSRP路由器所共享的虛擬IP地址),假設圖中的7609設置了較高的優先級,7609將被選爲主動路由器,並負責轉發網絡中所有由PC發送到其網關(HSRP地址)的數據包。當7609發生故障時,7609就不會廣播Hello信息包,HSRP如果經過Hold Time還未收到來自7609的Hello信息包,將認爲7609實效,這時HSRP將選擇備用的5500作爲主動路由器,並由5500來負責轉發網絡中所有由PC發送到其網關(HSRP地址)的數據包。而當7609恢復後,將繼續發送Hello信息包,HSRP檢測到其發送的Hello信息包具有高的優先級,則會重新將7609選爲主動路由器,5500則仍將恢復成爲備用路由器。
配置了HSRP協議的路由器交換以下三種多點廣播消息:
●Hello──hello消息通知其他路由器,發送路由器的HSRP優先級和狀態信息,HSRP路由器默認爲每3秒鐘發送一個hello消息;
●Coup──當一個備用路由器變爲一個主動路由器時發送一個coup消息;
●Resign──當主動路由器要宕機或者當有優先級更高的路由器發送hello消息時,主動路由器發送一個resign消息。
在任一時刻,配置了HSRP協議的路由器處於由以下六種狀態:
●Initial ——表示路由器的HSRP還未運行,一般在配置第一臺HSRP路由器時會顯示此狀態;
●Learn——表示配置HSRP的路由器還未知道虛地址,並一直監聽來自主動路由器的消息包;
●Listening──表示配置HSRP的路由器還已知道虛地址,路由器還在監聽hello消息;
●Speaking and listening──路由器正在發送和監聽hello消息;
●Standby──處於被用狀態,當主動路由器失效時路由器可被選爲主動路由器,接管包轉發功能;
●Active──路由器執行包轉發功能。
Cisco HSRP(雙機熱備份)的配置
 
 
Cisco的熱備份路由協議(HSRP)可以在工作站A的確省網關失效時提供一個備份路由器,
HSRP可以創建一個具有虛擬MAC地址和虛擬IP地址的虛擬路由器。
 
    假設有兩個路由器Bluestudy A和Bluestudy B,通過兩路指向路由器Bluestudy C:
 
    對於Bluestudy A,假設E0/0的IP地址爲192.168.1.1/24對應內部網絡是192.168.1.0/24 S0/0的IP地址爲192.168.2.1/24 對應外部網絡是192.168.2.0/24。
 
    對於Bluestudy B,假設E0/0的IP地址爲192.169.1.2/24 對應內部網絡是192.168.1.0/24 S0/0的IP地址爲192.168.3.1/24 對應外部網絡是192.168.3.0/24。
 
    虛擬IP地址爲192.168.1.3/24
 
    對於Bluestudy C,因與本實驗無太大聯繫,暫時不做說明。
 
    下面給出兩隻路由器的配置,其中將Bluestudy A作爲主路由器,Bluestudy B作爲備份路由器。其中給出Bluestudy A的優先級爲120,而Bluestudy B採用默認優先級100,這樣就可以使Bluestudy A成爲主路由器。
 
Bluestudy A:
 
Interface ethernet0/0
 
Ip address 192.168.1.1 255.255.255.0
 
No ip redirects
 
Standby 1 priority 120
 
Standby 1 preempt
 
Standby 1 ip 192.168.1.3
 
 
interface serial0/0
 
ip address 192.168.2.1 255.255.255.0
 
no shut
 
!
 
router igrp 100
 
network 192.168.1.0
 
network 192.168.2.0
 
 
 
Bluestudy B:
 
Interface ethernet0/0
 
Ip address 192.168.1.2 255.255.255.0
 
Standby 1 preempt
 
Standby 1 ip 192.168.1.3
 
 
interface serial0/0
 
ip address 192.168.3.1 255.255.255.0
 
no shut
 
!
 
router igrp 100
 
network 192.168.1.0
 
network 192.168.3.0
 
只要將相應的下連主機的網關設成 192.168.1.3就可以了.
 
 
 
Linux下的(VRRP)虛擬路由冗餘協議介紹
這篇文章描述的是如何在Linux下實現VRRP (Virtual Router Redundancy Protocol 虛擬路由器冗餘協議)。是我本人在學習VRRP過程的一個小總結,並結合了一些其他資料,對VRRP的一些基本概念、原理及Linux如何實現VRRP的一個介紹,
  
  包括以下幾個部分:
  1, VRRP介紹
  2, Linux下的VRRP組件
  3, 安裝Keepalived
  
  1,VRRP介紹
  
  我們在建立一個網絡時,爲了保證網絡穩定不間斷的運行,經常採用一些動態的路由協議,如OSPF、RIP等,這些路由協議可以自動的繞開很多的網絡故障,如:路由器DOWN機等。但很多時候我們可能無法使用這些高端的路由協議:
  
  (1), 因爲有時候是用戶端,要配置OSPF、RIP等協議必須有上游ISP供應商的支持,但很多ISP供應商是不提供這種服務的,他們只提供靜態路由。(有時候使用OSPF、RIP等協議的目的是爲了進行鏈路和路由的備份,VRRP可以完全替代他們這部分工作)
  
  (2), 我們有兩條以上的Internet線路,需要對他們進行負載均衡和路由線路、路由器的備份(VRRP也主要是爲這種需求設計的)
  
  爲了能夠保證網絡的不間斷、穩定的運行,VRRP是一個最好的選擇,VRRP是Virtual Router Redundancy Protocol 虛擬路由器冗餘協議的縮寫,在RFC2338中有比較詳細的描述。
  
  2,VRRP概念
  
  VRRP中有很多的概念,我們結合下圖對他們進行一一的介紹:
  

 

  (1), 圖中路由器RA是虛擬路由器VRID 1的主路由器,負責掌管“內部網1”的網關;並且是虛擬路由器VRID 2的備份路由器,當VRID 2的主路由器RB不可用時,接管RB的工作。
  
  (2), 路由器RB是虛擬路由器VRID 2的主路由器,負責掌管“內部網2”的網關;並且是虛擬路由器VRID 1的備份路由器,當VRID 1的主路由器RA不可用時,接管RA的工作。
  
  3,VRRP術語:
  
  (1), Virtual Router:虛擬路由器。在我們這個圖中,是由實際路由器RA和RB使用VRRP協議組成的一個路由器鏡相。
  
  (2), Vitual Router ID:簡稱爲VRID,是網絡中Virtual Router的唯一的身份標示,是一個數字。
  
  (3), VRRP Instance:VRRP實體。VRRP Instance可以理解爲是一個程序,運行在一臺實際的路由器上,他負責掌管一些VRRP協議需要的一些信息。如:說明這臺實際的路由器是主路由器還是備份路由器、這臺路由器所屬的VRID等。
  
  (4), Virtual Router IP:一個Virtual Router具有一個IP,在正常情況下,有這個Vritual Router中的主路由器掌管,當主路由器出現故障時由這個Virtual Router中的備份路由器掌管。
  
  (5), Master:也就是主路由器。一個實際路由器是否是主路由器,一般在自己的VRRP Instance中作出描述。
  
  (6), Backup:備份路由器。一個實際路由器是否是備份路由器,一般在自己的VRRP Instance中作出描述。
  
  (7), Priority:優先權。在VRRP Instance中將對每個實際的路由器定義一個優先權,他是一個數字從1到254(0和254在RFC定義中被保留),當主路由器不可用時,備份路由器將根據自己的優先權來決定由誰接管主路由器的工作。數字越大,權值越大。
  
  (8), Owner:Virtual Router IP的掌管者。
  
  (9), Authentication:驗證。處在同一個VRID中的實際路由器是需要通信的,他們之間的通信需要相互驗證。一般使用密碼驗證。另外需要說明的是:同一個VRID中的實際路由器通信時使用組播地址:224.0.0.18。
  
  4,VRRP的數據包結構:
  
地址

 

 

  關於更詳細的說明請參考RFC2338 VRRP文檔。
  
  5,Linux下的VRRP組件
  
  在Linux下可以實現非常漂亮穩定的VRRP功能。實現這個功能的軟件是keepalived(http://www.keepalived.org),keepalived起初是爲LVS(LinuxVirtualServer www.linuxvirtualserver.org Linux下的服務器負載均衡系統)設計的,是專門監控服務器狀態的。後來加入了VRRP的功能。Keepalived的VRRP功能是從Linux中VRRPD發展而來:http://www.off.net/~jme/vrrpd/index.html 。
  
  6,Keepalived的安裝
  
  Keepalived的安裝需要先安裝下面兩個組件:
  openssl(www.openssl.org)
  popt(http://www.gnu.org/directory/libs/popt.html)
  
  (1), openssl的安裝,如果你的系統已經有了openssl系統,而且在/usr/include目錄下有openssl的目錄,那麼openssl就不需要安裝了,如果不是這樣你需要安裝。
  tar  cd openssl-0.9.7d
  configure
  make
  make test
  make
install  
  然後將openssl的include目錄複製到/usr/include
  cp –r /usr/local/
ssl  
  (2), tar zxvf popt-1.7.tar.gz
  cd popt-1.7
  ./configure
  make
  make install
  (3), 在安裝keepalived之前,你可能需要重新編譯Linux的內核,將Netlink、Linux Virtual Server和組播功能的選項編譯進新內核:如下面的圖:
  
/include/openssl /usr/include

zxvf openssl-0.9.7d.tar.gz
 

   

  (4), keepalived的安裝
  tar zxvf keepalived-1.1.7.tar.gz
  cd keepalived-1.1.7
  ./configure –prefix=/usr/local/keepalived
  make
  make install
 
 
 
實現高可靠性冗餘備份 (優化)


  VRRP協議應用於作爲靜態配置缺省網關上的第三層交換機和路由器上,

  爲依賴缺省網關進行廣域網接入或訪問其它局域網網域的終端系統提供了更快、更有效的冗餘容錯能力。

  隨着Internet和Intranet的日益普及,人們對網絡的依賴性越來越強,恢復性和冗餘性已成爲當今局域網中的關鍵特性。爲此,IETF制定了虛擬路由器冗餘協議(Virtual Router Redundancy Protocol,VRRP),該協議應用於作爲靜態配置缺省網關上的第三層交換機和路由器上,爲依賴缺省網關進行廣域網接入或訪問其它局域網網域的終端系統提供了更快、更有效的冗餘容錯能力。


  VRRP引入到交換網


  近年來,隨着交換機的第三層交換能力的不斷提高,VRRP技術已不再僅僅侷限於路由器上的使用,而是逐步引入到大規模的交換網,以實現高可靠性的第三層交換的冗餘備份。

  VRRP協議將系統中多臺路由器組成VRRP組,該組中擁有一個虛擬缺省網關地址。但在任何時刻,一個組內只有控制虛擬網關地址的路由器是活動路由器(Master),由它來轉發數據包。如果活動路由器發生了故障,它將選擇一個優先權最高的冗餘備份路由器(Backup)來替代活動路由器。由於網絡內的終端配置了VRRP虛擬網關地址,發生故障時,虛擬路由器沒有改變,主機仍然保持連接,網絡將不會受到單點故障的影響,這樣就較好地解決了網絡中路由器切換的問題。

 


  圖一 VRRP交換網的拓撲結構

  典型的採用VRRP技術的交換網拓撲結構如圖一所示。


  組播通量的產生


  在大規模的交換網中,由於存在多個VLAN,因此,需要配置多個VRRP網關,這些網關將以默認一秒的時延不停地發送組播。此外,當生成樹中的網絡拓撲結構變化時,將激活拓撲結構變化的橋接協議數據單元(BPDU)產生。當應用視頻點播、多媒體會議等流量較大的組播業務,以及網絡自身所產生的數據,將會在某一時刻造成局部的網絡“塞車”,甚至成爲形成組播風暴的誘因。

  在圖二所示的網絡中,網絡內的大量應用數據流通量,搶佔了鏈路上的帶寬,使核心交換機處理壓力增加,使主幹端口無法及時轉發VRRP數據包和BPDU包,這樣就導致Switch-A沒有收到Switch-B的BPDU包(轉發時延爲15秒),Switch-A交換機端口由阻塞狀態進入學習轉發狀態。同時,Switch-A向Switch-B發送拓撲結構變化BPDU包,通知Switch-B網絡拓撲結構發生變化,還將導致Switch-A的VRRP狀態由Backup變爲Master,往所有轉發端口發送VRRP組播。

  當該組播到達接入層交換機後,接入層交換機向Switch-B轉發。Switch-B收到此組播後又通過互連端口向Switch-A轉發,形成了環路。


  實現網絡優化


  加大核心交換機互連鏈路的帶寬

  核心交換機之間的互連鏈路有大量的廣播和組播通量,如果由於帶寬不夠而造成此鏈路阻塞,則VRRP的備份交換機將變爲Master,這樣網絡中將存在兩個Master。因此,鏈路帶寬的正常是VRRP網絡正常的保證。

  修改VRRP通告間隔時間

  VRRP默認的通告間隔時間是一秒,若將此時間延長,則成倍地減少了每個端口VRRP廣播量。但是,由於VRRP通告間隔時間的延長,VRRP網絡中主備切換的時間將延長,核心交換機更難發現網絡中拓撲結構的變化。因此,不可將此時間一味延長,而是根據網絡的實際情況做適當的調整。

  設定STP

  Spanning Tree協議通過優先級的設定確定誰是根交換機,要保證根交換機和Master路由交換機的地位,直到網絡拓撲結構出現改變。此外,STP還可採用DUAL-LAY和Per-VLAN模式。

  修剪Trunk口

  對Trunk口進行修剪,從綁定所有VLAN修改到只綁定該端口能接收到的部分VLAN,減少交換機的計算量和端口上的流通量。
 



  圖二 組播風暴形成過程

  接入層交換機使用端口冗餘

  Cisco、Avaya、3Com等廠商的接入層交換機上都具有端口冗餘,或者叫彈性鏈路的特性:在交換機的端口上,通過廠商專有的技術,實現硬件上的故障切換。在主鏈路發生中斷時,備份鏈路會在1~5秒的時間內切換到工作狀態。這樣的技術不需要有生成樹協議的運算,沒有BPDU的開銷,而且切換時間遠遠低於生成樹的收斂時間(生成樹缺省的收斂時間是50秒,而且隨着網絡拓撲的複雜化,收斂時間還會增加)。因此,接入層交換機適合採用這種簡單易用的方式實現鏈路的冗餘備份。

  VRRP虛擬端口優先級的設定

  建議將成爲生成樹根網橋的核心交換機上VRRP的虛擬端口優先級設置爲最高,這樣保證VRRP主路由器與生成樹根網橋一致性,防止因網絡拓撲的變化引起VRRP狀態的波動。

  關閉多餘的廣播和組播業務

  網絡中有很多廣播和組播業務的應用,有一部分是無意義的或不需要的,如網絡內部的NTP服務、ARP-TX服務等,這樣可以節省更多的帶寬。

  升級交換機軟件版本

  交換機軟件版本的升級可以給交換機增加新的功能,改進原有的算法。因此,建議網絡工程維護人員經常升級交換機軟件,提升交換機的速度,提高交換機的性能。

  VRRP網絡雖然不可能完全消除組播通量的存在,但網絡工程師們對其進行控制,針對不同的網絡環境,爲每個網絡量身定做適合自己的方案,能使其不影響網絡的正常運行,將爲網絡提供更快、更有效的冗餘容錯能力。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章