实现最长掩码匹配的方法及系统技术方案

技术编号:18053910 阅读:34 留言:0更新日期:2018-05-26 10:40
本发明专利技术提供一种实现最长掩码匹配的方法及系统,所述方法包括:将需写安装路由的目的IP路由按照芯片存储空间的存储容量分为两部分;将第一写入部分写入TCAM存储器;依据第二写入部分查找Bitmap属性表,将其对应的标志位从0置1;从低位到高位的顺序轮询Bitmap属性表,将置为1的标志位重新依次顺序排位,以offset0、offset1、……offsetx表示,x为正整数,其数值小于等于Bitmap属性表最高位对应的数值;获取当前目的IP路由对应TCAM存储器的Base_ptr基地址以及对应Bitmap属性表中offset位的排序序号;按照Bitmap属性表中offset位的排序顺序将当前IP路由的第二写入部分一一对应写入Base_ptr指向的SRAM存储器。本发明专利技术的实现最长掩码匹配的方法及系统,可使SRAM存储器的利用率达到100%。

【技术实现步骤摘要】
实现最长掩码匹配的方法及系统
本专利技术涉及网络通信领域,尤其涉及一种实现最长掩码匹配的方法及系统。
技术介绍
LPM(LongestPrefixMatch最长掩码匹配)表示了在IP路由查找中普遍应用的原则,即精确匹配。LPM本身并没有规定使用何种算法实现,所有实现了相同输出结果的思想都可以认为是LPM。在路由查找过程中路由的条目常是以192.168.10.0/24或者192.168.10.0/32这样的形式出现,/后表示的是该路由的掩码,掩码包含的是需要关心的内容,未包含的是无需关心的内容,掩码越大路由越精确,在IP相同但是掩码长度不同的情况下选取路由掩码更长的条目。上例中如果报文的目的IP地址是192.168.10.0时应该选取/32掩码的路由条目,如果报文的目的IP地址是192.168.10.10时则只能选取/24掩码的路由条目了(因为/24的条目最后8位不关心)。目前的交换机通用方式是使用TCAM存储器(TernaryContentAddressableMemory三态内容寻址存储器)+SRAM存储器来实现LPM,TCAM存储器的表项始终是按照一个顺序,从低位往高位查询并逐条本文档来自技高网...
实现最长掩码匹配的方法及系统

【技术保护点】
一种实现最长掩码匹配的方法,其特征在于,所述方法包括:写安装路由过程中,将需写安装路由的目的IP路由按照芯片存储空间的存储容量分为两部分;所述芯片的存储空间包括:TCAM存储器、Bitmap属性表和SRAM存储器;目的IP路由包括:对应写入TCAM存储器的第一写入部分、对应写入SRAM存储器的第二写入部分,以及掩码;将当前目的IP路由对应的第一写入部分写入TCAM存储器;依据目的IP路由的第二写入部分查找Bitmap属性表,将对应当前目的IP路由第二写入部分的标志位从0置1;从低位到高位的顺序轮询Bitmap属性表,将置为1的标志位重新依次顺序排位,以offset0、offset1、……off...

【技术特征摘要】
1.一种实现最长掩码匹配的方法,其特征在于,所述方法包括:写安装路由过程中,将需写安装路由的目的IP路由按照芯片存储空间的存储容量分为两部分;所述芯片的存储空间包括:TCAM存储器、Bitmap属性表和SRAM存储器;目的IP路由包括:对应写入TCAM存储器的第一写入部分、对应写入SRAM存储器的第二写入部分,以及掩码;将当前目的IP路由对应的第一写入部分写入TCAM存储器;依据目的IP路由的第二写入部分查找Bitmap属性表,将对应当前目的IP路由第二写入部分的标志位从0置1;从低位到高位的顺序轮询Bitmap属性表,将置为1的标志位重新依次顺序排位,以offset0、offset1、……offsetx表示,x为正整数,其数值小于等于Bitmap属性表最高位对应的数值;获取当前目的IP路由对应TCAM存储器的Base_ptr基地址以及对应Bitmap属性表中offset位的排序序号;按照Bitmap属性表中offset位的排序顺序将当前IP路由的第二写入部分一一对应写入Base_ptr指向的SRAM存储器。2.根据权利要求1所述的实现最长掩码匹配的方法,其特征在于,写安装路由过程中,若多个目的IP路由具有相同的第一部分和第二部分,同时,具有不同的掩码,则将多个目的IP路由的第二部分写入SRAM存储器的同一位置上,并以不同的掩码进行区分。3.根据权利要求1或2所述的实现最长掩码匹配的方法,其特征在于,报文查找路由过程中,获取报文携带的路由查找地址,将其按照当前芯片的存储空间分为两部分;路由查找地址包括:对应查找TCAM存储器的第一查找部分和对应查找Bitmap属性表和SRAM存储器的第二查找部分;依据当前报文携带的路由查找地址的第一查找部分匹配TCAM存储器,若匹配到对应的TCAM存储器,则以当前路由查找地址对应的第二查找部分查找Bitmap属性表,获取其匹配Bitmap属性表的标志位所对应的offset序列号;获取当前路由查找地址匹配TCAM存储器时的Base_ptr基地址,以及根据对应的offset序列号对应查找SRAM存储器,并匹配输出。4.根据权利要求3所述的实现最长掩码匹配的方法,其特征在于,以当前路由查找地址对应的第二查找部分查找Bitmap属性表,获取其匹配Bitmap属性表的标志位所对应的offset序列号具体包括:若当前路由查找地址对应的第二查找部分查找Bitmap属性表后,其匹配的标志位为1,则直接获取其对应的offset序列号,以进行下一步查找;若当前路由查找地址对应的第二查找部分查找Bitmap属性表后,其匹配的标志位为0,则以当前匹配到的标志位开始,向其所述的Bitmap属性表的低位扫描,获取与其最近、且为1的标志位所对应的offset序列号,根据当前路由查找地址匹配TCAM存储器时的Base_ptr基地址,以及根据对应的offset序列号对应查找SRAM存储器,并匹配输出。5.根据权利要求4所述的实现最长掩码匹配的方法,其特征在于,若当前路由查找地址对应的第二查找部分查找Bitmap属性表后,其匹配的标志位为0,则以当前匹配到的标志位开始,在向其所述的Bitmap属性表的低位扫描,获取与其最近、且为1的标志位所对应的offset序列号后,所述方法具体包括:根据当前路由查找地址匹配TCAM存储器时的Base_ptr基地址,以及根据对应的offset序列号对应查找SRAM存储器,获取当前SRAM存储器中与值为1的offset序列号对应的标志位中的所有IP路由以及与IP路由对应的掩码;将当前路由查找地址对应的第二查找部分与获得的当前SRAM存储器中所有IP路由逐一进行匹配,若匹配成功,则选取匹配成功的IP路由中具有最长掩码长度的IP路由,并按照其指定的端口进行转发;若匹配失败,则按照预指定方式进行处理。6.一种实现最长掩码...

【专利技术属性】
技术研发人员:崔兴龙方沛昱
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏,32

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

1