[发明专利]一种多域流分类流水线的实现方法无效
申请号: | 201010248211.9 | 申请日: | 2010-08-09 |
公开(公告)号: | CN102377581A | 公开(公告)日: | 2012-03-14 |
发明(设计)人: | 蔡云阳;何运锋 | 申请(专利权)人: | 高通创锐讯通讯科技(上海)有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L12/56;H04L29/06 |
代理公司: | 上海浦一知识产权代理有限公司 31211 | 代理人: | 王函 |
地址: | 201203 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多域流 分类 流水线 实现 方法 | ||
技术领域
本发明属于计算机网络QoS(服务质量)领域,尤其涉及一种多域流分类流水线的实现方法。
背景技术
QoS全称为“Quality of Service”,中文名为“服务质量”。QoS是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。流分类采用一定的规则识别符合某类特征的报文,它是有区别地进行服务的前提和基础。
如图1所示,流分类的基本原理就是,数据包中的多个域根据分类参数以及搜索引擎去规则库中匹配。通过这种匹配就可以达到流分类的目的,这也是区别地进行服务的前提和基础。目前常用的硬件实现Ternary CAM。Ternary CAM(简称T-CAM,是一个硬件设备,它能起到和完全相关联存储器一样的功用)具有最快的分类时间,但是价格比较高,耗电量大,只适合小规则库。
发明内容
本发明要解决的技术问题是提供一种多域流分类流水线的实现方法,用SRAM(SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据)替换Ternary CAM,该方法功耗小,成本低,处理带宽高,RULE规则可以灵活扩大。
为解决上述技术问题,本发明一种多域流分类流水线的实现方法,包括如下步骤:
(1)接收到数据包后进行数据包信息域的提取;
(2)建立多个搜索模板,该搜索模板具有多比特域选择器、查找域掩码和联合标记;
(3)采用流水线方式通过步骤(2)建立的搜索模板选出160比特宽度的查找域,该查找域是经过掩码过滤的;
(4)用步骤(3)的查找域合上搜索模板的序列号,得到一个新查找域,用该新查找域进行哈希运算去查RULE规则表,进而去匹配RULE行为表;
(5)根据匹配结果,判断最终规则行为。
在步骤(1)中,所述数据包信息域包括IP头,VLAN和MAC地址;所述进行数据包信息域的提取具体为:对收到的数据包解析,得到该数据包的格式,从而可以获取该数据包信息域。
在步骤(1)中,基于多维查找转换为一维查找的算法,把流分类查找的各个数据包信息域连接起来组成一个查找域,该查找域的宽度为160比特。
在步骤(2)中,所述多比特域选择器用于选择相关的数据包信息域;所述查找域掩码用于去除规则不关心的数据包信息域的比特;所述联合标记用于表示是否联合下一个搜索模板做搜索。
步骤(3)具体为:采用流水线方式分4个时钟选出160比特的查找域,第一个时钟选择从24比特到19比特的相关域,第二个时钟选择从18比特到13比特的相关域,第三个时钟选择从12比特到7比特的相关域,第四个时钟选择从6比特到1比特的相关域,每次都记录填充的起始位置,查找域初始值为0。
在步骤(3)中,所述查找域经过掩码过滤采用查找域和查找域掩码做逻辑与的方法进行过滤。
在步骤(4)中,所述搜索模板的序列号的比特数量根据搜索模板的数量来决定。
在步骤(4)中,如果该搜索模板的联合标记有效,那么就保留该搜索模板的哈希运算的结果,迭代入下一个搜索模板的哈希运算,得到结果去查RULE规则表,进而去匹配RULE行为表。
在步骤(5)中,由于有多个搜索模板可以命中多条规则,那么根据每条规则的优先级去判断最终规则行为。
在步骤(5)中,判断最终规则行为具体采用如下方法:每条规则都配置有优先级,因此判断就根据每条规则的优先级高低,从高到底;如果优先级相同,就根据搜索模板的序列号大小,从大到小判断。
本发明的有益效果在于:本发明的技术方案描述了多域流分类流水线的实现方法,这种方法硬件实现简单,搜索时间只需一个时钟类似Ternary CAM(用SRAM替换Ternary CAM),功耗小,成本低,处理带宽高,RULE规则可以灵活扩大。
附图说明
图1是流分类算法的基本原理示意图;
图2是本发明流分类流程示意图;
图3是本发明方法中一种流水线实现查找域的示意图;
图4是本发明方法中另一种流水线实现查找域的示意图;
图5是本发明中规则搜索和比较示意图。
具体实施方式
如图2所示,本发明一种多域流分类流水线的实现方法,具体包括如下步骤:
1.接收到数据包开始流分类;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通创锐讯通讯科技(上海)有限公司,未经高通创锐讯通讯科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010248211.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种LED屏体冷却系统
- 下一篇:耳机定位和保持