一种基于TCAM的包匹配方法组成比例

技术编号:11134280 阅读:153 留言:0更新日期:2015-03-12 09:51
本发明专利技术提供一种基于TCAM的包匹配方法,该方法包括:根据包转发速率r和TCAM芯片的时钟周期t计算空间压缩等级n;该空间压缩等级n为原TCAM芯片中可被压缩为1条表项的原表项数量;根据所述压缩等级n选择合适类型的TCAM芯片;根据压缩等级n,对原TCAM芯片进行压缩;当获取到匹配关键字时,将该匹配关键字与压缩后的TCAM芯片的规则库进行对比,执行n个时钟周期的匹配操作,得到匹配结果。该方案根据网络设备的包转发速率要求动态选择TCAM条目压缩等级,确保了在高速良好的用户体验的前提下,提高了TCAM芯片的空间利用率,并降低了能耗;且实现了TCAM芯片的动态选择,降低TCAM芯片的选购时间和费用。

【技术实现步骤摘要】

本专利技术涉及互联网数据包分类
,具体涉及一种基于TCAM的包匹配方法
技术介绍
随着互联网越来越深入人们的日常生活,网络流量不断增大,各种网络应用的数量也飞速增长,同时,随之而来的新型网络恶意攻击也不断出现,从而导致了越来越多的网络核心路由设备出现网络拥塞现象,严重降低了网络核心路由设备的转发性能。鉴于此,为识别网络中的流量类型以提供更优的服务质量和网络安全水平,数据包分类技术应运而生,且已成为现有互联网架构的核心组成部分。其中,基于三态内容寻址存储器(TCAM)的高速数据包分类机制因具有极高的包匹配速率,已成为了包分类技术的事实工业标准。TCAM芯片规则库中的每条规则表达为严格的三态(0,1和*)格式,即TCAM中每一位比特只能取三种值:0,1和*(代表无关项)。如果一个字符串与某规则中所有的0和1位相同,则表明该字符串符合该规则。例如,字符串“110110”和“110010”都符合规则“11**10”。TCAM通过并行地将搜索关键词与规则库中的所有规则进行对比,并在固定时钟周期内返回位于TCAM较低地址位置的匹配结果,以实现高速的匹配操作。为降低能耗,现有TCAM芯片大多支持全局掩码寄存器(GMR)和局部掩码寄存器(BMR)。如图1所示,GMR决定了在包规则匹配中的参与匹配操作的纵向比特位置范围(如GMR 0和GMR 2),而BMR决定了在匹配操作中应被启用或禁用的TCAM内存块(例如Block0)。GMR和BMR协同操作可实现降低TCAM芯片能耗的功能。TCAM芯片规则库三态表述的固有特征,决定了在范围字段的匹配过程中将不可避免产生范围扩张问题。在典型的IPv4规则判定中,协议号和源IP地址、目的IP地址均可表述为前缀格式,即所有的无关项*均分布于三态字符串的末尾位置(例如11010***),这使得数据包中上述三个字段信息均可直接存储于TCAM中作为一条表项。然而,数据包中的源端口号和目的端口号信息在规则判定中表征为实数范围,例如,[1,65535]的范围字段需要30个前缀格式的三态字符串来表征,而表征源端口号和目的端口号均属于[1,65535]的规则判定则需要多达30×30=900个TCAM表项,这显然导致了严重的范围扩张问题。同时,范围扩张引起的表项剧增也加大了TCAM芯片的功耗,影响TCAM芯片的实际应用效果。因此,如何提高TCAM芯片的空间利用率,以减轻范围扩张带来的负面影响,对基于TCAM的数据包分类技术的发展具有至关重要的推动作用。为解决上述问题,现有技术提出了一种C-TCAM(Compressed-TCAM:压缩的TCAM):采用二级压缩机制,将原先占据两条TCAM表项的每两个范围字段(如传输层端口号字段)压缩存储到一条TCAM表项中,以提高TCAM芯片的空间利用率。但是,C-TCAM不具备TCAM芯片类型选择功能,不能根据网络设备转发速率的不同需求而动态适配TCAM芯片类型及空间压缩等级,导致芯片空间利用率不高,且能耗较高。例如,对于IPv4分组分类而言,若TCAM芯片位宽为144比特时,因为非范围字段包括源地址、目的地址和协议字段总长度共72比特,范围字段包括源端口和目的端口总长度共32比特,因此,采用C-TCAM后,每条TCAM表项的剩余比特宽度为8比特(144-72-32×2=8);然而,若采用576比特位宽的TCAM芯片时,C-TCAM方法导致每条TCAM表项的剩余比特宽度多达440比特,单条TCAM表项空间利用率仅为23.6%。产生这种想象的原因是:C-TCAM算法不具备动态TCAM芯片类型选择功能,只能固定地采用范围字段二级压缩机制,而不能根据网络设备转发速率需求自适应地调整范围字段压缩等级。
技术实现思路
本专利技术的目的是提出一种基于TCAM的包匹配方法,基于网络设备转发速率来完成TCAM芯片类型动态选择及范围字段压缩等级智能核定,在保证网络设备正常转发速率的基础上,提高TCAM芯片的空间利用率。为达上述目的,本专利技术提供了一种基于TCAM的包匹配方法,包括:根据包转发速率r和TCAM芯片的时钟周期t计算空间压缩等级n;该空间压缩等级n为原TCAM芯片中可被压缩为1条表项的原表项数量;根据所述压缩等级n选择合适类型的TCAM芯片;根据压缩等级n,对原TCAM芯片进行压缩;所述压缩包括:将原TCAM芯片中占据n条表项中的n对源端口号和目的端口号压缩为1条表项,按照表项位置自上而下的顺序依次执行;当获取到匹配关键字时,将该匹配关键字与压缩后的TCAM芯片的规则库进行对比,执行n个时钟周期的匹配操作,得到匹配结果。其中,所述根据包转发速率r和TCAM芯片的时钟周期t计算空间压缩等级n包括:根据以下公式计算包转发速率:定义网络最小包大小为x bit,如果某网络设备接口带宽为y bit/s,则TCAM-PC的包转发速率需要达到的数值可计算如下:r=y/x;其中,x为网络最小包大小,单位为bit;y为网络设备接口带宽,单位为bit/s;计算所述网络最小包的处理时延:d=1/r根据以下公式计算TCAM芯片压缩等级n:即:其中,t为TCAM芯片的时钟周期,单位为秒。进一步的,如TCAM芯片的最大位宽为M,则为获得尽可能大的空间压缩率,n应为:s为源IP地址的长度、d为目的IP地址的长度、p为协议号的长度、s’为源端口号的长度、d’为目的端口号的长度。进一步的,所述根据所述压缩等级n选择合适类型的TCAM芯片,包括:所述合适类型的TCAM芯片的位宽z取满足如下条件的最小整数值:(s+d+p)+(s'+d')n≤z≤M,且z∈C;其中,C为TCAM类型的集合,C={c|c∈N本文档来自技高网
...
一种基于TCAM的包匹配方法

【技术保护点】
一种基于TCAM的包匹配方法,其特征在于,包括:根据包转发速率r和TCAM芯片的时钟周期t计算空间压缩等级n;该空间压缩等级n为原TCAM芯片中可被压缩为1条表项的原表项数量;根据所述压缩等级n选择合适类型的TCAM芯片;根据压缩等级n,对原TCAM芯片进行压缩;所述压缩包括:将原TCAM芯片中占据n条表项中的n对源端口号和目的端口号压缩为1条表项,按照表项位置自上而下的顺序依次执行;当获取到匹配关键字时,将该匹配关键字与压缩后的TCAM芯片的规则库进行对比,执行n个时钟周期的匹配操作,得到匹配结果。

【技术特征摘要】
1.一种基于TCAM的包匹配方法,其特征在于,包括:
根据包转发速率r和TCAM芯片的时钟周期t计算空间压缩等级n;该空间压缩等级
n为原TCAM芯片中可被压缩为1条表项的原表项数量;
根据所述压缩等级n选择合适类型的TCAM芯片;
根据压缩等级n,对原TCAM芯片进行压缩;所述压缩包括:将原TCAM芯片中占
据n条表项中的n对源端口号和目的端口号压缩为1条表项,按照表项位置自上而下的顺
序依次执行;
当获取到匹配关键字时,将该匹配关键字与压缩后的TCAM芯片的规则库进行对比,
执行n个时钟周期的匹配操作,得到匹配结果。
2.根据权利要求1所述的方法,其特征在于,所述根据包转发速率r和TCAM芯片
的时钟周期t计算空间压缩等级n包括:
根据以下公式计算包转发速率需要达到的数值:
r=y/x;
其中,x为网...

【专利技术属性】
技术研发人员:王凯吴恒奎
申请(专利权)人:中国电子科技集团公司第四十一研究所
类型:发明
国别省市:山东;37

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

1