论文研究-基于FPGA的高速PCI-E交换系统的设计 .pdf

所需积分/C币:8 2019-08-16 17:23:32 818KB .PDF

基于FPGA的高速PCI-E交换系统的设计,彭清泉,刘元安,本文根据千兆以太网传输控制及数据交换需求,提出了一种基于PCI-Express接口总线的分布式交换体系架构。运用FPGA的设计思路和方法,完
国科技论文在线 http:/www.paper.edu.cn 基于FPGA数据协议处理板卡和Pc|-E交换分布式交换体系架构模型 FPGA接口卡长 输入通道 查投引擎本地存储」LPcx 输出通道转发弹擎CPU配置 交换转发处理 FPGA接口卡 输入通道 查找引擎本她存储」Pcex1 输出通道 转发引擎cPU配置 交换单元 CPU 网络接口 文换转发处 Root FPGA接囗卡 Complex 根联合体 输入通道 内存 查找引擎本地在储 PCle x1 输出通道转发引擎CPU理 网络接口 文换转发处理 FPGA接口卡 输入通道 查找引擎本地存储Pc|x 输出通道 转发引擎CPU配置 网络接口 文换转发处理 图2基于FPGA数据办议处理板卡和PCI-E交换分布式交换体系架构模型 工作流程如下:首先,由全网路由协议获得全网路由信息。接着各个终端系统开始进行 65初始化,此时在驱动的配合下,由CPU把该节点的路由信息通过中断直接配置进FPGA数 据协议处理板卡的路由查找表模块,如图3所示。 FPGA接口卡 输出通道转发引擎P/Pcx1 输入通道 查找引擎本地存储 网络接口 父换转发划理 交 CPU Root onley 单 根联合体 内存 FPG八接口卡 输入通道 查找引本地储等[LPcN心刀 输出通道转发引擎CPUM置]雷 网络接口 交换转发处理 图3CPU初始化配置 当前端网终接口(可以是千兆以太网电接口,也可以是千兆以太网光接口)有数据需要 进行处理交换时,FPGΔ数据协议处理板卡中的査逻辑就公根据数据包目的MAC地址或 目的IP地址直接査询到需要交换的PCI-E端口,直接进行PCⅠ-E交换,如图4所示,这样 山国科技论文在线 http:/www.paper.edu.cn 能摆脱CPU、内存的速度限制,实现大昋吐量的数据交换。如果当FPGA教据协议处理板 卡查表逻辑没有査询到数据包的交换PCI-E地址时,再把数据包交由CPU进行处理。同时 75仝网路由协议再次进行路由运算,获得新的路由信息,通过CPU控制再次更新各个FPGA 数据协议处理板卡的路由査找表模块,如此循环,进行数据凶忺速交换。 FPGA接口卜 输入通道 查找引擎本地存储 PCle x1 输出通道 转发引擎CPU配置 网络接口 交换转发处理 交 Root CPU 换 Complex 根联合体 内存 FPGA接口卡 输入通道 查找引擎本地存储3扎PC如x1 输出通道转发引擎cPU配置 网络接口 图4数据快迟交换转发 8022一种基于FPGA实现的交换转发系统方案 通过以上基于 PCI-Express分布式交换体系架构的研究分析,结合FPGA的设计思想和 方法的,给出的交换转发引擎的框图如图5所。: Forwarding Engine 数据校验 路由表存 储配置 数b设解析查线引摩转发引钟2]w Module 转换队列 数据缓存 图5快速交换转发引擎架构框图 该系统主要包括以下几个主要模块:薮据办议解模块、路由表存储配置模块、査找引 擎模块、转发引擎模玦、薮据缓存队列模块和pCⅠ Express交换模块。 数据协议解析模块主要完成对数椐协议的解析,数据包的提取,目的地址提取,长度校 验,CRC校验等一系列工作,保证数据的完整性及对后端提供透明的有效数据传输 路由表冇储配置模块主要完成对路由表项的冇储记录功能。路由表的结构采用了FPGA 甲面的TCAM+BRAM的构成方式,实现对查找地址及下一跳地址的保存对应功能。在系 4 山国科技论文在线 http:/www.paper.edu.cn 统初始化时,CPU扣根据全局路由算法协议得出的路由信息通过中断让PCIE发送给路由 表存储模玦,该模块根据相应的路由信息建立路由査找表项。 査找引擎模块实现了对数据和地址的冇效控制,根据并行流水线査表模式,通过目的地 95址查找下一跳地址,并得出有效的PCI-E地址,保证数据的快速交换转发得以正常实现。 转发引擎模块辶要完成对数据包的地址更新,以及数据包的重浙封装功能,同时向 PCI-E发送带有有效PCI-E地址的新数据包。 数据缓存队列模块完成前端域和后端PC-E域的昦步时钟传输,纠正因收发两端时钟非 同源造成的时钟差昇,有效避免了因缓冲器的上溢或下溢造成的效据丢失。 PCI Express交换模块主要完成对数据的PCE格式分片、封包架作等。 21数据协议处理模块的设计 数据协议处理模块( Data Processing)在结构上包括两部分:即协议数据接收解析模块 ( Data receiver)和协议数据发送封装模块( Data transmitter。该模块的设计框图如图6 所示。来自前端高速网络接口的数据,进入协议数据接收解析模块,经过接收排队引擎(RX 105Fnqμ ucc Enginc)的解析,开始进行解封转操作,同时进行数据的相应分析,把通过地址校 验、CRC校验、长度识别、类型分析后的有效数据发送给效据分发模块( Data Dispatch) 由分发模块根据数据类型或者根据需求是否需要环回测试进行数据的分发操作。同时,来自 后端需要向高速网终接口发送的数据,通过数据筛选通道( Data select)进入发送排队引擎 (TX巸 queue Engine),通过数据的协议封装后,由协议数据发送封装模块( Data transmitter 110向高速网络接冂进行数据发送。 Data Processing Data Analysis RXEnqueue Data Receiver Engine Dispatch Address CRC Check Check Data TXEnqueue Transmitter Engine Select Address CRC G 图6数据协议处理模央结构框图 222查找引擎模块的设计 115 査找引擎模块( Searching Engine)最主要的功能是得出转发的端∏号,同吋根据转发 的端口号査出PCIE交换地址,这样就能进行数据的快速交换转发功能。在系统设计时,考 虑到该系统具备三层交换能力,所以在数据解析的时候同时提取MAC地址和Ⅲ地址,分 别进行转发端口号的查询,根据优先査询出来的结果,进行相应的PCIE地址査询,得出查 表结果。査找引擎模块的内部框图如图7所示: 国科技论文在线 http:/www.paper.edu.cn Searching Engine IP Address LUT hing SM Ext』MAC_ SrcAddr|MAC 64 MAC DstAddr LUT face PCle FIFO LUT 120 图7査找引擎模块内部枉图 2.23转发引擎模块的设计 转发引擎模块( Forwarding enginc)模块对前端传送过来的上述格式的数据包进行解析, 125对数据的相关域的进行改写,完成后直接封装,最后把数据发送给后端。图8显示了该模 块的内部框图: Forwarding Engine Destinati Add Forwardin 8_g_SM Source Al Inter face 8 FIFO 图8转发引擎模块內部框图 1303测试与验证 31测试方案 进行系统转发指标性能测试时,我们需要用到 Spirent专业的网络性能测试仪表 SPI-2000A、多块 Xilinx ML507丌发板卡、两台多 PCI Express插槽的⊥业机箱。搭建测 试平台如图9所示。SPI2000A测试仪表可以提供4个千兆以太网电接口和4个千兆以太网 135光接口,从而可以测出系统的父换能力。 国科技论文在线 http:/www.paper.edu.cn PCLE交换系统 PCLE交换系统1 秘 要 生成帧 SPT-20004 图9测试平台结构图 测试步骤如下: 140 1、在电∏1、3和光∏2、4之间建立起两条1〔jbps的数据沇,数据信号通过PCl-E交 换系统1的电口板卡AO和PC1E父换系统2的光口板卡B1接入 2、经过PE转发,数据流分别由电口板卡Al和BO送回网络性能测试仪 3、仪表在收到数据后,就能通过分析数据,测量出有效速率,信号延迟等相关参数 32测试结果 145 运行SPT-2000A网络性能测试仪2小时,使得测试达到稳定状态。 数据帧传输交换转发速率如图10所示,可以看到,电口 Portl和光口Pot2的接口速率 都为 I Gbps,有效数据发送速率分别为86274624bps和862745680bps(有效速率是根据网 络测试仪封包大小快慢而定),有效数据接收速率分别为862744552bps和862745208bps, 则交换转发的能力即为有效速率并误码率为0,该速率能够运用于千兆以太网的数据交换 150中。 Port Name 2) Total Tx Rate(bps) Total Rx Rate(bps) Tx LI Rate(bps) Rx Ll Rate(bps) Port //2/1 862,794624 9934351 Ptm22862x9580 994479 Port //2/3 两5 0 99346345 Port (/2/4 2为45208 99344J87 图10系统交换速率测试结果 数据的交换转发时延如图11所示,最小时延为21.73us,最大时延为22.58us,平均时 155延为21.85938us,满足设计整个系统时的交换处理吋延需求,即微秒(us)级别。 Name/ID Rate(fps) short Term Avg Latency (us) Avg Latency (us) Min Latency(us) Max Latency(us) 5treamBoc. 3 2.85975 285938 273 Streamboat 223345 223309 222 图11系统交换时延测试结果 绘制测试结果图如下: 7 国科技论文在线 http:/www.paper.edu.cn Colo Counte 40000 Po∥2/1.TxL1 Rate (bps Port /12/1. Total Tx Rate (bps) Port //2/2. Tx Ll Rate [ bps) Port //2/2. Total Tx Rate[(bps) Port //2/3.Rx L1 Rate(bps) Port //2/3. Total R Rate [bps) ort/2/4. Rx L1 Rate (bps) Port //2/4.Total Rx Rate(bps) 06:11:30 06:12:00 06:12:30 图12系统测试图 4结论 本文给出了一种基于千兆以太网数据交换转发的解决方案,通过对网终交换节点的分 165析,设计了一种基于PCIE总线的体系架构。由于PCIE总线所支持的高速率和便利的可连 方式,这种交换体系架枃能够为计算机与外部设备之间进行高速、连续、稳定、可靠的数据 传输提供一种新思路、新应用。通过 XilinxⅤ irtex5系列开发平台,运用FPGA的设计思想 实现∫整个交换系统。最后测试证明,该系统的硬件和逻辑的设讣思想是成功的,并且数据 的交换速率能够达到∫內络需求 170 参考文献( References) [1]龚正虎,孙志刚等著.新一代互联网交换与路由技术M]长沙:国防科技大学出版社,2009 [2]马鸣锦,朱剑冰等著.PCⅠ、PCLX和 PCI Express的原理及体系结构L].北京:清华大学出版社,2007. 13 PCISIG. PCI Express 2.0 Basc Specification[S]. 2007. 175[4]Xilinx Inc. Virtex-5 FPGA USer Guide UG190(v4.3)[S]. Xilinx Inc. 2008 「5]田耕,徐文波. Xilinx FPga开发实用教程Ml北京:清华大学出版社,2008 [6 Xilinx Inc. Virtex-5 FPGA Logi Core Content-Addressable Memory ds253(V1.6)[s]. Xilinx Inc. 2008 [7 Xilinx Inc. ML505/ML506/ML507 L507 Evaluation Platform UG347(v3. D[S]. Xilinx Inc. 2008 8

...展开详情
img

关注 私信 TA的资源

上传资源赚积分,得勋章
相关内容推荐