在現(xiàn)實(shí)網(wǎng)絡(luò)中,我們的設(shè)備或系統(tǒng)總會(huì)遇到各種稀奇古怪的問題。而這些問題中有很大一部分又無法在實(shí)驗(yàn)室中使用傳統(tǒng)儀表無法復(fù)現(xiàn)。這個(gè)時(shí)候我們就想到將現(xiàn)場出現(xiàn)問題的流量拿到實(shí)驗(yàn)室中回放,來驗(yàn)證設(shè)備或系統(tǒng)的性能和穩(wěn)定性。
同時(shí),網(wǎng)絡(luò)設(shè)備對用戶業(yè)務(wù)的識別和業(yè)務(wù)質(zhì)量保障是網(wǎng)絡(luò)管理和優(yōu)化的關(guān)鍵組成部分。這就要求網(wǎng)絡(luò)設(shè)備能夠準(zhǔn)確識別用戶業(yè)務(wù)。而網(wǎng)絡(luò)應(yīng)用種類繁多,隨著技術(shù)的發(fā)展和用戶需求的變化,新的應(yīng)用類型不斷涌現(xiàn),例如:搜索引擎、社交媒體、視頻點(diǎn)播、在線游戲等。要測試網(wǎng)絡(luò)設(shè)備對于這些應(yīng)用的識別,誠然可以將被測設(shè)備放到現(xiàn)網(wǎng)環(huán)境中,通過真實(shí)業(yè)務(wù)來測試。但弊端也很明顯:現(xiàn)網(wǎng)環(huán)境搭建復(fù)雜,不適合實(shí)驗(yàn)室大規(guī)模測試;測試需要手工操作,效率太低,無法自動(dòng)化。因此,也需要將每個(gè)種應(yīng)用流量抓包下來通過測試儀回放,從而可以在實(shí)驗(yàn)室做大規(guī)模自動(dòng)化測試。
流量回放測試是一種技術(shù)手段,它通過捕獲線上真實(shí)流量并在測試環(huán)境中重放這些流量,來驗(yàn)證系統(tǒng)的行為和性能。流量回放技術(shù)的價(jià)值在于使用線上真實(shí)流量進(jìn)行測試,這有助于更準(zhǔn)確地評估系統(tǒng)的性能和穩(wěn)定性,同時(shí)也可以減少因測試數(shù)據(jù)不準(zhǔn)確而帶來的風(fēng)險(xiǎn)。
目前在信而泰的產(chǎn)品體系中有兩種流量回放的解決方案,下面給大家一一介紹。
基于ALPS軟件平臺(tái)的流量回放方案
ALPS(Application Layer Protocol Simulator)是信而泰L47測試平臺(tái),基于BS架構(gòu)。主要有下面幾個(gè)功能模塊:Session Generator(TCP/UDP新建并發(fā)吞吐)、Application Simulator(應(yīng)用側(cè)協(xié)議新建并發(fā)吞吐)、DDoS Attack、Application Replay(應(yīng)用回放)、Security/Malware(安全攻擊/病毒非法軟件)、L2 Replay等。
ALPS可以運(yùn)行在信而泰多個(gè)硬件平臺(tái)上,例如:Bigtao,Daryu,Darpeng平臺(tái),面向不同客戶需求。
ALPS支持兩種回放:L2 Replay和Application Replay。
L2 Replay
L2 Replay正如字面意思,是基于L2的回放。選擇一個(gè)抓包文件(*.pacp),ALPS按照報(bào)文順序分別從Client和Server端口發(fā)送出來。
Application Replay應(yīng)用回放
Application Replay是識別文件中的協(xié)議交互,然后按照協(xié)議交互的順序回放。Application Replay又分為三層回放和四層回放。
三層回放,只關(guān)注文件中的IP層。分析IP的交互,將抓包第一個(gè)文件的源IP定義為Client IP,目的IP定義為Server IP。后續(xù)報(bào)文根據(jù)源IP和目的IP來決定從Client Port或Server Port發(fā)送出來。這樣就保證了回放時(shí)報(bào)文的保序。同時(shí),使用本地環(huán)境中的源IP和目的IP,替換原始抓包流量中的源IP和目的IP(端口號不變),可以模擬多個(gè)用戶同時(shí)發(fā)起業(yè)務(wù)。
四層回放,不僅要識別IP也要識別端口號。并且通過對端口號的識別應(yīng)用,并在回放流量的同時(shí)加載對應(yīng)協(xié)議棧。當(dāng)需要放大回放流數(shù)的時(shí)候,根據(jù)業(yè)務(wù)類型,做Client Port或Server Port變化。例如Sohu_News業(yè)務(wù),Server Port=443不變,Client Port變化。同時(shí),由于加載了對應(yīng)的TCP協(xié)議棧,出現(xiàn)丟包支持重傳。
同時(shí),信而泰支持多條流量多種業(yè)務(wù)類型同時(shí)回放,可以盡可能的模擬復(fù)雜現(xiàn)網(wǎng)環(huán)境。
基于X-Spider產(chǎn)品的流量回放方案
X-Spider是集成了流量采集和回放功能于一體的產(chǎn)品解決方案。
X-Spider是集流量采集,分析和回放于一身的產(chǎn)品;
a.通過交換機(jī)鏡像或者NBP設(shè)備,將流量導(dǎo)入到X-Spider設(shè)備。可以將兩個(gè)方向的流量,導(dǎo)入到X-Spider設(shè)備分別記錄,分別回放。X-Spider可以實(shí)現(xiàn)最高100G帶寬流量采集和回放。
b.支持通過關(guān)鍵字段過濾,只采集關(guān)心的流量,大大減少數(shù)據(jù)采集量。
c、在流量回放時(shí),可以選擇原速回放,也可以選擇線速回放。通過替換掉原有數(shù)據(jù)中的MAC、Vlan-id、IP、TCP/UDP端口號或自定義字段,使得數(shù)據(jù)可以再實(shí)驗(yàn)室搭建的網(wǎng)絡(luò)中運(yùn)行,支持?jǐn)?shù)十G報(bào)文回放。
X-Spider最大特點(diǎn),支持高精度采樣,支持1us 10us 100us 1000us精度采樣周期。如此高精度的采樣,可以分析出流量中的微突發(fā)。并在流量回放過程中,把這些微突發(fā)也體現(xiàn)出來,充分模擬現(xiàn)網(wǎng)環(huán)境流量的突發(fā)。
1us采樣
10us采樣