一种acl规则的加载方法及装置的制造方法

文档序号:9579195阅读:801来源:国知局
一种acl规则的加载方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种ACL规则的加载方法及装置。
【背景技术】
[0002]访问控制列表(英文:Access Control List,缩写:ACL)是路由器和交换机接口的指令列表,用来控制端口进出的数据包,其中,ACL是由若干个ACL规则组成的。由于ACL功能的强大与灵活,以及通过三态内容寻址存储器(英文:Ternary Content AddressableMemory,缩写:TCAM)存储ACL中的ACL规则可以保证查找ACL规则的高效性,因此,越来越多的业务开始使用ACL。在较典型的“策略路由类”应用中,如将特定互联网协议(英文:Internet Protocol,缩写:IP)的报文重定向到某一下一跳、将多链接透明互联(英文:Transparent Interconnect1n of Lots of Links,缩写:TRILL)组播报文重定向到某一组播组等,这类ACL应用的特点为:ACL中的ACL规则的数目较大(一般有5K?10K条)、加载时同批次的ACL规则的优先级相同。
[0003]存储ACL规则的TCAM是集成在专用集成电路(英文Applicat1n SpecificIntegrated Circuit,缩写:ASIC)上的。而TCAM在逻辑上可以分为若干块,每一块称为TCAM Bank,其中每个TCAM Bank可以存放1K条宽度为160bit的ACL规则。由于每条ACL规则都具有相应的优先级,一般在将ACL规则存储至TCAM Bank时,将优先级高的ACL规则存放在TCAM Bank低地址处。
[0004]参阅图1所示,每个TCAM Bank中均包含若干个基本存储单元用于存储不同的ACL规则,且一个基本存储单元可以存储一条ACL规则。ASIC通过Locat1n (Bank_ID, Entry)唯一标识TCAM Bank中的一个基本存储单元,其中,Locat1n为存储单元的位置,Bank_ID为TCAM Bank的标识,Entry为在该TCAM Bank中的基本存储单元的标识。
[0005]由于在将ACL规则存储至TCAM Bank时,将优先级高的ACL规则存放在TCAM Bank低地址处,且ASIC通过Locat1n唯一标识TCAM Bank中的一个基本存储单元,因此,采用TCAM Bank存储ACL规则的设备均设置有内部优先级链表,用于维护ACL规则的优先级和Locat1n的映射关系。
[0006]参阅图1,将待加载的ACL规则加载(英文:install)至TCAM Bank之前,首先要根据待加载的ACL规则的优先级以及内部优先级链表维护的ACL规则的优先级和Locat1n的映射关系,确定可加载范围:根据待加载的ACL规则的优先级(P),从低优先级到高优先级遍历预设的内部优先级链表,将TCAM Bank中首个优先级不小于待加载的ACL规则的优先级(P-High)的基本存储单元作为位置1,将该TCAM Bank中最后一个优先级不大于待加载的ACL规则的优先级(P-Low)的基本存储单元作为位置2 ;位置1和位置2之间的基本存储单元作为可加载范围。其中,可加载范围中有三种情况,第一,可加载范围中没有基本存储单元;第二,可加载范围中只有一个处于空闲状态的基本存储单元;第三,可加载范围中有至少两个位置连续的处于空闲状态的基本存储单元。
[0007]目前,参阅图2所示,ACL规则加载至TCAM Bank中的可加载范围的过程为:假设当前待加载的ACL规则为6条,首先,将待加载的ACL规则中的第一条ACL规则P1加载至可加载范围的中间位置,然后在第一条ACL规则与位置1之间的中间位置加载第二条ACL规则P2,再在第二条ACL规则P2与位置1之间的中间位置加载第三条ACL规则P3,确定加载后的ACL规则与位置1之间没有基本存储单元后,则查询一个距离位置1最近的且处于空闲状态的基本存储单元,并将位置1与该处于空闲状态的基本存储单元之间的ACL规则按照顺序逐个搬迁,使得搬迁后将与位置1相邻的基本存储单元空出后,将第四条ACL规则P4加载至该基本存储单元中,按照这种规则,继续加载后续的待加载的ACL规则,直至所有的待加载的ACL规则全部加载。
[0008]当可加载范围中没有基本存储单元时,同样地,也需查询一个距离位置1最近的处于空闲状态的基本存储单元,将该处于空闲状态的基本存储单元与位置1之间的ACL规则逐个进行搬迁,以便将待加载的ACL规则全部加载。
[0009]因此,在待加载的ACL规则中的非最后一条ACL规则加载时由于没有空闲的基本存储单元而需要进行搬迁操作的情况下,后续的每一条待加载的ACL规则加载时,均需要进行搬迁操作,显然,现有的ACL规则加载过程存在大量的冗余搬迁操作,降低了 ACL规则的加载效率。

【发明内容】

[0010]本发明提供一种ACL规则的加载方法及装置,用以解决现有技术中存在的ACL规则加载过程存在大量冗余搬迁操作,降低了 ACL规则的加载效率的问题。
[0011]本发明提供的具体技术方案如下:
[0012]第一方面,一种访问控制列表ACL规则的加载方法,包括:接收数据加载请求,所述数据加载请求包括待加载的ACL规则的数目;根据所述数据加载请求在用于存储ACL规则的存储介质中确定可加载范围;当确定所述可加载范围中包含的基本存储单元的数目小于所述待加载的ACL规则的数目时,搬迁所述存储介质中已经存储的ACL规则,将搬迁后得到的空闲基本存储单元作为扩展的基本存储单元添加至所述可加载范围,直至添加了扩展的基本存储单元的可加载范围中包含的基本存储单元的数目大于或等于所述待加载的ACL规则的数;将所述数据加载请求指示的待加载的ACL规则依次加载至添加了扩展的基本存储单元的可加载范围中的基本存储单元。
[0013]结合第一方面,在第一种可能的实现方式中,所述存储介质为三态内容寻址存储器块 TCAM Bank。
[0014]结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,根据所述数据加载请求在用于存储ACL规则的存储介质中确定可加载范围,包括将所述数据加载请求指定的所述TCAM Bank中的基本存储单元作为可加载范围;或者根据所述数据加载请求,确定待加载的ACL的规则的优先级;根据所述待加载的ACL规则的优先级,按照从低优先级到高优先级的熟悉遍历包括ACL规则的优先级和基本存储单元位置信息的映射关系的优先级链表,将所述TCAM Bank中首个优先级不小于所述待加载的ACL规则的优先级的基本存储单元作为上界位置,将所述TCAM Bank中最后一个优先级不大于所述待加载的ACL规则的优先级的基本存储单元作为下界位置;将所述上界位置和所述下界位置之间的基本存储单元作为可加载范围。
[0015]结合第一方面的第一种或第二种可能的实现方式,在第三种可能的是实现方式中,搬迁所述存储介质中已经存储的ACL规则,包括将与所述可加载范围相邻的指定基本存储单元作为第一基本存储单元;在所述TCAM Bank中筛选出除所述可加载范围之外距离所述第一基本存储单元最近的且处于空闲状态的第二基本存储单元;搬迁筛选出的所述第二基本存储单元与所述第一基本存储单元之间的基本存储单元中已存储的ACL规则。
[0016]结合第一方面或以上任意一种可能的实现方式,在第四种可能的实现方式中,将所述数据加载请求指示的待加载的ACL规则依次加载至所述添加了扩展的基本存储单元的可加载范围中的基本存储单元,包括将第一条待加载的ACL规则加载至所述添加了扩展的基本存储单元的可加载范围中的指定位置的首个基本存储单元;依次将剩余每一条待加载的ACL规则加载至所述添加了扩展的基本存储单元的可加载范围中距离所述首个基本存储单元最近的基本存储单元中。
[0017]第二方面,一种访问控制列表ACL规则的加载装置,包括接收单元,用于接收数据加载请求,所述数据加载请求包括待加载的ACL规则的数目;确定单元,用于根据所述数据加载请求在用于存储ACL规则的存储介质中确定可加载范围;处理单元,用于当确定所述可加载范围中包含的基本存储单元的数目小于所述待加载的ACL规则的数目时,搬迁所述存储介质中已经存储的ACL规则,将搬迁后得到的空闲基本存储单元作为扩展的基本存储单元添加至所述可加载范围,直至添加了扩展的基本存储单元的可加载范围中包含的基本存储单元的数目大于或等于所述待加载的ACL规则的数目;将所述数据加载请求指示
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1