2013年3月19日 星期二

輕鬆搞懂首站備援(VRRP) – 首站(戰)即決戰;一站(戰)定乾坤



Virtual Router Redundancy Protocol (VRRP) is a non-proprietary (but allegedly patented and licensed [1]) redundancy protocol described in RFC 3768 designed to increase the availability of the default gateway servicing hosts on the same subnet. This increased reliability is achieved by advertising a "virtual router" (an abstract representation of master and backup routers acting as a group) as a default gateway to the host(s) instead of one physical router. Two or more physical routers are then configured to stand for the virtual router, with only one doing the actual routing at any given time. If the current physical router that is routing the data on behalf of the virtual router fails, an arrangement is made for another physical router to automatically replace it. The physical router that is currently forwarding data on behalf of the virtual router is called the master router. Physical routers standing by to take over from the master router in case something goes wrong are called backup routers.

VRRP can be used in Ethernet, MPLS and token ring networks. Implementations for IPv6 are in development, but not yet stable (i.e. keepalived 1.2.x). RFC 5798 handles VRRP (version 3) for both IPv4 and IPv6 networks. VRRP provides information on the state of a router, not the routes processed and exchanged by that router. Each VRRP instance is limited, in scope, to a single subnet. It does not advertise IP routes beyond that subnet or affect the routing table in any way.


繼首戰(站)即決戰(站),一戰(站)定乾坤之後,我們了解HSRP這個私有協定對於思科網路設備的重要性後,接下來即是公開的協定VRRP。


VRRP重點機制摘要

VRRP version2公開的協定(標準協定)follow RFC 2338,同一時間僅有一台Router運作。

Group – VRID(Virtual Router ID)視為同一群組。不同的VRID會視為不同的群組。

機制:選出Virtual Router Master一台最高優先權的Router,其餘的為Virtual Router Backup,若VRRPVirtual Router Master掛了,會從Virtual Router Backup中選擇一台成為Virtual Router Master
Virtual Router Master,每隔一段時間間隔(Advertisement Time)要發送multicast(我還活著)。若經過了Advertisement Time*3 + 偏移時間尚未間聽到相關活著的封包,擁有較高PriorityRouter會優先發出multicast成為Master,而其他的Router則仍維持Virtual Router Backup的角色。

因為VRRP協定有明確的規範使用固定的MAC位址,所以當角色變換的同時,從Virtual Router Backup變成Virtual Router Master,會宣稱他有這個IP(Default Gateway),並且同時修正MAC位址成為規範的位址。這對其他裝置而言完全不影響原本的二、三層資料與快取,像是ARP Table等等相關資訊。

公開的協定,不具有負載平衡機制,同一時間內僅有一台Router運作。

依據 RFC 2338 所定義的 VRRP version 2VRRP 其實只是一種選舉 Virtual Router 的通訊協定,而 Virtual Router 又是由各個跑 VRRP 通訊協定的 Router 組成的,這些 Router 必須要有相同的 VRID(Virtual Router ID) 即相同的 Virtual IPVRRP 才會把他們視為在同一個群組!

換句話說,一個 Virtual Router 是由擁有相同的VRID及相同的 Virtual IP Router 組成的,一旦有一台 Router 同樣也有跑VRRP,但 VID Virtual IP 不同,就會被當作另一個 Virtual Router 群組。

VRRP 是 從Virtual Router 選出一台擁有最高優先權的 Router 作為 Virtual Router Master,其餘的則為 Virtual Router Backup,而 Virtual Router Master 負責對外宣稱他擁有 Virtual IP,並處理任何要到達 Virtual IP 的封包,一旦 Virtual Router Master 掛了,VRRP 就會再從 Backup 中選出一台作為 Master,繼續接手處理要到達 Virtual IP 的封包。

成為 Virtual Router Master Router 固定時間(Advertisement Interval) 會發出 Multicast(Advertisement),告訴其他的Virtual Router "我還活著" 及一些相關訊息,而成為 Virtual Router Backup Router 只負責聽 Master 所發出來的 Multicast(Advertisement),萬一超過了時間(3 倍的 Advertisement time + 偏移時間)還沒聽到 Master Multicast(Advertisement),具有比較高 Priority Router,會具有比較小的偏移時間,優先發出 Multicast 封包,持續成為 Master,而其他的 Router 則持續為 Backup Router

由於 VRRP 有明定標準的 MAC Address,所以要切換成 Master 除了必須要對外宣告他有這個 ip 外,還需要改變自己的 MAC Address 成為標準的 VRRP MAC Address,因此這對於其他的機器而言,完全沒有任何感覺,這也是為什麼 VRRP Fail-over 速度能如此快的理由。

沒有留言: