1 引言
網絡基礎設施的日益完善為各類應用服務提供了良好的承載平臺,各種接入方式(比如ADSL,Cable,光纖接入,Mobile)為用戶提供了各種接入網絡的途徑,網絡終端需要更多種類,更靈活,質量更好的應用服務。網絡應用服務種類繁多,包含傳統的標準應用,比如HTTP,FTP,DNS,Streaming等應用,更多更復雜,增長更快的是P2P應用和Messenger應用。傳統的應用可以通過儀表很好的進行測試,對于層出不窮的P2P應用和Messenger應用需要提供更靈活可擴展的方案進行仿真。
本文提供了思博倫公司Avalanche 3100對網絡應用測試的業(yè)界領先方案。
2 網絡應用測試
網絡應用測試包括對網絡應用服務器的測試和對中間網絡應用基礎架構的測試。網絡應用從協議實現方面包括傳統標準應用和五花八門的非標準(沒有具體規(guī)范)應用,如P2P和Messenger等。網絡應用測試不單單是對單應用測試,還包括流量模型的測試,流量模型是對一定時間一定周期內網絡流量的分布特征的抽象,反應各類應用在網絡中的分布情況,流量模型的測試對于網絡應用承載和檢測設備測試非常關鍵。
3 標準網絡應用測試
標準網絡應用測試主要包含基于Web的測試,DNS測試,流媒體測試,以及其他各類服務器(FTP,郵件,CIFS等)的測試。這些應用都會特定的標準對應,有具體的協議框架,承載內容會有變化,具體到實現,不同的服務器也會有特定的要求。此類應用的測試難點在于對于服務器的測試,比如基于Web的服務器,雖然應用基于HTTP,但是服務器比如Portal會對客戶端的內容有嚴格的要求,如果僅僅支持HTTP其實不能說就可以測試Portal服務器,因為儀表需要提供Portal需要的請求才能完成和Portal的交互,否則測試無法進行。對于傳統標準應用測試,下面舉Portal測試為例說明思博倫通信Avalanche 3100如何實現服務器的測試。
(1)Portal服務器測試
Portal是基于Web的認證系統(HTTP/HTTPS),主要提供個性化、單次登錄、聚集各個信息源的內容,Portal是對信息的集成技術,可以很方便的為用戶提供統一的界面和個性化的服務。
Portal雖然是基于Web的技術,登錄Portal的過程雖然簡單,但是Portal通常會提供一些會話信息給登錄客戶端,這些信息對客戶端來說是動態(tài)變化的,需要提供給Portal以表明自己的會話合法性。測試的難點在于如何提供Portal需要的動態(tài)內容以保證Portal對用戶的身份認證以及Portal通過認證對用戶的控制。對于Portal的測試,儀表需要支持比如Cookie,Session ID等才能完成和Portal的交互。通過Avalanche 3100可以完成任何和Portal動態(tài)交互的過程,以達到測試的目的。
(2)測試場景
如圖1所示,Avalanche 3100仿真登錄的客戶端,登錄Portal,登錄成功以后,點播電影《阿凡達》。
圖1 測試場景
登錄的過程需要若干動態(tài)交互的過程,比如Session ID,Cookie以及View State等。Avalanche 3100通過對動態(tài)內容的變量化來完成動態(tài)交互的目的,同時提供高性能的壓力測試。Avalanche 3100也是性能測試儀表中惟一支持與Portal動態(tài)交互的儀表。
(3)P2P和Messenger測試
目前網絡中的應用除了標準的應用外,還有幾千種甚至更多流行的其他應用,比如P2P(BitTorrent,eDonkey,Kazaa,Gnutella)和Messenger(MSN,QQ,Yahoo Messenger,Skype,GTalk)應用,同時一些研究機構或者軍方會有自己的專有協議或者定制應用。這些應用的測試是棘手的問題,主要在于這些應用不規(guī)范,不標準,種類繁多,協議變化快無法一一跟蹤,以前儀表的方法是通過對單個會話的回放來仿真這些應用,這么做的問題在于無法根據應用變化隨時進行修改,并且簡單的單用戶回放無法實現多用戶多場景多流程的變化,與現網相去較遠,并且這種回放無法對交互過程進行編輯甚至定制,所有過程千篇一律,對于DPI等測試效果很不佳。針對這種情況,Avalanche 3100提供的SAPEE(Scaleable Application Playback Emulation Environment)可以提供靈活的可擴展的方案,對所有基于TCP/UDP的非標準應用進行動態(tài)仿真,適應各類應用的版本升級和協議變化。