一种实现路由查找的方法及装置与流程

文档序号:12376309阅读:361来源:国知局
一种实现路由查找的方法及装置与流程

本发明涉及数据通信领域,尤指一种实现路由查找的方法及装置。



背景技术:

在数据通信领域,随着应用场景越来越复杂,路由器的路由查找基于需求的不同,路由查找实现种类多样。

高端路由器多采用基于三态内容寻址存储器(TCAM)的高速路由查找方法。处理器采用单对单的方式访问TCAM芯片,通过包含有关键字(KEY)的路由查找命令查找命中相应的索引(INDEX),处理器根据索引从DDR中获得路由查找所需要的数据(DATA),以完成路由查找。高端路由器包含有多个处理器的网络,按照单对单的方式需要为路由查找配置与处理器个数相同的多个TCAM芯片,且针对各处理器的路由查找均需分配相应的带宽资源。

现有的高端路由器的路由查找采用多个TCAM芯片,浪费了TCAM的工作性能,每一处理器均需要分配相应的网络带宽,造成了带宽资源的浪费;另外,多个TCAM芯片的引入造成设备引脚过多,影响工业生产,及多个TCAM芯片也带来成本过高的问题。



技术实现要素:

为了解决上述技术问题,本发明提供一种实现路由查找的方法及装置,能够合理利用TCAM芯片性能,节省网络带宽。

为了达到本发明目的,本发明提供了一种实现路由查找的方法,包括:

接收并存储来自各处理器的路由查找命令;

根据预设的优先级逐个读取存储的路由查找命令;

将读取的路由查找命令通过预设的路由查找的有效带宽访问共用的三态 内容寻址存储器TCAM芯片,以进行路由查找。

进一步地,接收并存储各处理器的路由查找命令具体包括:

通过现场可编程门阵列FPGA上的预先设置的接口分别与高端路由器上各所述处理器分别连接后,接收各所述处理器的所述路由查找命令;

对接收的来自各处理器的所述路由查找命令,以队列的形式在FPGA的存储介质上分别存储。

进一步地,预先设置的接口为:

四倍数据速率静态随机存取存储器QDR接口、双倍速率同步动态随机存储器DDR接口或TCAM接口。

进一步地,接收并存储来自各处理器的路由查找命令具体包括:

对各处理器,分别通过所述预先设置的接口接收路由查找命令;

按照预设倍数缓存接收的路由查找命令后,对缓存的路由查找命令进行有效数据提取后,得到所述存储的路由查找命令。

进一步地,该方法还包括:

判断所述存储的路由查找命令是否是路由查找的有效带宽的整数倍,对不是路由查找的有效带宽的整数倍的部分进行补零处理。

进一步地,读取存储的路由查找命令具体包括:

以路由查找的有效带宽为单位从高位到低位读取所述存储的路由查找命令至一个或一个以上的数据总线的数据位宽的高位和低位。

进一步地,当所述存储的路由查找命令的最低位被读取至数据总线的数据位宽的高位时,该方法还包括:

则按照所述预设的优先级读取下一个路由查找命令,将读取的下一个路由查找命令的最高位,以路由查找的有效带宽的大小为单位读取至数据总线的数据位宽的低位部分进行拼接;

对未读取的部分,继续以路由查找的有效带宽为单位从高位到低位进行读取。

进一步地,将读取的路由查找命令访问共用的TCAM芯片具体包括:

将读取的所述路由查找命令,通过所述TCAM芯片接口访问所述共用的TCAM芯片。

进一步地,该方法还包括:

将完成路由查找的所述路由查找命令按照处理器进行区分后,分别存储在相应的预先设置的命令存储队列中。

另一方面,本申请还提供一种实现路由查找的装置,包括:接收存储单元、读取单元及共用访问单元;其中,

接收存储单元,用于接收并存储来自各处理器的路由查找命令;

读取单元,用于根据预设的优先级逐个读取存储的路由查找命令;

共用访问单元,用于将读取的路由查找命令通过预设的路由查找的有效带宽访问共用的三态内容寻址存储器TCAM芯片,以进行路由查找。

进一步地,接收存储单元具体用于,通过FPGA上的预先设置的接口分别与高端路由器上各处理器分别连接后,接收各处理器的所述路由查找命令;

对接收的来自各处理器的路由查找命令,以队列的形式在FPGA的存储介质上分别存储。

进一步地,共用访问单元具体用于,将读取的路由查找命令,通过TCAM芯片接口访问所述共用的TCAM芯片。

进一步地,接收存储单元具体用于,

对各处理器,分别通过FPGA所述预先设置的接口接收路由查找命令;

按照预设倍数缓存接收的路由查找命令后,对缓存的路由查找命令进行有效数据提取后,以队列的形式在FPGA的存储介质上分别存储,得到所述存储的路由查找命令。

进一步地,接收存储单元还用于,判断所述存储的路由查找命令是否是路由查找的有效带宽的整数倍,对不是路由查找的有效带宽的整数倍的部分进行补零处理。

进一步地,读取单元具体用于,

根据预设的优先级逐个

以路由查找的有效带宽为单位从高位到低位读取所述存储的路由查找命令至一个或一个以上的数据总线的数据位宽的高位和低位。

进一步地,读取单元还用于,

当所述存储的路由查找命令的最低位被读取至数据总线的数据位宽的高位时,按照所述预设的优先级读取下一个路由查找命令,将读取的下一个路由查找命令的最高位,以路由查找的有效带宽的大小为单位读取至数据总线的数据位宽的低位部分进行拼接;

对未读取的部分,继续以路由查找的有效带宽为单位从高位到低位进行读取。

进一步地,该装置还包括存储单元,用于,将完成路由查找的所述路由查找命令按照处理器进行区分后,分别存储在相应的预先设置的命令存储队列中。

与现有技术相比,本申请技术方案包括:接收并存储来自各处理器的路由查找命令;根据预设的优先级逐个读取存储的路由查找命令;将读取的路由查找命令通过预设的路由查找的有效带宽访问共用的三态内容寻址存储器(TCAM)芯片,以进行路由查找。本发明方法通过对各处理器的路由查找命令进行接收存储后,按照优先级进行逐个读取,以访问共用的TCAM芯片实现路由查找,避免了以单对单方式进行路由查找造成的宽带资源浪费和成本问题。进一步的,通过路由查找命令的拼接,进一步提高了带宽资源的利用率。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实现路由查找的方法的流程图;

图2为本发明实现路由查找的装置的结构程图;

图3为本发明第一实施例的方法流程图;

图4为本发明第一实施例方法路由查找命令的反馈流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1为本发明实现路由查找的方法的流程图,如图1所示,包括:

步骤100、接收并存储来自各处理器的路由查找命令;

接收并存储各处理器的路由查找命令具体包括:

通过现场可编程门阵列(FPGA)上的预先设置的接口分别与高端路由器上各处理器分别连接后,接收各处理器的路由查找命令;

对接收的来自各处理器的路由查找命令,以队列的形式在FPGA的存储介质上分别存储。

优选的,预先设置的接口为:

四倍数据速率静态随机存取存储器(QDR)接口、双倍速率同步动态随机存储器(DDR)接口或TCAM接口。

需要说明的是,路由查找的有效带宽主要根据预先设置的接口进行设置,针对接口的不同,设置的路由查找的有效带宽的具体大小的设置为本领域技术人员的惯用技术手段。

通过FPGA可以实现预先设置的接口根据处理器个数进行扩展,利用FPGA性能可以实现路由查找命令的接收及查找处理,也便于后续的读取拼接的处理。如果存在其他方式可以在扩展性和处理能力上均满足路由查找命令的接收、存储、读取及拼接等性能要求,则也可采用相关方法进行处理。另外,预先设置的接口的选择主要根据处理器上所拥有的扩展接口进行设置,一般的,如果处理器上包含可用的QDR接口或DDR接口,则一般选择QDR接口或DDR接口进行连接,如果不包含时,则选择上述三种接口任意之一即可。

优选的,接收并存储来自各处理器的路由查找命令具体包括:

对各处理器,分别通过所述预先设置的接口接收路由查找命令;

按照预设倍数缓存接收的路由查找命令后,对缓存的路由查找命令进行有效数据提取后,得到所述存储的路由查找命令。

需要说明的是,通过预先设置的接口接收路由查找命令主要是指根据预先设置的接口的接口类型确定接收路由查找命令的带宽,需要说明的是,在进行路由查找命令接收时,一般会添加校验位,接收完成后,再去除校验位。假设,数据总线的数据位宽为36比特,预先设置的接口为QDR接口,每个管脚支持18比特的数据传输,则根据QDR接口接收的路由查找命令为36比特,这里,可以设置包含有4个比特的校验位。预设倍数根据本领域技术人员经验进行设定,一般的取值为8。

本发明方法还包括:

判断所述存储的路由查找命令是否是路由查找的有效带宽的整数倍,对不是路由查找的有效带宽的整数倍的部分进行补零处理。

步骤101、根据预设的优先级逐个读取存储的路由查找命令;

需要说明的是,预先设置的优先级为本领域技术人员根据经验确定的读取路由查找命令的优先级,例如、根据各处理器的路由查找命令个数的多少,以各处理器存储的路由查找命令占所有存储的路由查找命令的百分比大小,确定百分比较大的作为优先级较大的进行路由查找命令的读取,百分比大小可以实时更新也可以周期性更新。又或者,技术人员根据处理器的重要程度进行优先级设定,例如、某处理器路由查找与系统关键事件相关,应该进行优先读取,则可以设置该处理器优先级最高,只要有路由查找命令就立即进行读取处理。

本步骤中,读取存储的路由查找命令具体包括:

以路由查找的有效带宽为单位从高位到低位读取所述存储的路由查找命令至一个或一个以上的数据总线的数据位宽的高位和低位。

当所述存储的路由查找命令的最低位被读取至数据总线的数据位宽的高位时,本发明方法还包括:

则按照所述预设的优先级读取下一个路由查找命令,将读取的下一个路 由查找命令的最高位,以路由查找的有效带宽的大小为单位读取至数据总线的数据位宽的低位部分进行拼接;

对未读取的部分,继续以路由查找的有效带宽为单位从高位到低位进行读取。

需要说明的是,通过路由查找命令的拼接,对预先设置的网络带宽进行充分的利用,提高了网络带宽的资源利用率。另外,这里的下一个是相对而言,一旦读取路由查找命令完成,下一次读取的路由查找命令就应该进行更新。

步骤102、将读取的路由查找命令通过预设的网络带宽访问共用的三态内容寻址存储器TCAM芯片,以进行路由查找;这里,共用的TCAM芯片是指同一高端路由器上所有处理器共用的TCAM芯片。

本步骤中,将读取的路由查找命令访问共用的TCAM芯片具体包括:

将读取的路由查找命令,通过TCAM芯片接口访问共用的TCAM芯片。

本发明方法还包括:

将完成路由查找的路由查找命令按照处理器进行区分后,分别存储在相应的预先设置的命令存储队列中。

本发明方法通过对各处理器的路由查找命令进行接收存储后,按照优先级进行逐个读取,以访问共用的TCAM芯片实现路由查找,避免了以单对单方式进行路由查找造成的宽带资源浪费和成本问题。进一步的,通过路由查找命令的拼接,进一步提高了带宽资源的利用率。

图2为本发明实现路由查找的装置的结构程图,如图2所示,包括:接收存储单元、读取单元及共用访问单元;其中,

接收存储单元,用于接收并存储来自各处理器的路由查找命令;

接收存储单元具体用于,通过FPGA上的预先设置的接口分别与高端路由器上各处理器分别连接后,接收各处理器的路由查找命令;

对接收的来自各处理器的路由查找命令,以队列的形式在FPGA的存储介质上分别存储。

优选的,接收存储单元具体用于,

对各处理器,分别通过FPGA所述预先设置的接口接收路由查找命令;

按照预设倍数缓存接收的路由查找命令后,对缓存的路由查找命令进行有效数据提取后,以队列的形式在FPGA的存储介质上分别存储,得到所述存储的路由查找命令。

接收存储单元还用于,判断所述存储的路由查找命令是否是路由查找的有效带宽的整数倍,对不是路由查找的有效带宽的整数倍的部分进行补零处理。

读取单元,用于根据预设的优先级逐个读取存储的路由查找命令。

读取单元具体用于,

根据预设的优先级逐个

以路由查找的有效带宽为单位从高位到低位读取所述存储的路由查找命令至一个或一个以上的数据总线的数据位宽的高位和低位。

读取单元还用于,

当所述存储的路由查找命令的最低位被读取至数据总线的数据位宽的高位时,按照所述预设的优先级读取下一个路由查找命令,将读取的下一个路由查找命令的最高位,以路由查找的有效带宽的大小为单位读取至数据总线的数据位宽的低位部分进行拼接;

对未读取的部分,继续以路由查找的有效带宽为单位从高位到低位进行读取。

共用访问单元,用于将读取的路由查找命令通过预设的路由查找的有效带宽访问共用的三态内容寻址存储器TCAM芯片,以进行路由查找;

共用的TCAM芯片为所有处理器共用的TCAM芯片。

共用访问单元具体用于,将读取的路由查找命令,通过共用的TCAM芯片的接口访问共用的TCAM芯片。

本发明装置还包括存储单元,用于,将完成路由查找的路由查找命令按照处理器进行区分后,分别存储在相应的预先设置的命令存储队列中。

以下通过具体实施例对本发明方法进行清楚详细的说明,实施例仅用于陈述本发明,并不用于限制本发明方法的保护范围。

实施例1

本实施例在实施之前需要进行接口扩展和设置,将高端路由器上的各处理器分别通过FPGA上QDR接口、DDR接口或TCAM接口。

图3为本发明第一实施例的方法流程图,如图3所示,包括:

步骤300、通过FPGA上预先设置的接口,接收高端路由器上各处理器的路由查找命令。

步骤301、将接收的路由查找命令按照处理器不同,分别以命令队列的形式进行存储。一般的路由查找命令按照现有顺序存储的命令队列中。

步骤302、按照预先设置的优先级读取路由查找命令。本步骤具体包括:

根据预设的优先级逐个

以路由查找的有效带宽为单位从高位到低位读取所述存储的路由查找命令至一个或一个以上的数据总线的数据位宽的高位和低位。

当所述存储的路由查找命令的最低位被读取至数据总线的数据位宽的高位时,按照所述预设的优先级读取下一个路由查找命令,将读取的下一个路由查找命令的最高位,以路由查找的有效带宽的大小为单位读取至数据总线的数据位宽的低位部分进行拼接;

对未读取的部分,继续以路由查找的有效带宽为单位从高位到低位进行读取。

步骤303、将读取的路由查找命令通过预设的路由查找的有效带宽访问共用的三态内容寻址存储器TCAM芯片,以进行路由查找。

需要说明的是,访问TCAM芯片时,路由查找命令按照TCAM标准命令格式发送。

步骤304、将完成路由查找的路由查找命令按照处理器进行区分后,分别存储在相应的预先设置的命令存储队列中。

图4为本发明第一实施例方法路由查找命令的反馈流程图,如图4所示, 包括:

步骤400、接收路由查找命令的路由查找结果;

步骤401、将路由查找命令匹配返回不同通道的路由查找结果;

步骤402、按照匹配返回的不同通道,将路由查找结果反馈给处理器。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1