Cisco GLBP

輕鬆達成負載平衡 GLBP協定讓閘道器變聰明

2012-03-02
想要在網路中達成自動備援和負載平衡功能,部署在伺服器間應用的VRRP以及在Cisco設備常用的HSRP似乎不失為一個好方法,但是它們不是只能做到備援的效果,就是需要額外設定的部分較多。為此,本文介紹Cisco的GLBP技術來百分之百完成這兩項要求。以下將先介紹GLBP,然後以一個簡單的架構來說明GLBP並驗證其效果,然後介紹GLBP與Track機制的結合。最後用Wireshark來剖析GLBP使用哪些協定並且交換哪些資訊。
為了讓自身的網路更穩固,一般會採取以下幾項措施。例如,在伺服器(Server)及網路設備上使用HA(High Availability)機制,當伺服器或網路設備異常時,可以馬上由另一部設備接手。

或者,採用Layer 4的交換器(Switch),將連入需求平均分配給多台伺服器(但從外部看起來只有一部伺服器),以達成伺服器的負載平衡及備援的機制。

以上所述都是針對區域網路(LAN)或伺服器的部分。而針對廣域網路(WAN)端路由的部分,可以採用之前介紹過的eBGP方式達到備援及負載平衡的效果。那麼介於WAN和LAN之間的部分呢?可以用哪些機制來做到自動備援,甚至負載平衡的效果?

要在WAN與LAN之間自動備援,比較常見而知名的,莫過於在伺服器間應用的VRRP(Virtual Router Redundancy Protocol)以及在Cisco設備上常用的HSRP(Cisco-proprietary Hot Standby Router Protocol)。

但不管是VRRP或者HSRP,都只能做到備援的效果。HSRP雖然也能做到負載平衡,但須額外設定的部分較多,甚至可能會影響原先的自動備援功能。

因此,要滿足負載平衡的功能,就必須依賴以下所要介紹的主角GLBP才能達成。

GLBP是Gateway Load Balancing Protocol的縮寫,顧名思義是用於閘道器(Gateway)的負載平衡協定,不過要特別注意的是,GLBP是Cisco公司的獨門技術,不適用於其他廠牌的設備。

此外,GLBP雖然推出已久,但相較於VRRP和HSRP,相關介紹及教學的文獻較為稀少,所以在此特別撰文介紹。

本文將先介紹GLBP,然後用一個簡單的架構來說明GLBP,並且驗證其效果。之後,介紹GLBP與Track機制的結合。最後,用Wireshark來剖析GLBP使用哪些協定並交換哪些資訊。

GLBP介紹

Cisco在IOS 12.2(14)S之後的版本開始提供GLBP的功能,因此若想更改自己公司的網路架構或做相關測試,必須先確認IOS的版本。

GLBP的概念是,在不同路由器的介面上啟動GLBP,這些介面會協調出一個AVG(Active Virtual Gateway),其協調方法為將優先權(Priority)最高或IP位址(Address)最高者選擇為AVG。

在完成協調之後,AVG所屬的介面為Active,其他介面為Standby。

若Active介面異常(如3秒內沒有送出Hello封包,時間週期可自行調整),就會由Standby介面接手運作。Standby介面可以有好幾個,同樣依Priority或IP Address來決定其順序。

設定時,若事先設定AVG所屬Virtual IP,之後可以將此IP設定為電腦的Gateway,如此一來,就能達到自動備援的效果。

在GLBP中,封包的轉發是透過AVF(Active Virtual Forwarder)來達成。前述的AVG會分配虛擬實體位址(MAC Address)給GLBP群組中的每個路由器。

假設在兩個路由器上啟動GLBP,那麼每個介面就會有兩個Forwarder,一個為Active,另一個為Listen,這兩者都會取得一個虛擬MAC Address。

AVF在收到ARP的查詢時,會回應不同的MAC Address(Active Forwarder的MAC Address),因此電腦會得到不同的結果,如此一來就能達成負載平衡的效果。Forwarder的運作較難用言語說明,因此之後會針對Forwarder再另行解釋。

圖1是用來測試GLBP的架構圖。在此架設兩部Cisco路由器,其IP分別為192.168.1.1(R1)和192.168.1.2(R2),而AVG的IP設定為192.168.1.254。這兩部路由器都有個別連接至VPN的線路。

▲圖1 採用GLBP的網路架構。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!