close

引用網址:http://fantasymew.pixnet.net/blog/post/23939888-%E7%B6%B2%E9%9A%9B%E7%B6%B2%E8%B7%AF%E5%BF%83%E5%BE%97(3)vrrp

VRRP

全名為 Virtual Router Redundancy Protocol (虛擬路由器備援協定)

定義在 RFC 2338 和 3768 中 (3768 為 2338 的更新修正版)

而在瞭解 VRRP 的原理之前,先來看看 VRRP 的封包


(一)VRRP封包格式

以下是 RFC 3768 中所定義出來 VRRP 封包的格式

VRRP封包格式 

然後再來看看 VRRP 的封包有哪些特色


首先先看 L2 的 Frame

VRRP 的封包第二層的資料只包含了 Source MAC address 和 Destination MAC address

VRRP封包的L2 

VRRP 中來源 MAC 位址格式必須為 00-00-5E-00-01-XX

其中 XX 為虛擬路由器的編號(Virtual Router Identifier,簡寫為VRID)


其次是 L3 的 Packet

VRRP封包的L3 

目的 IP 位址必須是群播位址 240.0.0.18

TTL 則必須設定為 255 ,否則會被丟棄

IP 的上一層是 VRRP ,故 Protocol 欄位數值是 112 (0x70 in 16進位)


最後來到最上層

VRRP封包的L4 

在 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

arrow
arrow
    文章標籤
    vrrp ha
    全站熱搜
    創作者介紹
    創作者 龍之家族 的頭像
    龍之家族

    龍之家族

    龍之家族 發表在 痞客邦 留言(0) 人氣()