在RS的學習過程中我們接觸到很多網絡技術,后面就把工作中常用的拿來與大家分享,本次我們來分享網關冗余技術。當我們的網關設備無法使用堆疊(VSS,istack,IRF),或者不同廠商設備的時候,非常有效,能夠提供網關的高可用,下面就來對比極其相似的HSRP和VRRP,然后來分析GLBP:

HSRP:Hot Standby Router Protocol (HSRP是CISCO專有協議,用于在網絡中提供冗余。只有一個路由器是active活動路由器,而其他路由器將處于standby待機狀態,即備用路由器將負責在活動路由器發生故障時轉發流量。
VRRP:Virtual Router Redundancy Protocol,是一種用于在網絡中提供冗余的開放標準協議。VRRP是一種網絡層協議。它使用Master和Backup的概念,即當主路由器Master出現故障時,其中一個Backup備用路由器將承擔主路由器的職責,即備用路由器將負責轉發流量,直到主路由器恢復。
相似之處 -
· 虛擬IP地址:兩種協議都使用虛擬IP地址的概念,即子網或網絡中的一個IP地址被指定為該網絡主機的默認網關。
· track:對象跟蹤是一個監視被跟蹤對象的過程,例如線路協議的狀態。該過程定期輪詢跟蹤對象,如果發現任何變化,則備用或備用路由器的優先級會增加,因此現在這些路由器中的一個變為活動路由器或主路由器。
· priority:優先級最高的路由器將變為Active(在HSRP中)或Master(在VRRP中)。只會有一個路由器會變成Active或者Master,而其他路由器將作為備份路由器(HSRP中的standby,VRRP中的backup)。
· preempt:搶占是一種狀態,即優先級priority高的設備通過preempt競爭成為Active或者Master,一般會聯動track以及設置delay time以免網絡故障時的頻繁主備切換。
現在,看一下HSRP和VRRP的一些區別。

HSRP和VRRP的不同對比
GLBP:網關負載平衡協議是第一跳冗余協議(FHRP)之一,它提供與其他第一跳冗余協議一樣的冗余,也提供負載平衡。它是Cisco專有協議,可以執行這兩種功能。它使用單個虛擬IP地址和多個虛擬Mac地址在多個路由器上提供負載平衡。
GLBP術語:
1. 虛擬IP地址:IP地址被指定為本地子網的虛擬IP地址,該子網被配置為所有本地主機的默認網關。
2. 實際虛擬網關(AVG):它是在單個組中運行GLBP的路由器之一,負責為組中的每個成員分配虛擬Mac地址以及響應來自設備的ARP請求。AVG在組中具有最高優先級值或IP地址。
3. 實際虛擬轉發器(AVF):這些是包含單個GLBP組中的AVG的路由器。這些實際上負責在AVG為任務分配數據后轉發數據。如果AVG??發生故障,其中一個AVF可以成為AVG。
4. 搶占:這是AVF中的一個將成為AVG路由器的狀態(當AVG路由器發生故障時)。此外,當AVG路由器再次啟動時,它將成為AVG路由器,因為它的優先級仍然更高(假設)。
5. 對象跟蹤:GLBP使用加權方案來確定GLBP組中每個路由器的轉發容量。GLBP跟蹤界面并調整其加權,即如果跟蹤的界面下降,則它會減少一定的值(根據配置)。
GLBP概念:
實際虛擬網關(AVG)為運行同一組的GLBP的所有其他路由器提供虛擬Mac地址。其余路由器是Actual Virtual Forwarder(AVF)。當來自子網設備的ARP請求知道虛擬IP地址的Mac地址時,AVG提供其中一個虛擬Mac地址。AVG將使用循環算法或已應用的其他算法提供虛擬Mac地址。通過這種方式,所有運行GLBP的設備都可用于轉發流量。
GLBP虛擬Mac地址分配:當子網設備(主機)想要發送流量時,它通過發送ARP請求來請求虛擬IP(網關)的Mac地址。響應ARP請求,AVG將提供虛擬Mac地址之一(由AVG提供給AVF)。
虛擬網關冗余:為了檢測網關故障,GLBP成員通過hello消息相互通信,每隔3秒發送一次到多播地址224.0.0.102。如果AVG??失敗,則具有最高優先級的AVF將成為AVG,即負責提供AVF的Mac地址。
虛擬轉發器冗余:就像在HSRP中一樣,如果其中一個AVF出現故障,那么同一個GLBP組中的另一個AVF將負責轉發數據包。GLBP組中最多可以有4個路由器。
GLBP負載平衡:
GLBP使用3算法進行負載均衡 -
1. Round-Robin:AVG將按順序分配虛擬Mac地址,例如將第一個虛擬Mac地址分配給AVF1,然后分配給AVF2等。
2. Host-dependent依賴于主機:如果特定主機每次都需要特定的虛擬Mac地址,則AVG會將特定的AVF分配給主機。
3. Weighted加權:負載將根據需求分配,即按比例分配虛擬Mac地址。如果我們想要一些AVF處理比其他AVF更多的流量,那么可以改變權重。
4. 配置舉例:

HSRP
HSRP:Vlan 100 HSRP 192.168.10.0/24Vlan 200 VRRP 192.168.20.0/24Vlan 300 GLBP 192.168.30.0/24 R1:192.168.XX.253 R2:192.168.XX.254 VIP:192.168.XX.1Hsrp:R1track 100 interface Ethernet0/1 line-protocolinterface Vlan100 ip address 192.168.10.253 255.255.255.0 standby 100 ip 192.168.10.1 standby 100 priority 120 standby 100 preempt standby 100 track 100 decrement 30R2track 100 interface Ethernet0/1 line-protocolinterface Vlan100 ip address 192.168.10.254 255.255.255.0 standby 100 ip 192.168.10.1 standby 100 priority 100 standby 100 preempt
我們debug看一下hsrp的各個狀態:

HSRP形成過程
(1) INIT:初始狀態
所有備份組內組員的初始狀態為 INIT,當組員配置屬性或端口 UP 時,進入 INIT 狀態。
(2)LEARN:未設定虛擬IP地址
該組員未設定虛擬 IP 地址,并等待從本組活動路由器發出的認證的 Hello 報文中學習得到自己的虛擬 IP 地址。
(3)LISTEN:監視活動/備份路由器
該組員已得知或設置了虛擬 IP 地址,通過監聽 Hello 報文監視活動/備份路由器,一旦發現活動/備份路由器長時間未發送 Hello 報文,則進入 SPEAK 狀態,開始競選。
(4)SPEAK:參加競選活動/備份路由器
參加競選活動/備份路由器的組員所處的狀態,通過發送 Hello 報文使競選者間相互比較、競爭。
(5)STANDBY:備份路由器所處的狀態(只有一個)
組內備份路由器所處的狀態,備份組員監視活動路由器,準備隨時在活動路由器壞掉時接替活動路由器。備份路由器也周期性發送 Hello 報文告訴其他組員自己沒有壞掉。
(6)ACTIVE:活動路由器所處的狀態(只有一個)
組內活動路由器即負責虛擬路由器實際路由工作的組員所處的狀態。活動路由器周期性發送 Hello 報文告訴其他組員自己沒有壞掉。
當我們shutdown掉track的上行口后,可以看到hsrp的active切換到R2:

Track切換

VRRP
VRRP:R1:interface Vlan200 ip address 192.168.20.253 255.255.255.0 vrrp 200 ip 192.168.20.1R2:interface Vlan200 ip address 192.168.20.254 255.255.255.0 vrrp 200 ip 192.168.20.1 vrrp 200 priority 120 vrrp 200 track 100 decrement 30
我們看到Debug vrrp的過程:

VRRP Debug
啟動vrrp后進入init狀態,當收到接口startup的消息,將轉入Backup,在Master down timer超時,沒有比本地優先級大的時候,變成Master;

GLBP
GLBP:R1:interface Vlan300 ip address 192.168.30.253 255.255.255.0 glbp 300 ip 192.168.30.1 glbp 300 priority 120 glbp 300 preempt glbp 300 weighting 200
默認的loadbancing為round-roubin輪訓,但是權重比可以改變比重;
我們Debug查看形成過程,

與HSRP非常的相似,但是GLBP可以在standby上按照權重同時工作,不過MAC有active來生成,這里,交換機位于AVG和AVF之間,當AVG關閉時,交換機將如何在另一個端口上學習相同的Mac地址?當AVG關閉時,新選出的AVG將產生無償ARP以刷新交換機的CAM表和主機ARP緩存。
本次關于網關的冗余就到這里,下次我們分享NAT相關的技術,歡迎大家關注。