四層負載均衡和七層負載均衡有什么區(qū)別?
一、負載均衡的分類
1、二層負載均衡。負載均衡服務器對外依然提供一個VIP(虛IP),集群中不同的機器采用相同IP地址,但機器的MAC地址不一樣。當負載均衡服務器接受到請求之后,通過改寫報文的目標MAC地址的方式將請求轉(zhuǎn)發(fā)到目標機器實現(xiàn)負載均衡。三層負載均衡和二層負載均衡類似,負載均衡服務器對外依然提供一個VIP(虛IP),但集群中不同的機器采用不同的IP地址。當負載均衡服務器接受到請求之后,根據(jù)不同的負載均衡算法,通過IP將請求轉(zhuǎn)發(fā)至不同的真實服務器。四層負載均衡2、四層負載均衡。工作在OSI模型的傳輸層,由于在傳輸層,只有TCP/UDP協(xié)議,這兩種協(xié)議中除了包含源IP、目標IP以外,還包含源端口號及目的端口號。四層負載均衡服務器在接受到客戶端請求后,以后通過修改數(shù)據(jù)包的地址信息(IP+端口號)將流量轉(zhuǎn)發(fā)到應用服務器。
3、七層負載均衡。七層負載均衡工作在OSI模型的應用層,應用層協(xié)議較多,常用http、radius、DNS等。七層負載就可以基于這些協(xié)議來負載。這些應用層協(xié)議中會包含很多有意義的內(nèi)容。比如同一個Web服務器的負載均衡,除了根據(jù)IP加端口進行負載外,還可根據(jù)七層的URL、瀏覽器類別、語言來決定是否要進行負載均衡。
二、四層和七層兩者的區(qū)別
負載均衡設備也常被稱為”四到七層交換機”,那么四層和七層兩者到底區(qū)別在哪里?
1、技術原理上的區(qū)別。
所謂四層負載均衡,也就是主要通過報文中的目標地址和端口,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內(nèi)部服務器。
以常見的TCP為例,負載均衡設備在接收到第一個來自客戶端的SYN 請求時,即通過上述方式選擇一個最佳的服務器,并對報文中目標IP地址進行修改(改為后端服務器IP),直接轉(zhuǎn)發(fā)給該服務器。TCP的連接建立,即三次握手是客戶端和服務器直接建立的,負載均衡設備只是起到一個類似路由器的轉(zhuǎn)發(fā)動作。在某些部署情況下,為保證服務器回包可以正確返回給負載均衡設備,在轉(zhuǎn)發(fā)報文的同時可能還會對報文原來的源地址進行修改。
所謂七層負載均衡,也稱為“內(nèi)容交換”,也就是主要通過報文中的真正有意義的應用層內(nèi)容,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內(nèi)部服務器。
以常見的TCP為例,負載均衡設備如果要根據(jù)真正的應用層內(nèi)容再選擇服務器,只能先代理最終的服務器和客戶端建立連接(三次握手)后,才可能接受到客戶端發(fā)送的真正應用層內(nèi)容的報文,然后再根據(jù)該報文中的特定字段,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內(nèi)部服務器。負載均衡設備在這種情況下,更類似于一個代理服務器。負載均衡和前端的客戶端以及后端的服務器會分別建立TCP連接。所以從這個技術原理上來看,七層負載均衡明顯的對負載均衡設備的要求更高,處理七層的能力也必然會低于四層模式的部署方式。
2,應用場景的需求。
七層應用負載的好處,是使得整個網(wǎng)絡更”智能化“。例如訪問一個網(wǎng)站的用戶流量,可以通過七層的方式,將對圖片類的請求轉(zhuǎn)發(fā)到特定的圖片服務器并可以使用緩存技術;將對文字類的請求可以轉(zhuǎn)發(fā)到特定的文字服務器并可以使用壓縮技術。當然這只是七層應用的一個小案例,從技術原理上,這種方式可以對客戶端的請求和服務器的響應進行任意意義上的修改,極大的提升了應用系統(tǒng)在網(wǎng)絡層的靈活性。很多在后臺,例如Nginx或者Apache上部署的功能可以前移到負載均衡設備上,例如客戶請求中的Header重寫,服務器響應中的關鍵字過濾或者內(nèi)容插入等功能。
另外一個常常被提到功能就是安全性。網(wǎng)絡中最常見的SYN Flood攻擊,即黑客控制眾多源客戶端,使用虛假IP地址對同一目標發(fā)送SYN攻擊,通常這種攻擊會大量發(fā)送SYN報文,耗盡服務器上的相關資源,以達到Denial of Service(DoS)的目的。從技術原理上也可以看出,四層模式下這些SYN攻擊都會被轉(zhuǎn)發(fā)到后端的服務器上;而七層模式下這些SYN攻擊自然在負載均衡設備上就截止,不會影響后臺服務器的正常運營。另外負載均衡設備可以在七層層面設定多種策略,過濾特定報文,例如SQL Injection等應用層面的特定攻擊手段,從應用層面進一步提高系統(tǒng)整體安全。
現(xiàn)在的7層負載均衡,主要還是著重于應用HTTP協(xié)議,所以其應用范圍主要是眾多的網(wǎng)站或者內(nèi)部信息平臺等基于B/S開發(fā)的系統(tǒng)。 4層負載均衡則對應其他TCP應用,例如基于C/S開發(fā)的ERP等系統(tǒng)。
3,七層應用需要考慮的問題。
1:是否真的必要,七層應用的確可以提高流量智能化,同時必不可免的帶來設備配置復雜,負載均衡壓力增高以及故障排查上的復雜性等問題。在設計系統(tǒng)時需要考慮四層七層同時應用的混雜情況。
2:是否真的可以提高安全性。例如SYN Flood攻擊,七層模式的確將這些流量從服務器屏蔽,但負載均衡設備本身要有強大的抗DDoS能力,否則即使服務器正常而作為中樞調(diào)度的負載均衡設備故障也會導致整個應用的崩潰。
3:是否有足夠的靈活度。七層應用的優(yōu)勢是可以讓整個應用的流量智能化,但是負載均衡設備需要提供完善的七層功能,滿足客戶根據(jù)不同情況的基于應用的調(diào)度。最簡單的一個考核就是能否取代后臺Nginx或者Apache等服務器上的調(diào)度功能。能夠提供一個七層應用開發(fā)接口的負載均衡設備,可以讓客戶根據(jù)需求任意設定功能,才真正有可能提供強大的靈活性和智能性。
新網(wǎng)負載均衡服務支持四層和七層會話保持技術,可以通過多種負載算法將請求轉(zhuǎn)發(fā)到不同云服務器上, 在后端云服務器宕機時,會自動將對應節(jié)點從負載均衡的轉(zhuǎn)發(fā)列表中移出,保證服務的高可用,可針對負載均衡規(guī)格、帶寬進行變更操作,靈活滿足業(yè)務需求:http://www.xinnet.com/cs/slb.html
聲明:免責聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權,也不承認相關法律責任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進行舉報,并提供相關證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科