CN111224879B - 一种扩展tcam位宽的方法 - Google Patents
一种扩展tcam位宽的方法 Download PDFInfo
- Publication number
- CN111224879B CN111224879B CN201811407973.1A CN201811407973A CN111224879B CN 111224879 B CN111224879 B CN 111224879B CN 201811407973 A CN201811407973 A CN 201811407973A CN 111224879 B CN111224879 B CN 111224879B
- Authority
- CN
- China
- Prior art keywords
- rule
- tcam
- content
- bytes
- query
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/74591—Address table lookup; Address filtering using content-addressable memories [CAM]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种扩展TCAM位宽的方法,其中,包括:规则下发方法以及报文接收和解析方法;规则下发方法包括:将用户规则下发到产品;当产收到用户下发的规则,判断规则长度是是否大于80字节;如果规则小于等于80字节,则直接拿输入规则内容做单条规则;如果规则长度是大于80字节小于156字节,则将规则内容拆分成两条规则,第一条规则是规则内容的前80字节,第二条规则是规则减去第一条规则后,剩下规则内容加上规则ID;将单条规则、规则ID以及规则对应的地址下发到TCAM控制器。本发明一种扩展TCAM位宽的方法能够扩展TCAM查询字节长度。
Description
技术领域
本发明涉及通信技术领域,是扩展TCAM位宽的方法。
背景技术
TCAM是通信行业常用的一种芯片,可以实现带掩码的规则匹配,用于在通信行业做五元组和关键字过滤。
TCAM的工作原理是:软件在芯片内部的“一个地址”加载一条规则,网络处理器送入需要查询的字段到TCAM查询接口,TCAM如果命中“加载的规则”会返回“规则地址”和填充信息。
随着互联网的快速发展,运营商对数据包深度解析的需求越来越大,其中一个需求点是查询字节长度加大。以往64字节的关键字匹配就能满足需求,目前需求扩展到了128字节。当前最先进的TCAM查询字节只有80字节,因此需要寻找一种方法能扩展TCAM查询字节长度。
发明内容
本发明的目的在于提供一种扩展TCAM位宽的方法,用于解决上述现有技术的问题。
本发明一种扩展TCAM位宽的方法,其中,包括:规则下发方法以及报文接收和解析方法;规则下发方法包括:将用户规则下发到产品;当产收到用户下发的规则,判断规则长度是是否大于80字节;如果规则小于等于80字节,则直接拿输入规则内容做单条规则;如果规则长度是大于80字节小于156字节,则将规则内容拆分成两条规则,第一条规则是规则内容的前80字节,第二条规则是规则减去第一条规则后,剩下规则内容加上规则ID;将单条规则、规则ID以及规则对应的地址下发到TCAM控制器;TCAM控制器收到内部并行总线格式信息,转换成TCAM芯片定义的接口格式,以接口格式的形式把规则内容以及规则信息下发到TCAM指定地址的入口;报文接收和解析方法包括:收到报文后,根据TCP和UDP协议特征做报文解析;根据解析结果,提取出报文中的IP地址以及端口号,并生成查询内容;接收查询信息和查询请求后,将查询内容拆分成前侧和后侧内容;前侧内容80字节,后侧查询内容76字节查询内容;对于超过80字节小于156字节的规则,先将前侧查询内容以内部并行总线的形式送给TCAM控制器,TCAM控制器转换成接口格式接口送到TCAM;TCAM收到查询请求,比对收到的查询内容以及入口地址内存储的规则内容,如果比对成功,则返回命中标记和命中的入口地址数值以及入口地址对应的信息;收到前侧查询返回的信息,如果命中,则将入口地址对应的信息和后侧查询内容拼成一个新的80字节查询内容,查询内容以内部并行总线的形式送给TCAM控制器,TCAM控制器转换成接口格式送到TCAM;TCAM收到查询请求,比对收到的查询内容以及入口地址内存储的规则内容,如果比对成功,则返回命中标记和命中的入口地址数值以及入口地址对应的信息;比较前侧返回结果和后侧返回结果,如果都命中,则标记此超过80字节的内容查询命中了规则,并将命中的地址入口和入口地址对应的信息;根据地址判断输出的端口,将报文送回到网络中。
根据本发明的扩展TCAM位宽的方法的一实施例,其中,规则包括:主机IP地址、端口号等信息,以及同时下发规则的ID号。
根据本发明的扩展TCAM位宽的方法的一实施例,其中,TCAM控制器通讯接口多为低速总线接口。
根据本发明的扩展TCAM位宽的方法的一实施例,其中,规则会指定下发到TCAM内部的80字节规则表项内,每个表项的具体地址入口地址以及规则ID附属信息下发到入口地址对应的存储空间。
本发明一种扩展TCAM字节长度的的方法,可以添加超过80字节的规则。当添加超过80字节的关键字规则时,将规则拆成前侧和后侧两条规则,添加到TCAM两个80字节单元,能够扩展TCAM查询字节长度。
附图说明
图1所示为扩展TCAM位宽的方法的流程图;
图2所示为规则预处理流程图;
图3所示为规则查询方法的流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1所示为扩展TCAM位宽的方法的流程图,图2所示为规则预处理流程图,如图1以及图2所示,本发明扩展TCAM位宽的方法的规则下发方法包括:
步骤1:产品用户会下发需要的规则,通过管理网口下发到产品。规则可以是:主机IP地址、端口号等信息,以及同时下发规则的ID号。
步骤2:当产收到用户下发的规则,判断规则长度是是否大于80字节;
如果规则小于等于80字节,则直接拿输入规则内容做单条规则;
如果规则长度是大于80字节小于156字节,则将规则内容拆分成两条规则,第一条规则是规则内容的前80字节,第二条规则是规则减去第一条规则后,剩下规则内容加上规则ID;
步骤3:将“单条规则、规则ID信息、规则对应的地址”下发到TCAM控制器。TCAM控制器通讯接口多为低速总线接口。
规则会指定下发到TCAM内部的80字节规则表项(入口)内,每个表项有具体地址入口地址,规则ID等附属信息会下发到入口地址对应的存储空间。
步骤4:TCAM控制器收到内部并行总线格式信息,转换成TCAM芯片定义的接口格式(Interlakern),以Interlakern的形式把规则内容、规则信息等下发到TCAM指定地址的入口。
图3所示为规则查询方法的流程图,本发明扩展TCAM位宽的方法还包括:报文接收和解析方法,包括:
步骤S1:报文接收、解析;产品会放在运营商机房等网络节点,产品上的网络处理芯片会通过10GE/100GE等类型接口接入现网的报文。收到报文后,根据TCP、UDP等协议特征做报文解析。
步骤S2:网络处理芯片内,根据解析结果,提取出报文中的IP地址、端口号等信息,生成查询内容。
步骤S3:规则查询内容生成后,会送到网络处理芯片内查询规则处理。
步骤S4:接收查询信息和查询请求后,将查询内容拆分成前侧和后侧内容。
前侧内容80字节,后侧查询内容76字节查询内容;这个内容跟CAM入口存放的规则信息内容格式一样。
步骤S5:对于超过80字节小于156字节的规则。先将“前侧查询内容”以内部并行总线的形式送给TCAM控制器,TCAM控制器转换成Interlakern接口送到TCAM。
步骤S6:TCAM收到查询请求,比对“收到的查询内容”以及“入口地址内存储的规则内容”,如果比对成功,则返回“命中标记”和“命中的入口地址数值”以及“入口地址对应的信息,如Rule ID”
步骤S7:收到"前侧查询"返回的信息,如果命中,则将Rule ID信息和后侧查询内容拼成一个新的80字节查询内容。查询内容以内部并行总线的形式送给TCAM控制器,TCAM控制器转换成Interlakern接口送到TCAM。
步骤S8:TCAM收到查询请求,比对“收到的查询内容”以及“入口地址内存储的规则内容”,如果比对成功,则返回“命中标记”和“命中的入口地址数值”以及“入口地址对应的信息,如Rule ID”
步骤S9:比较前侧返回结果和后侧返回结果,如果都命中,则标记“这个超过80字节的内容查询”命中了规则,并将命中的地址入口和Ruld ID返回。
步骤S10:根据地址判断输出的端口,诸如地址<10000,则从端口1输出。将报文送回到网络中。
如图1至图3所示,规则下发方法进一步包括:
用户规则下发:
用户通过命令行下发需要匹配的关键字规则,下发给设备CPU
规则预处理包括:
CPU判断规则是80字节以内或者80字节以上,80字节以内规则作为单条规则,对于80字节以上规则做拆分。
前侧规则是前80字节,后侧规则是76字节规则内容加4字节规则ID;
CPU维护规则表的增删,将拆分的规则传输到TCAM控制器,最后发到两个80字节的TCAM的规则空间,规则ID作为填充信息一并写到规则空间。
报文接收、发送进一步包括:
报文接收、解析:接收网络数据包,根据TCP、UDP等协议特征做报文解析
报文转发:根据查询结果,将数据包输出到指定端口。
规则查询进一步包括:
查询内容生成:报文解析后,提取出报文内的关键字,组成查询信息,发起查询请求
查询规则处理:接收查询信息和查询请求后,将查询内容拆分成前侧和后侧内容。前侧内容80字节,先发起前侧查询操作,获取前侧查询返回的信息(规则ID)后,组成后侧查询内容(76字节查询内容+4字节规则ID)再发起查询。
后侧查询返回的规则地址和填充信息作为最终查询结果。
查询结果返回:获取TCAM返回规则ID以及规则携带信息。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (4)
1.一种扩展TCAM位宽的方法,其特征在于,包括:规则下发方法以及报文接收和解析方法;
规则下发方法包括:
将用户规则下发到产品;
当收到用户下发的规则,判断规则长度是否大于80字节;
如果规则小于等于80字节,则直接拿输入规则内容做单条规则;
如果规则长度是大于80字节小于156字节,则将规则内容拆分成两条规则,第一条规则是规则内容的前80字节,第二条规则是规则减去第一条规则后,剩下规则内容加上规则ID;
将单条规则、规则ID以及规则对应的地址下发到TCAM控制器;TCAM控制器收到内部并行总线格式信息,转换成TCAM芯片定义的接口格式,以接口格式的形式把规则内容以及规则信息下发到TCAM指定地址的入口;
报文接收和解析方法包括:
收到报文后,根据TCP和UDP协议特征做报文解析;
根据解析结果,提取出报文中的IP地址以及端口号,并生成查询内容;
接收查询信息和查询请求后,将查询内容拆分成前侧和后侧内容;
前侧内容80字节,后侧查询内容76字节查询内容;
对于超过80字节小于156字节的规则,先将前侧查询内容以内部并行总线的形式送给TCAM控制器,TCAM控制器转换成接口格式接口送到TCAM;
TCAM收到查询请求,比对收到的查询内容以及入口地址内存储的规则内容,如果比对成功,则返回命中标记和命中的入口地址数值以及入口地址对应的信息;
收到前侧查询返回的信息,如果命中,则将入口地址对应的信息和后侧查询内容拼成一个新的80字节查询内容,查询内容以内部并行总线的形式送给TCAM控制器,TCAM控制器转换成接口格式送到TCAM;
TCAM收到查询请求,比对收到的查询内容以及入口地址内存储的规则内容,如果比对成功,则返回命中标记和命中的入口地址数值以及入口地址对应的信息;
比较前侧返回结果和后侧返回结果,如果都命中,则标记此超过80字节的内容查询命中了规则,并将命中的地址入口和入口地址对应的信息返回;
根据地址判断输出的端口,将报文送回到网络中。
2.如权利要求1所述的扩展TCAM位宽的方法,其特征在于,规则包括:主机IP地址、端口号,以及同时下发规则的ID号。
3.如权利要求1所述的扩展TCAM位宽的方法,其特征在于,TCAM控制器通讯接口为低速总线接口。
4.如权利要求1所述的扩展TCAM位宽的方法,其特征在于,规则会指定下发到TCAM内部的80字节规则表项内,每个表项的具体地址入口地址以及规则ID附属信息下发到入口地址对应的存储空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811407973.1A CN111224879B (zh) | 2018-11-23 | 2018-11-23 | 一种扩展tcam位宽的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811407973.1A CN111224879B (zh) | 2018-11-23 | 2018-11-23 | 一种扩展tcam位宽的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111224879A CN111224879A (zh) | 2020-06-02 |
CN111224879B true CN111224879B (zh) | 2023-03-24 |
Family
ID=70828634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811407973.1A Active CN111224879B (zh) | 2018-11-23 | 2018-11-23 | 一种扩展tcam位宽的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111224879B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478482A (zh) * | 2009-01-08 | 2009-07-08 | 中国人民解放军信息工程大学 | 报文分类中的非规则匹配方法、装置和系统 |
CN101848091A (zh) * | 2009-03-25 | 2010-09-29 | 成都友道科技有限公司 | 数据查找处理方法及系统 |
CN106789706A (zh) * | 2016-11-11 | 2017-05-31 | 天津光电通信技术有限公司 | 一种基于tcam的网络分流系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021858A (zh) * | 2007-01-29 | 2007-08-22 | 华为技术有限公司 | 一种数据存储方法及装置及数据查找、添加、删除方法 |
CN101364947A (zh) * | 2008-09-08 | 2009-02-11 | 中兴通讯股份有限公司 | 一种访问控制列表规则匹配方法及系统 |
CN101478447B (zh) * | 2009-01-08 | 2011-01-05 | 中国人民解放军信息工程大学 | 一种深度报文检测方法和装置 |
CN102289453B (zh) * | 2011-06-20 | 2013-09-18 | 北京星网锐捷网络技术有限公司 | 三态内容寻址存储器规则存储方法、装置及网络设备 |
CN102622434B (zh) * | 2011-12-31 | 2014-06-25 | 华为数字技术(成都)有限公司 | 数据存储方法、查找方法及装置 |
US8848707B2 (en) * | 2012-09-26 | 2014-09-30 | Avaya Inc. | Method for IP longest prefix match using prefix length sorting |
US9502111B2 (en) * | 2013-11-05 | 2016-11-22 | Cisco Technology, Inc. | Weighted equal cost multipath routing |
CN107506310B (zh) * | 2017-07-13 | 2020-04-24 | 北京东土军悦科技有限公司 | 一种地址查找、关键字存储方法及设备 |
CN107818151B (zh) * | 2017-10-24 | 2020-12-11 | 湖南恒茂高科股份有限公司 | 数据查找方法、装置、计算机设备和存储介质 |
-
2018
- 2018-11-23 CN CN201811407973.1A patent/CN111224879B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478482A (zh) * | 2009-01-08 | 2009-07-08 | 中国人民解放军信息工程大学 | 报文分类中的非规则匹配方法、装置和系统 |
CN101848091A (zh) * | 2009-03-25 | 2010-09-29 | 成都友道科技有限公司 | 数据查找处理方法及系统 |
CN106789706A (zh) * | 2016-11-11 | 2017-05-31 | 天津光电通信技术有限公司 | 一种基于tcam的网络分流系统 |
Non-Patent Citations (1)
Title |
---|
三态内容寻址存储器与多核网络处理器结合的IP查找加速模型;石巍等;《上海交通大学学报》;20130128(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111224879A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10389633B2 (en) | Hash-based address matching | |
Dong et al. | Packet classifiers in ternary CAMs can be smaller | |
US7930516B1 (en) | Linked list traversal with reduced memory accesses | |
US7054855B2 (en) | Method and system for performing a pattern match search for text strings | |
US7171439B2 (en) | Use of hashed content addressable memory (CAM) to accelerate content-aware searches | |
US8599859B2 (en) | Iterative parsing and classification | |
CN102301342A (zh) | 正则表达式匹配方法和系统及查找装置 | |
WO2014127605A1 (zh) | 基于哈希表和tcam表的mac地址硬件学习方法及系统 | |
CN101577721A (zh) | 一种索引拆分布鲁姆过滤器及其插入、删除和查询方法 | |
WO2020093737A1 (zh) | 一种报文处理方法及装置、存储介质、光网络终端 | |
US7403526B1 (en) | Partitioning and filtering a search space of particular use for determining a longest prefix match thereon | |
CN102193948A (zh) | 特征匹配方法和装置 | |
WO2017157335A1 (zh) | 报文识别的方法及装置 | |
CN112632079B (zh) | 一种数据流标识的查询方法及装置 | |
WO2021104393A1 (zh) | 多规则流分类的实现方法、设备和存储介质 | |
CN113411380A (zh) | 基于fpga可编程会话表的处理方法、逻辑电路和设备 | |
CN107248939B (zh) | 基于hash存储器的网络流高速关联方法 | |
CN106657439B (zh) | 网络地址转换映射表的操作方法及装置 | |
WO2008119282A1 (fr) | Procédé permettant d'acheminer une consultation et système de réacheminement | |
CN103812774B (zh) | 基于tcam的策略配置方法、报文处理方法及相应装置 | |
CN111224879B (zh) | 一种扩展tcam位宽的方法 | |
JP6678401B2 (ja) | 変更のためにパケットを個々のレイヤに分割し、変更後のレイヤを情報処理で継合する方法およびその装置 | |
CN111107068B (zh) | 一种fpga高效规则匹配方法及终端 | |
US6507874B1 (en) | System for efficient routing and translation of data | |
CN106416150B (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 |