1. 程式人生 > >HSRP和VRRP工作原理

HSRP和VRRP工作原理

2.1.2 HSRP工作原理    多數IP主機有一個以單一路由器作為預設閘道器的IP地址。當使用HSRP時,IP主機的預設閘道器將以HSRP組的虛擬IP地址替代具體物理路由器介面的IP地址。HSRP通過為網路中的主機提供冗餘的IP通訊路由來實現網路的高可用性。1.     HSRP組中路由器的兩種角色

    在HSRP路由器組中的路由器分成兩種兩種角色:活動路由器(Active Router)和備份路由器(Standby Router),共同構成一臺虛擬路由器。活動路由器承擔路由包轉發工作,而備份路由器只是在當前活動路由器出現故障時,或者滿足某種條件時才接管活動路由器的工作。HSRP對於那些不支援路由發現協議(如ICMP路由發現協議(IRDP)),不能在它們所選擇的路由器過載,或者關閉時切換到新的路由器的主機網路中非常有用。因為在啟用HSRP後,現存的TCP會話可以繼續,避免中斷,為主機動態選擇下一跳恢復IP路由通訊。

    執行HSRP的路由器傳送和接收基於UDP的組播Hello訊息來檢測路由器的失效,指定活動路由器和備份路由器。當活動路由器在所配置的期間內沒有傳送一個Hello包,具有最高優先順序的備份路由器將成為新的活動路由器,網路中所有主機的資料通訊將同時切換到新的活動路由器上。2.     HSRP組虛擬MAC地址和虛擬IP地址    在一個網段配置了HSRP後,它將提供一個供執行HSRP的路由器組中的各成員路由器共享的虛擬MAC地址(Virtual MAC address)和虛擬IP地址(virtual IP address),各路由器的HSRP備份組IP地址必須都設定成這個虛擬IP地址。在這些路由器中將選擇一臺路由器作為活動路由器,活動路由器接收、路由包到路由器組的虛擬MAC地址。當活動路由器失效時,HSRP會檢測到,同時會選舉一個備份路由器來控制路由器組的虛擬MAC地址和虛擬IP地址。通過共享一個虛擬MAC地址和虛擬IP地址,兩臺或者多臺路由器可以作為一臺虛擬路由器。虛擬路由器並不是實際存在的,但它是作為為HSRP組中相互備份的路由器的公共預設閘道器。你無需在網路中用活動路由器的物理介面IP地址為主機配置預設閘道器,而要用虛擬路由器的虛擬IP地址作為主機的預設閘道器。如果活動路由器在所配置的延時時間內沒有傳送Hello包,則備份路由器會認為活動路由器已失效,備份路由器之間會選舉一臺新的路由器作為新新的活動路由器,控制虛擬IP地址的使用。3.     HSRP優先順序
    HSRP還使用優先順序機制來決定哪臺HSRP路由器成為預設的活動路由器。要配置一臺路由器作為活動路由器,你需要分配一個比組中其它路由器更高的優先順序。預設的優先順序是100,所以如果你僅配置一臺路由器的優先順序大於100(值越大,優先順序越高),則這臺路由器就會成為預設路由器了。4.     MHSRP    你可以在多臺交換機或交換機堆疊間配置多個路由器備份組,併為每個備份組指定一個組號。這就是MHSRP(多HSRP)。例如,你可以在switch 1上配置一個介面作為活動路由器,在switch 2上配置一個介面作為備份路由器,同時你也可以在switch 2上配置另一個介面作為活動路由器,而在switch 1上配置另一個介面作為備份路由器。    有關MHSRP的具體工作原理將在下節介紹。5.     HSRP示例
    圖2-1顯示了一個網段的HSRP配置。其中的備份組中有兩臺路由器,Rouer A是活動路由器,Rouer B是備份路由器。它們兩個一起形成一個虛擬路由器。每臺路由器都用虛擬路由器的MAC地址和IP地址進行配置。

圖2-1  典型HSRP拓撲示例    在這樣一個示例中,網路中的主機預設閘道器配置就要指向這個虛擬路由器IP地址,而不是指向Router A或者Router B。當Host C傳送一個數據包到Host B時,它會先以虛擬路由器的MAC地址作為源MAC地址把資料包傳送到虛擬路由器。正常情況下,肯定是通過Router A來對Host C的請示進行響應的,因為它是備份組的活動路由器。如因某種原因,Router A停止了工作,則Router B會以虛擬路由器的MAC地址和IP地址ARP對映表項進行響應,同時成為活動路由器。然後,Host C使用Router B的ARP響應包中的虛擬路由器IP地址傳送資料包給Host B。當Rouer B接收到資料包後,再轉發給Host B。直到Router A恢復正常工作之前,HSRP一直允許Router B為Host C網段中到達Host B所在網段的使用者提供不間斷的服務,當然同時它仍然負責正常的Host A和Host B網段這間的使用者通訊。2.3.2 主要VRRP特性概述    在VRRP中最主要的特性包括以下幾個:(1)VRRP路由器優先順序和搶佔,(2)VRRP通告,(3)VRRP認證,(4)VRRP物件跟蹤。1.    VRRP路由器優先順序和搶佔    VRRP冗餘方案的一個重要特徵就是VRRP路由器優先順序。優先順序決定了每個VRPP路由器在虛擬路由器主失效時可以扮演的角色。如果一個VRRP路由器的物理介面IP地址與虛擬路由器的IP地址相同,則認為它是虛擬路由器IP地址擁有者,會自動成為虛擬路由器主的。    VRRP路由器的優先順序也決定了在虛擬路由器主失效時備份路由器可能成為新的虛擬路由器主的排序。你可以使用vrrp priority命令為每個備份路由器配置1~254的優先順序,因為255是最高優先順序,是虛擬路由器IP地址擁有者的優先順序,不可改變的。     例如。如果當前的虛擬路由器主Router A失效了,這時就會在Router B和Router C這兩臺備份路由器間進行新的虛擬路由器主選舉。如果Router B和Router C這兩臺路由器的優先順序分別配置為101、100,這時Router B將被選舉為新的虛擬路由器主,因為它的優先順序更高。如果Router B和Router C這兩臺路由器的優先順序都配置為100,這時就要考慮這兩臺路由器的IP地址配置了,IP地址大的將成為新的虛擬路由器主。    預設情況下,具有更高優先順序的備份路由器可以接管當前的虛擬路由器主,而成為新的虛擬路由器主。你可以使用no vrrp preempt命令禁止VRPP路由器的搶佔功能。如果禁止了搶佔功能,則選舉成為新的虛擬路由器主的備份路由器將一直保持虛擬路由器主角色,直到原來的虛擬路由器主恢復,重新成為虛擬路由器主。2.    VRRP通告    啟用了VRRP後,虛擬路由器主傳送VRRP通告到其他VRRP路由器,向其他路由器傳遞虛擬路由器主的優先順序和狀態。VRRP通告封裝在IP包中,並用分配給VRRP組的多播IP地址進行傳送。VRRP通告會發按配置的傳送時間間隔向VRRP組中的每個備份路由器。    儘管VRRP按照RFC 3786是不支援毫秒級計時器,但在Cisco路由器中仍允許你配置毫秒級計時器。你需要手動在虛擬路由器主和備份路由器上配置毫秒級計時器。要注意的是,在備份路由器上使用show vrrp命令顯示的虛擬路由器主通告計時器值總是為1秒,因為備份路由器不接受毫秒時間值。3.    VRRP物件跟蹤    物件跟蹤是一個獨立管理建立、監控和刪除被跟蹤物件(如介面線路協議狀態)的程序。HSRP、GLBP(Gateway Load Balancing Protocol,閘道器負載平衡協議)和VRRP客戶端註冊被跟蹤物件,在這些物件的狀態發生改變時採取相應的行動。每個被跟蹤的物件由一個唯一的號碼標識的,VRRP、HSRP、GLBP等使用這個號碼對物件進行跟蹤,這與比較新的IOS版本中的HSRP物件跟蹤方法是一樣的。跟蹤程序會週期性地輪換跟蹤被跟蹤的物件,並注意它們的任何引數值的改變。一旦被跟蹤的物件發生任何改變,則會通知VRRP、HSRP或GLBP。VRRP也可僅跟蹤特定的物件,如介面狀態、線路協議、IP路由狀態和路由的可達性。每個VRRP組可以跟蹤多個可能影響VRRP路由器優先順序的物件,你只需要指出其要跟蹤的物件號,VRRP就會在被跟蹤物件發生任何改變時得到通知,然後VRPP會根據相應的狀態改變減小或者增加虛擬路由器的優先順序。4.    VRRP認證    VRRP會忽略沒有認證的VRPP訊息,預設的認證型別為文字認證,但你也可以配置使用金鑰字串的簡單MD5認證,或者MD5認證金鑰鏈。MD5認證提供了比純文字認證更高的安全性。MD5認證允許每個VRRP路由器組成員使用一個加密金鑰產生一個加密的MD5雜湊值,並作為出站包的一部分。從其他VRRP路由器流入的入站包也會產生一個加密MD5雜湊值,如果入站包中的雜湊值與本VRRP路由器的出站包中的雜湊值與不一致,則這個入站包將被忽略。MD5雜湊值可以直接在配置中使用金鑰字串給出,也可以通過金鑰鏈間接提供。VRRP路由器將忽略來自不是相同認證配置的VRRP路由器發來的VRRP包。2.3.3 VRRP基本工作原理     圖2-4顯示了一個配置了VRRP的區域網拓撲結構。在這個示例中,Router A、Router B和Router C是組成VRPP虛擬路由器的VRRP路由器成員。虛擬路由器IP地址與Router A的IP地址一樣——10.0.0.1(HSRP中的虛擬IP地址不能與物理路由器的IP地址一樣)。

圖2-4 基本的VRRP拓撲    因為虛擬路由器使用Router A上的物理介面IP地址,Router A就自動成為虛擬路由器主角色,併成為虛擬IP地址擁有者。作為虛擬路由器主,Router A控制著虛擬路由器的IP地址,並且對轉發到這個虛擬IP地址的資料包進行響應。在本示例中,Client 1~3配置Router A的IP地址10.0.0.1作為預設閘道器。    此時,Router B和Router C作為虛擬路由器的備份。如果虛擬路由器主(Router A)失效,Router B和Router C中優先順序更高的將成為新的虛擬路由器主,為區域網中的主機提供不間斷的服務。當Router A恢復後,它又將成為虛擬路由器主。    圖2-5顯示了一個配置了兩個VRRP組的LAN拓撲,Router A和Router B共享到達,或者來自Client 1~4的負載,Router A和Router B為相互備份的關係,因為此時這兩個路由器已建立了兩個VRPP組,而且兩個路由器分別為兩VRRP組中的虛擬路由器主。在這個示例中,就有兩個VRPP虛擬路由器了。對於VRRP組1,Router A是IP地址虛擬IP地址10.0.0.1的擁有者,自動成為虛擬路由器主,Router B作為備份路由器。Client 1和Clients 2以虛擬IP地址作為預設閘道器。而在VRRP組2中,Router B是IP地址虛擬IP地址10.0.0.2的擁有者,自動成為虛擬路由器主,Router A作為備份路由器。Client 3和Clients 4以虛擬IP地址作為預設閘道器。

圖2-5 雙VRRP組負載共享的拓撲示例