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