The invention provides a TCAM based range matching 2 level hierarchical search method, and realizes the multi matching of the port range in the packet classification problem based on the TCAM. The utility model is characterized in that the first range from concentrated extract wide range and wide range of individual treatment, then again for the rest of the range set, as much as possible will be associated with the range together, combined into some new range sets, and the re combination of the new range most of them are composed of a plurality of original range and the original combination. Then, these new ranges contain new ranges of more than one original range, dividing them into contiguous ranges of 1 spacing. In the search process, first of all to find the new range after the merger in the first TCAM+SRAM, then according to the new set of range search results to determine whether the need to search for second level TCAM+SRAM through judgment, thus by dividing the search for the two times to achieve the TCAM range based on matching technology.
【技术实现步骤摘要】
基于TCAM的范围多匹配2级分层查找方法
本专利技术涉及一种基于TCAM(TernaryContentAddressableMemory,三态内容可寻址存储器)的解决范围多匹配问题的2级分层查找方法,主要应用在入侵检测系统、路由器、交换机等网络设备中,属于计算机网络中网络数据包分类
技术介绍
随着网络技术的快速发展,尤其是近些年来各种新型网络应用的出现,像网络入侵检测系统(NetworkIntrusionDetectionSystem,NIDS),质量服务(QualityofService,QoS),负载均衡(LoadBalance)等都需要报告出所有匹配结果或部分匹配结果,传统的基于软件的包分类技术远远不能满足线速的要求,而基于硬件的技术却能够很好的解决这一问题,如TCAM。TCAM是从CAM的基础上发展而来的,它的基本结构图如图1所示。一般的CAM存储器中每个bit位的状态只有两个:“0”或“1”,而TCAM中每个bit位有三种状态,除去“0”和“1”外,还有一个“don′tcare”状态,经常用“*”来表示,它是通过掩码来实现的。因此,TCAM不仅 ...
【技术保护点】
一种实现基于TCAM(Ternary?Content?Addressable?Memory,三态内容可寻址存储器)的范围多匹配问题2级分层查找方法,适用于网络设备中使用TCAM解决包分类问题中的端口范围匹配和多匹配问题。其特点在于,将原始范围集进行分类处理后再根据各类范围集的特点采用适当的方法进行分类查找。
【技术特征摘要】
1.一种实现基于TCAM(TernaryContentAddressableMemory,三态内容可寻址存储器)的范围多匹配问题2级分层查找方法,适用于网络设备中使用TCAM解决包分类问题中的端口范围匹配和多匹配问题,其特征在于,规定了一个范围为宽区间范围,要求其满足的条件是其区间大于或等于1/2最大范围区间W;通过提取出宽区间范围,然后根据宽区间范围的特点采用Hicut/Hypercut方法进行查找;将对提取出宽区间范围后的剩余范围集,采用最大关联范围集模块的方法尽可能多的将有关联的范围合并在一起,组合成一个新的范围,通过这一步之后,所有的新的范围之间就都是相互之间不相关的范围了;对所述新的范围中包含不止一个原始范围的新范围,将其划分成若干个毗连范围,毗连范围是指一个范围与另一个范围之间不相交且这两个范围之间相互间距为1;采用最长前缀匹配LCP的方法,分别对产生的新范围集进行LCP和ELCP的生成,并对毗连范围进行LCP的生成;数据包的查找过程包括:801:当输入进来一个查找关键字K的时候,这个查找关键字K被同时送到TCAM0和TCAM1中进行并行查找,并分别返回TCAM0和TCAM1中与之最优匹配的条目的索引值i和j;802:将这两个索引i和j分别送到SRAM0和SRAM1中读取相应位置的始点值Si和终点值Ej;803:查找关键字K分别在比较器C0和C1中与读取出来的始点值Si和终点值Ej同时进行比较;所述的步骤803包括:8031:在C0中,如果查找关键字K大于或等于从SRAM0中读取的始点值Si成立,则将从TCAM0中返回的索引i输入到比较器C2中,并执行步骤8041;否则,此条路径查找结束;8032:在C1中,如果查找关键字K的值小于从SRAM1中读取的终点值Ej成立,则将从TCAM1中返回的索引j输入到比较器C3中,并执行步骤8042;否则,此条路径查找结束;8041:在比较器C2中,如果i小于M成立,则执行步骤8051,否则,执行步骤8061;所述M为新范围集中包含不止一个原始范围的新范围的个数;8042:在比较器C3中,如果j小于M成立,则执行步...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。