一种基于FPGA实现TAP设备功能的系统技术方案

技术编号:9977250 阅读:249 留言:0更新日期:2014-04-28 19:26
本发明专利技术公开了一种基于FPGA实现TAP设备功能的系统,通过快速路径模块实现一对一或一对多复制,直接从输入端口直通到输出端口,实现快速的数据复制转发;内部缓存模块内嵌RAM分为多级实现,各级的读写控制不一,保证了传输随机包的情况下满流量不产生丢包;FPGA内部的交换功能模块能动态地根据监控侧端口忙或者空闲状态,及其速率模式,把网络侧端口数据通过其本身进行相应调度转发,从而实现数据汇聚及负载均衡功能,并解决了资源竞争和带宽不够的问题,增大了通道带宽的利用率。

【技术实现步骤摘要】
一种基于FPGA实现TAP设备功能的系统
本专利技术涉及网络设备领域,特别是一种基于FPGA实现TAP设备功能的系统。
技术介绍
以太网分路器(TAP设备)是一种以太网流量复制设备,该设备能够在不中断网络正常流量的情况下,实时获取网络数据,对全线速的双向会话进行准确无误的监测,因此,TAP设备是运营商网络流量分析及增值业务系统、移动网络信令监测及内容监测系统、IDC内容审计检测、IP网络安全、IP入侵检测、IP内容审计等解决方案中获取IP流量和内容信息不可或缺的设备。传统以太网分路器(TAP设备)一般有三种实现方式,一是采用以太网PHY芯片背靠背连接;二是通过内嵌交换机芯片实现;三是通过NPU(网络处理器)实现。参照图1所示采用以太网PHY芯片背靠背连接的方式实现的TAP设备,原有链路的下行数据经过PHY1后复制一份输送到PHY2沿着原有链路正常传输,另一份传送到PHY3输出到监控侧链路。同理,上行数据也采用同样方法实现数据采集。从中可以发现,数据只能做到一对一复制,无法做到一对多复制或者多对一的汇聚;PHY1、PHY2、PHY3、PHY4必须保持同样的工作速率,否则会导致监控侧链路无法采集到数据,功能比较单一。参照图2所示采用内嵌交换机芯片方式实现的TAP设备,受限于SWITCH的数据存储转发机制,一般数据包在SWITCH内停留的时间较长,且不固定,导致转发延迟较大(微秒级别),特别是对延迟较为敏感的网络侧端口影响最为严重;受限于SWITCH的功能限制,大部分中低端SWITCH在负载均衡功能上,无法做到基于端口流量的均衡;受制于SWITCH的功能限制,SWITCH会丢弃一些MAC控制帧和错误包,不能实现全线速100%数据捕获,使得TAP设备无法呈现全部网络数据。参照图3所示采用NPU实现的TAP设备,受限于NPU的软处理机制,转发延迟较大,对以太网数据的处理不能做到实时,特别是对延迟较为敏感的网络侧端口影响最为严重;NPU需要的外围配置电路多,增加了系统的复杂程度及成本;由于受限于NPU软处理的速度及软件算法的效率,无法做到实时大流量的数据处理。鉴于以上三种方式的不利因素,寻找一种替代方案解决上述问题成为当前的一个技术难题。
技术实现思路
为解决上述问题,本专利技术的目的在于提供一种基于FPGA实现TAP设备功能的系统,在基于硬件实现以太网数据流的调度和传输的同时,实现TAP设备较低的数据转发时延、数据的一份或多份复制、满流量汇聚和负载均衡功能。本专利技术解决其问题所采用的技术方案是:一种基于FPGA实现TAP以太网分路器设备功能的系统,包括网络侧端口和监控侧端口,其特征在于,所述网络侧端口与监控侧端口之间通过FPGA连接,所述FPGA包括:与网络侧端口连接的接收处理模块;与监控侧端口连接的发送处理模块;与接收处理模块连接的内部缓存模块;与发送处理模块连接的输出控制模块;以及连接在所述内部缓存模块与输出控制模块之间的快速路径模块和交换功能模块;其中,所述接收处理模块用于接收网络侧端口发送的数据;所述内部缓存模块用于存储接收处理模块收到的数据;所述输出控制模块用于激活快速路径模块或者/和交换功能模块,并控制快速路径模块或者/和交换功能模块将处理后的数据传送至发送处理模块;所述快速路径模块用于在被激活后,读取内部缓存模块中相应的数据并将其复制后传送至发送处理模块;所述交换功能模块用于在被激活后,读取内部缓存模块中相应的数据并将其分流或汇聚处理后传送至发送处理模块;所述发送处理模块用于将收到的数据传送至相应的监控侧端口;所述交换功能模块包括负载均衡模块与汇聚模块,所述负载均衡模块用于将内部缓存模块中的相应数据动态分流后由发送处理模块传送至监控侧端口;所述汇聚模块用于将内部缓存模块中相应的数据汇聚后由发送处理模块传送至监控侧端口;所述负载均衡模块通过对补码运算结果符号位的判断后由DeMux分离器模块实现数据包的动态分流;所述汇聚模块通过对补码运算结果符号位的判断后由Mux数据选择器模块实现数据包的动态汇聚。所述网络侧端口与所述监控侧端口均至少有一对。所述内部缓存模块为内嵌式RAM,所述RAM分多级读写,且各级的读写控制进行分别设置。所述接收处理模块与所述发送处理模块分别通过RGMII接口与所述网络侧端口、监控侧端口无缝连接。所述快速路径模块从内部缓存模块中读取相应的数据后并将其复制时,根据输出控制模块的控制,一对一或者一对多复制数据。所述负载均衡模块对补码运算结果符号位的判断具体为:统计数据输入中当前发送包数据的包长;根据上一次差异控制结果确定当前包长补码运算的符号位;根据上一次差异控制结果确定当前差异值补码运算的符号位;将两个补码运算后的结果相加获得当前差异值;根据当前差异值的符号位确定下一个数据包的流向。所述汇聚模块对补码运算结果符号位的判断具体为:统计数据输入中当前发送包数据的包长;根据上一次差异控制结果确定当前包长补码运算的符号位;根据上一次差异控制结果确定当前差异值补码运算的符号位;将两个补码运算后的结果相加获得当前差异值;根据当前差异值的符号位选择输入的数据。本专利技术通过快速路径模块实现一对一或一对多复制,直接从输入端口直通到输出端口,实现快速的数据复制转发。内部缓存模块内嵌RAM分为多级实现,各级的读写控制不一,保证了传输随机包的情况下满流量不产生丢包。FPGA内部的交换功能模块能动态地根据监控侧端口忙或者空闲状态,及其速率模式,把网络侧端口数据通过其本身进行相应调度转发,从而实现数据汇聚及负载均衡功能,并解决了资源竞争和带宽不够的问题,增大了通道带宽的利用率。本专利技术的有益效果是:本专利技术采用一种基于FPGA实现TAP设备功能的系统,通过快速路径模块实现一对一或一对多复制,直接从输入端口直通到输出端口,实现快速的数据复制转发;内部缓存模块内嵌RAM分为多级实现,各级的读写控制不一,保证了传输随机包的情况下满流量不产生丢包;FPGA内部的交换功能模块能动态地根据监控侧端口忙或者空闲状态,及其速率模式,把网络侧端口数据通过其本身进行相应调度转发,从而实现数据汇聚及负载均衡功能,并解决了资源竞争和带宽不够的问题,增大了通道带宽的利用率。附图说明下面结合附图和实例对本专利技术作进一步说明。图1是以太网PHY芯片背靠背连接实现的TAP设备的工作原理示意图;图2是内嵌交换机芯片方式实现的TAP设备的工作原理示意图;图3是采用NPU实现的TAP设备的工作原理示意图;图4是本专利技术所述FPGA内部结构组成框图;图5是本专利技术采用FPGA实现的TAP设备的工作原理示意图;图6是本专利技术所述接收处理模块与发送处理模块分别处理数据的内部流程图;图7是本专利技术所述负载均衡模块工作的原理示意图;图8是本专利技术所述汇聚模块工作的原理示意图;图9是本专利技术的具体应用的示意图。具体实施方式参照图1、图2和图3所示的现有的技术方案,说明书
技术介绍
中已经指出其中存在的缺陷,本专利技术针对以上缺陷,开发了一种基于FPGA实现TAP设备功能的系统,参照图4所示,包括网络侧端口和监控侧端口,所述网络侧端口与监控侧端口之间通过FPGA连接,所述FPGA包括:与网络侧端口连接的接收处理模块;与监控侧端口连接的发送处理模块;与接收处理模块连接的内部缓存模块;与发送处本文档来自技高网
...
一种基于FPGA实现TAP设备功能的系统

【技术保护点】

【技术特征摘要】
1.一种基于FPGA实现TAP以太网分路器设备功能的系统,包括网络侧端口和监控侧端口,其特征在于,所述网络侧端口与监控侧端口之间通过FPGA连接,所述FPGA包括:与网络侧端口连接的接收处理模块;与监控侧端口连接的发送处理模块;与接收处理模块连接的内部缓存模块;与发送处理模块连接的输出控制模块;以及连接在所述内部缓存模块与输出控制模块之间的快速路径模块和交换功能模块;其中,所述接收处理模块用于接收网络侧端口发送的数据;所述内部缓存模块用于存储接收处理模块收到的数据;所述输出控制模块用于激活快速路径模块或者/和交换功能模块,并控制快速路径模块或者/和交换功能模块将处理后的数据传送至发送处理模块;所述快速路径模块用于在被激活后,读取内部缓存模块中相应的数据并将其复制后传送至发送处理模块;所述交换功能模块用于在被激活后,读取内部缓存模块中相应的数据并将其分流或汇聚处理后传送至发送处理模块;所述发送处理模块用于将收到的数据传送至相应的监控侧端口;所述交换功能模块包括负载均衡模块与汇聚模块,所述负载均衡模块用于将内部缓存模块中的相应数据动态分流后由发送处理模块传送至监控侧端口;所述汇聚模块用于将内部缓存模块中相应的数据汇聚后由发送处理模块传送至监控侧端口;所述负载均衡模块通过对补码运算结果符号位的判断后由DeMux分离器模块实现数据包的动态分流;所述汇聚模块通过对补码运算结果符号...

【专利技术属性】
技术研发人员:饶维克叶执政
申请(专利权)人:珠海市佳讯实业有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1