概述
從前,我們有兩種方式來部署應用交付網絡設施;面向性能的部署或面向智能的部署。在開放市場上,客戶傳統上選擇那些具有最佳性能的解決方案。結果造成,大多數廠商將其設施構建于運行速度更快、基于分組的架構;而非性能較差、基于代理的架構。由于這些設備對智能的需求有所增加,因此提供上述解決方案的各個廠商發現其自身處 |
挑戰
對解決方案進行全新設計
眾所周知,基于代理的解決方案,或者至少是此類解決方案所提供的智能模塊,將是最終的解決方案。然而,報文到報文方案所具有的大量優異性能,彌補了它們在智能特性上的不足。對于多數企業網絡而言,這種方案暫時可視為一種可接受的折衷方案。
隨著對智能特性的需求日益增加,基于代理的解決方案始終面臨的性能瓶頸問題,如今基于分組的解決方案很快也將面臨同樣的挑戰。而基于分組的解決方案在開發上的復雜性,很快將與基于代理的解決方案并無二致。盡管軟硬件性能正顯著增長,然而報文到報文方案仍無法跟上用戶對智能特性及性能的需求。此時,報文到報文方案便不再是一種可接受的可選方案。
基于分組的解決方案曾經紅極一時,如今卻已輝煌不再。如今,在提升性能不足以提供可靠解決方案的情況下,基于分組的解決方案在智能性方面的缺陷已使其今非昔比。比較現實的解決方案是,提供一款性能堪與基于分組的解決方案相媲美的基于代理的解決方案:而這就是TMOS 架構解決方案。
解決方案
TMOS 為一個集合詞,用于描述一種完全為特定目的建造的定制架構,該架構耗費 F5 多年經驗與巨資,是 F5 產品向前發展的基石。從較高層次來看,TMOS 是:
☆ 多個模塊的集合
每個模塊執行一項特定的功能。例如:網絡驅動模塊、以太網模塊、ARP 模塊、IP 模塊,以及 TCP 模塊,等等。系統每個組件均為獨立組件,用以降低系統的復雜性、減輕未來開發的負擔。添加對新協議的支持,僅需添加一個新的模塊即可。借助這一設計,用戶能更輕松地實現重用。如果新的應用級協議在 TCP/IP 之上運行,僅需將模塊連接,這樣,新的協議就能訪問 TCP/IP 中的數據,而無須較為低級的協議。
☆ 設備的獨立特性
許多人已經注意到:基于 TMOS 的設備似乎采用 Linux 在其上運行,當我們使用命令行對設備進行管理時,可以看到這一點。但須知,采用 TMOS 對流量進行管理的任何一個部分,均未采用 Linux 系統。TMOS 有其自身專用的 CPU、內存,以及系統總線來訪問外圍設備。當基于 TMOS 的設備收到數據包時,無論是線路、系統總線、聯網子系統,還是內存管理子系統,TMOS 架構中的每個組件均為完全獨立的系統。Linux 永遠不會納入到該系統當中,或其中任何一個部分,Linux 內核也同樣。Linux 系統僅用于對任務進行管理,如命令行、web GUI 等。原因很簡單:一個適用于對高速流量進行管理的操作系統,并不適合作為一個通用型操作系統。因此,最好采用通用操作系統解決通用型任務(如管理任務),而將流量管理任務交給設計用于完成該任務的專用操作系統——TMOS來完成。
☆ 實時操作系統
實時操作系統意味著:TMOS 中并沒有一個搶占式 CPU 調度程序。對于通用操作系統而言,在其內核中設定一段搶占式調度程序是非常有價值的,因為所有的進程能夠公平地獲得一個 CPU 時間段,而在這些進程當中,許多進程本質上可同時運行。在一個經過高度優化、專用的操作系統當中(如 TMOS),上述調度程序就不太適合,因為該調度程序增加了一段不必要的開銷。由于 TMOS 經過精心設計與調整,因此,系統中的每個組件均用于執行必要的操作,以使下一個組件正常運行。由于去掉了中斷、上下文切換,以及調度程序通常所需完成的大部分任務,因此, CPU 調度開銷明顯下降。這樣,用戶就能對進程(何時執行/以哪種排列方式執行)進行充分的控制。
☆ 硬件和軟件
由于 TMOS本質上是模塊化的,因此,它并不介意單個功能是由軟件還是由硬件來實現。有了 TMOS,每一步操作就能通過高度優化的軟件,以及專為特定目的構建的模塊來完成;當然,資源密集型操作也可卸載至專用的硬件。例如,TMOS 有其自已的 SSL 棧,完全能夠用軟件來處理 SSL,但是,如果卸載密碼操作至專用的 SSL ASIC,則速度會更快。F5 軟件技術具有的全部功能特性,使其實質上具有無限的靈活性,而專門的卸載硬件功能,又使其能夠經濟高效地擴充至業內領先的性能級別。
☆ 事件驅動
模塊化與實時處理功能相結合,使 TMOS 具有獨一無二的根據實時變化來改變其行為的能力。從客戶連接開始、到有效負載處理完成,其中的每個事件——甚至包括從服務器返回至客戶端的流量,均會影響 TMOS 改變其行為,以便與當前的要求相匹配。這一功能使 TMOS 成為當前市場上最容易進行修改、最靈活的解決方案。
所有這些因素使 TMOS 成為一款功能非常強大、適用性極強的解決方案。獨立、實時、事件驅動型操作系統,以及模塊化功能,使 TMOS 具有無可比擬的能力。例如,TMOS 支持利用三個完全獨特的與部署要求相匹配的網絡棧。首先,FastL4 棧是一種限定狀態的 TCP/UDP,或是一種傳統的報文到報文設計,它可處理任意高速連接,但功能存在部分限制(第 4 層或第 4 層以下)。其次,TMOS 還支持 FastHTTP 棧;這種限定狀態的 TCP/HTTP 棧是一種非常高級的報文到報文設計,它能以較高的連接速率處理 HTTP(第 7 層)不斷增加的智能需求。最后,快速應用代理棧;該棧是一款基于全代理的缺省棧,代表了基于代理的設計方案的最高水平。TMOS 支持使用軟硬件部件進行互換之事實,使得整個 FastL4棧可完全卸載至 F5 的 Packet Velocity ASIC (PVA) 中。選擇哪套方案作為最佳方案完全取決于客戶的要求。
就其自身而言,這些高級說明中的任何一項,均會使 TMOS 從所有現有解決方案、報文到報文方案,或基于代理的方案當中脫穎而出。單就該架構本身,將足以改變應用交付網絡市場,但是,即使是最好的架構,也需要次標準組件的支持,這樣才能有助于次標準解決方案的產生。TMOS 與這些組件,或模塊相結合,才能為用戶提供真正優秀的解決方案。
攜手邁向新的階段
使 TMOS 架構與眾不同的因素在于:TMOS 創建的定制構建模塊為其自身提供了支持。在這些明顯特性當中,最明顯的是一些最廣泛應用的特性包括:TCP Express、快速應用代理,以及 iRule。
TCP Express
報文到報文的簡單設計無法像具有 TCP Express 特性集的 TMOS 那樣提供眾多功能。許多企業部署了全代理方案,但是卻受限于如下之事實:僅包含一個構建于通用 UNIX 系統上的組件。這些企業無法獲得以訂制編碼交付、提供較低延遲和一流網絡性能的實時操作系統的優異性能。產品一旦設計出來以后,沒有一套簡單的辦法來高效地整合這種功能類型——這就要求底層架構應具有高性能、低延遲的聯網特性。
TCP Express 是一套 TCP 效率提升集合,以因特網標準形式提供(RFC),成百上千個定制 F5 特性與功能,均基于我們在實際使用過程中的擴展體驗獲得。TMOS 支持所有的 TCP 效率提升模式,包括:
☆ 延遲和選擇性確認 (Delayed and Selective Acknowledgements),(RFC 2018)
☆ 顯式擁塞通知ECN, (RFC 3168)
☆ 限定與快速轉發, (RFC 3042 and RFC 2582)
☆ 緩慢啟動與擁塞避免 (Slow Start with Congestion Avoidance),(RFC 2581)
☆ 適應性初始擁塞窗口 (Adaptive Initial Congestion Windows),(RFC 3390)
☆ 時間標記與窗口比例 (TimeStamps and Windows Scaling),(RFC 1323)
☆ TCP 緩慢啟動, (RFC 3390)
☆ 帶寬延遲控制,以及更多內容 (Vegas,NewReno,…)
這些特性以及眾多其它特性,是在每種連接情形之下盡力獲得峰值性能的所有方法。與 TMOS 進行交互的每種設備,其網絡情形均不同。為了獲得針對所有連接設備的峰值性能,TMOS 必須以智能方式針對每位用戶、每種設備(以及每種設備的所有連接)的獨特需求做出響應。但它不足以支持一個或兩個高級 TCP 優化。也不能用它開發您自已的優化,以及現場優化您的產品。在一個對延遲進行了優化的實時操作系統當中,完整的 TCP 優化、昂貴的真實測試,以及定制擴展,均是獲得理想性能之不可或缺因素。所有上述問題均獲得解決,就能取得明顯的現實益處,這正是 F5 Networks 公司針對 TMOS 架構所進行的努力。
快速應用代理
TMOS 的快速應用代理組件——全代理棧,彰顯了 TMOS 的另一項關鍵特性。由于 TMOS 具備上述出色特性,因此自面世以后,它就能提供比以往任何解決方案更多的加速與優化特性。通常,檢查或智能邏輯源于速度方面的成本,自然,每個連接就被賦予了更多工作,從而系統可以對更少的連接進行處理。快速應用代理的獨特之處在于,通過透明地充分利用硬件功能,輔之以定制高性能實時操作系統 (TMOS),就能真正獲得無可比擬的性能,同時還可提供真實全代理設計之益處。此外,快速應用代理還能為應用流提供必要的用于部署其它 TMOS 模塊的主機,包括:
☆ HTTP 壓縮
☆ 多點存儲緩存
☆ SSL 加速
☆ 快速緩存
☆ 內容池 (Content Spooling)
☆ 智能壓縮
☆ QoS/ToS
☆ 第 7 層帶寬調整
所有上述模塊已經融為了一體。TMOS 架構支持快速應用代理提供智能與性能兩種特性;通過 TMOS 架構,快速應用代理支持智能化地使用其它大量軟硬件模塊,這將有助于提供更出色的性能。
iRules
iRules 是 TMOS 中最獨特的一項能力。iRules 是由標準工具命令語言 (TCL) 創建的一種腳本語言,并配有定制 F5 擴展,借助 iRule,用戶就能創建可從 TMOS 事件觸發的獨特函數。然而,這套規則本身卻很容易創建和理解,該模塊能夠將這些規則編譯成字節碼,并通過定制編寫的、經過高度優化的函數調用(位于 TMOS 的核心)來實際執行一些操作(如:讀寫 HTTP cookie)。這兩項關鍵技術組合意味著,簡單易用的 TCL 規則就能成高性能的字節碼,由于這種程序本質上借助 TMOS 來完成實際檢查與執行,因此其速度非常快。
由于 TMOS 剛剛發布,因此,F5 客戶發現他們有數百種方式來充分利用 TMOS 中 iRule 引擎中的強大功能。例如:
☆ DNS 帶寬限定。
☆ 部署 SMTP 代理以檢查并發送單個消息。
☆ 對 HTTP cookie 進行重新排序,以便更加輕松地解析后端系統。
☆ 采用 HTTP cookie 中存儲的證書,通過后端 RADIUS 服務器,對用戶連接進行認證。
☆ 部署簡單 LDAP 解析器,以檢查 LDAP bind() 請求的參數。
☆ 有所選擇地對后端服務器使用 SSL 再加密功能,僅針對特定 HTTP URL 來進行。有所選擇地基于 HTTP URI 要求 SSL 客戶證書。
☆ 創建并插入定制會話 ID 值至 HTTP 請求,服務器在響應時將回傳,之后檢查響應并驗證其是否與請求匹配。若不匹配,將全部會話信息和最后 100 個請求記入日志。
☆ CORBA/IIOP 請求分路分解處理。
如同 F5 的產品一樣,通過其檢查特性集來部署這類高度復雜的邏輯,可謂絕無僅有、僅此一家。正是輕松易用的 iRule技術,通過充分利用 TMOS 架構無可比所擬的靈活性、以及其基于事件的架構,實現了上述功能。 此外,我們不能將這種屬性直接歸因于 TMOS,iRule 以及 iRule 開發產品,已逐步擴充了其開發社區,如今全球已超過 10,000 位會員 (devcentral.f5.com)。
當 TCP Express、快速應用代理,以及 iRule 成為唯一三個 TMOS 中的獨特與高度優化組件時,它們為我們展示了這樣一件事實,即,TMOS 將不會停留在一個全新的先進架構之上,它還將包括一些一流的組件,從而使這一架構更為鮮活、更具生命力。
TOS 不可能包辦所有事項
正像您看到的那樣,報文到報文設計的開發源于需要提供應用交付網絡裝置,它能夠提供出色的性能以及智能特性,但與基于代理的解決方案相比,智能性不足。此類設備滿足用戶網絡需求的黃金時代已經一去不返,多數廠商現在又回到了原點;他們既要提供全代理解決方案的智能特性,又要滿足當今用戶網絡更加強勁的性能需求。選擇基于分組的架構,已被證實是一種短視行為。
F5 Networks 公司很早就意識到,解決方案只有基于代理架構進行設計,才能既提供性能益處,又具備出色的靈活性,從而在未來發展的道路上所向披靡、長期發展。由于上述原因,通過全力開發并投入資金,TMOS 應運而生。TMOS 是首款完全基于特定目的構建的、模塊化、獨立式、事件驅動代理型實時架構,能夠透明地單方面利用軟硬件,獲得最佳性能與智能特性。此外,TMOS 遠非一套革命性的架構,它還為構建于該架構之上的所有組件制訂了一套全新標準。從 TCP Express 推出伊始,它就能確保以最高效的網絡級連接速率連接至客戶端和服務器;到快速應用代理推出,它能夠提供性能與智能兩項特性;而到了 iRule的推出之時,已能對所有這些功能、所有的應用加速,以及所有可用的安全性和可用性組件,進行完全控制和定制,TMOS 完全是您貼心的唯一應用交付網絡解決方案。機遇千載難逢,別再猶豫,TMOS 會是您的正確選擇。