負載均衡技術在現有網絡結構之上提供了一種廉價、有效、透明的方法,來擴展網絡設備和服務器的帶寬、增長吞吐量、增強網絡數據處理能力、提升網絡的靈活性和可用性。算法
1. 客戶發出服務請求到VIP 數據庫
2. BIGIP接收到請求,將數據包中目的IP地址改成選中的後臺服務器IP地址,而後將數據包發出到後臺選定的服務器 後端
3. 後臺服務器收到後,將應答包按照其路由發回到BIGIP 瀏覽器
4. BIGIP收到應答包後將其中的源地址改回成VIP的地址,發回客戶端,由此就完成了一個標準的服務器負載平衡的流程。緩存
經過VIP來截獲合適的須要負載平衡的流量服務器
·服務器監控和健康檢查,隨時瞭解服務器羣的可用性狀態網絡
·負載均衡和應用交換功能,經過各類策略導向到合適的服務器負載均衡
2.1 經過VIP來截獲合適的須要負載平衡的流量 性能
在BIGIP上經過設置VIP來截獲須要進行負載平衡的流量,這個VIP地址能夠是一個獨立的主機地址和端口的組合(例如:202.101.112.115:80)也能夠是一個網絡地址和端口的組合(例如:202.101.112.0:80),當流量通過BIGIP的時候,凡是命中VIP的流量都將被截獲並按照規則進行負載平衡。 測試
2.2 服務器的健康監控和檢查
服務器 (Node) -Ping (ICMP)
BIGIP能夠按期的經過ICMP包對後臺服務器的IP地址進行檢測,若是在設定的時間內能收到該地址的ICMP的迴應,則認爲該服務器能提供服務
服務 (Port) – Connect
BIGIP能夠按期的經過TCP包對後臺服務器的服務端口進行檢測,若是在設定的時間內能收到該服務器端口的迴應,則認爲該服務器能提供服務
擴展內容查證(ECV:Extended Content Verification)—ECV
ECV是一種很是複雜的服務檢查,主要用於確認應用程序可否對請求返回對應的數據。若是一個應用對該服務檢查做出響應並返回對應的數據,則BIG/IP控制器將該服務器標識爲工做良好。若是服務器不能返回相應的數據,則將該服務器標識爲宕機。宕機一旦修復,BIG/IP就會自動查證應用已能對客戶請求做出正確響應並恢復向該服務器傳送。該功能使BIG/IP能夠將保護延伸到後端應用如Web內容及數據庫。BIG/ip的ECV功能容許您向Web服務器、防火牆、緩存服務器、代理服務器和其它透明設備發送查詢,而後檢查返回的響應。這將有助於確認您爲客戶提供的內容正是其所須要的。
擴展應用查證(EAV:Extended Application Verification)
EAV是另外一種服務檢查,用於確認運行在某個服務器上的應用可否對客戶請求做出響應。爲完成這種檢查,BIG/IP控制器使用一個被稱做外部服務檢查者的客戶程序,該程序爲BIG/IP提供徹底客戶化的服務檢查功能,但它位於BIG/IP控制器的外部。例如,該外部服務檢查者能夠查證一個Internet或Intranet上的從後臺數據庫中取出數據並在HTML網頁上顯示的應用可否正常工做。EAV是BIG/IP提供的很是獨特的功能,它提供管理者將BIG/IP客戶化後訪問各類各樣應用的能力,該功能使BIG/IP在提供標準的可用性查證以外能得到服務器、應用及內容可用性等最重要的反饋。該功能對於電子商務和其它應用相當重要,它用於從客戶的角度測試您的站點。例如,您能夠模擬客戶完成交易所需的全部步驟-鏈接到站點、從目錄中選擇項目以及驗證交易使用的信用卡。一旦BIG/ip掌握了該「可用性」信息,便可利用負載平衡使資源達到最高的可用性。
BIG/IP已經爲測試Internet服務的健康狀況和狀態,預約義的擴展應用驗證(EAV),它有二種用戶界面:瀏覽器和CLI配置。BIG/IP預約義的應用檢查:FTP、NNTP、SMTP、POP3和MSSQL。
負載均衡的應用相對其餘網絡技術來講面會窄不少,從技術的角度上,負載均衡分爲三類:
1.對鏈路的負載均衡
對鏈路的負載均衡主要是指應用方有多條ISP網絡出口,比方說電信+網通,電信+鐵通等,對鏈路的負載均衡也是解決目前電信網通互聯互通的最專業的技術.其實現的原理是根據負載均衡算法來算出,到目標地址的數據從哪條鏈路出去延遲最小,那麼該條鏈路將被優先選擇.這一點是負載均衡設備區別於策略路由+IP地址庫實現網通電信路由選擇的地方.
2. 對服務器的負載均衡
從嚴格的意義上來將,對服務器的負載均衡是對相同應用的負載均衡,而跟服務器自己沒有太大的關係。只有相同的應用,才存在負載均衡的概念,不一樣的應用間是不能作負載均衡的.比方說,咱們有FTP SERVER和WEB SERVER各一臺,那麼這兩臺SERVER間就不存在負載均衡的應用.目前全部負載均衡的廠商實現對服務器的負載均衡都是基於虛擬IP技術的,負載均衡設備對服務器進行健康檢查,而後把檢查結果列入設備服務器狀態列表裏,根據這個檢查結果來決定一個請求發送到哪臺服務器效果最好,應用普遍的就是F5的LTM系列.
3. 對廣域網的負載均衡
對廣域網的負載均衡主要是應用到一些大的網站上,也有人稱其爲異地負載均衡.比方說,咱們有兩臺WEB服務器,一臺在北京IDC機房(網通),一臺在廣州IDC機房(電信),兩臺WEB服務器內容是同樣的.那麼對這兩臺服務器來作負載均衡就是一種廣域網負載均衡.應用比較普遍的是F5的3DNS設備.
負載均衡設備自己都是以負載均衡算法爲基礎的,負載均衡算法分爲兩種:靜態負載均衡算法和動態負載均衡算法.
輪詢(RoundRobin):順序循環將請求一次順序循環地鏈接每一個服務器。 當其中某個服務器發生第二到第7層的故障,BIGIP就把其從順序循環隊列中拿出,不參加下一次的輪詢,直到其恢復正常。 ·比率(Ratio):給每一個服務器分配一個加權值爲比例,根椐這個比例,把用戶的請求分配到每一個服務器。當其中某個服務器發生第二到第7層的故障,BIGIP就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。
優先權(Priority):給全部服務器分組,給每一個組定義優先權,BIGIP用戶的請求,分配給優先級最高的服務器組(在同一組內,採用輪詢或比率算法,分配用戶的請求);當最高優先級中全部服務器出現故障,BIGIP纔將請求送給次優先級的服務器組。這種方式,實際爲用戶提供一種熱備份的方式。
最少的鏈接方式(Least Connection):傳遞新的鏈接給那些進行最少鏈接處理的服務器。當其中某個服務器發生第二到第7層的故障,BIGIP就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。
最快模式(Fastest):傳遞鏈接給那些響應最快的服務器。當其中某個服務器發生第二到第7層的故障,BIGIP就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。
觀察模式(Observed):鏈接數目和響應時間以這兩項的最佳平衡爲依據爲新的請求選擇服務器。當其中某個服務器發生第二到第7層的故障,BIGIP就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。
預測模式(Predictive):BIGIP利用收集到的服務器當前的性能指標,進行預測分析,選擇一臺服務器在下一個時間片內,其性能將達到最佳的服務器相應用戶的請求。(被BIGIP進行檢測)
動態性能分配(DynamicRatio-APM):BIGIP收集到的應用程序和應用服務器的各項性能參數,動態調整流量分配。
動態服務器補充(DynamicServer Act.):當主服務器羣中因故障致使數量減小時,動態地將備份服務器補充至主服務器羣。
服務質量(QoS):按不一樣的優先級對數據流進行分配。
服務類型(ToS):按不一樣的服務類型(在Type of Field中標識)對數據流進行分配。
規則模式:針對不一樣的數據流設置導向規則,用戶可自行編輯流量分配規則,BIGIP利用這些規則對經過的數據流實施導向控制。