CN106789706B - 一种基于tcam的网络分流系统 - Google Patents
一种基于tcam的网络分流系统 Download PDFInfo
- Publication number
- CN106789706B CN106789706B CN201611040932.4A CN201611040932A CN106789706B CN 106789706 B CN106789706 B CN 106789706B CN 201611040932 A CN201611040932 A CN 201611040932A CN 106789706 B CN106789706 B CN 106789706B
- Authority
- CN
- China
- Prior art keywords
- tcam
- programmable controller
- processor
- logic module
- programmable logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
- Logic Circuits (AREA)
Abstract
本发明涉及通信技术领域,提供一种基于TCAM的网络分流系统,所述系统包括三态内容寻址存储器、可编程控制器以及可扩展处理器,其中,三态内容寻址存储器包括规则库和用户自定义信息库,可编程控制器在向三态内容寻址存储器查询匹配某规则时,三态内容寻址存储器一并将规则附带的用户自定义信息反馈给可编程控制器,一步即可获取输入输出端口等业务信息,减少对原有SRAM的访问,降低了可编程控制器的设计难度;可扩展处理器包括双核处理器和可编程逻辑模块,所述双核处理器用于实现复杂算法的计算,所述可编程逻辑模块上设有充足的逻辑资源,用于提供高速并口,实现较大带宽的快速的批量导入规则集到三态内容寻址存储器。
Description
技术领域
本发明属于通信技术领域,尤其涉及一种基于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的访问,降低了可编程控制器的设计难度;
同时,可扩展处理器包括双核处理器和可编程逻辑模块,所述双核处理器用于实现复杂算法的计算,所述可编程逻辑模块上设有充足的逻辑资源,用于提供高速并口,实现较大带宽的快速的批量导入规则集到三态内容寻址存储器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于TCAM的网络分流系统,其特征在于,所述基于TCAM的网络分流系统包括三态内容寻址存储器、可编程控制器以及可扩展处理器;
所述可扩展处理器,用于通过所述可编程控制器实现与所述三态内容寻址存储器之间的数据链路的连通,所述可扩展处理器包括双核处理器和可编程逻辑模块,所述双核处理器用于实现复杂算法的计算,所述可编程逻辑模块上设有逻辑资源,用于提供高速并口;
所述可编程控制器通过所述高速并口与所述可扩展处理器中的所述可编程逻辑模块通信连接,所述可编程控制器用于接收所述可编程逻辑模块通过所述高速并口发送的查询消息,并反馈结果信息,所述结果信息包括是否命中、命中规则信息以及用户自定义信息,可编程控制器解析结果信息,就可以决定转发还是丢弃报文,负载均衡转发到哪个输出端口;
所述三态内容寻址存储器通过高速接口与所述可编程控制器通信连接,所述三态内容寻址存储器包括规则库和用户自定义信息库,所述三态内容寻址存储器用于接收所述可编程控制器的通过所述高速接口发送的查询消息,分别在所述规则库和用户自定义信息库中查询匹配相应的规则和信息,同时匹配的结果信息通过所述高速接口反馈给所述可编程控制器。
2.根据权利要求1所述的基于TCAM的网络分流系统,其特征在于,所述双核处理器上运行嵌入式Linux系统。
3.根据权利要求1所述的基于TCAM的网络分流系统,其特征在于,所述可编程逻辑模块上设有第一bank管脚,所述可编程控制器上设有第二bank管脚,所述第一bank管脚和第二bank管脚连接。
4.根据权利要求1所述的基于TCAM的网络分流系统,其特征在于,所述可扩展处理器内设有AXI总线,所述双核处理器与所述可编程逻辑模块之间通过所述AXI总线连接通信。
5.根据权利要求1所述的基于TCAM的网络分流系统,其特征在于,所述高速并口的带宽为3.2Gbps。
6.根据权利要求5所述的基于TCAM的网络分流系统,其特征在于,所述高速接口的带宽为10Gbps。
7.根据权利要求4所述的基于TCAM的网络分流系统,其特征在于,所述AXI总线的带宽为4.8Gbps。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611040932.4A CN106789706B (zh) | 2016-11-11 | 2016-11-11 | 一种基于tcam的网络分流系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611040932.4A CN106789706B (zh) | 2016-11-11 | 2016-11-11 | 一种基于tcam的网络分流系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106789706A CN106789706A (zh) | 2017-05-31 |
CN106789706B true CN106789706B (zh) | 2020-08-07 |
Family
ID=58974651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611040932.4A Active CN106789706B (zh) | 2016-11-11 | 2016-11-11 | 一种基于tcam的网络分流系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106789706B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111224879B (zh) * | 2018-11-23 | 2023-03-24 | 恒为科技(上海)股份有限公司 | 一种扩展tcam位宽的方法 |
CN114124822B (zh) * | 2021-11-29 | 2024-04-26 | 杭州迪普信息技术有限公司 | 报文匹配处理装置及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023782A (zh) * | 2012-11-22 | 2013-04-03 | 北京星网锐捷网络技术有限公司 | 一种访问三态内容寻址存储器的方法及装置 |
CN103647708A (zh) * | 2013-11-29 | 2014-03-19 | 曙光信息产业(北京)有限公司 | 基于atca的数据报文处理板 |
CN104239337A (zh) * | 2013-06-19 | 2014-12-24 | 中兴通讯股份有限公司 | 基于tcam的查表处理方法及装置 |
JP2015156697A (ja) * | 2010-09-08 | 2015-08-27 | 日本電気株式会社 | スイッチシステム、スイッチ制御方法、及び記憶媒体 |
CN105791455A (zh) * | 2014-12-26 | 2016-07-20 | 中兴通讯股份有限公司 | 三态内容寻址存储器tcam空间的处理方法及装置 |
CN105812164A (zh) * | 2014-12-31 | 2016-07-27 | 北京东土科技股份有限公司 | 基于tcam多级流表的规则索引管理实现方法和装置 |
-
2016
- 2016-11-11 CN CN201611040932.4A patent/CN106789706B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015156697A (ja) * | 2010-09-08 | 2015-08-27 | 日本電気株式会社 | スイッチシステム、スイッチ制御方法、及び記憶媒体 |
CN103023782A (zh) * | 2012-11-22 | 2013-04-03 | 北京星网锐捷网络技术有限公司 | 一种访问三态内容寻址存储器的方法及装置 |
CN104239337A (zh) * | 2013-06-19 | 2014-12-24 | 中兴通讯股份有限公司 | 基于tcam的查表处理方法及装置 |
CN103647708A (zh) * | 2013-11-29 | 2014-03-19 | 曙光信息产业(北京)有限公司 | 基于atca的数据报文处理板 |
CN105791455A (zh) * | 2014-12-26 | 2016-07-20 | 中兴通讯股份有限公司 | 三态内容寻址存储器tcam空间的处理方法及装置 |
CN105812164A (zh) * | 2014-12-31 | 2016-07-27 | 北京东土科技股份有限公司 | 基于tcam多级流表的规则索引管理实现方法和装置 |
Non-Patent Citations (2)
Title |
---|
Research on TCAM based OpenFlow Switch Platform;Fei Long;Zhigang Sun;Ziwen Zhang;Hui Chen;Longgen Liao;《2012 International Conference on Systems and Informatics (ICSAI2012),IEEE 》;IEEE;20120625;第1218-1221页 * |
基于 FPGA + TCAM 架构的网络分流系统的设计与实现;鲁佳琪,黄芝平,刘纯武,刘德胜,陈实;《微型机与应用 2016年》;20160815;第35卷(第15期);第65-71页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106789706A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180019943A1 (en) | Technologies for distributed routing table lookup | |
US10277510B2 (en) | System and method for storing lookup request rules in multiple memories | |
US20030009466A1 (en) | Search engine with pipeline structure | |
US20210160350A1 (en) | Generating programmatically defined fields of metadata for network packets | |
WO2016107122A1 (zh) | RapidIO报文和以太网报文之间的转换方法和设备 | |
WO2016029684A1 (zh) | 报文处理转发装置、方法和计算机存储介质 | |
US10547547B1 (en) | Uniform route distribution for a forwarding table | |
TWI661698B (zh) | 轉發乙太網路封包的方法和裝置 | |
CN114745255B (zh) | 硬件芯片、dpu、服务器、通信方法及相关装置 | |
CN107454008B (zh) | 一种千兆万兆以太互通系统及方法 | |
CN106789706B (zh) | 一种基于tcam的网络分流系统 | |
WO2023236858A1 (zh) | 流表规则的管理方法、流量管理方法、系统及存储介质 | |
US11126249B1 (en) | Power reduction methods for variable sized tables | |
US9184997B2 (en) | Selective network merging | |
WO2024037243A1 (zh) | 一种数据处理方法、装置和系统 | |
CN111131408B (zh) | 一种基于fpga的网络协议栈架构设计方法 | |
WO2024037366A1 (zh) | 转发规则下发方法、智能网卡及存储介质 | |
US8467311B2 (en) | Method and system for avoiding flooding of packets in switches | |
CN109743260A (zh) | 一种基于改进的acbm算法对网络流量进行过滤的装置和方法 | |
CN101699821B (zh) | 一种分布式多核网络系统中地址解析协议实现的方法 | |
Su et al. | Technology trends in large-scale high-efficiency network computing | |
EP4304144A1 (en) | Communication method and apparatus | |
WO2018196833A1 (zh) | 报文发送方法和报文接收方法及装置 | |
CN108377205A (zh) | 优化nfv数据转发性能的系统及其方法 | |
CN110661731B (zh) | 一种报文处理方法及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |