2014年9月18日 星期四

VRRP

VRRP (Virtual Router Redundancy Protocol) 「虛擬路由器備援協定」用來備援路由器,當使用的路由器出問題,可自動切換到備份的路由器,避免單點故障造成網路不通。這些路由器成為一個 Virtual Router 群組,都有各自的 IP 位址,但有一個共用的 Virtual IP 位址,由實際提供服務的路由器使用。除了 Router,也可以用來備援各種 Server。

分成 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,來減小空窗期。

參考:
  1. wikipedia: Virtual Router Redundancy Protocol
  2. VRRP source code
  3. CARP 是為了避免 HSRP (Hot Standby Router Protocol) 或 VRRP 的專利而發展,使用跟 VRRP 一樣的 IP port,所以兩者不能共存 。但似乎 CARP 除了 failover redundancy 外,還可以作 load balance。
  4. 有很種方式可以達到類似 VRRP 的功能,基本上都是 Virtual IP 的概念,例如使用 GARP 取代 VRRP 封包。
  5. 基本原理 http://tavi.debian.org.tw/index.php?page=VRRP (請見基本原理部份)
最後更新 20200721

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...