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