0731-84728105
15116127200
廣域網硬件仿真實現解決方案

一(yī)、 應用背景

    随着互聯網技術的(de)飛(fēi)速發展,網絡相關的(de)軟硬件應用也越來越多。但是應用的(de)開發、測試大部分是在一(yī)些網絡性能較好的(de)局域網中進行(xíng)的(de),但是現實中的(de)網絡是不可(kě)靠的(de),數據傳輸和(hé)交互可(kě)能存在丢包,亂序等問題,導緻整個系統出現故障,因此模拟在廣域網中存在的(de)不确定問題,對應用的(de)部署運行(xíng)是必要的(de)。

二、 方案概述

    湖南新實自(zì)主研發的(de)廣域網硬件仿真平台,基于FPGA+CPU的(de)FAST架構下實現,廣域網仿真功能在硬件中實現,可(kě)模拟廣域網中丢包,亂序,延時的(de)情形。具體實現方式是在硬件中的(de)五級流水線中插入廣域網仿真模塊。

三、 FAST五級流水線(FAST UM)

    UM是FAST架構中硬件中最基礎的(de)模塊,包含5個主要的(de)子(zǐ)模塊,可(kě)實現對網絡分組的(de)分組解析、查表匹配、動作轉發,輸出統計功能。
用戶定義的(de)解析(UDP)
    根據用戶特定的(de)處理(lǐ)需求,解析分組的(de)協議以及分組是否滿足用戶定制的(de)屬性分類,生成後續控制分組處理(lǐ)的(de)分組特征向量(PFV)以及生成MD信息。
用戶定義關鍵字提取(UKE)
    根據分組的(de)特征向量,提取分組查表得關鍵字并将查找關鍵字(Key)、PFV及MD送給GME模塊。
通用查表引擎(GME)
    根據産生的(de)關鍵字查表,獲取控制分組處理(lǐ)動作和(hé)輸出控制的(de)信息。
用戶定義動作(UDA)
    實現用戶定義的(de)對分組的(de)特定處理(lǐ),如(rú)修改分組頭,分組分片與重組,添加二層分組頭等。
通用輸出引擎(GOE)
    基于令牌桶實現對分組輸出的(de)整形,如(rú)限制發往特定CPU 軟件UA或協議棧的(de)流量,限制特定流發往特定端口的(de)流量等。

四、 廣域網仿真模塊(MMM)

丢包模塊
    根據配置的(de)丢包率對輸入的(de)包進行(xíng)計數,即根據輸入的(de)百分比,将報文中的(de)指定比例的(de)包丢掉,如(rú)5%即在配置成效時将每接收到的(de)100個報文中的(de)前5個報文丢棄。
亂序模塊
    亂序模塊是數據通過乒乓的(de)方式存儲在兩個FIFO內(nèi)。在輸出時根據亂序的(de)比例來實現對兩個FIFO控制。
    即輸入時按1:1的(de)方式将數據存儲在兩個FIFO中,在輸出時則根據丢包比例進行(xíng)亂序,即若亂序率為(wèi)1%即輸出時每輸出99個數據後輸出在對應FIFO多輸出一(yī)個報文,即每個FIFO接2:2輸出兩個,以保證出現亂序。
延時模塊
    延時模塊是對需要延時的(de)數據在FIFO中進行(xíng)緩存,直到達到延時确定的(de)時間為(wèi)止。即當第一(yī)個報文到達後開始記時,到指定時間輸出數據報文。
下載該文檔