一种基于TCAM实现浮动字符串高速匹配方法组成比例

技术编号:24353742 阅读:33 留言:0更新日期:2020-06-03 02:07
本发明专利技术一种基于TCAM实现浮动字符串高速匹配方法,其中,包括:输入数据帧,同时为每一数据帧分配一个帧ID,用于标记查询所属数据帧;通过帧ID提取数据帧转发或丢弃;对缓存后的数据帧进行解析,获得有效载荷数据首字节的偏移位置;根据有效载荷偏移提取有效载荷数据;查询字符串规则并返回结果数据;通过帧ID提取输入帧,并根据帧ID标记的字符串查询结果,转发命中规则数据帧,并丢弃未命中规则数据帧。

A high speed matching method of floating string based on TCAM

【技术实现步骤摘要】
一种基于TCAM实现浮动字符串高速匹配方法
本专利技术涉及TCAM浮动字符串处理技术,字符串匹配是基于TCAM实现浮动字符串高速匹配的系统。
技术介绍
浮动字符串匹配广泛用于文本文件字符搜索,计算机病毒查找,网络传输报文关键字匹配等领域。现有技术中,通常使用输入字符串流和预定义的字符数组(字符串规则)进行逐字节扫描匹配。而逐字节扫描匹配降低了匹配效率。以FPGA实现为例,处理模块的时钟频率通常为200MHz,逐字节扫描匹配模块每秒最大处理性能也就是200M*8bit/s=1.6Gbps。即使通过模块复制10份也不过16Gbps,而当今网络通信技术高速发展,百G以上的处理板卡以成为市场主流。使用基于逐字节扫描的匹配技术已经无法满足日益增长的网络处理需求。
技术实现思路
本专利技术的目的在于提供一种基于TCAM实现浮动字符串高速匹配方法,用于解决上述现有技术的问题。本专利技术一种基于TCAM实现浮动字符串高速匹配方法,其中,包括:输入数据帧,同时为每一数据帧分配一个帧ID,用于标记查询所属数据帧;通过帧I本文档来自技高网...

【技术保护点】
1.一种基于TCAM实现浮动字符串高速匹配方法,其特征在于,/n输入数据帧,同时为每一数据帧分配一个帧ID,用于标记查询所属数据帧;/n通过帧ID提取数据帧转发或丢弃;/n对缓存后的数据帧进行解析,获得有效载荷数据首字节的偏移位置;/n根据有效载荷偏移提取有效载荷数据;/n查询字符串规则并返回结果数据;/n通过帧ID提取输入帧,并根据帧ID标记的字符串查询结果,转发命中规则数据帧,并丢弃未命中规则数据帧。/n

【技术特征摘要】
1.一种基于TCAM实现浮动字符串高速匹配方法,其特征在于,
输入数据帧,同时为每一数据帧分配一个帧ID,用于标记查询所属数据帧;
通过帧ID提取数据帧转发或丢弃;
对缓存后的数据帧进行解析,获得有效载荷数据首字节的偏移位置;
根据有效载荷偏移提取有效载荷数据;
查询字符串规则并返回结果数据;
通过帧ID提取输入帧,并根据帧ID标记的字符串查询结果,转发命中规则数据帧,并丢弃未命中规则数据帧。


2.如权利要求1所述的基于TCAM实现浮动字符串高速匹配方法,其特征在于,载荷数据为64字节分段组。


3.如权利要求1所述的基于TCAM实现浮动字符串高速匹配方法,该结果数据包括查询命中结果、规则ID以及规则长度信息。


4.如权利要求1所述的基于TCAM实现浮动字符串高速匹配方法,其特征在于,对缓存后的数据帧进行解析,获得有效载荷数据首字节的偏移位置包括:接收以太网帧结构的输入数据帧,解析以太网数据帧MAC域、IP头部、TCP以及UDP头部,获取载荷域首字节偏移值,并将输入数据帧、帧ID和载荷域字节偏移。

<...

【专利技术属性】
技术研发人员:李进
申请(专利权)人:恒为科技上海股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1