一、簡介
RFC 2889為LAN交換設備的基准測試提供了方法學,它將RFC 2544中為網絡互聯設備基准測試所定義的方法學擴展到了交換設備,提供了交換機轉發性能(Forwarding Performance)、擁塞控制(Congestion Control)、延遲(Latency)、地址處理(Address Handling)和錯誤過濾(Error Filtering)等基准測試的方法說明。除去備忘錄狀態、介紹、要求以及后面的安全機制、參考文獻等輔助性說明外,RFC 2889的核心內容分別為測試設置、幀格式與長度和基准測試3大部分。
基准測試是RFC 2889的最主要內容,它從測試目標、參數設置、測試過程、測量方法和測試報告格式等方面,詳細描述了下列10個針對局域網交換設備的基准測試:
· 全網狀互連條件下的吞吐量、丟幀率和轉發速率(Fully Meshed Throughput, Frame Loss and Forwarding Rates);
· 部分網狀互連條件下的一對多/多對一(Partially Meshed One-To-Many/Many-To-One);
· 部分互連的多個設備(Partially Meshed Multiple Devices);
· 部分網狀互連條件下的單向通信流量(Partially Meshed Unidirectional Traffic);
· 擁塞控制(Congestion Control);
· 轉發壓力和最大轉發速率(Forward Pressure Maximum Forwarding Rate);
· 地址緩沖容量(Address Caching Capacity);
· 地址學習速率(Address Learning Rate);
· 錯誤幀過濾(Errored Frame Filtering);
· 廣播幀轉發和時延(Broadcast Frame Forwarding and Latency)。
接下來將為您演示使用BigTao-V網絡測試儀進行擁塞控制測試。
二、擁塞控制概述
1.擁塞控制
擁塞控制測試項包含兩個測試內容
· 擁塞控制: 一個DUT是否執行擁塞控制(背壓/反壓)
· 列頭擁塞: 一個擁塞的端口是否會影響到另一個沒有擁塞的端口
擁塞
· 定義: 注入設備/網絡的報文過多, 超過設備/鏈路 的處理能力
· 后果: 部分報文會被丟棄, 則網絡中會重傳, 是的網絡有效吞吐量下降
擁塞控制
· 定義: 發生擁塞時, 控制進入設備/網絡的數據數量
· 技術: IEEE802.3X Flow Control技術
Flow Control
· 在流量過載時, 通過發送Pause幀, 讓發送方降低發送速率
2.Flow Control
測試儀和DUT都啟用Flow Control
背壓/反壓
· Backpressure
· DUT的緩沖區滿以后, 處理不了測試儀發送的報文
· DUT給發送方(測試儀)發送Pause幀, 表示”報文太多, 已經處理不了了”(反壓)
· 測試儀收到Pause幀以后, 在特定時間內, 就會停止發送數據
· 當DUT處理完報文以后, 可以發送Pause幀, 讓測試儀恢復發送
· 當測試儀收到Pause幀以后, 就會恢復發送數據
3.列頭擁塞
· 每個輸入port都采用FIFO的機制來傳輸frames
· Input 端口隊列里的數字1,2,3,4分別表示需要轉發到output端口1,2,3,4
· 在一個clock cycle時間內, 第1個隊列和第3個隊列都需要把frames從第4個out port轉發, 假設switching fabric選擇的是第3個隊列里的frames, 則第1個隊列里的所有frames都不能被轉發, 包括那些被轉發給其它output端口的frames(例如ports 1,2,3)
· 后果: 擁塞端口對其非擁塞端口造成影響
二、測試說明
測試拓撲
測試端口
· 最少需要4個端口
· 測試端口數是4的倍數
預期結果
· 流量模型
· 端口1向端口3,4各發送50%流量
· 端口2向端口4發送100%流量
· 非擁塞端口: 端口3收到50%流量
· 擁塞端口: 端口4收到150%流量
預期結果
· 擁塞控制: 反壓生效, 擁塞端口不丟包
· 無列頭阻塞: 擁塞端口對非擁塞端口 無影響, 非擁塞端口不丟包
擁塞控制 測試流程
添加機框→預約端口→選擇向導→選擇擁塞控制→配置接口→配置流量→配置測試參數→配置擁塞控制參數→運行測試→查看結果→導出報告
准備工作: 添加機框
准備工作: 預約端口
啟用Flow Control
· 選擇所有端口
· 右鍵, 選擇”配置端口”
· 將Flow Control值為Enable
Switch配置
以華為交換機S5720為例
· 將4個與測試儀相連的端口配置在一個VLAN里
· 接口上啟用Flow-Control
配置VLAN
[HUAWEI]vlan 20
Info: This operation may take a few seconds. Please wait for a moment...done.
4個端口都做如下配置
#-
interface GigabitEthernet0/0/1
flow-control
port link-type access
port default vlan 20
#-
interface GigabitEthernet0/0/2
flow-control
port link-type access
port default vlan 20
#-
#-
interface GigabitEthernet0/0/3
flow-control
port link-type access
port default vlan 20
#-
interface GigabitEthernet0/0/4
flow-control
port link-type access
port default vlan 20
#-
三、測試配置
選擇向導
選擇RFC2889向導
選擇地址容量測試
測試項目
· 選擇 擁塞控制 測試
選擇端口
· 選擇參與測試的端口
配置接口
· 默認無接口
· 選擇添加接口
向導配置接口
· 一步一步根據需求填充
向導配置接口: VLAN等
· 根據場景決定是否添加
· 本例中不需要添加
配置MAC地址
· 可選 配置
· 默認即可, 也可以修改
向導接口配置結果
· 創建4個Interface, 每個Port各一個
· 對於二層交換機來說, 只關注MAC地址
選擇接口
· 剛才配置的接口
· MAC/IP等 可修改
選擇流量模型
根據左側拓撲選擇
· 傳輸端口1
· 傳輸端口2
· 非擁塞端口
· 擁塞端口
添加流量
· 端口1 50% 非擁塞
· 端口1 50% 擁塞
· 端口2 100% 擁塞
選擇測試參數
時間
· 開始發送流量之前等待2秒
· 停止發送流量之后等待10秒
結果保存路徑
· 默認路徑
· 可以自己指定
時延
· 本項測試不關注
啟用學習
· 二層學習
· 頻率可 自定義
配置 擁塞控制 參數
測試時長
· 默認1次
· 默認60秒
負載
· 100%速率測試
· 使用最大速率
幀長度
· 默認取7個特殊字節來測試
自動生成Smart Script
Smart Scripts
· 根據配置自動生成Smart Scripts
· 從右側自動彈出
開始測試
點擊Start按鈕 自動 開始測試
四、測試報告
測試進度查看
· 消息界面里, 實時顯示當前測試的字節
· 預測花費時間
自動彈出Result Analyzer
結果分析
· 專業軟件
· 自動彈出
手工打開
· 自動安裝
· 打開結果
Result Analyzer結果分析
結果分析
· 點擊 匯總測試
· Head of Line Blocking一列為False表示沒有列頭擁塞, 結果正確
· BackPressure一列值為True表示擁塞控制生效, 結果正確
測試報告導出
導出格式
· HTML
結果定制
· 默認會保存所有測試內容
· 太過詳細
· 可以選擇匯總模板
· 只保存匯總信息
測試報告內容
打開測試報告
· 查看 列頭擁塞(Head of Line Blocking)
· 查看擁塞控制(Backpressure列)
· 配置信息: 包含當前的測試配置信息
錯誤結果1
錯誤結果2