[发明专利]网络数据流分类方法和系统有效
申请号: | 201310150863.2 | 申请日: | 2013-04-26 |
公开(公告)号: | CN103220223A | 公开(公告)日: | 2013-07-24 |
发明(设计)人: | 张宇;吴教仁;刘涛;刘宁 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | H04L12/743 | 分类号: | H04L12/743 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 宋合成 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网络 数据流 分类 方法 系统 | ||
技术领域
本发明涉及互联网技术领域,特别涉及一种网络数据流分类方法和系统。
背景技术
随着互联网的发展以及不同业务服务的出现,各种服务之间对于不同Qos(Quality of Service,服务质量保证)级别的需求愈发强烈。一种解决方案是使用流分类方法。流分类方法根据数据包头部的一个或者若干字段决定该数据包隶属的流,为不同的流提供不同的服务。对流的差别服务的实现基于流分类算法。目前的流分类算法主要存在的问题是查找比较耗时,伸缩性差。
例如,目前应用的路由表中最长前缀匹配(lpm)算法是一种一维流分类算法,将去往同一个目的网络的数据包设置为属于同一个流。lpm算法具有很好的伸缩性,但是不支持多维的流分类,因此没有多维流分配的特点。
目前流分类算法主要应用的数据结构有三种,分别为线性表、树和哈希表。不同的数据结构在查找速度和内存利用率上各有优势,但要实现可伸缩难度较大。如线性表的查找时间随着规则的增多线性增长,不具有可伸缩性。利用树和哈希表作为数据结构,查找虽然较快,要实现增删规则的可伸缩性也十分困难。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明的一个目的在于提出一种网络数据流分类方法,将lpm算法和哈希表相结合,查找速率高,可伸缩性好,提高传输质量,降低传输成本。
本发明的第二个目的在于提出一种网络数据流分类系统。
为达到上述目的,本发明第一方面的实施例提出了一种网络数据流分类方法,包括如下步骤:建立最长前缀匹配lpm表,其中,所述lpm表中的每项为端口范围表,并且每个所述端口范围表对应一项服务;当接收到服务数据时,获取所述服务数据的目的ip,并根据服务数据对应的端口范围表获取所述服务数据的目的端口,并查找到所述服务数据的源ip对应的哈希表,根据所述哈希表进行哈希查找以获取所述服务数据的源ip;根据所述服务数据的源ip获取所述服务数据的类型。
根据本发明实施例的网络数据流分类方法,将传统lpm算法改进为多维流分类算法,可伸缩性好。使用哈希表作为数据结构,查找速度快,由于是多维流分类,可对不同的数据流采用不同的服务,从而提高传输质量,降低传输成本。
在本发明的一个实施例中,还包括如下步骤:通过添加或删除所述端口范围以添加或删除相关服务。
在本发明的一个实施例中,当添加一个所述服务时,如果添加的端口范围的深度大于之前的端口范围的深度,则以所述添加的端口范围覆盖之前的端口范围;如果添加的端口范围的深度等于之前的端口范围的深度,则将所述添加的端口范围添加到所述lpm表的链表;如果添加的端口范围的深度小于之前的端口范围的深度,则放弃添加。
在本发明的一个实施例中,当删除所述服务时,如果所述lpm表对应的服务全部删除,则查找所述端口范围的深度小的规则;查找到填充规则的lpm表项,将所述填充规则的lpm表项全部复制到被填充规则的表项。
在本发明的一个实施例中,所述服务包括数据压缩和服务质量保证。
本发明第二方面的实施例提出了一种网络数据流分类系统,包括建立装置、获取装置和查找装置。
其中,建立装置用于建立最长前缀匹配lpm表,其中,所述lpm表中的每项为端口范围表,并且每个所述端口范围表对应一项服务;获取装置用于在接收到服务数据时,获取所述服务数据的目的ip,并根据服务数据对应的端口范围表获取所述服务数据的目的端口,以及获取所述服务数据的源ip获取所述服务数据的类型;查找装置用于查找到所述服务数据的源ip对应的哈希表,根据所述哈希表进行哈希查找以获取所述服务数据的源ip。
根据本发明实施例的网络数据流分类系统将传统lpm算法改进为多维流分类算法,可伸缩性好。使用哈希表作为数据结构,查找速度快,由于是多维流分类,可对不同的数据流采用不同的服务,从而提高传输质量,降低传输成本。
在本发明的一个实施例中,服务处理装置,用于通过添加或删除所述端口范围以添加或删除相关服务。
在本发明的一个实施例中,所述服务处理装置用于当添加一个所述服务时,如果添加的端口范围的深度大于之前的端口范围的深度,则服务处理装置以所述添加的端口范围覆盖之前的端口范围;如果添加的端口范围的深度等于之前的端口范围的深度,则服务处理装置将所述添加的端口范围添加到所述lpm表的链表;如果添加的端口范围的深度小于之前的端口范围的深度,则服务处理装置放弃添加。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310150863.2/2.html,转载请声明来源钻瓜专利网。