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

一(yī)、 應用背景

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

二、 方案概述

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

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

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

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

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