一种多阶段多维ip地址分类方法及装置的制造方法

文档序号:9754851阅读:455来源:国知局
一种多阶段多维ip地址分类方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机网络技术领域,尤其涉及一种多阶段多维IP地址分类方法及装置。
【背景技术】
[0002]近年来,随着网络技术的普及和发展,网络带宽和流量呈指数级的速度增长,根据CNNIC发布的《第27次中国互联网络发展状况统计报告》,中国国际出口带宽2010年底达到1,098,956.82Mbps,年增长率为26.8%。面对日益增长的庞大网络流量,安全系统中需要处理的数据量也越来越大,流量的实时处理要求更高的性能。
[0003]下一代通信网络是基于IP技术的综合话音、数据、图像、视频的多媒体业务网络,能够为不同的业务类型提供优良的、不同级别的服务质量,并且能够提供宽带接入能力。业务量测量是实施有效的网络管理和控制的前提,业务量测量结果是对网络运行状况优劣进行评判的依据。同时业务量测量对于网络容量的规划、按用户对网络资源占用情况实施计费的新措施的实现等都有非常重要的作用。业务量测量的关键技术之一便是流分类技术,由于流分类中处理的数据包绝大部分都是IP包,因此相应的技术也称为IP分类技术。此类统计方法适用于域内、国内、国际流量的分析、统计。
[0004]目前,常用的IP分类方法一般有如下几种:
[0005]Grid of Tries算法扩展了Trie树数据结构,用两级Trie树实现目的-源IP对的分类问题。它是一种优秀的二维IP分类的解决方案,但是由于它对过滤规则有很多限制,因此不适于多维IP分类的情况。
[0006]无冲突哈希查找算法是一种将多维分类算法转化为两维分类的算法,它主要基于源端口、目的端口和协议三域交叉组合的情况,一般较少,因此可以将该3个域构造无冲突函数,查找时一次即可。但是,该算法也存在不足之处:(I)进行无冲突哈希查找时,最坏情况下,可能产生空间爆炸;(2)进行Grid of Tries查找时,最坏情况下,空间复杂度和时间复杂度都很大。
[0007]Lakshman和Sti liadi s提出的二维分类算法也采用了 Trie树结构,总共有两层,用二维数据的其中一维构成Trie树,另一维构成第二层。两层中的数据有一定的限制,其中一层一般为前缀,另一层为范围。该算法讨论了一种基于完全无冲突哈希和跳转表Trie树的多阶段多维IP分类算法,该算法在时间和空间平均性能均优于Grid of Tries多维分类算法。

【发明内容】

[0008]有鉴于此,本发明在Lakshman和Stiliadis提出的二维分类算法和Grid of Tries算法的基础上提出了一种基于完全无冲突哈希和跳转表的多阶段多维ip分类算法,以提高适用于域内、国内、国际流量的IP分类统计的效率。
[0009]根据本发明一方面,提供了基于完全无冲突哈希和跳转表的多阶段多维IP地址分类方法,其包括:
[0010]步骤1、采用基于目的端口和协议两域构造哈希函数;
[0011 ] 步骤2、在Lakshman和Stiliadis提出的二维分类算法和Grid of Tries算法的基础上将两种算法合并,对Grid of Tries算法改造成Trie树和跳转表,并所述在Trie树的终端存放源端口号。
[0012]根据本发明另一方面,提供了一种基于完全无冲突哈希和跳转表的多阶段多维IP地址分类装置,其包括:
[0013]哈希表构造模块,采用基于目的端口和协议两域构造哈希表;
[0014]分类模块,用于在Lakshman和Stiliadis提出的二维分类算法和Grid of Tries算法的基础上将两种算法合并,对Grid of Tries算法改造成Trie树和跳转表,并所述在Trie树的终端存放源端口号。
[0015]本发明提出的上述方法通过网卡自动机制,大大提高网卡使用效率,节约服务器成本。
【附图说明】
[0016]图1是本发明中基于完全无冲突哈希和跳转表的多阶段多维ip分类方法流程图;
[0017]图2是本发明中哈希函数构造示意图。
【具体实施方式】
[0018]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
[0019]图1示出了本发明提出的一种基于完全无冲突哈希和跳转表的多阶段多维ip分类方法。如图1所示,该方法包括:
[0020]方法的核心有两部分:一是哈希函数的构造,主要是采用基于目的端口和协议两域构造哈希函数,使得在最坏情况下完全避免了空间爆炸问题;二是在Lakshman和Stiliadis提出的二维分类算法和Grid of Tries算法的基础上将两种算法合并,对Gridof Tries算法改造成真正的Trie树和跳转表,以减少空间复杂度,同时在Trie树的终端存放源端口号(或范围)。
[0021]如图1所示,所述基于完全无冲突哈希和跳转表的多阶段多维IP地址分类方法包括:
[0022]步骤1、采用基于目的端口和协议两域构造哈希函数;
[0023]步骤2、在Lakshman和Stiliadis提出的二维分类算法和Grid of Tries算法的基础上将两种算法合并,对Grid of Tries算法改造成Trie树和跳转表,并所述在Trie树的终端存放源端口号。
[0024]本发明中哈希函数构造方法如下:
[°°25] 对一个包头H(dport,sprot,proto)(分别表示目的端口、源端口和协议号,此处暂不考虑两个IP域).分别以dport,sport和pro to为索引查等价类表,得到等价类号fd(dport),fs(sportWPfp(proto),然后选取以它们的某个哈希函数g(fd(dport),fs(sport),fp(proto))为索引再进行查哈希表,得到哈希值h(g(fd(dport),fs(sport) ,fp(proto))),此值即为目的和源IP集合的指针。对目的端口 dport的等价类集合D-Set中所有的D个等价类以0,I,2,...,D-1依次编号,fd(dport)定义为目的端口dport对应的等价类号,fd为所述目的端口的等价类函数;f s和fP以同一方法定义,8卩f s (sport)定义为源端口
sport对应的等价类号,S-set为源端P sport的等价类集合,记为(O,1,2......,S_l),fp
(proto)定义为协议口 proto对应的等价类号,P-set为协议号proto对应的等价类集合,记为(0,1,2,……,P-1);
[0026]上述过程如图2所示.方框表示查表,g是哈希函数.选择g(d,s,p)=P S d+Ps+p,根据 fd,fs 和 fp 的定义,我们有 O <d<D-l,0<s<S-l,0<p<P-l.
[0027]—般情况下,过滤规则基本上只限于5个域:目的IP地址(32bit)、源IP地址(32bit)、目的端口(16bit)、源端口(16bit)和协议域(8bit)。对于目的端口
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1