分成 master 跟 backup 兩種角色,只有 master 週期送 VRRP 封包作為 heartbeat。如果有兩個以上 master,則看 VRRP 的 priority 決定。當 backup 在三倍的週期沒收到 heartbeat,就會變為 master,在網路界面加上 Virtual IP 並送 GARP 通知大家。當變為 backup 時,則移除網路界面的 Virtual IP。
VRRP 的 IP port 是 112,封包是送給 multicast IP 224.0.0.18,MAC 位址是 00-00-5E-00-01-XX 送給 01-00-5E-00-00-12,其中 XX 是 Virtual Router IDentifier (VRID),每個 Virtual Router 群組有一個值。
VRRP priority 範圍是 1~255,數字大的為高優先權,master 預設為 255,backup 預設為 100。如果 master 想要下線,可先將 priority 設為較小的值,加速其它 backup 不用等候 hold time 變為 master,來減小空窗期。
參考:
- wikipedia: Virtual Router Redundancy Protocol
- VRRP source code
- CARP 是為了避免 HSRP (Hot Standby Router Protocol) 或 VRRP 的專利而發展,使用跟 VRRP 一樣的 IP port,所以兩者不能共存 。但似乎 CARP 除了 failover redundancy 外,還可以作 load balance。
- 有很種方式可以達到類似 VRRP 的功能,基本上都是 Virtual IP 的概念,例如使用 GARP 取代 VRRP 封包。
- 基本原理 http://tavi.debian.org.tw/index.php?page=VRRP (請見基本原理部份)
沒有留言:
張貼留言