網絡系統測試:單點故障情況下系統自動恢復時間
網絡系統在出現單點故障情況下可快速恢復是高可靠網絡設計的重點。恢復時間的要求在各類行業和各網絡層有差異。目前,網絡系統平均恢復時間低于500ms已經逐步成為主流要求。
與網絡切換相關的各種組網模型故障模擬主要包括:鏈路故障、節點設備故障、單板故障、節點設備主備倒換、主備設備倒換、設備升級等。各類故障還需進一步細分,例如節點設備故障包含:設備命令行執行軟件重啟,設備斷電、設備上電、主備控板全部拔出/插入等等。
為精確計算各類故障導致的網絡中斷/恢復時間,組網如圖1所示,測試方法如下:
圖1 網絡系統恢復時間測試示意
1、基于網絡測試環境,接入測試儀器,將流量發生器端到端接入網絡系統。儀器端口分別連接網絡系統的接入層和出口,以保證被測流量路徑貫通整個網絡。
2、 在測試儀器的Port A端口設定速率穩定的流量,目的地址為Port B端口。在Port B端口設定速率穩定的流量,目的地址為Port A端口。由于上下行路徑遷移時,上下行的路由等各類協議的熱備表項不同,涉及的協議收斂也可能不同,所以務必設定雙向流量,以檢測上行和下行流量路徑的恢復時間。
3、 確保設定的上下行流量路徑通過需要模擬的故障點節點,避免測試無效。
4、 啟動流量發送與接收,開始統計發送的流量和接收的流量。
5、 模擬節點故障,網絡系統自動檢測并恢復。
6、 停止發送流量。根據發送和接收的流量,計算得出系統流量路徑恢復時間。
公式為:Time=(發送報文數量-接收報文數量)/報文發送速率(pps)。
注意:報文發送速率以M/G為單位時,計算需考慮以太網報文的前導碼和幀間隙,公式為:Time=(發送報文數量-接收報文數量)*( 報文字節*8+8*8+96)/報文發送速率(M/G)。通過計算得出上下行流量路徑的恢復時間。
測試時還需注意以下細節:
1、故障模擬操作方式要考慮全面。例如用命令行shutdown端口和拔掉網線操作導致的測試結果往往會不同;光纖的單通與通常的鏈路down表現也會不同等。
2、 不僅要測試主設備/鏈路切換到備用,還要測試主設備/鏈路恢復正常后,網絡系統的表現。
3、每項測試需至少測試三次得到平均值。并對得到尖峰和低谷進行分析,需要時重復更多測試以獲取穩定數據。
4、 始終關注測試流量路徑是否經過故障節點,是否按照預期切換,保證測試結果的準確性。
4 驗證HA(High Availability)特性的組合部署功能
網絡系統中的協議配置對系統的穩定性、負荷和恢復時間有重大影響。例如對OSPF的hello time設置過小,會加重網絡中控制平面處理負擔,并容易產生路由振蕩。但是過大也會導致故障時系統恢復時間無法達到要求。因此在測試中可根據不同網絡的要求,取得一個性價比最高的平衡。
當各類為保證網絡系統高可靠運行的協議在一個網絡系統中應用時,就使這種組合更加復雜,這些特性包括鏈路聚合、MSTP、RRPP、BFD、GR、VRRP、ECMP、IRF等。
因此,測試不僅僅需要驗證這些特性是否在發揮作用,同時測試過程也是一個網絡參數調優過程。在測試中通過不斷調整協議配置參數,以獲取網絡系統可靠性最佳配置。這個調優過程既要計算獲取網絡故障恢復時間,又要監控網絡系統各個節點的運行狀況。例如在滿足網絡恢復時間要求基礎上,監控參數配置會影響的CPU占用率、內存是否正常,Console是否能響應,轉發是否正常,OSPF收斂及路由變化等等,綜合得出結論。
網絡系統的可靠性測試是一種灰盒測試,不僅僅要進行端到端的測試,還要深入關注到各個節點的運行狀態,流量和協議控制層面的脈絡運行狀態。要做好各類故障的分類分析,充分考慮客戶環境的復雜性和客戶行為,對網絡系統的高可靠相關特性深入理解,在驗證中優化配置參數,得到最優最可靠的網絡系統。