The application provides an IP address segment search method and device, the method includes: acquiring the boundary IP address storage tree and the target IP address; traversing the path formed by the root node to any leaf node in the boundary IP address storage tree; acquiring the IP subset stored on the path and integrating it into the boundary IP address; determining the IP address segment corresponding to the boundary IP address; judging the target IP address Mark whether the IP address is in the IP address segment; if yes, confirm that the IP address segment is the IP address segment to be searched.
【技术实现步骤摘要】
一种IP地址段查找方法及装置
本申请涉及通信
,尤其涉及一种IP地址段查找方法及装置。
技术介绍
FPGA(fieldprogrammablegatearray,现场可编程门阵列)芯片相对于传统PC、单片机的开发存在很大区别,通常以并行运算为主,其具有较高的时钟频率和丰富的硬件资源,能够快速有效的控制复杂的组合逻辑以及时序逻辑电路。一般而言,应用CPU可以实现的功能,通常应用FPGA同样可以实现。但是当面对极其复杂的算法时,应用FPGA来实现会比较困难,资源消耗也会较大,因此何种算法适合应用FPGA来实现,且能减少资源消耗便成为了当前FPGA开发中所关注的重点。相关技术中,当在FPGA上实现IP地址段(即IP地址范围)查找时,通常采用的算法为顺序查找、二分查找、哈希表查找等。顺序查找,节省存储空间,一个IP地址段存储在一个内存空间中,但是查找次数不确定,查找性能难做出评估;二分查找相对于顺序查找,查找次数有很大的改善,但是当IP地址段较多时查找次数依然很难接受;哈希表查找可以降低查找次数,但是需要把IP地址段进行展开消耗更多的地址空间,哈希冲突也是不能避免的,查找次数不确定。因此急需一种适合在FPGA芯片内部实现的高性能IP地址段查找方法。
技术实现思路
有鉴于此,本申请提供一种IP地址段查找方法及装置。具体地,本申请是通过如下技术方案实现的:一种IP地址段查找方法,应用于FPGA,所述方法包括:获取边界IP地址存储树以及目标IP地址; ...
【技术保护点】
1.一种IP地址段查找方法,应用于FPGA,其特征在于,所述方法包括:/n获取边界IP地址存储树以及目标IP地址;/n遍历所述边界IP地址存储树中根节点至任一叶子节点所形成的路径;/n获取所述路径上存储的IP子集,整合成边界IP地址;/n确定所述边界IP地址对应的IP地址段;/n判断所述目标IP地址是否处于所述IP地址段区间;/n若是,确定所述IP地址段为所需查找的IP地址段。/n
【技术特征摘要】
1.一种IP地址段查找方法,应用于FPGA,其特征在于,所述方法包括:
获取边界IP地址存储树以及目标IP地址;
遍历所述边界IP地址存储树中根节点至任一叶子节点所形成的路径;
获取所述路径上存储的IP子集,整合成边界IP地址;
确定所述边界IP地址对应的IP地址段;
判断所述目标IP地址是否处于所述IP地址段区间;
若是,确定所述IP地址段为所需查找的IP地址段。
2.根据权利要求1所述的方法,其特征在于,所述边界IP地址存储树为右边界IP地址存储树,所述边界IP地址为右边界IP地址,或者所述边界IP地址存储树为左边界IP地址存储树,所述边界IP地址为左边界IP地址。
3.根据权利要求1所述的方法,其特征在于,所述边界IP地址存储树通过以下方式得到:
获取若干IP地址段;
针对所述若干IP地址段进行排序;
分离经过排序的所述若干IP地址段中的若干边界IP地址,其中,所述边界IP地址包括左边界IP地址或者右边界IP地址;
针对所述若干边界IP地址,生成边界IP地址存储树。
4.根据权利要求3所述的方法,其特征在于,所述针对所述若干边界IP地址,生成边界IP地址存储树,包括:
针对任一边界IP地址,按照预设的转换规则,转换为目标边界IP地址;
根据预设的拆分规则,拆分所述目标边界IP地址,得到多个IP子集;
利用所述IP子集,以及所述若干边界IP地址中各个IP子集的前后衔接关系,生成边界IP地址存储树。
5.根据权利要求4所述的方法,其特征在于,所述利用所述IP子集,以及所述若干边界IP地址中各个IP子集的前后衔接关系,生成边界IP地址存储树,包括:
针对所述若干边界IP地址对应的IP子集,剔除重复IP子集,得到有效IP子集;
利用所述有效IP子集,以及所述若干边界IP地址中各个IP子集的前后衔接关系,生成边界IP地址存储树。
6.一种IP地址段查找装置,应用于FPGA,其特征在于,所...
【专利技术属性】
技术研发人员:刘彦静,
申请(专利权)人:杭州迪普科技股份有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。