防火墻產(chǎn)品性能評估測試方法
隨著信息安全要求越來越高,防火墻成為必不可少的網(wǎng)絡(luò)元素。但防火墻設(shè)備在網(wǎng)絡(luò)中的主要作用不是報(bào)文轉(zhuǎn)發(fā),而是進(jìn)行報(bào)文檢測和訪問控制,防火墻的存在必然會對安全用戶正常使用網(wǎng)絡(luò)帶來一定影響。因此在滿足安全功能的前提下,選擇一款高性能、滿足網(wǎng)絡(luò)要求、符合預(yù)算的產(chǎn)品是非常重要的。
防火墻性能描述指標(biāo)
衡量防火墻的性能指標(biāo)主要包括吞吐量、報(bào)文轉(zhuǎn)發(fā)率、最大并發(fā)連接數(shù)、每秒新建連接數(shù)、轉(zhuǎn)發(fā)時(shí)延、抖動(dòng)等。
圖1 防火墻主要性能指標(biāo)
l 防火墻吞吐量是指在沒有幀丟失的情況下,設(shè)備能夠接受的最大速率。其測試方法是:在測試中以一定速率發(fā)送一定數(shù)量的幀,并計(jì)算待測設(shè)備傳輸?shù)膸?,如果發(fā)送的幀與接收的幀數(shù)量相等,那么就將發(fā)送速率提高并重新測試;如果接收幀少于發(fā)送幀則降低發(fā)送速率重新測試,直至滿足沒有幀丟失時(shí)的最大發(fā)送速率,得出最終結(jié)果。吞吐量測試結(jié)果以比特/秒或字節(jié)/秒表示。
l 防火墻TCP并發(fā)連接數(shù)是指穿過被測設(shè)備的主機(jī)之間或主機(jī)與被測設(shè)備之間能夠同時(shí)維持的最大TCP聯(lián)接總數(shù)。防火墻TCP并發(fā)連接數(shù)的測試采用一種反復(fù)搜索機(jī)制進(jìn)行,在每次反復(fù)過程中,以低于被測設(shè)備所能承受的連接速率發(fā)送不同數(shù)量的并發(fā)連接,直至得出被測設(shè)備的最大TCP并發(fā)連接數(shù)。
l 防火墻最大TCP連接建立速率是指在被測設(shè)備能夠成功建立所有請求連接的條件下,所能承受的最大TCP連接建立速度。其測試采用反復(fù)搜索過程,每次反復(fù)過程中,以低于被測設(shè)備所能承受的最大并發(fā)連接數(shù)發(fā)起速率不同的TCP連接請求,直到得到所有連接被成功建立的最大速率。最大TCP連接建立速率以連接數(shù)/ 秒表示。
防火墻性能測試方法
對一款防火墻產(chǎn)品進(jìn)行性能評估,分為兩個(gè)步驟。首先要進(jìn)行防火墻基線性能測試,其次是進(jìn)行模擬實(shí)際應(yīng)用環(huán)境下的性能測試。
基線性能是防火墻在理想狀態(tài)下表現(xiàn)出來的性能指標(biāo),具有測試結(jié)果比較穩(wěn)定、流量模型可控的優(yōu)點(diǎn)。但是在實(shí)際應(yīng)用中,往往達(dá)不到防火墻產(chǎn)品實(shí)際標(biāo)稱的基線性能。原因是實(shí)際應(yīng)用中經(jīng)過防火墻的流量要比測試基線性能時(shí)的流量復(fù)雜得多,因此評估防火墻性能時(shí),不僅需要對基線性能進(jìn)行評估,更重要的是模擬實(shí)際應(yīng)用環(huán)境進(jìn)行評估。
1. 基線性能指標(biāo)測試
1) 吞吐量評估
防火墻的吞吐量實(shí)際上是一個(gè)靜態(tài)指標(biāo),反映在理想情況下設(shè)備的轉(zhuǎn)發(fā)能力。在實(shí)際應(yīng)用中吞吐量這個(gè)指標(biāo)一般是達(dá)不到的,而且對于用戶而言,實(shí)際感受到的是他的應(yīng)用處理能力,因此單純的吞吐量指標(biāo)不能說明防火墻的轉(zhuǎn)發(fā)性能。
一般情況下,防火墻的轉(zhuǎn)發(fā)性能可以用throughput和goodput兩個(gè)指標(biāo)來衡量。而對于防火墻設(shè)備來說,goodput這個(gè)指標(biāo)比throughput更具有實(shí)際意義。因此在測試防火墻吞吐量時(shí),更多采用goodput指標(biāo)。
goodput 有時(shí)候也叫應(yīng)用層的吞吐量。在一定連接新建和并發(fā)的情況下,單個(gè)報(bào)文的應(yīng)用層數(shù)據(jù)承載量很大程度決定了應(yīng)用層報(bào)文轉(zhuǎn)發(fā)的能力。所以測試防火墻轉(zhuǎn)發(fā)性能時(shí),需要明確測試載荷的大小。為了測試得到較全面的吞吐量性能數(shù)據(jù),需要測試在不同載荷大小情況下的轉(zhuǎn)發(fā)性能。
在進(jìn)行吞吐量基線測試中,一般以HTTP作為應(yīng)用層協(xié)議,為了得到最理想的測試效果,通過會選擇HTTP1.1,每個(gè)TCP連接處理盡量多的HTTP事務(wù)(transaction),并且將HTTP載荷設(shè)置較大。圖2是使用IxLoad設(shè)置的例子。
圖2 IxLoad設(shè)置
2) 連接數(shù)評估
連接在狀態(tài)防火墻中是一個(gè)很重要的概念,與連接相關(guān)的性能指標(biāo)對評估防火墻非常重要。這些指標(biāo)包括并發(fā)連接數(shù)、新建連接速率。
l 并發(fā)連接數(shù)的測試
并發(fā)連接是一個(gè)很重要的指標(biāo),它主要反映了被測設(shè)備維持多個(gè)會話的能力。關(guān)于此指標(biāo)的爭論也有很多。一般來說,它是和測試條件緊密聯(lián)系的,但是這方面的考慮有時(shí)會被人們忽略。比如,測試時(shí)采用的傳輸文件大小就會對測試結(jié)果有影響。例如,如果在傳輸中應(yīng)用層流量很大的話, 被測設(shè)備將會占用很大的系統(tǒng)資源去處理包檢查,導(dǎo)致無法處理新請求的連接,引起測試結(jié)果偏小;反之測試結(jié)果會大一些。所以沒有測試條件而只談并發(fā)連接數(shù)是難以定斷的。從宏觀上來看,這個(gè)測試的最終目的是比較不同設(shè)備的“資源”,也就是說處理器資源和存儲資源的綜合表現(xiàn)。
目前市場上出現(xiàn)了大家盲目攀比并發(fā)連接數(shù)的情況。事實(shí)上,并發(fā)幾十萬的連接數(shù)應(yīng)該完全可以滿足一個(gè)電信級數(shù)據(jù)中心的網(wǎng)絡(luò)服務(wù)需求了,對于一般的企業(yè)來講, 甚至幾千個(gè)并發(fā)連接數(shù)還綽綽有余。并發(fā)連接總數(shù)能由儀表自動(dòng)測試得出結(jié)果,減少了測試所用的時(shí)間和人力,這類儀表目前很多,常見的有Spirent的 Avalanche、IXIA的IxLoad以及BPS等。
l 新建連接速率
這個(gè)指標(biāo)主要體現(xiàn)了被測設(shè)備對于連接請求的實(shí)時(shí)反應(yīng)能力。對于中小用戶來講,這個(gè)指標(biāo)顯得更為重要??梢栽O(shè)想一下,當(dāng)被測設(shè)備可以更快的處理連接請求,而且可以更快傳輸數(shù)據(jù)的話,網(wǎng)絡(luò)中的并發(fā)連接數(shù)就會傾向于偏小,從而設(shè)備壓力也會減小,用戶感受到的防火墻性能也就越好。Avalanche、IXLOAD以及BPS等測試工具都可以測試新建連接速率,幫助使用者搜索到被測設(shè)備能夠處理的峰值,測試原理基本都是相同的。
2. 模擬真實(shí)應(yīng)用環(huán)境進(jìn)行性能指標(biāo)測試
如果能夠100%模擬用戶的實(shí)際應(yīng)用環(huán)境對防火墻性能進(jìn)行測試,那么防火墻選型這類活動(dòng)將變得非常簡單,而且防火墻性能指標(biāo)將變得更加有意義。但是模擬真實(shí)應(yīng)用環(huán)境并不是簡單的事情。主要是因?yàn)橛脩舡h(huán)境的復(fù)雜性和多變性導(dǎo)致真實(shí)環(huán)境的模擬幾乎不可能實(shí)現(xiàn)。這里討論的模擬真實(shí)應(yīng)用環(huán)境測試,只是將用戶環(huán)境進(jìn)行抽象,使得模擬環(huán)境在滿足測試條件的情況下最大限度的貼近真實(shí)應(yīng)用環(huán)境。
1) 多應(yīng)用協(xié)議吞吐量測試
前面提到goodput是衡量防火墻吞吐量的重要指標(biāo),基線測試中,一般采用HTTP協(xié)議作為應(yīng)用層協(xié)議進(jìn)行測試。而在實(shí)際應(yīng)用環(huán)境中,應(yīng)用層的流量并不是純粹的HTTP,還有其他協(xié)議。如果用HTTP協(xié)議代替其他應(yīng)用層協(xié)議測試應(yīng)用層吞吐量,顯然是不合適的。因此需要針對不同的應(yīng)用場景,設(shè)計(jì)典型的應(yīng)用層流量分布模型,按照不同的比例分配帶寬。如圖3所示,是一個(gè)典型的某場景應(yīng)用帶寬分布。
圖3 典型應(yīng)用帶寬分布
模擬多協(xié)議測試,需要測試工具支持模擬多協(xié)議流量混合功能,并且能夠做基于協(xié)議的測試結(jié)果分析。包括不同協(xié)議的吞吐量、轉(zhuǎn)發(fā)延遲等。在多協(xié)議模擬測試中,BPS支持豐富的應(yīng)用層協(xié)議,并且具有良好的流量混合功能。
2) DDoS攻擊條件下的轉(zhuǎn)發(fā)性能測試
目前大部分防火墻常常遭到試圖闖入用戶網(wǎng)絡(luò)的黑客的攻擊。DDoS攻擊是黑客常用的攻擊手段,該攻擊使用虛假IP地址進(jìn)行攻擊并且持續(xù)不斷的更換形式。因此在模擬真實(shí)環(huán)境的測試中,將DDoS攻擊作為測試輸入條件是很有必要的。
這個(gè)測試的目的是將DDoS攻擊作為流量的一部分通過防火墻,模擬現(xiàn)實(shí)網(wǎng)絡(luò)在DDoS攻擊條件下,被測試設(shè)備轉(zhuǎn)發(fā)性能的下降程度。其中DDoS流量對于正常流量的影響,可通過變化混合的流量比例來實(shí)現(xiàn)。測試步驟如下:
l 保持DDoS流量不變(例如DDoS流量占接口帶寬的5%),改變多協(xié)議正常流量的比例關(guān)系,例如SMTP:FTP:HTTP:HTTPS以 45:15:30:10的比例混合,與DDoS攻擊流量經(jīng)過防火墻轉(zhuǎn)發(fā)后,查看測試結(jié)果,查看轉(zhuǎn)發(fā)性能與沒有DDoS攻擊流量的情況下相比變化幅度是否滿足實(shí)際需求,同時(shí)也可以測試通過防火墻的傳輸延遲是否也保持在一個(gè)可接受的水平;
l 變化DDoS流量占接口帶寬的比例(例如從3%、5%到8%),保持正常流量不變,測試轉(zhuǎn)發(fā)性能在不同DDoS攻擊強(qiáng)度下的變化情況,以及傳輸延遲在不同攻擊強(qiáng)度下的變化是否滿足實(shí)際應(yīng)用需求;
l 兩者都變化的情況,即在修改DDoS流量的同時(shí)也修改正常流量的比例,記錄不同組合情況下的轉(zhuǎn)發(fā)性能與延遲狀況。
3) 在一定負(fù)載條件下的新建連接測試
新建連接體現(xiàn)了新用戶能否快速接入網(wǎng)絡(luò)。一般理想情況下測試新建連接速率的時(shí)候都是在打開一個(gè)連接后立即關(guān)閉,這種情況下測試出來的結(jié)果一般是比較好的。但是在實(shí)際應(yīng)用場景中,情況并非如此,一般新建一個(gè)連接的時(shí)候會已經(jīng)存在一定的連接,也就是在有一定負(fù)載(并發(fā)連接)的條件下測試新建連接速率。測試步驟為:
l 首先測試出基線新建速率,也就是在沒有負(fù)載條件下的理想新建速率;
l 逐步增加負(fù)載,可以按照基線并發(fā)的百分比設(shè)定負(fù)載值,例如20%,30%,50%,70%,90%等。但是在測試的時(shí)候需要注意,在一定負(fù)載條件下測試不要超過最大并發(fā)連接數(shù),否則測試結(jié)果是不準(zhǔn)確的;
l 測試中測試時(shí)間需要根據(jù)情況確定。如果采用打開/關(guān)閉TCP連接的方式,理想情況下在設(shè)備上看到的并發(fā)連接數(shù)應(yīng)該是測試負(fù)載的大小,但是由于在一定負(fù)載條件下,設(shè)備處理連接關(guān)閉的速率會受到一定影響,導(dǎo)致并發(fā)隨著新建速率的增大而不斷增大,如果測試時(shí)間足夠長,并且處理速度較慢的話,可能導(dǎo)致并發(fā)連接數(shù)超過基線連接數(shù)限制。因此在一定負(fù)載條件下,需要測試足夠長的時(shí)間,如果新建連接總是成功的,那么說明該設(shè)備的性能比較好的。
結(jié)束語
防火墻在保障網(wǎng)絡(luò)安全的同時(shí),必然會引入一定的網(wǎng)絡(luò)性能損耗。根據(jù)實(shí)際網(wǎng)絡(luò)環(huán)境選擇一款性能合適的防火墻對于用戶來說是至關(guān)重要的。本文從防火墻評估的角度介紹了防火墻基線性能測試和模擬實(shí)際環(huán)境性能測試的一般方法。在實(shí)際防火墻評估中,還應(yīng)該根據(jù)實(shí)際應(yīng)用場景,最大限度的提取應(yīng)用的關(guān)鍵流量特征,并對流量特征進(jìn)行抽象建模,利用測試儀器對流量進(jìn)行模擬,從而得到與實(shí)際應(yīng)用較符合的性能指標(biāo)。