[发明专利]一种高效且可扩展的IP数据包分类方法有效

专利信息
申请号: 201110349979.X 申请日: 2011-11-08
公开(公告)号: CN102437950A 公开(公告)日: 2012-05-02
发明(设计)人: 李金库;谢琨;马建峰;杨超 申请(专利权)人: 西安电子科技大学
主分类号: H04L12/56 分类号: H04L12/56;H04L29/06
代理公司: 陕西电子工业专利中心 61205 代理人: 王品华;朱红星
地址: 710071*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开一种高效且可扩展的IP数据包分类方法,主要解决现有技术无法满足通用网络设备对执行效率和可扩展能力要求的问题。其实现步骤是:首先通过分析IP包中源、目的端口和协议类型字段在实际应用中的分布特性,将它们映射到一个8比特元组,并根据映射结果将分类规则集划分为若干子集;然后借助于信息熵技术,通过查找最优比特序列作为根和子节点,为每个规则子集建立一棵Tries查找树;最后分类器将收到的IP包映射到某个Tries查找树,查找该树并定位到其叶子节点,进行若干次匹配确定出数据包的类别。本发明降低了分类复杂度,提高了包分类的平均查询时间,具有良好的可扩展性,可用于支持网络设备中的区分服务应用。
搜索关键词: 一种 高效 扩展 ip 数据包 分类 方法
【主权项】:
1.一种高效且可扩展的IP数据包分类方法,包括:(1)预处理步骤(1.1)初始化索引指针数组indexed_pointer[256]为0;(1.2)设定Tries查找树叶子节点的最大容量为cluster_size;(1.3)遍历分类规则集R,依次取出每个规则Ri进行处理:(1.3a)取Ri的源端口号字段,根据该字段的值将它映射到一个3比特元组S1S2S3,映射的方法为:将21端口映射到3比特元组000,将80端口映射到3比特元组001,将23端口映射到3比特元组010,将25端口映射到3比特元组011,将110端口映射到3比特元组100,将53端口映射到3比特元组101,将1024~65535端口映射到3比特元组110,将其它端口映射到3比特元组111;(1.3b)取Ri的目的端口号字段,根据该字段的值将它映射到一个3比特元组D1D2D3,映射的方法为:将21端口映射到3比特元组000,将80端口映射到3比特元组001,将23端口映射到3比特元组010,将25端口映射到3比特元组011,将110端口映射到3比特元组100,将53端口映射到3比特元组101,将1024~65535端口映射到3比特元组110,将其它端口映射到3比特元组111;(1.3c)取Ri的协议类型字段,根据该字段所确定的协议类型将它映射到一个2比特元组P1P2,映射的方法为:将传输控制协议TCP映射到2比特元组00,将用户数据报协议UDP映射到2比特元组01,将因特网控制报文协议ICMP映射到2比特元组10,将其它协议映射到2比特元组11;(1.3d)将所述的S1S2S3、D1D2D3和P1P2比特元组串接在一起,得到一个8比特元组m=S1S2S3D1D2D3P1P2,根据m的值将规则Ri划分到规则子集Subset[m],0≤m≤255;(1.4)取分类规则集R的一个规则子集Subset[n],n为它的子集号,如果该子集非空,则在内存空间为它分配一个Tries查找树的起始地址,并将该地址赋给索引指针数组indexed_pointer[256]中下标为n的数组元素indexed-pointer[n];(1.5)判断规则子集Subset[n]内的规则数目,如果规则数目大于cluster_size,则计算Subset[n]内规则的“源IP地址+目的IP地址”联合字段每一位比特为0的统计概率Pj(0)和每一位比特为1的统计概率Pj(1),0≤j≤63:Pj(0)=(Nj0+Nj*/2)/Nj]]>Pj(1)=(Nj1+Nj*/2)/Nj]]>其中,Nj代表选择第j位比特时规则子集内规则总数,Nj0代表第j位为0的规则数目,Nj1代表第j位为1的规则数目,代表第j位为*的规则数目,*代表任意值;(1.6)基于Pj(0)和Pj(1),计算子集内规则的“源IP地址+目的IP地址”联合字段中每一位比特的信息熵值:0≤j≤63;(1.7)以信息熵值最大的那一位比特为根,将规则子集Subset[n]划分为左右两个规则子束,左规则子束包含规则子集中所有的根比特为0或*的规则,右规则子束包含规则子集中所有的根比特为1或*的规则;(1.8)将左右两个规则子束看作两个规则子集,重复步骤(1.5)一(1.7),直到每个规则子束内规则数目均不超过最大容量cluster_size,并将最终的规则子束作为Tries查找树的叶子节点;(1.9)重复步骤(1.4)-(1.8),直到将所有的规则子集处理完毕;(2)数据包分类步骤(2.1)分类器收到一个数据包P;(2.2)取P的源端口号字段,根据该字段的值将它映射到一个3比特元组s1s2s3,映射的方法为:将21端口映射到3比特元组000,将80端口映射到3比特元组001,将23端口映射到3比特元组010,将25端口映射到3比特元组011,将110端口映射到3比特元组100,将53端口映射到3比特元组101,将1024~65535端口映射到3比特元组110,将其它端口映射到3比特元组111;(2.3)取P的目的端口号字段,根据该字段的值将它映射到一个3比特元组d1d2d3,映射的方法为:将21端口映射到3比特元组000,将80端口映射到3比特元组001,将23端口映射到3比特元组010,将25端口映射到3比特元组011,将110端口映射到3比特元组100,将53端口映射到3比特元组101,将1024~65535端口映射到3比特元组110,将其它端口映射到3比特元组111;(2.4)取P的协议类型字段,根据该字段所确定的协议类型将它映射到一个2比特元组p1p2,映射的方法为:将传输控制协议TCP映射到2比特元组00,将用户数据报协议UDP映射到2比特元组01,将因特网控制报文协议ICMP映射到2比特元组10,将其它协议映射到2比特元组11;(2.5)将所述的s1s2s3、d1d2d3、p1p2比特元组串接在一起,得到一个8比特元组m=s1s2s3d1d2d3p1p2;(2.6)判断索引指针数组元素indexed_pointer[m]的值,如果不为0,执行步骤(2.7),否则转步骤(2.1);(2.7)查找索引指针数组元素indexed_pointer[m]指向的Tries查找树,依次判定数据包内“源IP地址+目的IP地址”联合字段与该Tries查找树的根及子树根节点对应比特的值,定位到该Tries查找树的某个叶子节点;(2.8)将数据包与该叶子节点内的分类规则依次进行匹配,找出优先权最大的规则,从而完成对数据包P的分类;(2.9)跳转到步骤(2.1),开始下一个数据包的分类处理。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201110349979.X/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top