0731-84728105
15116127200
广域网硬件仿真实现解决方案

一、 应用(yòng)背景

    随着互联网技术的飞速发展,网络相关的软硬件应用(yòng)也越来越多(duō)。但是应用(yòng)的开发、测试大部分(fēn)是在一些网络性能(néng)较好的局域网中进行的,但是现实中的网络是不可(kě)靠的,数据传输和交互可(kě)能(néng)存在丢包,乱序等问题,导致整个系统出现故障,因此模拟在广域网中存在的不确定问题,对应用(yòng)的部署运行是必要的。

二、 方案概述

    湖(hú)南新(xīn)实自主研发的广域网硬件仿真平台,基于FPGA+CPU的FAST架构下实现,广域网仿真功能(néng)在硬件中实现,可(kě)模拟广域网中丢包,乱序,延时的情形。具體(tǐ)实现方式是在硬件中的五级流水線(xiàn)中插入广域网仿真模块。

三、 FAST五级流水線(xiàn)(FAST UM)

    UM是FAST架构中硬件中最基础的模块,包含5个主要的子模块,可(kě)实现对网络分(fēn)组的分(fēn)组解析、查表匹配、动作转发,输出统计功能(néng)。
用(yòng)户定义的解析(UDP)
    根据用(yòng)户特定的处理(lǐ)需求,解析分(fēn)组的协议以及分(fēn)组是否满足用(yòng)户定制的属性分(fēn)类,生成后续控制分(fēn)组处理(lǐ)的分(fēn)组特征向量(PFV)以及生成MD信息。
用(yòng)户定义关键字提取(UKE)
    根据分(fēn)组的特征向量,提取分(fēn)组查表得关键字并将查找关键字(Key)、PFV及MD送给GME模块。
通用(yòng)查表引擎(GME)
    根据产生的关键字查表,获取控制分(fēn)组处理(lǐ)动作和输出控制的信息。
用(yòng)户定义动作(UDA)
    实现用(yòng)户定义的对分(fēn)组的特定处理(lǐ),如修改分(fēn)组头,分(fēn)组分(fēn)片与重组,添加二层分(fēn)组头等。
通用(yòng)输出引擎(GOE)
    基于令牌桶实现对分(fēn)组输出的整形,如限制发往特定CPU 软件UA或协议栈的流量,限制特定流发往特定端口的流量等。

四、 广域网仿真模块(MMM)

丢包模块
    根据配置的丢包率对输入的包进行计数,即根据输入的百分(fēn)比,将报文(wén)中的指定比例的包丢掉,如5%即在配置成效时将每接收到的100个报文(wén)中的前5个报文(wén)丢弃。
乱序模块
    乱序模块是数据通过乒乓的方式存储在两个FIFO内。在输出时根据乱序的比例来实现对两个FIFO控制。
    即输入时按1:1的方式将数据存储在两个FIFO中,在输出时则根据丢包比例进行乱序,即若乱序率為(wèi)1%即输出时每输出99个数据后输出在对应FIFO多(duō)输出一个报文(wén),即每个FIFO接2:2输出两个,以保证出现乱序。
延时模块
    延时模块是对需要延时的数据在FIFO中进行缓存,直到达到延时确定的时间為(wèi)止。即当第一个报文(wén)到达后开始记时,到指定时间输出数据报文(wén)。
下载该文(wén)档
服務(wù)热線(xiàn)