本发明专利技术涉及一种TCAM路由表查找方法及TCAM路由表查找装置。其中,方法包括:预先在TCAM路由表地址单元中保存加长IP地址和加长掩码,检测到携带有掩码表示位的加长IP地址后,根据预先设定的指令信息判断是否要进行路由表维护,是则根据该加长IP地址在TCAM路由表中查找相应的地址单元。装置包括:地址检测模块,路由表模块和查找模块。由于增加了掩码表示位,因此不需要另设维护表也可以找到要维护的TCAM路由表的地址单元,从而节省了存储空间;并且整个查找过程可以通过硬件一次完成,不需要再通过软件对维护表进行查找,从而提高了查找速度,也降低了维护的难度。
【技术实现步骤摘要】
本专利技术涉及一种TCAM路由表查找方法,尤其涉及一种以维护为目的对TCAM路由表中的预先保存路由地址进行查找的方法,及实现这种方法的TCAM路由表查找装置。
技术介绍
三进制内容可寻址存储器(Ternary Content Addressable Memory,简称TCAM)技术是一种用于提高路由器查表效率的硬件查找技术,TCAM实际上是一种专用于进行查表操作的硬件芯片,它以硬件化的路由表查找和分组转发技术实现对各类数据包的快速分类和路由,性能卓越,可扩充性强,因此被许多高端路由器所采用。TCAM路由表采用地址单元(entry)格式进行组织,每一个地址单元包括IP位(data)和掩码位(mask)。在建立TCAM路由表时,控制平面软件根据现有的路由表生成算法向地址单元中写入目的IP地址及与该IP地址相对应的掩码,并且每一个地址单元还会与下一跳IP地址相关联。其中,下一跳IP地址是指能够通往目的路由地址的下一个路由器的IP地址。当需要在数据平面对数据包进行路由转发时,根据数据包中携带的目的IP地址在TCAM路由表中查找相应的地址单元,进而得到与该地址单元相关联的下一跳IP地址,将数据包发往该下一跳IP地址,从而完成数据包的路由转发。根据目的IP地址对TCAM路由表进行查找时,可能会有多个地址单元满足查找条件。例如,如图1所示,假设TCAM路由表中预先保存有四个目的路由地址分别为:1.1.0.0/16,1.1.0.0/18,1.1.0.0/24,1.1.0.0/27。其中,-->“/”前表示IP地址,“/”后表示相应掩码中1的位数。如果被查找的目的IP地址为1.1.0.0/16,则根据现有查找方法上述目的地址均满足查找条件。现有技术中是按照掩码中1的位数从大到小的顺序进行查找,因此查找到的目的路由地址为1.1.0.0/27,根据该路由地址完成路由转发。现有技术的缺陷在于:当需要在控制平面对TCAM中保存的地址单元进行添加、删除或修改等维护操作时,查找出的路由地址1.1.0.0/27与被查找的路由地址1.1.0.0/16不相同,因此实际上并没有查找到要进行维护路由地址1.1.0.0/16,因此也就无法对其进行维护。现有技术的解决方案是:除了在TCAM路由表中保存地址单元以外,还需要另设一个维护表用于记录地址单元在TCAM路由表中的存储位置。在进行路由维护时,首先在维护表中查找地址单元在TCAM路由表中的存储位置,进而在TCAM路由表中查找到准确的地址单元,以便对其进行维护。如图2所示,1.1.0.0/16的存储位置为65734,1.1.0.0/18的存储位置为10035,1.1.0.0/24的存储位置为5347,1.1.0.0/27的存储位置为1002。当要查找的路由地址为1.1.0.0/16时,首先在维护表中找到相应地址单元的存储位置为65734,进而在TCAM路由表中找到该地址单元。维护表的组织形式有很多,如哈希表结构或树形结构等。但是,这种维护表需要占用额外的存储空间,并且目的路由地址条数越多占用的存储空间就越大,造成了系统资源的浪费,并且也增加了对TCAM路由表维护的难度。
技术实现思路
本专利技术的目的是一种TCAM路由表查找方法,使得不需要另设维护表也可以实现对TCAM路由表中预存的路由地址进行查找进而进行维护的方法,及能够实现这中方法的TCAM路由表查找装置。为实现上述目的,本专利技术提供了一种TCAM路由表查找方法,包括:预先在TCAM路由表地址单元中保存加长IP地址和加长掩码,其中,加-->长IP地址包括目的IP地址和掩码表示位,加长掩码包括与目的IP地址相应的掩码和与掩码表示位长度相等个数的1;检测到携带有掩码表示位的加长IP地址后,根据预先设定的指令信息判断是否要进行路由表维护,若是,则根据该加长IP地址在TCAM路由表中查找相应的地址单元。为实现上述目的,本专利技术还提供了一种TCAM路由表查找装置,包括:地址检测模块,用于检测携带有掩码表示位的加长IP地址,根据预先设定的指令信息判断是否要进行路由表维护,并将判断结果发送给查找模块;路由表模块,用于预存加长IP地址和加长掩码;查找模块,用于根据来自于地址检测模块的判断结果,对路由表模块进行查找。通过本专利技术,由于增加了掩码表示位,因此不需要另设维护表也可以找到要维护的TCAM路由表的地址单元,从而节省了存储空间;并且整个查找过程可以通过硬件一次完成,不需要再通过软件对维护表进行查找,从而提高了查找速度,也降低了维护的难度。下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。附图说明图1为现有技术的TCAM路由表中预存的路由地址数据结构举例示意图;图2为现有技术的TCAM路由表中预存的路由地址存储位置举例示意图;图3为本专利技术TCAM路由表中预存的路由地址数据结构举例示意图;图4为本专利技术实施例1所述TCAM路由表查找方法流程图;图5为本专利技术实施例2所述TCAM路由表查找方法流程图;图6为本专利技术实施例3所述TCAM路由表查找装置的内部结构示意图。-->具体实施方式预先在TCAM路由表中的地址单元中保存加长IP地址和加长掩码,其中,加长IP地址包括目的IP地址和掩码表示位,加长掩码包括与目的地址相应的掩码和与掩码表示位长度相同个数的1。例如,如图3所示,为在TCAM路由表中预先保存的4个路由地址,每个地址单元保存一个路由地址,上一列为地址单元的IP位,包括32位IP地址和6位掩码表示位;下一列为地址单元的掩码位,包括32位掩码和6位掩码表示位长度相应的1。此处需要说明的是,IP地址不仅限于32位,可以根据现有技术为128位或其他位数。掩码表示位也不仅限于6位,只要与所采用的掩码中1的位数相对应即可。即,如果掩码为128位,则掩码表示位可以为8位,这样,即使该掩码的128位全为1,那么8位的掩码表示位也能够满足需要。另外,如果预先设定本系统中所采用的掩码中1的位数不超过16位,则设置4位的掩码表示位也是可以满足需要的,这样做的好处是可以尽量减少数据处理量,提高系统效率;并且,掩码表示位所能表示的个数也可以比掩码中1的位数多,如针对32位掩码,也可以设置8位掩码表示位,只要将掩码表示位中不需要的位数置0即可,这样做的好处是可以使该掩码表示位的适用范围更广,既可以表示32位掩码中的1位数,又可以表示128位掩码中1的位数。总之掩码表示位的位数可以根据需要进行设置,并不仅限于以上几种可能。以下实施例中,仅以IP地址为32位的情况予以说明,其他位数的IP地址的工作原理相同。实施例1本实施例提供了一种对TCAM路由表进行维护时的TCAM路由表查找方法,如图4所示,步骤101,当需要对TCAM路由表进行维护时,向TCAM芯片中输入要进行查找的加长IP地址,该地址包括IP地址和掩码表示位。加长IP地址的结构与TCAM路由表中预存的加长IP地址的结构相同。并且还要预先设定指令信-->息,以通知TCAM芯片,以下输入的加长IP地址是为了对路由表进行维护。步骤102,TCAM检测到加长IP地址后,根据预先设定的指令信息判断是否要进行路由表维护,若是,说明查找的目的是为了对TCAM路由表进行维护,则执行步骤103。步骤103,根本文档来自技高网...
【技术保护点】
一种TCAM路由表查找方法,包括:预先在TCAM路由表地址单元中保存加长IP地址和加长掩码,其中,加长IP地址包括目的IP地址和掩码表示位,加长掩码包括与目的IP地址相应的掩码和与掩码表示位长度相等个数的1;检测到携带有掩码 表示位的加长IP地址后,根据预先设定的指令信息判断是否要进行路由表维护,若是,则根据该加长IP地址在TCAM路由表中查找相应的地址单元。
【技术特征摘要】
1、一种TCAM路由表查找方法,包括:预先在TCAM路由表地址单元中保存加长IP地址和加长掩码,其中,加长IP地址包括目的IP地址和掩码表示位,加长掩码包括与目的IP地址相应的掩码和与掩码表示位长度相等个数的1;检测到携带有掩码表示位的加长IP地址后,根据预先设定的指令信息判断是否要进行路由表维护,若是,则根据该加长IP地址在TCAM路由表中查找相应的地址单元。2、根据权利要求1所述的TCAM路由表查找方法,其特征在于,查找相应的地址单元还包括:如果没有查找到该地址单元,则将该加长IP地址保存于空闲地址单元中。3、根据权利要求2所述的TCAM路由表查找方法,其特征在于,所述将该加长IP地址保存于空闲地址单元中包括:将该加长IP地址保存于空闲地址单元的IP位,将该加长IP地址中携带的掩码表示位所对应的加长掩码保存于空闲地址单元的掩码位。4、根据权利要求3所述的TCAM路由表查找方法,其特征在于,保存于空闲地址单元的掩码位包括:预先根据加长掩码的掩码中1的个数对TCAM路由表进行分区,根据接收到的加长IP地址所对应的掩码的1的个数将加长IP地址和加长掩码保存于相应分区的地址单元中。5、根据权利要求1所述的TCAM路由表查找方法,其特征在于,查找相应的地址单元还包括:如果查找到该地址单元,则对该地址单元进行编辑。6、根据权利要求1所述的TCAM路由表查找方法,其特征在于,所述检测到携带有掩码表示位的加长IP地址之前包括:检测到数据包中的IP地址后,将该IP地址与全0的掩码表示位组成加长IP地址。7、根据权利要求6所述的TCAM路由表查找方法,其特征在于,所述判断是否要进行路由表维护还包括:如果不是,...
【专利技术属性】
技术研发人员:宋建明,
申请(专利权)人:杭州华三通信技术有限公司,
类型:发明
国别省市:86[中国|杭州]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。