天天看點

F5負載均衡

F5負載均衡産品時我們常用的網絡負載控制的産品之一,那麼在此我們對它的功能和特點進行一個全面的介紹。通過對這個産品的認識,我們也能發現,在網絡管理中我們需要注意哪些方面的問題。那麼更多的内容,還是從下文中了解吧。

F5負載均衡功能1.多鍊路的負載均衡和備援

與網際網路絡相關的關鍵業務都需要安排和配置多條ISP接傳入連結路以保證網絡服務的品質,消除單點故障,減少停機時間?多條ISP接入的方案并不是簡單的多條不同的廣域網絡的路由問題,因為不同的ISP有不同自治域,是以必須考慮到兩種情況下如何實作多條鍊路的負載均衡:内部的應用系統和網絡工作站在通路網際網路絡的服務和網站時如何能夠在多條不同的鍊路中動态配置設定和負載均衡,這也被稱為OUTBOUND流量的負載均衡?網際網路絡的外部使用者如何在外部通路内部的網站和應用系統時也能夠動态的在多條鍊路上平衡配置設定,并在一條鍊路中斷的時候能夠智能地自動切換到另外一條鍊路到達伺服器和應用系統,這也被稱作為INBOUND流量的負載均衡?

F5 的BIG-IP LC可以智能的解決以上兩個問題:對于OUTBOUND流量,BIG-IP LC接收到流量以後,可以智能的将OUTBOUND流量配置設定到不同的INTERNET接口,并做源位址的NAT,可以指定某一合法IP位址進行源位址的 NAT,也可以用BIG-IP LC的接口位址自動映射,保證資料包傳回時能夠正确接收?對于INBOUND流量,BIG-IP LC分别綁定兩個ISP 服務商的公網位址,解析來自兩個ISP服務商的DNS解析請求?BIG-IP LC不僅可以根據伺服器的健康狀況和響應速度回應LDNS相應的IP位址,還可以通過兩條鍊路分别與LDNS建立連接配接,根據RTT時間判斷鍊路的好壞,并且綜合以上兩個參數回應LDNS相應的IP位址?

F5負載均衡功能2.防火牆負載均衡

考慮到絕大多數的防火牆隻能達到線速的30%吞吐能力,故要使系統達到設計要求的線速處理能力,必須添加多台防火牆,以滿足系統要求?然而,防火牆必須要求資料同進同出,否則連接配接将被拒絕?如何解決防火牆的負載均衡問題,是關系到整個系統的穩定性的關鍵問題?F5的防火牆負載均衡方案,能夠為使用者提供異構防火牆的負載均衡與故障自動排除能力?典型的提高防火牆處理能力的方法是采用“防火牆三明治"的方法,以實作透明裝置的持續性?這可滿足某些要求客戶為成功安全完成交易必須通過同一防火牆的應用程式的要求,也能夠維護原來的網絡安全隔離的要求?

F5負載均衡功能3.伺服器負載均衡

對于所有的對外提供服務的伺服器,均可以在BIG-IP上配置Virtual Server實作負載均衡,同時BIG-IP可持續檢查伺服器的健康狀态,一旦發現故障伺服器,則将其從負載均衡組中摘除?BIG-IP利用虛拟IP位址(VIP由IP位址和TCP/UDP應用的端口組成,它是一個位址)來為使用者的一個或多個目标伺服器(稱為節點:目标伺服器的IP位址和TCP/UDP應用的端口組成,它可以是internet的私網位址)提供服務?是以,它能夠為大量的基于TCP/IP的網絡應用提供伺服器負載均衡服務?根據服務類型不同分别定義伺服器群組,可以根據不同服務端口将流量導向到相應的伺服器?BIG-IP連續地對目标伺服器進行L4到L7合理性檢查,當使用者通過VIP請求目标伺服器服務時,BIG-IP根椐目标伺服器之間性能和網絡健康情況,選擇性能最佳的伺服器響應使用者的請求?如果能夠充分利用所有的伺服器資源,将所有流量均衡的配置設定到各個伺服器,我們就可以有效地避免“不平衡"現象的發生?利用UIE+iRules可以将TCP/UDP資料包打開,并搜尋其中的特征資料,之後根據搜尋到的特征資料作相應的規則處理?是以可以根據使用者通路内容的不同将流量導向到相應的伺服器,例如:根據使用者通路請求的URL将流量導向到相應的伺服器?

F5負載均衡功能4.系統高可用性

系統高可用性主要可以從以下幾個方面考慮:

4.1.裝置自身的高可用性:F5 BIG-IP專門優化的體系結構和卓越的處理能力保證99.999%的正常運作時間,在雙機備援模式下工作時可以實作毫秒級切換,保證系統穩定運作,另外還有備援電源子產品可選?在采用雙機備份方式時,備機切換時間最快會在200ms之内進行切換?BIG-IP 産品是業界唯一的可以達到毫秒級切換的産品, 而且設計極為合理,所有會話通過Active 的BIG-IP 的同時,會把會話資訊通過同步資料線同步到Backup的BIG-IP,保證在Backup BIG-IP内也有所有的使用者通路會話資訊;另外每台裝置中的watchdog晶片通過心跳線監控對方裝置的電頻,當Active BIG-IP故障時,watchdog會首先發現,并通知Backup BIG-IP接管Shared IP,VIP等,完成切換過程,因為Backup BIG-IP中有事先同步好的會話資訊,是以可以保證通路的暢通無阻?

4.2.鍊路備援:BIG-IP可以檢測每條鍊路的運作狀态和可用性,做到鍊路和ISP故障的實時檢測?一旦出現故障,流量将被透明動态的引導至其它可用鍊路?通過監控和管理出入資料中心的雙向流量,内部和外部使用者均可保持網絡的全時連接配接?

4.3.伺服器備援,多台伺服器同時提供服務,當某一台伺服器故障不能提供服務時,使用者的通路不會中斷?BIG-IP可以在OSI七層模型中的不同層面上對伺服器進行健康檢查,實時監測伺服器健康狀況,如果某台伺服器出現故障,BIG-IP确定它無法提供服務後,就會将其在服務隊列中清除,保證使用者正常的通路應用,確定回應内容的正确性?

F5負載均衡功能5.高度的安全性

BIG-IP采用防火牆的設計原理,是預設拒絕裝置,它可以為任何站點增加額外的安全保護,防禦普通網絡攻擊?可以通過支援指令行的SSH或支援浏覽器管理的SSL友善?安全的進行遠端管理,提高裝置自身的安全性;能夠拆除空閑連接配接防止拒絕服務攻擊;能夠執行源路由跟蹤防止IP欺騙;拒絕沒有ACK緩沖确認的SYN防止SYN攻擊;拒絕teartop和land攻擊;保護自己和伺服器免受ICMP攻擊;不運作SMTP?FTP?TELNET或其它易受攻擊的背景程式?

BIG-IP的Dynamic Reaping特性可以高效删除各類網絡DoS攻擊中的空閑連接配接,這可以保護BIG-IP不會因流量過多而癱瘓?BIG-IP可以随着攻擊量的增加而加快連接配接切斷速率,進而提供一種具有極強适應能力?能夠防禦最大攻擊量的解決方案?BIG-IP的Delay Binding技術可以為部署在BIG-IP後面的伺服器提供全面地SYN Flood保護?此時,BIG-IP裝置作為安全代理來有效保護整個網絡?BIG-IP可以和其它安全裝置配合,建構動态安全防禦體系?BIG-IP可以根據使用者機關時間内的連接配接數生成控制通路清單,将該清單加載到其它安全裝置上,有效控制攻擊流量?F5負載均衡功能6.SSL加速,在每台BIG-IP上,都具有SSL硬體加速晶片,并且自帶100個TPS的License,使用者可以不通過單獨付費,就可以擁有100個TPS的SSL 加速功能,節約了使用者的投資?在将來系統擴充時,可以簡單的通過License更新的方式,獲得更高的SSL加速性能?

F5負載均衡功能7.系統管理

BIG-IP提供HTTPS?SSH?Telnet?SNMP等多種管理方式,使用者用戶端隻需作業系統自帶的浏覽器軟體即可,不需安裝其它軟體?可以通過支援指令行的SSH或支援浏覽器管理的SSL友善?安全的進行遠端管理?直覺易用的Web圖形使用者界面大服務降低了多歸屬基礎設施的實施成本和日常維護費用?BIG-IP包含詳盡的實時報告和曆史紀錄報告,可供評測站點流量?相關ISP性能和預計帶寬計費周期?管理者可以通過全面地報告功能充分掌握帶寬資源的利用狀況?另外,通過F5 的i-Control 開發包,目前國内已有基于i-Control開發的網管軟體x-control, 可以定制針對系統服務特點的監控系統,比如服務的流量情況?各種服務連接配接數?通路情況?節點的健康狀況等等,進行可視化顯示?告警方式可以提供syslog?snmp trap?mail等方式?

F5負載均衡功能8.其它

記憶體擴充能力:F5 BIG-IP 1000以上裝置單機最大可擴充到2G記憶體,此時可支援400萬并發回話?更新能力:F5 所有裝置均可通過軟體方式更新,在服務有效期内,更新軟體包由F5公司提供?F5 NETWORKS已經釋出其系統的最新版本BIG-IP V9.0,主要有以下特性:虛拟 IPV4 / IPV6 應用?加速Web應用高達3倍?減少66%甚至更多的基礎架構成本?確定高優先級應用的性能?確定更進階别的可用性?大幅提高網絡和應用安全性?強大的性能,簡單的管理方式?無以匹敵的自适應能力和延展能力和突破的性能表現力?其強大的HTTP壓縮功能可以将使用者下載下傳時間縮短50%,節省80%的帶寬?IP位址過濾和帶寬控制:BIG-IP可以根據通路控制清單對資料包進行過濾,并且針對某一關鍵應用進行帶寬控制,確定關鍵應用的穩定運作?配置管理及系統報告:F5 BIG-IP提供WEB 界面配置方式和指令行方式進行配置管理,并在其中提供了豐富的系統報告,更可通過i-Control自行開發複雜的配置及報告生成.[/align][/size][/size][/size]

//-------------------------

1.什麼是會話保持?

在大多數電子商務的應用系統或者需要進行使用者身份認證的線上系統中,一個客戶與伺服器經常經過好幾次的互動過程才能完成一筆交易或者是一個請求的完成。由于這幾次互動過程是密切相關的,伺服器在進行這些互動過程的某一個互動步驟時,往往需要了解上一次互動過程的處理結果,或者上幾步的互動過程結果,伺服器進行下一步操作時需要這就要求所有這些相關的互動過程都由一台伺服器完成,而不能被負載均衡器分散到不同的伺服器上。

而這一系列的相關的互動過程可能是由客戶到伺服器的一個連接配接的多次會話完成,也可能是在客戶與伺服器之間的多個不同連接配接裡的多次會話完成。不同連接配接的多次會話,最典型的例子就是基于http的通路,一個客戶完成一筆交易可能需多次點選,而一個新的點選産生的請求,可能會重用上一次點選建立起來的連接配接,也可能是一個建立的連接配接。

會話保持就是指在負載均衡器上有這麼一種機制,可以識别做客戶與伺服器之間互動過程的關連性,在作負載均衡的同時,還保證一系列相關連的通路請求會保持配置設定到一台伺服器上。

2. F5支援什麼樣的會話保持方法?

F5 BigIP支援多種的會話保持方法,其中包括:簡單會話保持(源位址會話保持)、HTTP Header的會話保持,基于SSL Session ID的會話保持,I-Rules會話保持以及基于 HTTP Cookie的會話保持,此外還有基于SIP ID以及Cache裝置的會話保持等,但常用的是簡單會話保持,HTTP Header的會話保持以及 HTTP Cookie會話保持以及基于I-Rules的會話保持。

2.1 簡單會話保持

簡單會話保持也被稱為基于源位址的會話保持,是指負載均衡器在作負載均衡時是根據通路請求的源位址作為判斷關連會話的依據。對來自同一IP位址的所有通路請求在作負載均時都會被保持到一台伺服器上去。在BIGIP裝置上可以為“同一IP位址”通過網絡掩碼進行區分,比如可以通過對IP位址192.168.1.1進行255.255.255.0的網絡掩碼,這樣隻要是來自于192.168.1.0/24這個網段的流量BIGIP都可以認為他們是來自于同一個使用者,這樣就将把來自于192.168.1.0/24網段的流量會話保持到特定的一台伺服器上。

簡單會話保持裡另外一個很重要的參數就是連接配接逾時值,BIGIP會為每一個進行會話保持的會話設定一個時間值,當一個會話上一次完成到這個會話下次再來之前的間隔如果小于這個逾時值,BIGIP将會将新的連接配接進行會話保持,但如果這個間隔大于該逾時值,BIGIP将會将新來的連接配接認為是新的會話然後進行負載平衡。

基于原位址的會話保持實作起來簡單,隻需要根據資料包三、四層的資訊就可以實作,效率也比較高。存在的問題就在于當多個客戶是通過代理或位址轉換的方式來通路伺服器時,由于都配置設定到同一台伺服器上,會導緻伺服器之間的負載嚴重失衡。另外一種情況上客戶機數量很少,但每個客戶機都會産生多個并發通路,對這些必發通路也要求通過負均均衡器配置設定到多個服器上,這時基于用戶端源位址的會話保持方法也會導緻負載均衡失效。

2.2 基于Cookie的會話保持

2.2.1 cookie插入模式:

在Cookie插入模式下,BigIP将負責插入cookie,後端伺服器無需作出任何修改.當客戶進行第一次請求時,客戶HTTP請求(不帶cookie)進入BIGIP, BIGIP根據負載平衡算法政策選擇後端一台伺服器,并将請求發送至該伺服器,後端伺服器進行HTTP回複(不帶cookie)被發回BIGIP,然後BIGIP插入cookie,将HTTP回複傳回到用戶端。當客戶請求再次發生時,客戶HTTP請求(帶有上次BIGIP插入的cookie)進入BIGIP,然後BIGIP讀出cookie裡的會話保持數值,将HTTP請求(帶有與上面同樣的cookie)發到指定的伺服器,然後後端伺服器進行請求回複,由于伺服器并不寫入cookie,HTTP回複将不帶有cookie,恢複流量再次經過進入BIGIP時,BIGIP再次寫入更新後的會話保持cookie。

2.2.2 Cookie 重寫模式

當客戶進行第一次請求時,客戶HTTP請求(不帶cookie)進入BIGIP, BIGIP根據負載平衡算法政策選擇後端一台伺服器,并将請求發送至該伺服器,後端伺服器進行HTTP回複一個空白的cookie并發回BIGIP,然後BIGIP重新在cookie裡寫入會話保持數值,将HTTP回複傳回到用戶端。當客戶請求再次發生時,客戶HTTP請求(帶有上次BIGIP重寫的cookie)進入BIGIP,然後BIGIP讀出cookie裡的會話保持數值,将HTTP請求(帶有與上面同樣的cookie)發到指定的伺服器,然後後端伺服器進行請求回複,HTTP回複裡又将帶有空的cookie,恢複流量再次經過進入BIGIP時,BIGIP再次寫入更新後會話保持數值到該cookie。

2.2.3 Passive Cookie 模式,伺服器使用特定資訊來設定cookie。

當客戶進行第一次請求時,客戶HTTP請求(不帶cookie)進入BIGIP, BIGIP根據負載平衡算法政策選擇後端一台伺服器,并将請求發送至該伺服器,後端伺服器進行HTTP回複一個cookie并發回BIGIP,然後BIGIP将帶有伺服器寫的cookie值的HTTP回複傳回到用戶端。當客戶請求再次發生時,客戶HTTP請求(帶有上次伺服器寫的cookie)進入BIGIP,然後BIGIP根據cookie裡的會話保持數值,将HTTP請求(帶有與上面同樣的cookie)發到指定的伺服器,然後後端伺服器進行請求回複,HTTP回複裡又将帶有更新的會話保持cookie,恢複流量再次經過進入BIGIP時,BIGIP将帶有該cookie的請求回複給用戶端。

2.2.4 Cookie Hash模式:

當客戶進行第一次請求時,客戶HTTP請求(不帶cookie)進入BIGIP, BIGIP根據負載平衡算法政策選擇後端一台伺服器,并将請求發送至該伺服器,後端伺服器進行HTTP回複一個cookie并發回BIGIP,然後BIGIP将帶有伺服器寫的cookie值的HTTP回複傳回到用戶端。當客戶請求再次發生時,客戶HTTP請求(帶有上次伺服器寫的cookie)進入BIGIP,然後BIGIP根據cookie裡的一定的某個位元組的位元組數來決定背景伺服器接受請求,将HTTP請求(帶有與上面同樣的cookie)發到指定的伺服器,然後後端伺服器進行請求回複,HTTP回複裡又将帶有更新後的cookie,恢複流量再次經過進入BIGIP時,BIGIP将帶有該cookie的請求回複給用戶端。

2.3 SSL Session ID會話保持

在使用者的SSL通路系統的環境裡,當SSL對話首次建立時,使用者與伺服器進行首次資訊交換以:1}交換安全證書,2)商議加密和壓縮方法,3)為每條對話建立Session ID。由于該Session ID在系統中是一個唯一數值,由此,BIGIP可以應用該數值來進行會話保持。當使用者想與該伺服器再次建立連接配接時,BIGIP可以通過會話中的 SSL Session ID識别該使用者并進行會話保持。

基于SSL Session ID的會話保持就需要客戶浏覽器在進行會話的過程中始終保持其SSL Session ID不變,但實際上,微軟Internet Explorer被發現在經過特定一段時間後将主動改變SSL Session ID,這就使基于SSL Session ID的會話保持實際應用範圍大大縮小。

繼續閱讀