CN111224879B - 一种扩展tcam位宽的方法 - Google Patents

一种扩展tcam位宽的方法 Download PDF

Info

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
Application number
CN201811407973.1A
Other languages
English (en)
Other versions
CN111224879A (zh
Inventor
李振
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Embedway Technologies Shanghai Corp
Original Assignee
Embedway Technologies Shanghai Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Embedway Technologies Shanghai Corp filed Critical Embedway Technologies Shanghai Corp
Priority to CN201811407973.1A priority Critical patent/CN111224879B/zh
Publication of CN111224879A publication Critical patent/CN111224879A/zh
Application granted granted Critical
Publication of CN111224879B publication Critical patent/CN111224879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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查询接口,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附属信息下发到入口地址对应的存储空间。
CN201811407973.1A 2018-11-23 2018-11-23 一种扩展tcam位宽的方法 Active CN111224879B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 湖南恒茂高科股份有限公司 数据查找方法、装置、计算机设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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&#39;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