?
基于網(wǎng)絡系統(tǒng)可靠性的設計思想,其相應的測試應如何考慮與實施?本文對網(wǎng)絡方案可靠性測試的分類及內(nèi)容做詳細闡述。
網(wǎng)絡系統(tǒng)方案的可靠性主要包括:網(wǎng)絡系統(tǒng)的可持續(xù)性、可維護性、快速恢復機制。相應的,組網(wǎng)方案的可靠性測試,可歸納為以下幾大類:
1、網(wǎng)絡系統(tǒng)持續(xù)長時間、大壓力高負荷、高頻率震蕩條件下的持續(xù)運行能力,即Duration測試。
2、網(wǎng)絡系統(tǒng)告警管理功能、系統(tǒng)故障定位手段能力評估。
3、單點故障情況下系統(tǒng)自動恢復時間。
4、驗證鏈路聚合、MSTP、RRPP、BFD、GR、VRRP、ECMP、IRF等HA(High Availability)特性的組合部署功能,并通過調(diào)整達到最佳的組合應用效果。
5、構(gòu)造各類攻擊,從端到端對網(wǎng)絡系統(tǒng)進行攻擊。此類測試往往可以融合在Duration測試中共同完成。
1 網(wǎng)絡系統(tǒng)持續(xù)運行能力測試
網(wǎng)絡系統(tǒng)持續(xù)運行能力測試的目標是要通過更惡劣環(huán)境的測試,以確保網(wǎng)絡系統(tǒng)在客戶的網(wǎng)絡環(huán)境中上線后,在各種沖擊和壓力下,仍舊能夠保持穩(wěn)定運行。測試方法很明確:在組網(wǎng)測試環(huán)境中對運營商或者行業(yè)客戶網(wǎng)絡的控制平面和數(shù)據(jù)平面模型進行模擬,保持環(huán)境在大壓力并且震蕩的條件下持續(xù)運行,同時監(jiān)控網(wǎng)絡各個整體運行狀況作為測試結(jié)果數(shù)據(jù)。
測試參數(shù)的設計是保證測試效果的重點。其內(nèi)容主要包括以下幾部分。
1、測試組網(wǎng)設備參數(shù)。
以客戶的原始組網(wǎng)模型進行組網(wǎng)測試是最理想的環(huán)境。但是考慮成本因素,實際測試投入中往往難以搭建相對真實網(wǎng)絡1:1的測試網(wǎng)絡環(huán)境。為實現(xiàn)測試目的,充分驗證系統(tǒng)的可靠性,測試組網(wǎng)的抽象和取舍是重點。抽象簡化組網(wǎng)規(guī)模的原則是:充分分析暴露網(wǎng)絡系統(tǒng)的性能壓力瓶頸,重點保留系統(tǒng)中的瓶頸關(guān)鍵節(jié)點。
例如,針對一個接入至核心層結(jié)構(gòu)明晰的樹形網(wǎng)絡,常用的可行方案是在業(yè)務流量壓力最大的核心層采用1:1組網(wǎng)測試。樹形結(jié)構(gòu)網(wǎng)絡的核心層的設備數(shù)量較少,這也為測試環(huán)境的1:1組網(wǎng)提供了可能性。匯聚和接入層設備數(shù)量逐層遞減,接入層設備采用幾個分支模擬真實應用,其余分支使用高性能測試儀器的多個端口直接連接在匯聚層設備上模擬拓撲和流量??筛鶕?jù)被測試網(wǎng)絡的控制平明和數(shù)據(jù)平面路徑,靈活調(diào)整測試組網(wǎng)。
2、控制平面和數(shù)據(jù)平面參數(shù)。
即協(xié)議模型和流量模型。協(xié)議模型可以通過客戶的組網(wǎng)的規(guī)劃和行業(yè)抽象,得到較為明確的數(shù)據(jù)參數(shù)。由于應用系統(tǒng)與網(wǎng)絡系統(tǒng)的維護技術(shù)人員之間的業(yè)務理解往往存在壁壘,并且在網(wǎng)絡規(guī)劃設計階段,無法通過流量監(jiān)控獲取模型,所以流量模型難以準確界定,因此成為困擾組網(wǎng)方案測試的主要因素。比較有效的手段是針對行業(yè)特征進行分析,并結(jié)合以往的經(jīng)驗來設定普遍意義的參數(shù)。參數(shù)還可根據(jù)不同類型客戶的實際上線預期進行加權(quán)預估。
3、振蕩系數(shù)與方法。
針對控制平面和數(shù)據(jù)平面的振蕩是Duration測試的基本要求之一。網(wǎng)絡系統(tǒng)是一個動態(tài)的環(huán)境。來自網(wǎng)絡系統(tǒng)邊緣與出口的各類輸入輸出變化,會產(chǎn)生更大的壓力和暴露更多的瓶頸。而通過劇烈高頻度的振蕩,營造比客戶實際環(huán)境更加惡劣的網(wǎng)絡,能夠更快更充分暴露較深或者需要較長時間才能夠發(fā)現(xiàn)的缺陷。通過振蕩在測試網(wǎng)絡中掀起的狂風巨浪,會讓我們更加明確了解網(wǎng)絡系統(tǒng)的健康可靠程度。
網(wǎng)絡系統(tǒng)測試的振蕩系數(shù)常用經(jīng)驗值為30%,即加載在測試系統(tǒng)的協(xié)議表項和流量在已設定的參數(shù)基礎上,周期性上下浮動30%。并可根據(jù)需要調(diào)整以觀察不同頻率條件下的振蕩結(jié)果,例如可分別以5分鐘、10分鐘、30分鐘、1小時為一個周期。以路由條數(shù)為例,路由振蕩導致整個網(wǎng)絡系統(tǒng)中各個節(jié)點大量發(fā)布、刪除路由信息,并引發(fā)流量路徑的遷移,給予測試系統(tǒng)更大的不穩(wěn)定性壓力。實際測試時,還需要根據(jù)行業(yè)客戶應用特征網(wǎng)絡對系數(shù)進一步分析,靈活調(diào)整。例如,互聯(lián)網(wǎng)行業(yè)客戶,普遍存在搜索類業(yè)務突發(fā),對流量振蕩的要求更高。
振蕩的模擬可通過業(yè)界常用測試儀器較為方便實現(xiàn),本文不再贅述。
2 網(wǎng)絡系統(tǒng)告警管理功能、系統(tǒng)故障定位手段能力評估
網(wǎng)絡系統(tǒng)必須具備系統(tǒng)風險預警功能和便利的故障定位維護功能。
網(wǎng)管系統(tǒng)對網(wǎng)絡的實時監(jiān)控,預先告警功能主要包括網(wǎng)絡節(jié)點CPU、內(nèi)存、端口流量、端口狀態(tài)等參數(shù)的監(jiān)控告警。當占用率或者端口流量持續(xù)超過閾值,即可觸發(fā)告警,使管理員提前預知風險,進行分析維護。
系統(tǒng)故障定位手段為事后維護。一旦網(wǎng)絡系統(tǒng)產(chǎn)生故障點,網(wǎng)絡管理系統(tǒng)需記錄網(wǎng)絡切換事件,方便快速幫助管理員找到故障點,并保存故障信息和系統(tǒng)狀態(tài),便于后期缺陷復現(xiàn)定位。
維護類測試以功能測試為主,通過打入攻擊CPU的流量、制造流量擁塞等方法構(gòu)造各類預警條件,通過shutdown或者重啟設備等命令行,插拔端口、關(guān)閉電源等手段檢驗網(wǎng)絡系統(tǒng)對故障點的定位和告警信息是否完備。若設備支持可維護性測試特性,還可通過設備軟件的可維護性測試命令,構(gòu)造設備節(jié)點系統(tǒng)軟硬件故障,查看系統(tǒng)保存的故障狀態(tài)信息是否完備,以復現(xiàn)定位缺陷。
測試時,同樣需在大壓力復雜條件下執(zhí)行,以檢測告警、故障信息是否得到高優(yōu)先級處理。
3 單點故障情況下系統(tǒng)自動恢復時間
網(wǎng)絡系統(tǒng)在出現(xiàn)單點故障情況下可快速恢復是高可靠網(wǎng)絡設計的重點?;謴蜁r間的要求在各類行業(yè)和各網(wǎng)絡層有差異。目前,網(wǎng)絡系統(tǒng)平均恢復時間低于500ms已經(jīng)逐步成為主流要求。
與網(wǎng)絡切換相關(guān)的各種組網(wǎng)模型故障模擬主要包括:鏈路故障、節(jié)點設備故障、單板故障、節(jié)點設備主備倒換、主備設備倒換、設備升級等。各類故障還需進一步細分,例如節(jié)點設備故障包含:設備命令行執(zhí)行軟件重啟,設備斷電、設備上電、主備控板全部拔出/插入等等。
為精確計算各類故障導致的網(wǎng)絡中斷/恢復時間,組網(wǎng)如圖1所示,測試方法如下:
?
圖1 網(wǎng)絡系統(tǒng)恢復時間測試示意
1、基于網(wǎng)絡測試環(huán)境,接入測試儀器,將流量發(fā)生器端到端接入網(wǎng)絡系統(tǒng)。儀器端口分別連接網(wǎng)絡系統(tǒng)的接入層和出口,以保證被測流量路徑貫通整個網(wǎng)絡。
2、在測試儀器的Port A端口設定速率穩(wěn)定的流量,目的地址為Port B端口。在Port B端口設定速率穩(wěn)定的流量,目的地址為Port A端口。由于上下行路徑遷移時,上下行的路由等各類協(xié)議的熱備表項不同,涉及的協(xié)議收斂也可能不同,所以務必設定雙向流量,以檢測上行和下行流量路徑的恢復時間。
3、確保設定的上下行流量路徑通過需要模擬的故障點節(jié)點,避免測試無效。
4、啟動流量發(fā)送與接收,開始統(tǒng)計發(fā)送的流量和接收的流量。
5、模擬節(jié)點故障,網(wǎng)絡系統(tǒng)自動檢測并恢復。
6、停止發(fā)送流量。根據(jù)發(fā)送和接收的流量,計算得出系統(tǒng)流量路徑恢復時間。
公式為:Time=(發(fā)送報文數(shù)量-接收報文數(shù)量)/報文發(fā)送速率(pps)。
注意:報文發(fā)送速率以M/G為單位時,計算需考慮以太網(wǎng)報文的前導碼和幀間隙,公式為:Time=(發(fā)送報文數(shù)量-接收報文數(shù)量)*( 報文字節(jié)*8+8*8+96)/報文發(fā)送速率(M/G)。通過計算得出上下行流量路徑的恢復時間。
測試時還需注意以下細節(jié):
1、故障模擬操作方式要考慮全面。例如用命令行shutdown端口和拔掉網(wǎng)線操作導致的測試結(jié)果往往會不同;光纖的單通與通常的鏈路down表現(xiàn)也會不同等。
2、不僅要測試主設備/鏈路切換到備用,還要測試主設備/鏈路恢復正常后,網(wǎng)絡系統(tǒng)的表現(xiàn)。
3、每項測試需至少測試三次得到平均值。并對得到尖峰和低谷進行分析,需要時重復更多測試以獲取穩(wěn)定數(shù)據(jù)。
4、始終關(guān)注測試流量路徑是否經(jīng)過故障節(jié)點,是否按照預期切換,保證測試結(jié)果的準確性。
4 驗證HA(High Availability)特性的組合部署功能
網(wǎng)絡系統(tǒng)中的協(xié)議配置對系統(tǒng)的穩(wěn)定性、負荷和恢復時間有重大影響。例如對OSPF的hello time設置過小,會加重網(wǎng)絡中控制平面處理負擔,并容易產(chǎn)生路由振蕩。但是過大也會導致故障時系統(tǒng)恢復時間無法達到要求。因此在測試中可根據(jù)不同網(wǎng)絡的要求,取得一個性價比最高的平衡。
當各類為保證網(wǎng)絡系統(tǒng)高可靠運行的協(xié)議在一個網(wǎng)絡系統(tǒng)中應用時,就使這種組合更加復雜,這些特性包括鏈路聚合、MSTP、RRPP、BFD、GR、VRRP、ECMP、IRF等。
因此,測試不僅僅需要驗證這些特性是否在發(fā)揮作用,同時測試過程也是一個網(wǎng)絡參數(shù)調(diào)優(yōu)過程。在測試中通過不斷調(diào)整協(xié)議配置參數(shù),以獲取網(wǎng)絡系統(tǒng)可靠性最佳配置。這個調(diào)優(yōu)過程既要計算獲取網(wǎng)絡故障恢復時間,又要監(jiān)控網(wǎng)絡系統(tǒng)各個節(jié)點的運行狀況。例如在滿足網(wǎng)絡恢復時間要求基礎上,監(jiān)控參數(shù)配置會影響的CPU占用率、內(nèi)存是否正常,Console是否能響應,轉(zhuǎn)發(fā)是否正常,OSPF收斂及路由變化等等,綜合得出結(jié)論。
5 從端到端對網(wǎng)絡系統(tǒng)進行各類攻擊測試
此類測試往往融合在Duration測試中共同完成。使用測試儀器公司、開源軟件、自行開發(fā)的各類異常報文攻擊工具,可以實現(xiàn)對網(wǎng)絡系統(tǒng)的安全漏洞、健壯性的綜合測試。
結(jié)束語
網(wǎng)絡系統(tǒng)方案的可靠性測試的所有測試內(nèi)容,都需要在整網(wǎng)環(huán)境下執(zhí)行,以保證網(wǎng)絡系統(tǒng)的復雜關(guān)聯(lián)性,互相影響得到充分驗證。網(wǎng)絡系統(tǒng)的可靠性測試是一種灰盒測試,不僅僅要進行端到端的測試,還要深入關(guān)注到各個節(jié)點的運行狀態(tài),流量和協(xié)議控制層面的脈絡運行狀態(tài)。要做好各類故障的分類分析,充分考慮客戶環(huán)境的復雜性和客戶行為,對網(wǎng)絡系統(tǒng)的高可靠相關(guān)特性深入理解,在驗證中優(yōu)化配置參數(shù),得到最優(yōu)最可靠的網(wǎng)絡系統(tǒng)。
評論
查看更多