keepalived之 Keepalived 原理(定義、VRRP 協議、VRRP 工作機制)
1.Keepalived 定義
Keepalived 是一個基於VRRP協議來實現的LVS服務高可用方案,可以利用其來避免單點故障。一個LVS服務會有2臺伺服器執行Keepalived,一臺為主伺服器(MASTER),一臺為備份伺服器(BACKUP),但是對外表現為一個虛擬IP,主伺服器會傳送特定的訊息給備份伺服器,當備份伺服器收不到這個訊息的時候,即主伺服器當機的時候, 備份伺服器就會接管虛擬IP,繼續提供服務,從而保證了高可用性。Keepalived是VRRP的完美實現,因此在介紹keepalived之前,先介紹一下VRRP的原理。
2.VRRP 協議簡介
在現實的網路環境中,兩臺需要通訊的主機大多數情況下並沒有直接的物理連線。對於這樣的情況,它們之間路由怎樣選擇?主機如何選定到達目的主機的下一跳路由,這個問題通常的解決方法有二種:
在主機上使用動態路由協議(RIP、OSPF等)
在主機上配置靜態路由
很明顯,在主機上配置動態路由是非常不切實際的,因為管理、維護成本以及是否支援等諸多問題。配置靜態路由就變得十分流行,但路由器(或者說預設閘道器default gateway)卻經常成為單點故障。VRRP的目的就是為了解決靜態路由單點故障問題,VRRP透過一競選(election)協議來動態的將路由任務交給LAN中虛擬路由器中的某臺VRRP路由器。
3.VRRP 工作機制
在一個VRRP虛擬路由器中,有多臺物理的VRRP路由器,但是這多臺的物理的機器並不能同時工作,而是由一臺稱為MASTER的負責路由工作,其它的都是BACKUP,MASTER並非一成不變,VRRP讓每個VRRP路由器參與競選,最終獲勝的就是MASTER。MASTER擁有一些特權,比如,擁有虛擬路由器的IP地址,我們的主機就是用這個IP地址作為靜態路由的。擁有特權的MASTER要負責轉發傳送給閘道器地址的包和響應ARP請求。
VRRP透過競選協議來實現虛擬路由器的功能,所有的協議報文都是透過IP多播(multicast)包(多播地址224.0.0.18)形式傳送的。虛擬路由器由VRID(範圍0-255)和一組IP地址組成,對外表現為一個周知的MAC地址。所以,在一個虛擬路由 器中,不管誰是MASTER,對外都是相同的MAC和IP(稱之為VIP)。客戶端主機並不需要因為MASTER的改變而修改自己的路由配置,對客戶端來說,這種主從的切換是透明的。
在一個虛擬路由器中,只有作為MASTER的VRRP路由器會一直髮送VRRP通告資訊(VRRPAdvertisement message),BACKUP不會搶佔MASTER,除非它的優先順序(priority)更高。當MASTER不可用時(BACKUP收不到通告資訊), 多臺BACKUP中優先順序最高的這臺會被搶佔為MASTER。這種搶佔是非常快速的(<1s),以保證服務的連續性。由於安全性考慮,VRRP包使用了加密協議進行加密。
4.VRRP 工作流程
(1).初始化:
路由器啟動時,如果路由器的優先順序是255(最高優先順序,路由器擁有路由器地址),要傳送VRRP通告資訊,併傳送廣播ARP資訊通告路由器IP地址對應的MAC地址為路由虛擬MAC,設定通告資訊定時器準備定時傳送VRRP通告資訊,轉為MASTER狀態;否則進入BACKUP狀態,設定定時器檢查定時檢查是否收到MASTER的通告資訊。
(2).Master
設定定時通告定時器;
用VRRP虛擬MAC地址響應路由器IP地址的ARP請求;
轉發目的MAC是VRRP虛擬MAC的資料包;
如果是虛擬路由器IP的擁有者,將接受目的地址是虛擬路由器IP的資料包,否則丟棄;
當收到shutdown的事件時刪除定時通告定時器,傳送優先權級為0的通告包,轉初始化狀態;
如果定時通告定時器超時時,傳送VRRP通告資訊;
收到VRRP通告資訊時,如果優先權為0,傳送VRRP通告資訊;否則判斷資料的優先順序是否高於本機,或相等而且實際IP地址大於本地實際IP,設定定時通告定時器,復位主機超時定時器,轉BACKUP狀態;否則的話,丟棄該通告包;
(3).Backup
設定主機超時定時器;
不能響應針對虛擬路由器IP的ARP請求資訊;
丟棄所有目的MAC地址是虛擬路由器MAC地址的資料包;
不接受目的是虛擬路由器IP的所有資料包;
當收到shutdown的事件時刪除主機超時定時器,轉初始化狀態;
主機超時定時器超時的時候,傳送VRRP通告資訊,廣播ARP地址資訊,轉MASTER狀態;
收到VRRP通告資訊時,如果優先權為0,表示進入MASTER選舉;否則判斷資料的優先順序是否高於本機,如果高的話承認MASTER有效,復位主機超時定時器;否則的話,丟棄該通告包;
5.ARP查詢處理
當內部主機透過ARP查詢虛擬路由器IP地址對應的MAC地址時,MASTER路由器回覆的MAC地址為虛擬的VRRP的MAC地址,而不是實際網路卡的 MAC地址,這樣在路由器切換時讓內網機器覺察不到;而在路由器重新啟動時,不能主動傳送本機網路卡的實際MAC地址。如果虛擬路由器開啟的ARP代理 (proxy_arp)功能,代理的ARP回應也回應VRRP虛擬MAC地址;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2140799/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- keepalived VRRP同步組配置VR
- 計算網路之MSTP協議與VRRP協議協議VR
- [轉載]VRRP協議介紹VR協議
- 虛擬路由冗餘協議VRRP路由協議VR
- VRRP-虛擬路由器冗餘協議VR路由器協議
- VRRP虛IP漂移VR
- Keepalived 原理與實戰
- ensp VRRP實驗搭建VR
- keepalived(四)Keepalived+NginxNginx
- HCNP Routing&Switching之VRRP基礎VR
- 06、VRRP負載分擔VR負載
- 負載均衡之keepalived負載
- keepalived
- VRRP與HSRP的區別VR
- Keepalived原理及配置應用總結
- ICMP協議的定義協議
- mysql with keepalivedMySql
- 什麼是協議?| 網路協議定義協議
- 網路拓撲例項之VRRP負載分擔(四)VR負載
- WEB服務-Nginx之十-keepalivedWebNginx
- saltstack之keepalived的安裝配置
- Keepalived高可用叢集工作原理示意圖
- ENSP Demo 014 VRRP & MSTP & DHCP RelayVR
- Keepalived - Keepalived 實現 tomcat雙機熱備Tomcat
- Keepalived 高可用
- keepalived安裝
- keepalived之 ipvsadm-1.26-4(lvs)+ keepalived-1.2.24 安裝
- keepalived(五)設定單獨的日誌
- 私有云落地解決方案之網路篇-關鍵技術-VRRPVR
- 網路裝置閘道器冗餘和負載平衡技術:HSRP技術/VRRP協議/GLBP-VeCloud負載VR協議Cloud
- 真正“搞”懂HTTPS協議15之安全的定義HTTP協議
- keepalived(二)vip漂移
- Keepalived 使用指南
- openGauss+KeepAlived
- keepalived 安裝部署
- keepalived(一)原理介紹和配置檔案詳解
- 在Linux中,Keepalived的工作原理是什麼?Linux
- 【XMPP】XMPP協議之原理篇協議