思博倫通信
思博倫技術(shù)專欄
您的測(cè)試是否適應(yīng)真實(shí)的世界
——為什么真實(shí)的測(cè)試需要的是仿真,而不僅僅是對(duì)4~7層的模擬
思博倫通信
編者按:在缺少真正的安全和性能測(cè)試時(shí),我們看到的往往是終端用戶的不滿、產(chǎn)品開(kāi)發(fā)或服務(wù)交付中的延誤、收入損失,以及其它財(cái)務(wù)方面的賠償,例如巨額的罰金等。真實(shí)且恰當(dāng)?shù)臏y(cè)試可以幫助您在網(wǎng)絡(luò)和運(yùn)營(yíng)中避免這些類型的重大風(fēng)險(xiǎn),更重要的是,可以避免您的聲譽(yù)遭受日益嚴(yán)重的損害。思博倫通信的《您的測(cè)試是否適應(yīng)真實(shí)的世界》一文對(duì)為什么真實(shí)的測(cè)試需要的是仿真,而不僅僅是對(duì)4~7層的模擬進(jìn)行了詳細(xì)的分析和研究。為了樹(shù)立對(duì)系統(tǒng)的信心,需要使用真實(shí)的測(cè)試場(chǎng)景對(duì)其進(jìn)行連續(xù)的測(cè)試和監(jiān)視,這就需要使用仿真而不是使用模擬的場(chǎng)景,因?yàn)楹笳咧荒茏龅叫嗡疲鵁o(wú)法復(fù)制出真實(shí)的現(xiàn)實(shí)環(huán)境。
如今的世界,永遠(yuǎn)在線,永遠(yuǎn)聯(lián)網(wǎng),我們也都期待能享有安全、無(wú)縫且無(wú)拘無(wú)束的在線體驗(yàn)。在許多情況下,必須遵守一致性要求和服務(wù)水平協(xié)議,才能滿足和/或超越這些期待。然而,在缺少真正的安全和性能測(cè)試時(shí),我們看到的往往是終端用戶的不滿、產(chǎn)品開(kāi)發(fā)或服務(wù)交付中的延誤、收入損失,以及其它財(cái)務(wù)方面的賠償,例如巨額的罰金等。真實(shí)且恰當(dāng)?shù)臏y(cè)試可以幫助您在網(wǎng)絡(luò)和運(yùn)營(yíng)中避免這些類型的重大風(fēng)險(xiǎn),更重要的是,可以避免您的聲譽(yù)遭受日益嚴(yán)重的損害。
利用可支持最高水平真實(shí)性的測(cè)試設(shè)備,您將能夠確保通過(guò)真實(shí)的測(cè)試來(lái)充分實(shí)現(xiàn)預(yù)期的性能、可用性和擴(kuò)展能力水平。正因如此,要想在測(cè)試中實(shí)現(xiàn)應(yīng)有的真實(shí)性,最關(guān)鍵的就是選擇能夠仿真的測(cè)試解決方案,而不僅僅是具備模擬的能力。
在反映真實(shí)世界的測(cè)試中,最重要的是仿真出整個(gè)網(wǎng)絡(luò),而不僅僅是單個(gè)交換機(jī)和路由器。這一過(guò)程中包含與服務(wù)質(zhì)量(QoS)相關(guān)的各種控制變量,例如時(shí)延和包丟失等。4~7層的真實(shí)網(wǎng)絡(luò)測(cè)試還要涉及到對(duì)TCP/IP棧和IPSec等安全協(xié)議的各種行為的仿真。這類測(cè)試還包括與體驗(yàn)質(zhì)量(QoE)相關(guān)的各種控制變量,例如響應(yīng)時(shí)間和視頻質(zhì)量等。
紙面上看起來(lái),測(cè)試解決方案常常十分相似。要確保找到正確的測(cè)試解決方案,您可以在做出最后的選擇之前考慮對(duì)它們進(jìn)行一次實(shí)戰(zhàn)或深度試用。通過(guò)這種前瞻且連續(xù)的方法,可以讓您的聯(lián)網(wǎng)產(chǎn)品和服務(wù)經(jīng)受攻擊的考驗(yàn)并得到強(qiáng)化,也只有這樣您才能為意外情況做好計(jì)劃,并確保您的測(cè)試確實(shí)適合您所在環(huán)境的獨(dú)特要求。
測(cè)試設(shè)備應(yīng)當(dāng)能夠?qū)崿F(xiàn)完整TCP/IP棧上的流量生成,包括4~7層,以及第2層在內(nèi)。由于各機(jī)構(gòu)都在網(wǎng)絡(luò)的建設(shè)和防護(hù)方面投入了巨大的資源,因此要想維持整個(gè)運(yùn)營(yíng)和基礎(chǔ)設(shè)施的完整性和連續(xù)性,性能和安全測(cè)試就具有至關(guān)重要的意義。
為確保有能力應(yīng)對(duì)持續(xù)增加的流量負(fù)載,有些客戶可能會(huì)超量采購(gòu)并/或超量供應(yīng)硬件和軟件,希望以此來(lái)確保運(yùn)營(yíng)的安全穩(wěn)妥。如果能夠在正確的測(cè)試解決方案中進(jìn)行恰當(dāng)?shù)耐顿Y,就可以避免超量供應(yīng)所帶來(lái)的過(guò)度支出。
要想真正地測(cè)試有狀態(tài)應(yīng)用感知安全設(shè)備,真實(shí)性必不可少。有效的測(cè)試還需要另外一個(gè)重要的組成部分:適合的測(cè)試解決方案。這一過(guò)程中的挑戰(zhàn)在于,要選擇可實(shí)現(xiàn)最高水平測(cè)試真實(shí)性的測(cè)試解決方案,而這也是產(chǎn)生有意義測(cè)試結(jié)果所不可或缺的。
目前,市面上有多種不同的類型測(cè)試解決方案,包括免費(fèi)軟件、自研解決方案以及商用解決方案選項(xiàng)。在網(wǎng)絡(luò)測(cè)試這個(gè)紛繁復(fù)雜的世界中,每種類型的解決方案都有其位置。但如果需要的是讓人充滿信心的結(jié)果,測(cè)試必須根植于特有的測(cè)試需求和環(huán)境。測(cè)試應(yīng)生成真實(shí)的有狀態(tài)終端用戶流量,否則那種避重就輕且流于表面的測(cè)試(缺少適當(dāng)?shù)谋粶y(cè)負(fù)載)或許只會(huì)創(chuàng)造出一種虛假的安全感。
●驗(yàn)證網(wǎng)絡(luò)設(shè)備,發(fā)現(xiàn)性能極限。
●通過(guò)概念驗(yàn)證(PoC)對(duì)網(wǎng)絡(luò)設(shè)計(jì)和升級(jí)執(zhí)行盡職審查。
●根據(jù)要求的變化,規(guī)劃出擴(kuò)展和增長(zhǎng)的空間,為網(wǎng)絡(luò)資源的恰當(dāng)供應(yīng)提供支持。
●確認(rèn)自己所測(cè)試的是網(wǎng)絡(luò)所具備的真實(shí)行為。
●執(zhí)行生產(chǎn)前和生產(chǎn)過(guò)程中的測(cè)試,對(duì)現(xiàn)實(shí)系統(tǒng)的行為建立信心。
●了解生產(chǎn)流量的模式,以及如何對(duì)其進(jìn)行測(cè)試。
●確保安全解決方案能夠在負(fù)載下經(jīng)受住考驗(yàn)。
測(cè)試仿真和測(cè)試模擬通常是兩個(gè)可以互換使用的概念。然而,兩者并不是一回事。測(cè)試仿真指的是模仿、復(fù)制或重現(xiàn)具體的場(chǎng)景,從而重新創(chuàng)造出某個(gè)時(shí)間點(diǎn)的快照。而測(cè)試模擬是一種對(duì)網(wǎng)絡(luò)場(chǎng)景的編造,其目標(biāo)是與某個(gè)場(chǎng)景相似,且如果不仔細(xì)評(píng)價(jià)的話只要說(shuō)得過(guò)去或經(jīng)得起推敲即可。盡管兩者之間存在一種微妙的相似性,但要想確保真實(shí)的測(cè)試,兩者的區(qū)別至關(guān)重要。
要想更好地理解兩者的異同,可參考如下的例子:
●測(cè)試仿真:該解決方案的仿真能力可以生成合法且真實(shí)的負(fù)載。利用這種方式,可以對(duì)目標(biāo)系統(tǒng)的額外特性和能力加以測(cè)試。仿真還可以驅(qū)動(dòng)一些間接行為,例如向目標(biāo)系統(tǒng)的CPU發(fā)出更高的需求。這是一層非常重要的真實(shí)性,尤其是在運(yùn)行性能或擴(kuò)展能力測(cè)試時(shí)。
●測(cè)試模擬:該測(cè)試解決方案的模擬能力可以生成多種TCP/IP流量,但無(wú)法提供有意義的負(fù)載。這樣不僅無(wú)法讓目標(biāo)系統(tǒng)處理負(fù)載,還無(wú)法針對(duì)那些對(duì)應(yīng)的特性和能力施加考驗(yàn),因?yàn)橹挥姓鎸?shí)的負(fù)載才能做到這一點(diǎn)。在考慮4~7層更加詳細(xì)的真實(shí)測(cè)試場(chǎng)景時(shí),仿真的優(yōu)點(diǎn)會(huì)變得愈發(fā)明顯。
正如以上例子所示,測(cè)試仿真比模擬更有價(jià)值。與此同時(shí),由于以下幾個(gè)原因,仿真的重要性也在不斷提高:
——設(shè)備更加智能化。從防火墻、負(fù)載均衡器,到交換機(jī)和路由器的各類網(wǎng)絡(luò)設(shè)備都具備了越來(lái)越復(fù)雜的邏輯和狀態(tài)管理。仿真是生成多種不同設(shè)備狀態(tài),并對(duì)相關(guān)邏輯進(jìn)行考驗(yàn)的唯一辦法。
——OSI模型中的真實(shí)負(fù)載需求。例如,為了測(cè)試支持深層包檢查(DPI)的設(shè)備,必須在OSI模型的所有層使用真實(shí)的負(fù)載。恰當(dāng)?shù)姆抡孢€必須確保在測(cè)試系統(tǒng)與被測(cè)系統(tǒng)(SUT)之間交換正確的流量序列。
——設(shè)備正承擔(dān)著多種角色。隨著設(shè)備功能的增多,設(shè)備上的某項(xiàng)活動(dòng)對(duì)同一設(shè)備上其它活動(dòng)產(chǎn)生影響的可能性也變得更大。例如,通常運(yùn)行虛擬交換機(jī)的服務(wù)器也在運(yùn)行其它應(yīng)用。這樣就會(huì)形成多種應(yīng)用對(duì)CPU等共享資源的競(jìng)爭(zhēng)。仿真可以實(shí)現(xiàn)對(duì)這些間接影響的測(cè)試,例如虛擬交換機(jī)產(chǎn)生更大的CPU消費(fèi)等。
——停機(jī)、服務(wù)中斷和故障帶來(lái)的成本正在不斷提高。生產(chǎn)網(wǎng)絡(luò)中存在的單個(gè)問(wèn)題可能會(huì)造成多個(gè)類別中的成本增加,包括對(duì)業(yè)務(wù)的干擾、丟失的收入、終端用戶生產(chǎn)力、IT生產(chǎn)力以及探測(cè)和恢復(fù)的相關(guān)成本等。然而,如果無(wú)法實(shí)現(xiàn)真實(shí)的仿真測(cè)試,實(shí)驗(yàn)室中“似乎能用”的東西可能會(huì)在現(xiàn)實(shí)世界中遭遇慘敗。
在考慮4~7層更加詳細(xì)的真實(shí)測(cè)試場(chǎng)景時(shí),仿真的優(yōu)點(diǎn)會(huì)變得愈發(fā)明顯。
目前,4~7層出現(xiàn)了越來(lái)越多的復(fù)雜精密的高性能安全和應(yīng)用感知設(shè)備。這一因素與其它因素結(jié)合在一起,對(duì)測(cè)試設(shè)備的網(wǎng)絡(luò)仿真能力的復(fù)雜性提出了更高的要求。如果4~7層設(shè)備沒(méi)有經(jīng)過(guò)適當(dāng)?shù)臏y(cè)試,它們將會(huì)在生產(chǎn)網(wǎng)絡(luò)中面臨更高的故障風(fēng)險(xiǎn)。這些設(shè)備出現(xiàn)的故障可能讓網(wǎng)絡(luò)在威脅面前大門洞開(kāi),而無(wú)法抵御其本應(yīng)對(duì)抗的各種威脅。
真實(shí)的流量對(duì)于DPI和內(nèi)容感知設(shè)備也具有至關(guān)重要的意義。在這方面的要求涉及到了多種應(yīng)用協(xié)議和流量。盡管HTTP是一種常用的協(xié)議,但必須意識(shí)到,強(qiáng)健的4~7層測(cè)試解決方案所應(yīng)支持的遠(yuǎn)不止HTTP。例如,此類解決方案也應(yīng)支持SSL和IPSec流量,因?yàn)橛辛怂鼈儾拍芨玫胤从吵霈F(xiàn)實(shí)世界的真實(shí)情況。
由于最重要的網(wǎng)絡(luò)流量往往都是經(jīng)過(guò)加密的,要實(shí)現(xiàn)恰當(dāng)?shù)木W(wǎng)絡(luò)仿真,就要求測(cè)試設(shè)備能夠生成加密的數(shù)據(jù)交換。此外,SSL和IPSec的終結(jié)設(shè)備傳統(tǒng)上都只具備較低的性能,因?yàn)樗鼈兊倪\(yùn)行都是CPU密集型的。如果您的業(yè)務(wù)要用到安全通信,就應(yīng)當(dāng)以盡可能接近設(shè)備實(shí)際使用的方式對(duì)其進(jìn)行測(cè)試。
不同的機(jī)構(gòu)擁有不同類型的應(yīng)用,包括各類定制應(yīng)用在內(nèi)。因此,測(cè)試解決方案必須提供一系列的機(jī)制,能夠驅(qū)動(dòng)與這些應(yīng)用相關(guān)的所有不同流量,當(dāng)然也包括定制應(yīng)用。有些測(cè)試解決方案的能力范圍僅限于簡(jiǎn)單的流量捕捉和回放,而不具備驅(qū)動(dòng)有狀態(tài)應(yīng)用交換的能力。為了恰當(dāng)?shù)胤抡娉龆ㄖ茟?yīng)用流量,測(cè)試工程師需要使用可創(chuàng)建相同定制流量剖面,并在極端規(guī)模下驅(qū)動(dòng)這些流量的能力。
在性能方面,業(yè)界關(guān)注的焦點(diǎn)已經(jīng)從2、3層的服務(wù)質(zhì)量(QoS)轉(zhuǎn)向了4~7層的體驗(yàn)質(zhì)量(QoE)。這是一項(xiàng)非常重要的區(qū)別,因?yàn)榫W(wǎng)絡(luò)提供的高性能并不總是等同于較高的客戶體驗(yàn),而高性能和糟糕客戶體驗(yàn)的事情常常會(huì)同時(shí)出現(xiàn)。僅憑IP流量的時(shí)延大小并不能確定終端用戶的體驗(yàn)到底如何。
要想準(zhǔn)確地測(cè)試體驗(yàn)質(zhì)量(QoE),測(cè)試設(shè)備需要具備生成真實(shí)終端用戶流量的能力。在這種情況下,測(cè)試流量必須反映出終端用戶主觀感受中的各種變化,包括顯性和隱性的變化。為實(shí)現(xiàn)這一目標(biāo),測(cè)試工程師應(yīng)當(dāng)有能力對(duì)響應(yīng)時(shí)間、語(yǔ)音質(zhì)量和視頻質(zhì)量等變量進(jìn)行控制和調(diào)節(jié)。
找到正確的測(cè)試設(shè)備可能是一項(xiàng)巨大的挑戰(zhàn),尤其是當(dāng)“模擬”被錯(cuò)誤地表達(dá)為“仿真”時(shí)。如果某種設(shè)備將自己描述為“支持仿真”,千萬(wàn)不要選擇該設(shè)備。應(yīng)當(dāng)進(jìn)行更深入地探究,確認(rèn)該設(shè)備確實(shí)可以精確地復(fù)制網(wǎng)絡(luò)中最重要的應(yīng)用、設(shè)備和協(xié)議的內(nèi)部和外部行為。仿真所具有的深度、廣度和真實(shí)度才是實(shí)現(xiàn)精確測(cè)試過(guò)程中的最重要的因素。
復(fù)雜、精密的測(cè)試仿真意味著根據(jù)有狀態(tài)的互動(dòng)來(lái)復(fù)制出設(shè)備之間真切的行為和流量。如果有狀態(tài)設(shè)備收到的只是隨機(jī)流量和其中包含的傻瓜負(fù)載,那么真實(shí)性將無(wú)從談起。這些流量必須自始至終承載著包含特定意義的對(duì)話內(nèi)容。
要實(shí)現(xiàn)真實(shí)性,測(cè)試解決方案必備的最重要組成部分之一,就是允許工程師控制棧中諸多變量和域的定制TCP/IP棧。不幸的是,有些解決方案只是呆在操作系統(tǒng)之上,并調(diào)用Socket的API。雖然多種TCP/IP流量都可以使用這些Socket來(lái)發(fā)送,但精細(xì)的控制卻蕩然無(wú)存。相比之下,如果能夠直接訪問(wèn)TCP/IP棧中的任意層,則可以有效控制畸形包、丟失包以及重傳等特性。
易用性和靈活的用戶選項(xiàng)則是另外一項(xiàng)重要的選擇標(biāo)準(zhǔn)。雖然測(cè)試解決方案需要具備強(qiáng)大的測(cè)試選項(xiàng),但測(cè)試團(tuán)隊(duì)的職責(zé)和經(jīng)驗(yàn)水平也是存在差異的。因此,測(cè)試解決方案需要具備供應(yīng)可視性的靈活能力,同時(shí)還應(yīng)提供一個(gè)直觀的用戶界面,讓所有的用戶都能根據(jù)自己的職責(zé)靈活地加以應(yīng)用。
在今天的應(yīng)用感知世界中,消費(fèi)者對(duì)體驗(yàn)質(zhì)量(QoE)和服務(wù)質(zhì)量(QoS)的期待越來(lái)越高。隨需解決方案也必須變得更快、更安全。如果無(wú)法滿足消費(fèi)者的期望,則可能對(duì)業(yè)務(wù)帶來(lái)嚴(yán)重的不良效應(yīng)。服務(wù)的中斷不僅會(huì)對(duì)業(yè)務(wù)造成直接影響,而且會(huì)讓客戶對(duì)業(yè)務(wù)失去信心,進(jìn)而影響其長(zhǎng)期的購(gòu)買模式。
為了樹(shù)立對(duì)系統(tǒng)的信心,需要使用真實(shí)的測(cè)試場(chǎng)景地其進(jìn)行連續(xù)的測(cè)試和監(jiān)視。這就需要使用仿真而不是使用模擬的場(chǎng)景,因?yàn)楹笳咧荒茏龅叫嗡?,而無(wú)法復(fù)制出真實(shí)的現(xiàn)實(shí)環(huán)境。