一种用于路由处理的方法与设备技术

技术编号:14641720 阅读:74 留言:0更新日期:2017-02-15 16:06
本申请的目的是提供一种用于路由处理的方法与设备。本申请通过检测得到外部地址,将所述外部地址映射得对应的预定地址,然后在路由缓存或路由表中进行匹配查询以获得路由信息,最后根据所述路由信息完成对数据包的处理。因为本申请中所述预定地址的数量可控,可以通过将大量外部地址映射到有限范围的预定地址,使得路由缓存数量保持在一个较低的水平;而且随着缓存数量减少,热的缓存项也无需重新建立释放,可以在一定程度上提高缓存命中速度,降低CPU的利用率,从而在减少路由缓存数量的同时保证了系统的性能。

【技术实现步骤摘要】

本申请涉及计算机领域,尤其涉及一种用于路由处理的技术。
技术介绍
操作系统内核中的路由子系统面临在流量日益增大的情况下,由于大量外部IP地址而导致的路由缓存容量暴涨,以致系统性能下降,稳定性受到影响。现有技术中有两种解决方案,第一种是对查询路由表的路径进行优化,例如采用字典树(trietree)等,以提高查找效率;第二种是在必要的情况下关掉路由缓存功能。然而,第一种方案涉及架构上的调整,可能需要对内核版本进行重大变更,这对基于原有内核版本的大量基础业务的潜在影响是巨大的;第二种方案即使在某种程度上解决了稳定性问题,却也带来了巨大的性能开销,例如明显上升的CPU利用率。
技术实现思路
本申请提供了一种用于路由处理的方法与设备,以有效解决路由缓存容量暴涨以致系统性能下降的问题。根据本申请的一个方面,提供了一种路由处理方法,其中,该方法包括:检测待路由分组的路由地址是否为外部地址;当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址;根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息;根据所述路由信息处理所述待路由分组。进一步地,所述当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址包括:当所述路由地址为外部地址,根据对应的掩码信息将所述路由地址映射得对应的预定地址。进一步地,该方法还包括:根据所述路由缓存对应的缓存相关信息确定对应的掩码信息;其中,所述当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址包括:当所述路由地址为外部地址,根据所述掩码信息将所述路由地址映射得对应的预定地址。进一步地,所述缓存相关信息包括以下至少任一项:所述路由缓存的容量信息;所述路由缓存的当前可用容量信息;所述路由缓存支持的缓存记录的最大数量信息;所述路由缓存的已有缓存记录的数量信息。进一步地,所述根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息还包括:当所述路由地址在所述路由缓存中匹配未命中时,根据所述路由地址在对应路由表中进行匹配查询以获得对应的路由信息。进一步地,该方法还包括:根据所述预定地址及所述路由信息更新所述路由缓存。进一步地,所述检测待路由分组的路由地址是否为外部地址包括:根据对应子网信息检测待路由分组的路由地址是否为外部地址。进一步地,所述检测待路由分组的路由地址是否为外部地址还包括:检测所述路由地址是否为合法地址;其中,所述当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址包括:当所述路由地址为外部地址且属于合法地址,将所述路由地址映射得对应的预定地址。进一步地,所述路由地址包括以下至少任一项:所述待路由分组的源地址,其中,所述待路由分组为从外部接收的分组;所述待路由分组的目的地址,其中,所述待路由分组为拟转发至外部的分组。进一步地,所述路由地址包括所述待路由分组的源地址,所述待路由分组为从外部接收的分组;其中,所述检测待路由分组的路由地址是否为外部地址包括:当所述待路由分组不需要被转发时,检测所述待路由分组的路由地址是否为外部地址。根据本申请的另一个方面,提供了一种路由处理设备,其中,该设备包括:检测装置,用于检测待路由分组的路由地址是否为外部地址;映射装置,用于当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址;查询装置,用于根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息;处理装置,用于根据所述路由信息处理所述待路由分组。进一步地,所述映射装置用于:当所述路由地址为外部地址,根据对应的掩码信息将所述路由地址映射得对应的预定地址。进一步地,该设备还包括:掩码确定装置,用于根据所述路由缓存对应的缓存相关信息确定对应的掩码信息;其中,所述映射装置用于:当所述路由地址为外部地址,根据所述掩码信息将所述路由地址映射得对应的预定地址。进一步地,所述缓存相关信息包括以下至少任一项:所述路由缓存的容量信息;所述路由缓存的当前可用容量信息;所述路由缓存支持的缓存记录的最大数量信息;所述路由缓存的已有缓存记录的数量信息。进一步地,所述查询装置还用于:当所述路由地址在所述路由缓存中匹配未命中时,根据所述路由地址在对应路由表中进行匹配查询以获得对应的路由信息。进一步地,该设备还包括:更新装置,用于根据所述预定地址及所述路由信息更新所述路由缓存。进一步地,所述检测装置用于:根据对应子网信息检测待路由分组的路由地址是否为外部地址。进一步地,所述检测装置还用于:检测所述路由地址是否为合法地址;其中,所述映射装置用于:当所述路由地址为外部地址且属于合法地址,将所述路由地址映射得对应的预定地址。进一步地,所述路由地址包括以下至少任一项:所述待路由分组的源地址,其中,所述待路由分组为从外部接收的分组;所述待路由分组的目的地址,其中,所述待路由分组为拟转发至外部的分组。进一步地,所述路由地址包括所述待路由分组的源地址,所述待路由分组为从外部接收的分组;其中,所述检测装置用于:当所述待路由分组不需要被转发时,检测所述待路由分组的路由地址是否为外部地址。与现有技术相比,本申请通过检测得到外部地址,将所述外部地址映射得对应的预定地址,然后在路由缓存或路由表中进行匹配查询以获得路由信息,最后根据所述路由信息完成对数据包的处理。因为本申请中所述预定地址的数量可控,可以通过将大量外部地址映射到有限范围的预定地址,使得路由缓存数量保持在一个较低的水平;即使在大流量并发的情况下,也可以使路由缓存数量降低若干个数量级,而且随着缓存数量减少,热的缓存项也无需重新建立释放,可以在一定程度上提高缓存命中速度,降低CPU的利用率,从而在减少路由缓存数量的同时保证了系统的性能。进一步地,本申请还可以利用掩码信息来进行地址映射操作,从而进一步减少路由缓存数量;而且,还可以结合路由缓存的缓存相关信息来确定所使用的掩码信息,从而进一步避免缓存溢出以确保系统性能。此外,本申请还可以在地址映射前检测该路由地址是否为合法地址,例如排除Martian地址,从而进一步减少路由缓存数量,也对DDoS攻击有一定的防御作用。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出根据本申请一个方面的一种用于路由处理的方法流程图;图2示出根据本申请一个优选实施例的一种用于路由处理的方法流程图;图3示出根据本申请另一个方面的一种用于路由处理的设备示意图;图4示出根据本申请一个优选实施例的一种用于路由处理的设备示意图;附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本申请作进一步详细描述。在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,本文档来自技高网...
一种用于路由处理的方法与设备

【技术保护点】
一种路由处理方法,其中,该方法包括:检测待路由分组的路由地址是否为外部地址;当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址;根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息;根据所述路由信息处理所述待路由分组。

【技术特征摘要】
1.一种路由处理方法,其中,该方法包括:检测待路由分组的路由地址是否为外部地址;当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址;根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息;根据所述路由信息处理所述待路由分组。2.根据权利要求1所述的方法,其中,所述当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址包括:当所述路由地址为外部地址,根据对应的掩码信息将所述路由地址映射得对应的预定地址。3.根据权利要求2所述的方法,其中,该方法还包括:根据所述路由缓存对应的缓存相关信息确定对应的掩码信息;其中,所述当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址包括:当所述路由地址为外部地址,根据所述掩码信息将所述路由地址映射得对应的预定地址。4.根据权利要求3所述的方法,其中,所述缓存相关信息包括以下至少任一项:所述路由缓存的容量信息;所述路由缓存的当前可用容量信息;所述路由缓存支持的缓存记录的最大数量信息;所述路由缓存的已有缓存记录的数量信息。5.根据权利要求1至4中任一项所述的方法,其中,所述根据所述预定地址在路由缓存中进行匹配查询以获得对应的路由信息还包括:当所述路由地址在所述路由缓存中匹配未命中时,根据所述路由地址在对应路由表中进行匹配查询以获得对应的路由信息。6.根据权利要求5所述的方法,其中,该方法还包括:根据所述预定地址及所述路由信息更新所述路由缓存。7.根据权利要求1至6中任一项所述的方法,其中,所述检测待路由分组的路由地址是否为外部地址包括:根据对应子网信息检测待路由分组的路由地址是否为外部地址。8.根据权利要求7所述的方法,其中,所述检测待路由分组的路由地址是否为外部地址还包括:检测所述路由地址是否为合法地址;其中,所述当所述路由地址为外部地址,将所述路由地址映射得对应的预定地址包括:当所述路由地址为外部地址且属于合法地址,将所述路由地址映射得对应的预定地址。9.根据权利要求1至8中任一项所述的方法,其中,所述路由地址包括以下至少任一项:所述待路由分组的源地址,其中,所述待路由分组为从外部接收的分组;所述待路由分组的目的地址,其中,所述待路由分组为拟转发至外部的分组。10.根据权利要求9所述的方法,其中,所述路由地址包括所述待路由分组的源地址,所述待路由分组为从外部接收的分组;其中,所述检测待路由分组的路由地址是否为外部地址包括...

【专利技术属性】
技术研发人员:宋卓李易李雨刘泓昊
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1