一种基于TCAM的网络分流系统的制作方法

文档序号:12492569阅读:828来源:国知局

本发明属于通信技术领域,尤其涉及一种基于TCAM的网络分流系统。



背景技术:

目前,深度报文检测技术(DPI)已经广泛运用在通信领域,通常作为专用设备部署在机房中,传统的硬件架构采用FPGA+TCAM+SRAM+DDR的形式,将IP五元组、特征串等规则存储在三态内容寻址存储器(Ternary Content Addressable Memory,TCAM)空间中,将业务相关信息如输入输出端口表,TCP会话表等存储在SRAM或DDR中,这种架构存在如下问题:

(1)FPGA查询TCAM后再查询SRAM或DDR,导致FPGA设计复杂、延迟较大,通常五元组或字符串等规则存储在TCAM空间表项中,但是网络业务还有多种特殊需求,例如某些规则只对某个输入端口生效,某些规则指定从一组输出端口负载均衡输出。因此,FPGA处理报文的流程,查询TCAM之后,还需要再查询SRAM或DDR获取业务特别的信息,才能决定进一步转发还是丢弃报文,转发到哪个输出端口;

从而导致FPGA设计流程复杂,处理报文的延迟较大;

(2)大规模的规则集处理、复杂的用户定制业务也需要板上有一块智能芯片,智能芯片运行复杂算法,传输大量数据给TCAM的性能存在问题。

分流器需要支持10万量级的规则,分为五元组或特征串两大类,还可支持规则优先级,还需要计算规则在TCAM空间的位置,这些都需要软件实现较复杂的算法;而算法在智能芯片上如果运行较慢,就会与用户期望的添加、删除规则的时间产生矛盾;同时,智能芯片上算法输出的结果还需要传输到FPGA再转给TCAM,数据在100Mb量级,因此智能芯片与FPGA之间的接口性能也可能与用户期望的批量导入规则的时间产生矛盾。



技术实现要素:

本发明的目的在于提供一种结构简单并可快速处理业务报文的基于TCAM的网络分流系统。

本发明是这样实现的,一种基于TCAM的网络分流系统,所述基于TCAM的网络分流系统包括三态内容寻址存储器、可编程控制器以及可扩展处理器;

所述可扩展处理器,用于通过所述可编程控制器实现与所述三态内容寻址存储器空间的数据链路的连通,所述可扩展处理器包括双核处理器和可编程逻辑模块,所述双核处理器用于实现复杂算法的计算,所述可编程逻辑模块上设有充足的逻辑资源,用于提供高速并口;

所述可编程控制器通过所述高速并口与所述可编程逻辑模块通信连接,所述可编程控制器用于接收所述可编程逻辑模块通过所述高速并口发送的查询消息,并反馈结果消息,所述结果信息包括是否命中、命中规则信息以及用户自定义信息;

所述三态内容寻址存储器通过高速接口与所述可扩展处理器通信连接,所述三态内容寻址存储器包括规则库和用户自定义信息库,所述三态内容寻址存储器用于接收所述可编程控制器的通过所述高速接口发送的查询消息,分别在所述规则库和用户自定义信息库中查询匹配相应的规则和信息,同时匹配的结果信息通过所述高速接口反馈给所述可编程控制器。

作为一种改进的方案,所述双核处理器上运行嵌入式Linux系统。

作为一种改进的方案,所述可编程逻辑模块上设有第一bank管脚,所述可编程控制器上设有第二bank管脚,所述第一bank管脚和第二bank管脚连接。

作为一种改进的方案,所述可扩展处理器内设有AXI总线,所述双核处理器与所述可编程逻辑模块之间通过所述AXI总线连接通信。

作为一种改进的方案,所述高速并口的带宽为3.2Gbps。

作为一种改进的方案,所述高速接口的带宽为10Gbps。

作为一种改进的方案,所述AXI总线的带宽为4.8Gbps。

在本发明实施例中,基于TCAM的网络分流系统包括三态内容寻址存储器、可编程控制器以及可扩展处理器,其中,三态内容寻址存储器包括规则库和用户自定义信息库,可编程控制器在向三态内容寻址存储器查询匹配某规则时,三态内容寻址存储器一并将规则附带的用户自定义信息反馈给可编程控制器,一步即可获取输入输出端口等业务信息,减少对原有SRAM的访问,降低了可编程控制器的设计难度;

同时,可扩展处理器包括双核处理器和可编程逻辑模块,所述双核处理器用于实现复杂算法的计算,所述可编程逻辑模块上设有充足的逻辑资源,用于提供高速并口,实现较大带宽的快速的批量导入规则集到三态内容寻址存储器。

在本发明实施例中,高速并口的带宽为3.2Gbps,高速接口的带宽为10Gbps,AXI总线的带宽为4.8Gbps,从而减少了处理报文的延迟,提升用户体验。

附图说明

图1是本发明提供的基于TCAM的网络分流系统的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1示出了本发明提供的基于TCAM的网络分流系统的结构示意图,为了便于说明,图中仅给出了与本发明相关的部分。

基于TCAM的网络分流系统包括三态内容寻址存储器、可编程控制器以及可扩展处理器;

可扩展处理器,用于通过可编程控制器实现与三态内容寻址存储器空间的数据链路的连通,可扩展处理器包括双核处理器和可编程逻辑模块,双核处理器用于实现复杂算法的计算,可编程逻辑模块上设有充足的逻辑资源,用于提供高速并口,其中,该双核处理器上运行嵌入式Linux系统;

可编程控制器通过高速并口与可编程逻辑模块通信连接,可编程控制器用于接收可编程逻辑模块通过高速并口发送的查询消息,并反馈结果消息,结果信息包括是否命中、命中规则信息以及用户自定义信息;

三态内容寻址存储器通过高速接口与可扩展处理器通信连接,三态内容寻址存储器包括规则库和用户自定义信息库,三态内容寻址存储器用于接收可编程控制器的通过高速接口发送的查询消息,分别在规则库和用户自定义信息库中查询匹配相应的规则和信息,同时匹配的结果信息通过高速接口反馈给可编程控制器。

在本发明实施例中,可编程逻辑模块上设有第一bank管脚,可编程控制器上设有第二bank管脚,第一bank管脚和第二bank管脚连接,从而实现可编程逻辑模块与可编程控制器的通信连接。

在本发明实施例中,可扩展处理器内设有AXI总线,双核处理器与可编程逻辑模块之间通过AXI总线连接通信,该AXI总线的带宽4.8Gbps,提升双核处理器和可编程逻辑模块之间的数据通信速度。

作为本发明的一个具体实施例,高速接口的带宽为10Gbps,高速并口的带宽为3.2Gbps,其带宽均为Gbps,因此,在该基于TCAM的网络分流系统中,报文的处理速度较快,大大降低了延迟现象。

其中,上述可扩展处理器可选用NLA12K系列的TCAM器件,该TCAM器件中集成可代替SRAM功能的用户自定义阵列,即UDA,从而减少了对SRAM访问获取业务消息的步骤,减少时间,也降低了对可变成控制器的设计难度要求。

上述可扩展处理器采用Xilinx公司的ZYNQ芯片,充分利用ZYNQ芯片的双核处理器和逻辑资源解决性能问题。

本发明实施中,三态内容寻址存储器选用NLA12K系列,充分利用其片内集成的用户自定义阵列(UDA)实现业务定制需求。可编程控制器查询三态内容寻址存储器,如果匹配某条规则,三态内容寻址存储器自动将规则附带的用户自定义信息返回给可编程控制器,从而只需一步就能获取到输入输出端口等业务信息。

在本发明实施例中,可编程控制器和三态内容寻址存储器之间通过SERDES高速接口连接,承载interlaken接口协议。可编程控制器查询三态内容寻址存储器在interlaken接口上发送查询消息,接收到结果消息中就包含了是否命中、命中哪条规则以及用户自定义信息;可编程控制器解析结果消息,就可以决定转发还是丢弃报文,负载均衡转发到哪个输出端口等;这样极大简化了可编程控制器的处理流程,降低了处理延迟,也很方便业务功能进一步扩展。

在本发明实施例中,基于TCAM的网络分流系统包括三态内容寻址存储器、可编程控制器以及可扩展处理器,其中,三态内容寻址存储器包括规则库和用户自定义信息库,可编程控制器在向三态内容寻址存储器查询匹配某规则时,三态内容寻址存储器一并将规则附带的用户自定义信息反馈给可编程控制器,一步即可获取输入输出端口等业务信息,减少对原有SRAM的访问,降低了可编程控制器的设计难度;

同时,可扩展处理器包括双核处理器和可编程逻辑模块,所述双核处理器用于实现复杂算法的计算,所述可编程逻辑模块上设有充足的逻辑资源,用于提供高速并口,实现较大带宽的快速的批量导入规则集到三态内容寻址存储器。

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

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