[发明专利]一种子网匹配方法和装置在审
申请号: | 202110544831.5 | 申请日: | 2021-05-19 |
公开(公告)号: | CN113286013A | 公开(公告)日: | 2021-08-20 |
发明(设计)人: | 冯杰;李嘉伟;周谊成 | 申请(专利权)人: | 苏州瑞立思科技有限公司 |
主分类号: | H04L29/12 | 分类号: | H04L29/12;G06F16/22;G06F16/2453;G06F16/2455 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 范晴 |
地址: | 215000 江苏省苏州市高铁新*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 子网 匹配 方法 装置 | ||
本发明公开了一种子网匹配方法和装置。其中,所述方法包括:根据目标IP首8位构成的数组元素,从子网关联的二叉搜索树中确定目标二叉搜索树;其中,所述子网关联的二叉搜索树根据子网IP的首8位以及子网IP地址生成;根据所述目标IP对所述目标二叉搜索树进行搜索,确定所述目标IP对应的目标节点;将所述目标节点的子网与所述目标IP匹配,若匹配成功,则所述目标IP在子网集合中。本发明的技术方案,通过查询表和二叉搜索树来进行多子网的匹配,与现有技术相比,降低了匹配子网时的算法复杂度,降低了平均IP匹配时间,提高了高速网络应用中IP的匹配效率。
技术领域
本发明实施例涉及网络代理技术领域,尤其涉及一种子网匹配方法和装置。
背景技术
在网络代理技术中,常常需要通过一系列不连续的子网段匹配流经网卡的数据包,若匹配成功,则代理该数据包。
目前的算法大多是线性匹配,即按顺序匹配子网段,扫描过程中,若找到匹配项,则直接结束算法,当全部扫描完后,没有匹配项,则匹配失败。当子网段数量庞大时,匹配效率较低下,不同IP的匹配时间相差较大,容易造成性能瓶颈。
发明内容
本发明提供一种一种子网匹配方法和装置,以提高子网匹配的效率。
第一方面,本发明实施例提供了一种子网匹配方法,包括:
根据目标IP首8位构成的数组元素,从子网关联的二叉搜索树中确定目标二叉搜索树;其中,所述子网关联的二叉搜索树根据子网IP的首8位以及子网IP地址生成;
根据所述目标IP对所述目标二叉搜索树进行搜索,确定所述目标IP对应的目标节点;
将所述目标节点的子网与所述目标IP匹配,若匹配成功,则所述目标IP在子网集合中。
可选的,根据子网IP地址的首8位以及子网IP地址生成子网关联的二叉搜索树包括:
根据子网的首8位生成子网数组列表,所述子网数组列表中的每个元素对应一个二叉搜索树;
根据每个子网的首8位以及每个子网IP对应的整数值,将所述每个子网IP插入到二叉搜索树的对应位置。
可选的,根据目标IP首8位构成的数组元素,从子网关联的二叉搜索树中确定目标二叉搜索树,包括:
将目标IP首8位构成的数组元素与所述子网数组列表进行匹配;
将匹配得到的子网数组元素所对应的二叉搜索树作为目标二叉搜索树。
可选的,根据所述目标IP对所述目标二叉搜索树进行搜索,确定所述目标IP对应的目标节点,包括:
将所述目标IP地址转换为32位的整数;
根据所述整数的大小,从所述目标二叉搜索树的根节点处对所述目标二叉树进行搜索,以确定所述目标IP对应的目标节点。
第二方面,本发明实施例还提供了一种子网匹配装置,包括:
目标二叉搜索树确定模块,用于根据目标IP首8位构成的数组元素,从子网关联的二叉搜索树中确定目标二叉搜索树;其中,所述子网关联的二叉搜索树根据子网IP的首8位以及子网IP地址生成;
目标节点确定模块,用于根据所述目标IP对所述目标二叉搜索树进行搜索,确定所述目标IP对应的目标节点;
子网匹配模块,用于将所述目标节点的子网与所述目标IP匹配,若匹配成功,则所述目标IP在子网集合中。
可选的,所述目标二叉搜索树确定模块,具体用于:
将目标IP首8位构成的数组元素与所述子网数组列表进行匹配;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州瑞立思科技有限公司,未经苏州瑞立思科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110544831.5/2.html,转载请声明来源钻瓜专利网。