負載均衡器-L4/L7 交換機

負載均衡器;四層交換機;七層交換機


負載均衡器通常稱爲四層交換機或七層交換機。四層交換機主要分析IP層及TCP/UDP層,實現四層流量負載均衡。七層交換機除了支持四層負載均衡以外,還有分析應用層的信息,如HTTP協議URI或Cookie信息。
1、負載均衡分爲L4 switch(四層交換),即在OSI第4層工作,就是TCP層啦。此種Load Balance不理解應用協議(如HTTP/FTP/MySQL等等)。例子:
LVS,F5
2、另一種叫做L7 switch(七層交換),OSI的最高層,應用層。此時,該Load Balancer能理解應用協議。例子:
haproxy,MySQL Proxy
注意:上面的很多Load Balancer既可以做四層交換,也可以做七層交換。

如果單純要做HTTP的負載均衡,用haproxy好了。性能很強。
另外,F5和Alteon這樣的硬件LB是LVS等軟件趕不上。


Q: 服務器負載均衡有哪些實現方法? 
A: 實現服務器負載均衡有多種方法,常見的方法有: 
1.基於DNS 輪詢的方法:即在DNS 服務器中對同一域名設置多條DNS A 記錄, 
通過DNS 的輪詢機制實現服務器負載均衡。 
2.基於服務器集羣的方法; 
3.基於應用軟件的實現方法,在應用軟件設計中就考慮了多服務器之間的協同工作 
與任務調度。這種方法一般會有一臺服務器作爲中樞對訪問請求進行調度,同時 
要求在應用層支持訪問重定向或任務調度、跳轉機制。 
4.採用專門的L4/L7 層交換機來實現,也即我們常說的負載均衡器。一般都是通過 
在L4/L7 層交換機作地址轉換(NAT)來實現。 
5.基於代理方式的負載均衡算法。

 


---------------------------------------------------------------------------------- 
Q: 請簡單介紹F5 L4/L7 層交換機對服務器作負載均衡的工作過程。 
A: F5 L4/L7 層交換機對服務器作負載均衡時主要包括以下幾個過程: 
1.截獲和檢查分析流量:保證只有合適的數據包才能通過 
2.服務器監控和健康檢查:隨時瞭解服務器羣的可用性狀態 
3.負載均衡和應用交換功能:通過各種策略或負載均衡算法將訪問請求導向到合適的服務 
器,這一過程包括目標服務器的選擇及地址轉換(NAT)過程。 
4.會話的保持(Persistence):通過會話保持,保證一系列相關連的會話不會被負載均衡到 
不同的服務器上。


 
---------------------------------------------------------------------------------- 
Q: F5 L4/L7 層交換機對服務器作負載均衡時是怎樣做地址轉換的(NAT)。 
A: F5 L4/L7 層交換機對服務器作負載均衡是採用基於網絡地址轉換(NAT)的負載均衡技 
術 。 如:負載均衡器後面的一組服務器10.1.1.4:80、10.1.1.5:80、10.1.1.6:80 對外構成一臺虛擬 
的服務器(Virtual Server)192.168.101.1:80,對外提供服務。當一個訪問虛擬服務器 
192.168.101.1:80 的請求到達負載均衡器以後,負載均衡器根據預先設定的負載均衡算法從服 
務器pool(WEB_POOL)中挑選一臺服務器來服務該請求,例如選定的是10.1.1.4:80;然後通 
過網絡地址轉換(NAT)將訪問請求包的目的地址與端口轉換成10.1.1.4:80,並將數據包發給 
10.1.1.4。服務器10.1.1.4 處理訪問請求,並作出迴應。迴應的包必須返回到負載均衡器上, 
由負載均衡器將回應包的源地址與端口轉換回虛擬服務器的地址與端口,並返回給客戶。這樣 
完成一次訪問過程。

 


---------------------------------------------------------------------------------- 
Q: 什麼叫會話保持(Persistence)? 
A: 會話保持(persistence)是負載均衡中一個特定而重要的概念。 
一個客戶與服務器經常經過好幾次的交互過程才能完成一筆交易。由於這幾次交互過 
程是密切相關的,服務器在進行這些交互過程的某一個交互步驟時,往往需要了解上一次交互 
過程的處理結果,這就要求所有這些相關的交互過程都由一臺服務器完成,而不能被負載均衡 
器分散到不同的服務器上。 
而這一系列的相關的交互過程可能是由客戶到服務器的一個連接的多次會話完成,也 
可能是在客戶與服務器之間的多個不同連接裏的多次會話完成。不同連接的多次會話,最典型 
的例子就是基於http 的訪問,一個客戶完成一筆交易可能需多次點擊,而一個新的點擊產生 
的請求,可能會重用上一次點擊建立起來的連接,也可能是一個新建的連接。 
會話保持就是指在負載均衡器上有這麼一種機制,可以識別做客戶與服務器之間交互 
過程的關連性,在作負載均衡的同時,還保證一系列相關連的訪問請求會保持分配到一臺服務 
器上。

 


---------------------------------------------------------------------------------- 
Q: 基於Layer 4 的負載均衡與基於Layer 7 的負載均衡有什麼區別? 
A: 基於Layer 4 的負載均衡在截取數據流以後,對數據包要檢查與分析的部份僅僅限於IP 報 
頭及TCP/UDP 報頭,而不關心TCP 或UDP 包內部信息。而基於Layer7 的負載均衡,則要 
求負載均衡器除了支持Layer4 負載均衡以外,還要理解數據包中4 層以上的信息,也即應用 
層的信息。例如,可以理解分析http 協議,從數據包中提取出http uri 或cookie 信息。基於 
Layer4 與基於Layer7 負載均衡或交換對數據包檢查的深度不一樣,基於Layer4 的交換偏重 
的是網絡層,而Layer7 偏重的是應用層,與應用結合很緊密。負載均衡器在作這兩種方式的 
負載均衡時的性能也不一樣。

 


---------------------------------------------------------------------------------- 
Q: 爲什麼需要基於Layer7 的負載均衡? 
A: 簡單來說,之所以需要基於Layer7 的負載均衡,有以下原因: 
1.會話保持(Persistence)的需要:在很多應用中,單靠Layer4 層的信息,也即IP 地址 
與端口的信息,是不足以分辨出會話的相關性。這樣要實現會話保持,就必須依靠 
於Layer7 交換。 
2.應用安全的需要:要做到應用級的安全,負載均衡器必須能檢查、分析應用層的信 
息,並以此作爲流量分發、訪問控制的依據。 
3.服務器、應用健康檢查的需求:如前面所述,負載均衡器還有一個重要任務就是要及 
時發現服務器上的異常情況,這種異常情況不僅僅限於網絡故障,還包括服務或應 
用能不能對訪問請求作出正確的響應。這也是要通過對數據包的應用層進行分析才 
能實現。

 


---------------------------------------------------------------------------------- 
Q: 對Lay4-7 層交換機或應用交換機一般要關注、瞭解哪些方面? 
A: 一般來說,對Lay4-7 層交換機或應用交換機,一般會提到以下幾個因素: 
支持的負載均衡算法 
支持的服務器健康檢查的方法 
如何保持客戶端和服務器的會話 
速度/性能指標 
安全性與可靠性 
端口數量

 


---------------------------------------------------------------------------------- 
Q: F5 Bigip 負載均衡器支持哪些負載均衡算法? 
A: F5 Bigip 負載均衡器支持的負載均衡算法包括: 
1.輪詢(RoundRobin):順序循環將請求一次順序循環地連接每個服務器。當其中某個服務器 
發生第二到第7 層的故障,BIG/IP 就把其從順序循環隊列中拿出,不參加下一次的輪詢,直到其恢復 
正常。 
2.比率(Ratio):給每個服務器分配一個加權值爲比例,根椐這個比例,把用戶的請求分配到每 
個服務器。當其中某個服務器發生第二到第7 層的故障,BIG/IP 就把其從服務器隊列中拿出,不參加 
下一次的用戶請求的分配,直到其恢復正常。 
3.優先權(Priority):給所有服務器分組,給每個組定義優先權,BIG/IP 用戶的請求,分配給優 
先級最高的服務器組(在同一組內,採用輪詢或比率算法,分配用戶的請求);當最高優先級中所有服 
務器出現故障,BIG/IP 纔將請求送給次優先級的服務器組。這種方式,實際爲用戶提供一種熱備份的 
方式。 
4.最小的連接數(LeastConnection):傳遞新的連接給那些進行最少連接處理的服務器。當其 
中某個服務器發生第二到第7 層的故障,BIG/IP 就把其從服務器隊列中拿出,不參加下一次的用戶請 
求的分配,直到其恢復正常。 
5.最快模式(Fastest):傳遞連接給那些響應最快的服務器。當其中某個服務器發生第二到第7 
層的故障,BIG/IP 就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。 
6.觀察模式(Observed):連接數目和響應時間以這兩項的最佳平衡爲依據爲新的請求選擇服 
務器。當其中某個服務器發生第二到第7 層的故障,BIG/IP 就把其從服務器隊列中拿出,不參加下一 
次的用戶請求的分配,直到其恢復正常。 
7.預測模式(Predictive):BIG/IP 利用收集到的服務器當前的性能指標,進行預測分析,選擇 
一臺服務器在下一個時間片內,其性能將達到最佳的服務器相應用戶的請求。(被big/ip 進行檢測) 
8.規則模式(iRule):針對不同的數據流設置導向規則,用戶可自行編輯流量分配規則,BIG/IP 
利用這些規則對通過的數據流實施導向控制。


 
---------------------------------------------------------------------------------- 
Q: F5 Bigip 負載均衡器支持哪些服務器健康檢查方法? 
A: F5 Bigip 負載均衡器支持以下的服務器健康檢查方法: 
1.服務器 (Node) - Ping (ICMP) 
2.服務 (Port) - Connect 
3.可擴展的應用驗證 (EAV) :不僅僅檢查服務器上指定服務的端口是否處於監聽狀態,還要檢查該 
服務端口能否對應用訪問請求作出迴應,例如可以檢查對http 請求或對數據庫的查詢能否作出 
迴應。 
4.可擴展的內容驗證 (ECV):Bigip 除了可以通過EAV 對服務進行檢查,還可以通過ECV 對服務 
器的響應作進一步分析,通過分析讀取服務器迴應中的指定內容來判斷服務器上服務的運行情 
況。上述檢查方法的檢查頻度(e.g. 10 seconds)與檢查響應Timeout 時間( e.g. 5 
seconds)都可以根據應用情況進行靈活定製。 
對於ECV、EAV,在Bigip 中已經包含了一些常見應用的檢查與內容驗證的方法,例如 
http 的檢查、Ldap、SQL Server 等。如果碰到一些應用、Bigip 上沒有提供相應的檢查 
方法,Bigip 還提供了一個擴展的接口,用戶只需要編寫相應的應用檢查腳本或程序並加載 
到Bigip 就可實現對該應用的檢查或內容驗證。

 


---------------------------------------------------------------------------------- 
Q: F5 Bigip 支持哪些會話保持方法? 
A: 
1.簡單會話保持 
– 根據客戶端源IP 地址保持客戶會話的技術 
2.HTTP Header 
– 根據HTTP 包頭信息保持會話的技術 
3.SSL ID 會話保持 
– 根據SSL ID 保持客戶/服務器連接的技術 
4.HTTP Cookie 會話保持 
– 插入模式,改寫模式, 被動模式, 散列模式(Cookie Hash) 
5.SIP ID 會話保持 
6.Cache 設備的專用會話保持 
7.i-Mode 移動應用的會話保持技術 
8.i-Rules 客戶定製的會話保持方法

 


---------------------------------------------------------------------------------- 
Q: Lay4-7 層交換機或應用交換機有哪些速度、性能指標比較重要? 
A: 
1.Session/Second : 
– 每秒處理的會話數量,有Lay4 和Lay7 的區別 
2.Maximum connection : 
– 最多能夠保持的連接數量,即最多能夠保持多少個併發的會話連接 
3.Throughput : 吞吐率 (bps) 
– 有Lay4 和Lay7 的區別 
4.VIP Maximum Number :(支持的虛擬服務器個數) 
– 最多同時多少應用可以做負載均衡

 


---------------------------------------------------------------------------------- 
Q: F5 Bigip 應用交換機支持的最大連接數是多少? 
A: F5 Bigip 應用交換機對客戶到服務器之間的每一條連接都要維護一條記錄,當連接開始 
建立時,Bigip 會根據負載均衡算法將客戶的請求分配到一臺服務器上。連接建立以後,對這 
個連接內的所有會話將不再需要通過負載均衡算法來選擇服務器,而是根據系統中原有的連接 
表直接進行地址轉換及交換。如果連接沒有被主動關閉,即使連接處於閒置狀態,應用交換機 
中的相應的連接表也會保持一段時間,直到Timeout 爲止。 
F5 Bigip 應用交換機採用的是共享內存與中央CPU 的體系結構,系統支持的最大連接數只與 
系統配置的內存數量有關。一般來說: 
當系統配置的內存是512M 時,支持的最大連接數是100 萬; 
當系統配置的內存是1G 時,支持的最大連接數是200 萬; 
當系統配置的內存是2G 時,支持的最大連接數是400 萬; 
上述參數適用於Bigip1000、 Bigip 2400、Bigip 5000 三個型號。至於隨着Bigip 上連接數 
的增加,系統處理會話的速度會不會下降,由於Bigip 對連接表的查詢是採用的hash 算法, 
查詢速度與連接表的數量沒有關係。

 


---------------------------------------------------------------------------------- 
Q: F5 Bigip 應用交換機每秒會話處理能力是多少? 
A: 在應用交換機中Layer4 的每秒會話處理能力與Layer7 的每秒會話處理能力是不一樣的。 
另外每秒會話處理能力還與數據包的大小有關係。每秒會話處理能力反應了應用交換機對數據 
包或會話的處理能力,與系統的負載均衡算法、地址轉換能力有關。 
Lyaer4 的交換可以通過ASCI 芯片硬件來處理,所以性能會高一些。而Layer7 的會話處理過 
程必須通過CPU 進行,更多的依賴於CPU 的處理能力。 
在F5 Bigip 產品系列中,Bigip2400 採用了最新的Layer4 ASCI 芯片,所以Layer4 的每秒會 
話處理能力最強;而Bigip5000 採用了兩個CPU,所以Layer 7 的每秒會話處理能力最強。 
F5 Bigip2400 的Layer4 最大會話處理能力是:125000 Layer 4 sessions per second at a data return 
file size of 64 bytes。 
F5 Bigip5000 的Layer7 最大會話處理能力是:19000 sessions per second。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章