天天看點

Cisco私有協定—熱備份路由協定HSRP詳解HSRP簡介HSRP工作原理HSRP封包格式HSRP狀态HSRP定時器

Cisco私有協定—熱備份路由協定HSRP詳解HSRP簡介HSRP工作原理HSRP封包格式HSRP狀态HSRP定時器

HSRP簡介

HSRP(Hot Standby Router Protocol 熱備份路由器協定)是Cisco的專有協定。HSRP把多台路由器組成一個“熱備份組”,形成一個虛拟路由器。這個組内隻有一個路由器是Active(活動)的,并由它來轉發資料包,如果活動路由器發生了故障,備份路由器将成為活動路由器。從網絡内的主機來看,網關并沒有改變。

HSRP工作原理

HSRP(Hot Standby Router Protocol 熱備份路由器協定)把多台路由器組成一個虛拟路由器(Virtual Router)。PC上設定網關後,如果網關down了就斷網了,導緻網絡連接配接不穩定。是以需要備用網關,即備援網關,確定網絡連接配接正常。HSRP可以提供備援網關的解決方案。

VR雖然是虛拟路由器,但同樣需要有三層IP位址和二層Mac位址。三層IP位址是手動配的,但不能亂配,需要配置成和真實路由器處于同一網段的IP位址。VR的二層位址是自動生成的。例如0000.0c07.ac01,前6位0000.0c是Cisco買來的。中間4位07.ac是HSRP号。最後2位01是HSRP Group組号。每個HSRP組内隻能有一個路由器是Active(活動)的,一個路由器是Standby備份的,其餘路由器将處于監聽狀态。通過Active路由器來轉發資料,如果Active路由器down了,Standby備份路由器将成為Active路由器,以保證網絡的正常運作。屬于同一個HSRP組的路由器的虛拟三層IP位址必須一緻。

例如将真實路由器A和B捆綁成虛拟路由器VR後,誰成為Active路由器,誰成為Standby備份路由器呢?HSRP用優先級來決定,優先級高的成為Active路由器。優先級預設都是100,可以修改。如果優先級相同,IP位址高的成為Active路由器。路由器間通過多點傳播(224.0.0.2)Hello包來互相監聽各自的存在。Hello包預設每3秒發一次,如果長期收不到Active路由器發出的Hello包,就認為Active路由器出故障了,Standby備份路由器就将成為Active路由器。

HSRP封包格式

Cisco私有協定—熱備份路由協定HSRP詳解HSRP簡介HSRP工作原理HSRP封包格式HSRP狀态HSRP定時器
  • 版本:訓示HSRP的版本資訊。
  • 操作碼:用來描述資料包中封包的類型,可能的值為0、1和2,分别表示是Hello、Coup和Resign消息。
  • 狀态:描述發出該封包的路由器的目前狀态。有0、1、2、4、8、16六種狀态,分别表示為Initial、Learn、Listen、Speak、Standby和Active狀态。
  • 呼叫時間(Hellotime):隻在呼叫封包中有意義,表示路由器定時發送呼叫封包的間隔時間,以秒為機關。如果該參數沒有在路由器上配置,它可能要從活動路由器上學習獲得。預設值為3秒。
  • 保持時間(Holdtime):隻在呼叫封包中有意義,被接收路由器用來判斷該呼叫封包是否合法,機關為秒,其值至少是呼叫時間的3倍。如果該參數沒有配置,也同樣可以從活動路由器上學習。活動路由器不能從等待路由 器學習呼叫時間和保持時間,它隻能繼續使用從先前的活動路由器學習來的該值。預設值為10秒。
  • 優先級:該參數用來選擇活動和等待路由器,兩個具有不同優先級的路由器,優先級高的将成為活動路由器。兩個具有相同優先級的路由器,IP位址大的将成為活動路由器。預設優先級為100。
  • 組:用來标記路由器所在的熱等待組。對令牌環類型的網絡,合法的值是0、1和2,對于其它類型的網絡,合法值是0-255。
  • 認證碼:包括8個明文的字元作為密碼,如果沒有配置,預設值為cisco。
  • 虛拟IP位址:用來指定本熱等待組的虛拟IP位址,它可以從活動路由器的呼叫封包中學習到。如果沒有配置該位址,并且呼叫封包是需要認識的,那麼隻能通過活動路由器學習。

HSRP狀态

Initial

初始狀态,Hold時間10s後進入Listen

Learn

例如路由器A上建立了VR并設定了VR的IP,B加入了該VR但沒有設定VR的IP,那B會從A那裡學習到VR的IP。當然如果A和B都手動設了同樣的VR的IP,就不會有這個狀态

Listen

路由器加入進VR後,此時它既不是Active也不是Standby路由器,是以它監聽Active和Standby發出的Hello包。如果收不到,Hold時間10s後進入Speak

Speak

路由器主動發送Hello包,包含自己的優先級,自己的IP位址,VR的IP位址等。參加競選,競争成為Active或Standby備份路由器。

Standby

競選成為Standby路由器後,将定時發送Hello包。如果Standby狀态下收不到Active路由器的Hello包,不經過Hold時間馬上将自己置為Active。

Active

競選成為Active路由器後,将定時發送Hello包。并承擔轉發資料的責任。

(Hello時間預設3s,Hold時間預設10s,是可以修改的,你可以改小點,比如改成500ms,但時間越短,占的資源就越多,需要你權衡利弊。通常Hold時間最少應是Hello時間的3倍)。

HSRP定時器

HSRP使用2個定時器:Hello間隔和Hold時間。預設Hello間隔是3秒,預設的Hold間隔是10秒。Hello間隔定義了兩組路由器之間交換資訊的頻率。Hlod間隔定義了經過多長時間後,沒有收到其它路由器的資訊,則活動路由器或者備用路由器就會被宣告為失敗。配置計時器并不是越小越好,雖然計時器越小則切換時間越短。計時器的配置需要和STP等的切換時間相一緻。另外,Hold間隔最少應該是Hello間隔的3倍。

繼續閱讀