新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于FPGA的高速数据中继器设计的研究

基于FPGA的高速数据中继器设计的研究

作者:时间:2009-03-17来源:网络收藏

1 前言

本文引用地址:http://www.eepw.com.cn/article/192129.htm

高速以太网可以满足新的容量需求,解决了低带宽接入、高带宽传输的瓶颈问题,扩大了应用范围,并与以前的所有以太网兼容。全双工的以太网协议并无传输距离的限制,只是在实际应用中,物理层技术限制了最大的传输距离。不过可以通过使用高性能的收发器或链路扩展器来延长以太网链路的长度。但是面向流量高达数十G的高速以太网中,如何快速、可靠地实现数据的转发与链路延伸并不是一件很容易的事情。尤其是高速以太网中,对设备时延非常敏感,因此要求数据中继设备处理速度有足够的快、同时还能够对转发的数据进行简单分析与处理,才能实现高速、可靠的数据转发功能。另一方面,在10G以太网标准出台之前,就已经有多家厂商推出了基于10G以太网标准草案的10G以太网设备。国外厂商如Foundry、Cisco、Enterasys、Extreme、Forcel0、Nortel、A1catel、Juniper、Avaya、HP、Riverstone等公司纷纷推出了10G以太网设备,国内几家著名的通信设备制造商,像华为、港湾也研发出具有自主知识产权的10G以太网产品。不同公司的产品、设备在对协议实现的一致性、互操作性、稳定性、成熟性等方面都有所不同,因此要设计并实现一个可靠、必须深入研究高速以太网标准,并充分考虑其设计的灵活性,因此本文提出了一个基于设计方案。

2 功能分析

高速数据中继器主要需完成以下功能是对外部光纤链路发送过来的高速、大量数据处理,主要包括有: 10G以太网的物理层处理。包括将10Gbps光信号转换为电信号和将10Gbps高速串行数据转换为低速率的并行数据,便于上层处理;10G以太网的链路层处理。包括对10Gbps数据进行PCS解码和MAC控制的链路层处理,最后输出完整的MAC帧;对MAC帧格式进行判断来识别其中封装的上层数据是协议报文还是数据报文;对IP数据报文进行查表处理,看是否有发往本机的IP报文;将需要上交到转发进行深层次IP层处理的数据报文封装成内部数据报文格式并上交;将需要上交到板极处理机的协议报文和发往本路由器的IP报文封装成内部协议报文格式并上交。

数据中继器对需要转发出去的数据需要完成如下处理:对交换发送过来的数据报文进行内部格式判断,决定是否进行查表处理;对不需要进行查表的IP报文直接从内部头中提取目的MAC地址;对需要查表的IP报文进行查表处理,若查表命中则返回目的MAC地址,若不命中则将该数据报文上交到板极处理机;对得到目的MAC地址的报文进行以太网格式封装;对板极处理机下发的协议报文和封装好的以太网帧进行合路处理;10G以太网的链路层处理。包括对MAC帧进行MAC控制链路层处理和PCS编码;10G以太网的物理层处理。包括并/串转换和电/光转换。其处理流程如图一所示

图 一:高速数据中继器数据处理流程

3 方案的选取与实现

从以上输入处理和输出处理流程来看,物理层和链路层的功能可以通过选择相应的商用器件来实现,实现起来并不复杂;但图1中虚线框内的处理功能是在10Gbps的高速率下进行的,实现起来比较困难。目前在高速数据处理中,能完成这部分功能的处理器件可分为固定功能器件和可编程器件两种,其中固定功能器件主要指ASIC(Application Specific Integrated Circuit),可编程器件又有(Field Programmable Gate Array)和NP(Network Processor)两种,下面对这三种器件进行比较。

首先能够同时提供极高转发性能和较低成本的只有ASIC芯片了。ASIC的硬件资源最为丰富,处理能力是NP不能比拟,万兆核心层设备采用ASIC是对于性能的一种保障。但是它的先天不足也是无法回避的,由于ASIC的固定特性一直无法解决路由器对多业务支持的需求,ASIC芯片一旦产出后,其原有的功能无法添加,也可以把业内目前需要的功能都做在ASIC里面,但是现在主流的很多技术如MPLS、QoS等都是只停留在草案阶段,还未标准化,所以现在就做死在ASIC里面显然是有很大风险的。由此可看出,ASIC可为任何固定功能提供高性能,但却几乎没有灵活性和可扩展性。第二种NP,目前网络处理器(NP)技术是业内非常受欢迎的技术之一,NP技术本身就是通过厂家自己编写微码的方式对网络协议处理进行优化,通过内置微引擎的方式实现加速处理,性能是CPU无法比拟的。这样的结构注定了NP就比ASIC拥有更多的灵活性,对新增业务的支持能力永远都比ASIC强。但是NP也有其自身不能克服的缺点,NP的硬件资源对比ASIC肯定还是有很大差距的,所以其在处理海量多业务时转发性能下降很快,不能达到线速。

第三种是,FPGA对任何高速并行数据处理都非常理想,具有可编程的能力和较高的灵活性,便于实现多业务支持,同时,由于其可编程性是通过硬件实现的,因此可以提供较高的高速数据处理性能。考虑到硬件的可编程性没有软件灵活,所以最新的FPGA上可以加上一个微处理器的核心(core),加上了微处理器核心的FPGA,在可编程性上变得“软硬兼备”。 除了加上微处理器的核心,FPGA芯片公司还花大力开发芯片的高速I/O,通过网络友好的功能,该类型FPGA可提供高性能数据和网络控制处理功能。这使他们成为WAN/MAN/LAN网络中专用高速数据处理的理想候选器件,并将在灵活性/性能间进行折衷的控制权交到用户手中。此外,FPGA对任何高速数据的并行处理都比较理想,而且具有非常的灵活性和扩展性,且开发周期短,能够形成具有自主知识产权的内核,最终还可以形成自己的ASIC,因此在本文设计中选择了FPGA作为高速数据处理的核心部件。

p2p机相关文章:p2p原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭