一种数据包转发处理系统及方法与流程

文档序号:11148020阅读:529来源:国知局
一种数据包转发处理系统及方法与制造工艺

本发明属于网络通讯领域,特别涉及一种数据包转发处理系统及方法。



背景技术:

随着网络技术的发展,40G和100G高速接口技术的广泛应用将给网络设备升级带来很大机会。芯片和设备厂商的接口升级同样会引出一些接口问题。40G和100G接口应用时,原先使用内部交换芯片的接口不支持或者新交换芯片接口支持并不好的问题,成为了设备厂商对原有网络设备兼容外部高速接口的一个问题。设备价格主要体现在单端口价格。所以降低单端口业务处理成本也是各厂家提高产品竞争力的主要手段。



技术实现要素:

发明目的:为了克服现有技术存在的问题,本发明提供了一种有效解决了高速接口与交换芯片兼容问题的数据包转发处理系统。

技术方案:本发明提供了一种数据包转发处理系统,包括发送侧单元和接收侧单元,所述发送侧单元的输入端和接收侧单元的输出端分别与多个交换芯片连接,所述发送侧单元的输出端和接收侧单元的输入端分别与线路侧接口连接;其中,所述交换芯片输入的数据包经发送侧单元进行汇聚后发送到线路侧接口,所述线路侧接口输入的数据包经过接收侧单元进行信息识别后分别发送到对应的交换芯片中。

进一步,其中所述发送侧单元和接收侧单元集于FPGA芯片中,所述发送侧单元和接收侧单元的输入和输出是通过FPGA芯片的端口实现的。这样的使用成本更低。

进一步,所述发送侧单元包括交换接收单元、包缓存汇聚模块、发送缓存控制模块和接口发送模块;所述交换接收模块接收交换芯片输入的数据包,并将数据包向包缓存汇聚模块发送;包缓存汇聚模块将接收的数据包进行汇聚并缓存;包缓存汇聚模块将缓存的数据包发送给发送缓存控制模块,所述发送缓存控制模块暂存满足线速的数据包,并将暂存的发送数据包发送到接口发送模块,数据包经过接口发送模块发送到线路侧接口。

进一步,所述接收侧单元包括接口接收模块、缓存模块、包识别模块、包信息模块、查表模块、包缓存处理模块和交换发送模块;所述接口接收模块用于接收线路侧接口发来的数据包,并将接收到的数据包发送给所述缓存模块;所述缓存模块用于缓存数据包,当缓存模块中缓存有数据包时,缓存模块将数据包输出给包识别模块和包信息模块;所述包识别模块获取数据包的五元组信息,并将获取的五元组信息发送给所述查表模块,所述查表模块包括外置存储器,所述外置存储器用于存储和设置数据包接收端口与数据包之间对应的表项,所述查表模块通过配置的五元组处理方法获得查表地址,并根据获得的查表地址查询外置存储器QDR中的表项;由表项中提取相应的配置信息和数据包转发信息;并发送给包信息模块;所述包信息模块判断数据包是否有对应的配置信息,如果有配置信息则将获得的数据包的配置信息和数据包转发信息携带后通过轮洒方式将数据包送给包缓存处理模块,如果数据包没有对应的配置信息则将数据包直接丢弃或者随机选择转发目的;包缓存处理模块将各转发目的的数据包缓存后发送给所述发送交换模块;所述交换发送模块将数据包转发信息和数据包封装后发送给交换芯片。

进一步,所述外置存储器为四倍速率静态存储器(下文简称QDR)。

本发明还提供了一种基于上述数据包转发处理系统的数据包转发处理方法,包括以下步骤:在查表模块中建立数据包接收端口与数据包之间对应表项的数据库;当交换芯片发送数据到线路侧接口时,交换接收模块接收交换芯片发送的数据包,并将数据包向包缓存汇聚模块发送;包缓存汇聚模块将接收的数据包进行汇聚并缓存;包缓存汇聚模块将缓存的数据包发送给发送缓存控制模块,所述发送缓存控制模块暂存满足线速的数据包,并将暂存的发送数据包发送到接口发送模块,数据包经过接口发送模块发送到线路侧接口;当线路侧接口要发动数据到交换芯片时,接口接收模块接收线路侧接口发来的数据包,并将接收到的数据包发送给所述缓存模块;所述缓存模块缓存数据包,当缓存模块中缓存有数据包时,缓存模块将数据包输出给包识别模块和包信息模块;所述包识别模块获取数据包的五元组信息,并将获取的五元组信息发送给所述查表模块,所述查表模块通过配置的五元组处理方法获得查表地址,并在查表模块中建立数据包接收端口与数据包之间对应表项的数据库中进行查询;由表项中提取相应的配置信息和数据包转发信息;并发送给包信息模块;所述包信息模块判断数据包是否有对应的配置信息,如果有配置信息则将获得的数据包的配置信息和数据包转发信息携带后通过轮洒方式将数据包送给包缓存处理模块,如果数据包没有对应的配置信息或者没有获取相应的五元组的则将数据包直接丢弃或者随机选择转发目的;包缓存处理模块将各接口数据包缓存后发送给所述发送交换模块;所述交换发送模块将包信息和数据包封装后发送给交换芯片。

有益效果:与现有技术相比,本发明通过FPGA芯片将大容量接口和小容量接口连接,并对接收到的数据包进行汇聚或者拆分的处理,有效解决了通信设备的大容量接口和小容量接口不兼容的问题,同时解决了两者之间数据包转发处理的问题。本发明系统的系统和方法不仅实现简单,使用成本低,而且更加方便快捷,转发的速度也快,有效提高了传输的速率。

附图说明

图1为本发明的应用示意图;

图2为本发明的结构示意图;

图3为本发明中接收侧单元转发数据包的流程图。

具体实施方式

下面结合附图对本发明做更进一步的解释。

如图1所示,本发明提供的一种数据包转发处理系统,该系统基于FPGA芯片实现其数据包转发的功能,其中FPGA芯片分别与线路侧接口、QDR数据库和交换芯片连接。数据包输入后经过查询外部QDR中的表项后,将相关信息封装到数据包后会分流到各个系统侧接口。通过系统侧接口转发到交换芯片;发送的数据包经系统侧接口接收缓存,数据包汇聚到接口发送缓存后通过接口发送出。

如图2所示,本发明提供的一种数据包转发处理系统主要包括发送侧单元和接收侧单元,发送侧单元的输入端和接收侧单元的输出端分别与多个交换芯片连接,发送侧单元的输出端和接收侧单元的输入端分别与线路侧接口连接;其中,交换芯片输入的数据包经发送侧单元进行汇聚后发送到线路侧接口,线路侧接口输入的数据包经过接收侧单元进行信息识别后分别发送到对应的交换芯片中。

其中,发送侧单元包括交换接收单元、包缓存汇聚模块、发送缓存控制模块和接口发送模块;所述交换接收模块接收交换芯片输入的数据包,并将数据包向包缓存汇聚模块发送;包缓存汇聚模块将接收的数据包进行汇聚并缓存;包缓存汇聚模块将缓存的数据包发送给发送缓存控制模块,发送缓存控制模块暂存满足线速的数据包,并将暂存的发送数据包发送到接口发送模块,数据包经过接口发送模块发送到线路侧接口。其中,包缓存汇聚模块可以采用10G接口,或者可以采用100G interlaken等大带宽的内部接口。

接收侧单元包括接口接收模块、缓存模块、包识别模块、包信息模块、查表模块、包缓存处理模块和交换发送模块;接口接收模块用于接收线路侧接口发来的数据包,并将接收到的数据包发送给缓存模块;缓存模块用于缓存数据包。如图3所示,当缓存模块中缓存有数据包时,缓存模块将数据包输出给包识别模块和包信息模块;包识别模块获取数据包的五元组信息,其中五元组信息通常指源IP地址、源端口号、目的IP地址、目的端口号和传输层协议,并将获取的五元组信息发送给查表模块;如果没有五元组信息,则判断是否为丢弃模式,如果是丢弃模式则直接丢弃,如果不是丢弃模式,则随机配置端口信息,并将配置的端口信息发送给包信息模块。查表模块包括外置存储器,外置存储器用于存储和设置数据包接收端口与数据包之间对应的表项。查表模块通过配置的五元组处理方法获得查表地址,并根据获得的查表地址查询外置存储器QDR中的表项;由表项中提取相应的配置信息和数据包转发信息,在表项中每个地址对应的一个16位的数据,其中第一位到第十五为表示发送的端口信息,如果对应位为1则将数据包发送到对应的端口;第16位为配置信息,如果为1则表示进行了配置,则有对应的发送端口,如果为0则表示没有进行配置;将查询到的数据发送给包信息模块;包信息模块判断数据包是否有对应的配置信息,如果有配置信息则将获得的数据包的配置信息和数据包转发信息携带后通过轮洒方式将数据包送给包缓存处理模块,如果数据包没有对应的配置信息或者没有获取相应的五元组的则将数据包直接丢弃或者随机选择转发目的;包缓存处理模块将各接口数据包缓存后发送给所述发送交换模块;交换发送模块将包信息和数据包封装后发送给交换芯片。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1