第一,技術原理上的區別。
所謂四層負載均衡,也就是主要通過報文中的目標位址和埠,再加上負載均衡裝置設定的伺服器選擇方式,決定最終選擇的內部伺服器。
以常見的
tcp為例,負載均衡裝置
在接收到第乙個來自客戶端的
syn請求時
,即通過上述方式選擇乙個最佳的伺服器,並對報文中目標
ip位址進行修改
(改為後端伺服器
ip),直接**給該伺服器。
tcp的連線建立,即三次握手是客戶端和伺服器直接建立的,負載均衡裝置只是起到乙個類似路由器的**動作。在某些部署情況下,為保證伺服器回包可以正確返回給負載均衡裝置,在**報文的同時可能還會對報文原來的源位址進行
所謂七層負載均衡,也稱為
「內容交換
」,也就是主要通過報文中的真正有意義的應用層內容,再加上負載均衡裝置設定的伺服器選擇方式,決定最終選擇的內部伺服器。
以常見的
tcp為例,負載均衡裝置如果要根據真正的應用層內容再選擇伺服器,只能
先**最終的伺服器和客戶端建立連線
(三次握手)後
,才可能接受到客戶端傳送的真正應用層內容的報文,然後再根據該報文中的特定字段,再加上負載均衡裝置設定的伺服器選擇方式,決定最終選擇的內部伺服器。負載均衡裝置在這種情況下,更類似於乙個**伺服器。負載均衡和前端的客戶端以及後端的伺服器會分別建立
tcp連線。所以從這個技術原理上來看,七層負載均衡明顯的對負載均衡裝置的要求更高,處理七層的能力也必然會低於四層模式的部署方式。那麼,為什麼還需要七層負載均衡呢?
第二,應用場景的需求。
七層應用負載的好處,是使得整個網路更
"智慧型化
",參考我們之前的
另外一篇專門針對
應用的優化的介紹
,就可以基本上了解這種方式的優勢所在。例如訪問乙個**的使用者流量,可以通過七層的方式,將對類的請求**到
特定的伺服器並可以使用快取技術;將對文字類的請求可以**到特定的文字伺服器並可以使用壓縮技術。當然這只是七層應用的乙個小案例,從技術原理上,這種方式可以對客戶端的請求和伺服器的響應進行任意意義上的修改,極大的提公升了應用系統在網路層的靈活性。很多在後台,(例如
nginx
或者apache)
上部署的功能可以前移到負載均衡裝置上,例如客戶請求中的
header
重寫,伺服器響應中的關鍵字過濾或者內容插入等功能。
另外乙個常常被提到功能就是安全性。網路中最常見的
syn flood
攻擊,即黑客控制眾多源客戶端,使用虛假
ip位址對同一目標傳送
syn攻擊,通常這種攻擊會大量傳送
syn報文,耗盡伺服器上的相關資源,以達到
denial of service(dos)
的目的。從技術原理上也可以看出,四層模式下這些
syn攻擊都會被**到後端的伺服器上;而七層模式下這些
syn攻擊自然在負載均衡裝置上就截止,不會影響後台伺服器的正常運營。另外負載均衡裝置可以在七層層面設定多種策略,過濾特定報文,例如
sql injection
等應用層面的特定攻擊手段,從應用層面進一步提高系統整體安全。
現在的7層負載均衡,主要還是著重於應用廣泛的
協議,所以其應用範圍主要是眾多的**或者內部資訊平台等基於
b/s開發的系統。
4層負載均衡則對應其他
tcp應用,例如基於
c/s開發的
erp等系統。
第三,七層應用需要考慮的問題。 1
:是否真的必要,七層應用的確可以提高流量智慧型化,同時必不可免的帶來裝置配置複雜,負載均衡壓力增高以及故障排查上的複雜性等問題。在設計系統時需要考慮四層七層同時應用的混雜情況。 2
:是否真的可以提高安全性。例如
syn flood
攻擊,七層模式的確將這些流量從伺服器遮蔽,但負載均衡裝置本身要有強大的抗
ddos
能力,否則即使伺服器正常而作為中樞排程的負載均衡裝置故障也會導致整個應用的崩潰。 3
:是否有足夠的靈活度。七層應用的優勢是可以讓整個應用的流量智慧型化,但是負載均衡裝置需要提供完善的七層功能,滿足客戶根據不同情況的基於應用的排程。最簡單的乙個考核就是能否取代後台
nginx
或者apache
等伺服器上的排程功能。能夠提供乙個七層應用開發介面的負載均衡裝置,可以讓客戶根據需求任意設定功能,才真正有可能提供強大的靈活性和智慧型性。
四層負載均衡與七層負載均衡
1 四層負載均衡與七層負載均衡區別 個人理解 網路七層協議包括,應用層 第七層 表示層,會話層,傳輸成 第四層 網路層,資料鏈路層,物理層。所謂的七層和四層負載均衡就是指基於哪一層做的負載均衡。nginx反向 就是一種七層負載均衡,可以通過使用者的請求url來進行劃分 lvs就屬於四層負載均衡,是基...
四層負載均衡與七層負載均衡
四層負載均衡與七層負載均衡 負載均衡的分層是針對osi網路模型來說的,負載均衡模型也不僅僅只有四層和七層的。下面先給出osi網路模型架構 根據上述模型,可以快速了解負載均衡的分層 二層負載均衡 基於虛擬mac與真實mac的位址互聯。三層負載均衡 基於虛擬ip與真實ip的位址互聯。四層負載均衡 基於三...
負載均衡總結 四層負載均衡和七層負載均衡的區別
一 四層負載和七層負載的對比 在osi七層模型的第4層工作,即tcp層,其不會理解上層的協議如 http ftp等.由上圖,在四層負載裝置中,把client傳送的報文目標位址 原來是負載均衡裝置的ip位址 根據均衡裝置設定的選擇web伺服器的規則選擇對應的web伺服器ip位址,這樣client就可以...