glbp
思科的專有協議
1)GLBP介紹
全稱Gateway Load Balancing Protocol(網關負載均衡協議),是思科的專有協議。
而HSRP、VRRP都必須選定一個活動路由器,而備用路由器則處於閑置狀態。
和HSRP不同的是,GLBP可以綁定多個MAC地址到虛擬IP,
從而允許客戶端通過獲得不同的虛擬MAC地址,通過不同的路由器轉發數據,因為客戶端利用的地址是解析到的虛擬的MAC地址,而網關地址仍使用相同的虛擬IP,從而不但實現了冗餘還能夠負載均衡。
2)活動網關選舉
使用類似於HSRP的機制選舉活動網關,
選舉比較
1.優先順序(1-255 默認100)
2.ip地址
優先順序最高的路由器成為活動路由器,若優先順序相同則IP地址最高的路由器成為活動路由器。稱作Active Virtual Gateway,其他非AVG提供冗餘。
某路由器被推舉為AVG后,和HSRP不同的工作開始了,AVG分配虛擬的MAC地址給其他GLBP組成員。
所有的GLBP組中的路由器都轉發包,
但是各路由器只負責轉發與自己的虛擬MAC地址的相關的數據包。
3)地址分配
每個GLBP組中最多有4個虛擬MAC地址,非AVG路由器由AVG按序分配虛擬MAC地址,
非AVG也被稱作Active Virtual Forwarder(AVF)。
AVF分為兩類:Primary Virtual Forwarder和Secondary Virtual Forwarder。
直接由AVG分配虛擬MAC地址的路由器被稱作Primary Virtual Forwarder,
後續不知道AVG真實IP地址的組成員,只能使用hellos包來識別其身份,然後被分配虛擬MAC地址,此類被稱作Secondary Virtual Forwarder。
4)GLBP配置
如果AVG失效,則推舉就會發生,決定哪個AVF替代AVG來分配MAC地址,推舉機制依賴於優先順序。
最多可以配置1024個GLBP組,不同的用戶組可以配置成使用不同的組AVG來作為其網關。
router#configure terminal
router(config)#track 100 int f0/0 line-protocol //定義跟蹤目標100為f0/0介面的二層故障
router(config-if)#exit
router(config)#int fastethernet 0/0
router(config-if)#ip address 10.1.1.1
router(config-if)#glbp 99 ip 10.1.1.254
router(config-if)#glbp 99 name TEST //配置GLBP名字,可選
router(config-if)#glbp 99 timers 3 10 //配置GLBP的HELLO時間3秒和HOLD時間10秒
router(config-if)#glbp 99 priority 105 //配置優先順序,默認是100,這裡為105
router(config-if)#glbp 99 preempt //配置GLBP的路由器會進行AVG搶佔,否則priority再高也不搶佔
router(config-if)#glbp 99 preempt delay minimum 10 //配置AVG的搶佔延時10秒
router(config-if)#glbp 99 weighting track100 decrement 50 //當跟蹤目標100出現故障的時候權重減50
router(config-if)#exit
GLBP提供了以下功能:
GLBP AVG(活躍虛擬網關,Active Virtual Gateway):一個GLBP組中的成員會選舉出一個網關,成為該組的AVG。其他組成員作為AVG的備用網關,以防AVG發生故障。AVG會為GLBP組中的每個成員分配一個虛擬MAC地址。
GLBP AVF(活躍虛擬轉發者,Active Virtual Forwarder):AVG會為網關分配虛擬MAC地址,每個網關都有責任轉發那些發到這個虛擬MAC地址的數據包。這些網關是虛擬MAC地址的AVF.
GLBP 通信(Communication):GLBP成員之間通過每3秒鐘向組播地址224.0.0.102,UDP3222埠發送Hello數據包,來進行通信。
負載分擔:管理員可以通過配置GLBP,使多台路由器共同承載區域網客戶端的流量,從而在多台可用路由器之間實現更為公平的負載負擔。
多虛擬路由器:GLBP在一台路由器的每個物理介面上,支持多達1024個虛擬路由器(GLBP組),每個組最多支持4個虛擬轉發者。
搶佔:GLBP的冗餘性機制允許當具有更高優先順序的備用虛擬網關變得可用后,通過搶佔機製成為AVG。轉發者的搶佔行為與此相似,只是轉發者搶佔使用的是加權而不是優先順序,且默認啟用。
有效的資源利用:GLBP使組中的每台路由器都可以充當備用角色,而不需要部署一台專用的備用路由器,因為所有可用的路由器都可以承載網路流量。
GLBP允許進行自動選擇,並同時使用組中的所有可用網關。GLBP組中的成員會選舉出一個網關來擔任該組的AVG。其他組成員則為AVG提供備份,以防AVG出現故障。AVG會為GLBP組中的每個成員分配一個虛擬MAC地址。所有路由器都會作為AVF來發送到虛擬MAC地址的數據幀提供轉發。當客戶端發送ARP請求來獲得默認網關的地址時,AVG會在ARP響應中發送這些虛擬MAC地址。一個GLBP組中最多可以由4個組成員。做法是在為用戶提供單一IP的同時,每台路由器都為用戶提供不同的MAC地址,這樣,用戶發到組IP的數據包就成功地被分擔各個路由器上了。
GLBP支持使用多台默認路由器同時為相同過的默認網關IP地址提供流量的負載分擔,在這種環境中,GLBP支持下列負載分擔模式。
GLBP協議支持三種負載均衡方式:
第一:根據不同主機的源mac地址
第二:根據arp請求輪詢
第三:根據路由器的權重分配,權重越高被分配的可能性越大
bluefox(config-subif)#GLbp 1 load-balancing ?
host-dependent Load balance equally, source MAC determines forwarder choice
round-robin Load balance equally using each forwarder in turn
weighted Load balance in proportion to forwarder weighting
主機相關負載分擔演演算法:只要某個虛擬MAC地址還在GLBP組中參與流量轉發,就確保某主機總是使用這個虛擬MAC地址進行通信。
循環負載分擔演演算法:當客戶端發送ARP請求來解析默認網關的MAC地址時,每個客戶端接收到的ARP響應中包含的MAC地址,是循環演演算法中下一個可用路由器的MAC地址。所有路由器的MAC地址會被按順序放入地址解析響應中,作為默認網關IP地址對應的MAC地址返回給客戶端。
加權負載分擔演演算法:被定向到一台路由器的負載量取決於該路由器所通告的加權值。
GLBP的加權決定了一台路由器是否充當虛擬轉發者的角色。管理員可以設置初始加權值,並且可以指定門限值。管理員可以配置GLBP來追蹤介面狀態並設置一個減量值,當被追蹤的介面關閉時,以這個減量值來降低加權值。當GLBP路由器的加權下降到低於一個特定的值時,路由器就不會再成為活躍虛擬轉發者。而當加權上升到高於一個特定的值時,路由器可以恢復其活躍虛擬轉發者的角色。
GLBP的加權機制與HSRP或VRRP不同。HSRP和VRRP中只定義了一個門限值。如果路由器優先順序下降到這個門限值以下,路由器就會獲得活躍狀態。GLBP中定義了兩個門限值:當路由器加權減少時使用一個較低的門限值,當路由器加權增加時使用一個較高的門限值。這個雙門限值機制比單門限值系統更為靈活。