VRRP
全名為 Virtual Router Redundancy Protocol (虛擬路由器備援協定)
定義在 RFC 2338 和 3768 中 (3768 為 2338 的更新修正版)
而在瞭解 VRRP 的原理之前,先來看看 VRRP 的封包
(一)VRRP封包格式
以下是 RFC 3768 中所定義出來 VRRP 封包的格式
然後再來看看 VRRP 的封包有哪些特色
首先先看 L2 的 Frame
VRRP 的封包第二層的資料只包含了 Source MAC address 和 Destination MAC address
VRRP 中來源 MAC 位址格式必須為 00-00-5E-00-01-XX
其中 XX 為虛擬路由器的編號(Virtual Router Identifier,簡寫為VRID)
其次是 L3 的 Packet
目的 IP 位址必須是群播位址 240.0.0.18
TTL 則必須設定為 255 ,否則會被丟棄
IP 的上一層是 VRRP ,故 Protocol 欄位數值是 112 (0x70 in 16進位)
最後來到最上層
在 RFC 3768 中有詳細說明各欄位的意義,在此不贅述
其中要特別注意到的是 Priority 欄位
這個欄位說明了 sending VRRP router 的優先權,值愈大優先權愈大
但是當此欄位為 0 時有特別意義
代表 the current Master has stopped participating in VRRP
也就是說現在要有 Backup router 必須被選為下一個 Master
而不用等現在的 Master timeout 才去選
(二)VRRP基本原理
我們網路上有許多路由器(Router)
跑著不同的路由協定(Routing Protocol)
其中跑著 VRRP 的 router 我們稱為 VRRP router
而一個虛擬路由器(Virtual Router)可以說是一群 VRRP router 的組合
因為實際運作的路由器是這些路由器中的 master,所以才說這一群是「一個」虛擬路由器
此外, virtual router 有一個辨識號碼(VRID)和一組相關聯的 IP 位址
因此可以說同一個 virtual router 底下的 VRRP router 都具有相同的 VRID,稱它們為同一 group
那 VRRP 是幹什麼的呢?
剛說 virtual router 底下有很多 VRRP router
VRRP 就是在選其中一個 router 作為 master
剩餘的則成為 backup
若是 master 掛掉了,則從 backup 中依優先權再選出一個 master
其實可以再進一步看
VRRP 封包格式中有一欄位叫做 Adver Int(Advertisement Interval)
預設為一秒,此欄是用來判斷是否該有 backup 起來作為 master 的判斷因素之一
最後做個小結
VRRP 是用在 static default routed environment(靜態預設路由環境)
其功用在於避免 single point of failure(單點故障)
最大優點是可以不用在每個 end-host 作 dynamic routing 或 router discovery protocol 的組態設定
而有高可得性的預設路徑(high availability default path)
以上為個人「簡單」心得,有誤不吝指教
參考資料:
http://www.faqs.org/rfcs/rfc3768.html
http://tavi.debian.org.tw/index.php?page=VRRP
http://www.networksorcery.com/enp/protocol/vrrp.htm
http://en.wikipedia.org/wiki/Virtual_Router_Redundancy_Protocol
- Feb 26 Fri 2016 10:38
VRRP
close
文章標籤
全站熱搜
留言列表