策略路由的实现方法、装置和交换设备的制作方法

文档序号:7858716阅读:164来源:国知局
专利名称:策略路由的实现方法、装置和交换设备的制作方法
技术领域
本发明涉及网络通信技术,尤其涉及一种策略路由的实现方法、装置和交换设备,属于通信技术领域。
背景技术
随着通信技术的快速发展,互联网的规模越来越庞大,网络拓扑变得越来越复杂,网络流量也越来越大了,随之而来的是带宽需求的日益膨胀。但是政府、企业、校园等接入因特(Internet)网的链路出口带宽往往是有限制的,怎样更加合理地分配带宽、满足用户特定的业务流量的转发需求成为了一个棘手的问题。为此,当前大多采用策略路由来实现链路的流量分配。策略路由是通过匹配因特网协议(Internet Protocol ;以下简称IP)报文的源IP地址、目的IP地址、源媒体接入控 制(Media Access Control ;以下简称MAC)地址和目的MAC地址等报文信息来为该IP报文选择链路出口 ;其中,策略路由安装在策略表中。用户可以根据具体的需要配置相应的策略来实现流量的分配。现有技术中,IP报文在芯片中匹配路由表和策略表的选路过程为首先,IP报文先匹配路由表。路由表按照最长匹配的原则进行匹配,优先匹配掩码最长的路由表项,如果匹配中了就不继续匹配路由表的其他表项,如果匹配不中,则继续匹配掩码次长的路由表项,如此一直匹配下去直到匹配中或者搜索完整个路由表。如果用户有配置缺省路由的话,IP报文若匹配不中路由表的其他表项就会匹配中该缺省路由对应的表项,走缺省转发的链路出口。其次,IP报文匹配完路由表,会接下来匹配策略表。策略表是按照索引从小到大的顺序进行搜索,因此策略表中索引越小的表项优先级越高。策略表一旦匹配中某一条表项之后不继续匹配策略表中的其他表项。由于策略表的优先级比路由表的优先级高,因此如果IP报文匹配中了策略表的某条表项就按照该策略表项指定的链路出口进行转发,如果IP报文匹配不中策略表,则按照路由表指定的链路出口进行转发。通过上面的匹配顺序,可能出现如下2个问题策略路由是用来强制流量走某个出口的,一般用来保证高优先级的业务的带宽;对于普通的优先级不高的流量而言,只能通过匹配路由表来选路,网络上可能存在大量匹配不中策略表和掩码非0的路由表项的普通流量,这部分流量只能走缺省路由,这可能导致缺省链路出口的流量过大,超出带宽限制。当然用户也可以配置大量的静态路由来对这部分流量进行分流,但是路由表的表项是有限的,配置大量的静态路由可能需要消耗掉大量的路由表项,这可能导致其他业务无法正常运作。另外,现有技术中,只能实现一条缺省路由来匹配缺省的流量,也就是说只能做到一个缺省出口,无法同时做到多个缺省出口。

发明内容
本发明提供一种策略路由的实现方法、装置和交换设备,以实现为各种业务流量配置缺省的链路出口,降低缺省路由的流量。本发明一方面提供一种策略路由的实现方法,包括获得配置的具有第一优先级的策略路由,所述具有第一优先级的策略路由包括所述具有第一优先级的策略路由的策略内容和所述策略内容对应的链路出口 ;对所述具有第一优先级的策略路由进行拆分,获得第一子策略路由和第二子策略路由;所述第一子策略路由包括所述具有第一优先级的策略路由的策略内容和第一指示,所述第二子策略路由包括所述具有第一优先级的策略路由的策略内容、第二指示和所述策略内容对应的链路出口 ;所述第一指示用于指示当接收的报文的五元组信息匹配中所述策略内容且匹配中路由表时,将所述报文按照所述路由表中与所述五元组信息 匹配的路由表项指定的链路出口进行转发;所述第二指示用于指示当接收的报文的五元组信息匹配中所述策略内容,但未匹配中路由表时,将所述报文按照所述策略内容对应的链路出口进行转发;将所述第一子策略路由和所述第二子策略路由安装在策略表中,所述第一子策略路由和所述第二子策略路由在所述策略表中的位置相邻,且所述第一子策略路由的索引小于所述第二子策略路由的索引。本发明另一方面提供一种策略路由的实现装置,包括获得模块,用于获得配置的具有第一优先级的策略路由,所述具有第一优先级的策略路由包括所述具有第一优先级的策略路由的策略内容和所述策略内容对应的链路出
n ;拆分模块,用于对所述获得模块获得的具有第一优先级的策略路由进行拆分,获得第一子策略路由和第二子策略路由;所述第一子策略路由包括所述具有第一优先级的策略路由的策略内容和第一指示,所述第二子策略路由包括所述具有第一优先级的策略路由的策略内容、第二指示和所述策略内容对应的链路出口 ;所述第一指示用于指示当接收的报文的五元组信息匹配中所述策略内容且匹配中路由表时,将所述报文按照所述路由表中与所述五元组信息匹配的路由表项指定的链路出口进行转发;所述第二指示用于指示当接收的报文的五元组信息匹配中所述策略内容,但未匹配中路由表时,将所述报文按照所述策略内容对应的链路出口进行转发;安装模块,用于将所述拆分模块获得的所述第一子策略路由和所述第二子策略路由安装在策略表中,所述第一子策略路由和所述第二子策略路由在所述策略表中的位置相邻,且所述第一子策略路由的索引小于所述第二子策略路由的索引。本发明再一方面提供一种交换设备,包括如上所述的策略路由的实现装置。本发明的技术效果是获得配置的具有第一优先级的策略路由之后,对具有第一优先级的策略路由进行拆分,然后将拆分获得的第一子策略路由和第二子策略路由安装在策略表中。本发明中,上述第一子策略路由包括具有第一优先级的策略路由的策略内容和第一指示,该第一指示用于指示当接收的报文的五元组信息匹配中上述策略内容且匹配中路由表时,将上述报文按照路由表中与上述五元组信息匹配的路由表项指定的链路出口进行转发;因此,上述第一子策略路由的优先级比路由表低;上述第二子策略包括具有第一优先级的策略路由的策略内容、第二指示和上述策略内容对应的链路出口 ;该第二指示用于指示当接收的报文的五元组信息匹配中上述策略内容,但未匹配中路由表时,将上述报文按照上述策略内容对应的链路出口进行转发,从而可以通过配置具有第一优先级的策略路由实现为各种业务流量配置缺省的链路出口,进而可以降低缺省路由的流量。


图I为本发明策略路由的实现方法一个实施例的流程图;图2为本发明应用场景一个实施例的示意图;图3为本发明选路方式一个实施例的逻辑示意图;图4为本发明选路方式一个实施例的效果示意图;图5为本发明具有第一优先级的策略路由的拆分过程一个实施例的示意图; 图6为本发明安装具有第一优先级的策略路由的方法一个实施例的流程图;图7为本发明删除具有第一优先级的策略路由的方法一个实施例的流程图;图8为本发明缺省路由策略的安装方法一个实施例的流程图;图9为本发明安装具有第二优先级的策略路由的方法一个实施例的流程图;图10为本发明删除具有第二优先级的策略路由的方法一个实施例的流程图;图11为本发明策略路由的实现装置一个实施例的结构示意图;图12为本发明策略路由的实现装置另一个实施例的结构示意图。
具体实施例方式图I为本发明策略路由的实现方法一个实施例的流程图,如图I所示,该策略路由的实现方法可以包括步骤101,获得配置的具有第一优先级的策略路由,上述具有第一优先级的策略路由包括具有第一优先级的策略路由的策略内容和该策略内容对应的链路出口。其中,上述具有第一优先级的策略路由的策略内容可以为访问控制列表(AccessControl List ;以下简称ACL),当然本发明实施例并不局限于此,本发明对上述策略内容的形式不作限定。步骤102,对具有第一优先级的策略路由进行拆分,获得第一子策略路由和第二子策略路由;上述第一子策略路由包括上述具有第一优先级的策略路由的策略内容和第一指示,上述第二子策略路由包括上述具有第一优先级的策略路由的策略内容、第二指示和上述策略内容对应的链路出口。其中,第一指示用于指示当接收的报文的五元组信息匹配中上述策略内容且匹配中路由表时,将上述报文按照路由表中与上述五元组信息匹配的路由表项指定的链路出口进行转发;第二指示用于指示当接收的报文的五元组信息匹配中上述策略内容,但未匹配中路由表时,将上述报文按照上述策略内容对应的链路出口进行转发。上述报文的五元组信息包括源IP地址、源端口、目的IP地址、目的端口和传输层协议号。步骤103,将上述第一子策略路由和上述第二子策略路由安装在策略表中,第一子策略路由和第二子策略路由在策略表中的位置相邻,且第一子策略路由的索引小于第二子策略路由的索引。其中,上述第一子策略路由和第二子策略路由均属于具有第一优先级的子策略路由;也就是说,具有第一优先级的子策略路由为具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由的统称。由于策略表是按照索引从小到大的顺序进行搜索,因此在具有第一优先级的子策略路由中索引较小的子策略路由优先级较高。第一子策略路由的索引小于第二子策略路由的索引,因此上述第一子策略路由的优先级高于第二子策略路由的优先级。具体地,步骤103中,将上述第一子策略路由和上述第二子策略路由安装在策略表中可以为如果上述策略表中存在缺省路由策略,则将上述缺省路由策略向索引增大方向移动两个位置,并将由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由安装在移动上述缺省路由策略后获得的位置;如果上述策略表中不存在缺省路由策略,但存在优先级不低于第一优先级的策略路由,则将由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由安装在上述策略表中与优先级不低于第一优 先级的策略路由中索引最大的策略路由相邻且索引更大的位置;如果上述策略表中不存在缺省路由策略,也不存在优先级不低于第一优先级的策略路由,则将由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由依次安装在上述策略表中索引最小和索引次小的位置。其中,优先级不低于第一优先级的策略路由包括具有第二优先级的策略路由和具有第一优先级的子策略路由,第二优先级高于第一优先级。本实施例中,上述策略表是安装在芯片上的硬件表,相应地,内存中会保存一份软件表,该软件表是上述策略表的备份,在安装由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由时,可以遍历上述软件表,确定策略表中是否存在缺省路由策略,以及确定策略表中是否存在优先级不低于第一优先级的策略路由。进一步地,如果是首次在上述策略表中安装由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由,在将上述第一子策略路由和上述第二子策略路由安装在上述策略表中之后,还可以将缺省路由策略安装在上述策略表中与第二子策略路由相邻且索引更大的位置,并将上述缺省路由策略从路由表中删除。这样可以实现在策略表中安装了由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由之后,将缺省路由策略安装在上述策略表中与第二子策略路由相邻且索引更大的位置,从而可以保证缺省路由策略的优先级低于第一优先级。其中,上述缺省路由策略包括缺省路由、缺省路由对应的缺省出口和第三指示;该第三指示用于指示当接收的报文的五元组信息未匹配中上述路由表和上述策略表中除缺省路由策略对应表项之外的表项时,将上述报文从缺省出口转发出去。本实施例中,在上述策略表中删除由一条具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由之后,在上述策略表中将索引大于被删除第二子策略路由的索引的策略路由顺次向索引减小方向移动两个位置;如果上述策略表中具有第一优先级的子策略路由均被删除,则将缺省路由策略安装在路由表中,并将上述缺省路由策略从上述策略表中删除。其中,上述索引大于被删除第二子策略路由的索引的策略路由包括具有第一优先级的子策略路由和缺省路由策略。
本实施例中,首次安装缺省路由策略时,需要先判断上述策略表中是否存在具有第一优先级的子策略路由,如果存在,则将上述缺省路由策略安装在上述策略表中与具有第一优先级的子策略路由中索引最大的子策略路由相邻且索引更大的位置;如果上述策略表中不存在具有第一优先级的子策略路由,则将上述缺省路由策略安装在路由表中。具体地,可以通过遍历与策略表互为备份的软件表,判断上述策略表中是否存在具有第一优先级的子策略路由。本实施例中,当在上述策略表中新增一条具有第二优先级的策略路由时,将上述策略表中从具有第一优先级的子策略路由的起始索引开始的所有策略路由顺次向索引增大方向移动一个位置,将上述具有第二优先级的策略路由安装在移动从具有第一优先级的子策略路由的起始索引开始的所有策略路由后获得的位置;其中,上述第二优先级高于第一优先级。在上述策略表中删除一条具有第二优先级的策略路由之后,在上述策略表中将索引大于被删除策略路由的索引的策略路由顺次向索引减小方向移动一个位置。其中,上述索引大于被删除策略路由的索引的策略路由包括具有第二优先级的策略路由、具有第一优 先级的子策略路由和缺省路由策略。上述实施例中,获得配置的具有第一优先级的策略路由之后,对具有第一优先级的策略路由进行拆分,然后将拆分获得的第一子策略路由和第二子策略路由安装在策略表中。本实施例中,上述第一子策略路由包括具有第一优先级的策略路由的策略内容和第一指示,该第一指示用于指示当接收的报文的五元组信息匹配中上述策略内容且匹配中路由表时,将上述报文按照路由表中与上述五元组信息匹配的路由表项指定的链路出口进行转发;因此,上述第一子策略路由的优先级比路由表低;上述第二子策略包括具有第一优先级的策略路由的策略内容、第二指示和上述策略内容对应的链路出口 ;该第二指示用于指示当接收的报文的五元组信息匹配中上述策略内容,但未匹配中路由表时,将上述报文按照上述策略内容对应的链路出口进行转发,从而可以通过配置具有第一优先级的策略路由实现为各种业务流量配置缺省的链路出口,进而可以降低缺省路由的流量。需要说明的是,本发明实施例中,“第一”和“第二”仅为描述方便,不代表性能的优劣、实施的先后和/或优先级的高低。本发明图I所示实施例提供的方法可以应用在图2所示的应用场景中,图2为本发明应用场景一个实施例的示意图。图2所示场景中,可以配置两条具有第一优先级的策略路由,假设这两条具有第一优先级的策略路由分别为策略路由A和策略路由B,其中策略路由A可以为学生区网络流量经电信出口到因特网(Internet),策略路由B可以为教学区网络流量经联通出口到因特网。这样,按照本发明图I所示实施例提供的方法将策略路由A和策略路由B安装到策略表中之后,交换机接收到报文之后,如果该报文的五元组信息匹配中策略路由A的策略内容且匹配中路由表,即该报文的五元组信息属于学生区网络且能在路由表中查找到对应表项,则按照在路由表中查找到的对应表项指定的链路出口将该报文转发到因特网;而如果该报文的五元组信息匹配中策略路由A的策略内容,但未匹配中路由表,即该报文的五元组信息属于学生区网络,且在路由表中未查找到对应表项,则按照策略路由A的策略内容对应的链路出口将上述报文转发到因特网,即将上述报文从电信出口转发到因特网。
本发明实施例中,上述具有第一优先级的策略路由的优先级比路由表低,比缺省路由策略高,从而可以通过配置具有第一优先级的策略路由实现为各种业务流量配置缺省的链路出口,进而可以降低缺省路由的流量。本发明图I所示实施例提供的方法中,各种策略路由的优先级为具有第二优先级的策略路由 > 路由表中掩码非0的路由 > 具有第一优先级的策略路由 > 缺省路由策略。本发明图I所示实施例提供的方法可以实现如图3所示的选路方式。图3为本发明选路方式一个实施例的逻辑示意图。参见图3,接收到报文之后,将该报文的五元组信息与上述策略路由进行匹配的逻辑过程如下将报文的五元组信息与策略表中的具有第二优先级的策略路由进行匹配,如果能命中,即报文的五元组信息能匹配上具有第二优先级的策略路由,则将上述报文按照具有第二优先级的策略路由指定的链路出口进行转发;如果未命中,即报文的五元组信息与具 有第二优先级的策略路由不匹配,则将报文的五元组信息与路由表中掩码非0的路由进行匹配;如果能命中,则将上述报文按照路由表中掩码非0的路由指定的链路出口进行转发;如果未命中,则将报文的五元组信息与具有第一优先级的策略路由进行匹配,如果能命中,即报文的五元组信息能匹配上具有第一优先级的策略路由,则将上述报文按照具有第一优先级的策略路由指定的链路出口进行转发;如果未命中,即报文的五元组信息与具有第一优先级的策略路由不匹配,则判断是否存在缺省路由策略,如果存在,则将上述报文按照缺省路由策略指定的链路出口进行转发,如果不存在,则丢弃上述报文。本发明图I所示实施例提供的方法依赖于策略表,是通过对具有第一优先级的策略路由进行拆分,以及调整具有第一优先级的策略路由和缺省路由策略在策略表中的位置来实现的,本发明图I所示实施例提供的方法实现的选路方式的效果示意图如图4所示,图4为本发明选路方式一个实施例的效果示意图。本发明中,需要对具有第一优先级的策略路由和具有第二优先级的策略路由进行区分。具有第一优先级的策略路由在策略表的位置必须在具有第二优先级的策略路由之后,这样才能保证具有第二优先级的策略路由优先被匹配。为了使具有第一优先级的策略路由的优先级比路由表的优先级低,需要对具有第一优先级的策略路由进行拆分。本发明把配置的一条具有第一优先级的策略路由拆分成第一子策略路由和第二子策略路由安装在策略表中。拆分过程如图5所示,图5为本发明具有第一优先级的策略路由的拆分过程一个实施例的示意图。图5中,具有第一优先级的策略路由包括具有第一优先级的策略路由的策略内容和该策略内容对应的链路出口 ;第一子策略路由包括上述具有第一优先级的策略路由的策略内容和第一指示,第二子策略路由包括上述具有第一优先级的策略路由的策略内容、第二指示和上述策略内容对应的链路出口 ;其中,第一指示用于指示当接收的报文的五元组信息匹配中上述策略内容且匹配中路由表时,将上述报文按照路由表中与上述五元组信息匹配的路由表项指定的链路出口进行转发;第二指示用于指示当接收的报文的五元组信息匹配中上述策略内容,但未匹配中路由表时,将上述报文按照上述策略内容对应的链路出口进行转发。本发明中,将配置的具有第一优先级的策略路由进行拆分,第一子策略路由中的第一指示用于指示当接收的报文的五元组信息匹配中上述策略内容且匹配中路由表时,将上述报文按照路由表中与上述五元组信息匹配的路由表项指定的链路出口进行转发,这样就保证了路由表的优先级比第一优先级策略路由要高;第一子策略路由与第二子策略路由必须紧挨着安装在策略表中,且第一子策略路由的索引小于第二子策略路由的索引,即第一子策略路由的优先级高于第二子策略路由的优先级。本发明中,为了保证具有第一优先级的策略路由的优先级比缺省路由策略的优先级高,缺省路由策略不安装在路由表中,而是安装在策略表中,且安装在具有第一优先级的策略的后面。其中,上述缺省路由策略包括缺省路由、缺省路由对应的缺省出口和第三指示;该第三指示用于指示当接收的报文的五元组信息未匹配中上述路由表和上述策略表中除缺省路由策略对应表项之外的表项时,将上述报文从缺省出口转发出去,从而可以实现路由表的优先级比缺省路由策略的优先级高。下面对具有第一优先级的策略路由、具有第二优先级的策略路由和缺省路由策略的安装和删除方法进行介绍。
图6为本发明安装具有第一优先级的策略路由的方法一个实施例的流程图,如图6所示,可以包括步骤601,获得配置的具有第一优先级的策略路由,上述具有第一优先级的策略路由包括具有第一优先级的策略路由的策略内容和该策略内容对应的链路出口。步骤602,对具有第一优先级的策略路由进行拆分,获得第一子策略路由和第二子策略路由;上述第一子策略路由包括上述策略内容和第一指示,上述第二子策略路由包括上述策略内容、第二指示和上述策略内容对应的链路出口。其中,第一指示用于指示当接收的报文的五元组信息匹配中上述策略内容且匹配中路由表时,将上述报文按照路由表中与上述五元组信息匹配的路由表项指定的链路出口进行转发;第二指示用于指示当接收的报文的五元组信息匹配中上述策略内容,但未匹配中路由表时,将上述报文按照上述策略内容对应的链路出口进行转发。上述报文的五元组信息包括源IP地址、源端口、目的IP地址、目的端口和传输层协议号。步骤603,判断是否首次在策略表中安装由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由。如果是,则执行步骤604。如果不是首次在策略表中安装上述第一优先级策略,则执行步骤608。本实施例中,上述策略表是安装在芯片上的硬件表,相应地,内存中会保存一份软件表,该软件表是上述策略表的备份,在安装由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由时,可以遍历上述软件表,如果上述软件表中不存在具有第一优先级的策略路由,则可以确定是首次在上述策略表中安装由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由;如果上述软件表中存在具有第一优先级的策略路由,则可以确定不是首次在上述策略表中安装由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由。步骤604,判断上述策略表中是否存在具有第二优先级的策略路由;如果是,则执行步骤605 ;如果上述策略表中不存在具有第二优先级的策略路由,则执行步骤606。具体地,通过遍历与策略表互为备份的软件表,可以确定策略表中是否存在具有第二优先级的策略路由。步骤605,将第一子策略路由和第二子策略路由安装在策略表中与索引最大的具有第二优先级的策略路由相邻且索引更大的位置;然后执行步骤607。其中,上述第一子策略路由的索引大于索引最大的具有第二优先级的策略路由的索引,其中,第二优先级高于第一优先级。并且,第一子策略路由和第二子策略路由在策略表中的位置相邻,且第一子策略路由的索引小于第二子策略路由的索引本实施例中,上述第一子策略路由和第二子策略路由均属于具有第一优先级的子策略路由;也就是说,具有第一优先级的子策略路由为具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由的统称。由于策略表是按照索引从小到大的顺序进行搜索,因此在具有第一优先级的子策略路由中索引较小的子策略路由优先级较高。第一子策略路由的索引小于第二子策略路由的索引,因此上述第一子策略路由的优先级高于第二子策略路由的优先级。 步骤606,将第一子策略路由和第二子策略路由依次安装在策略表中索引最小和索引次小的位置;然后执行步骤607。步骤607,将缺省路由策略安装在上述策略表中与第二子策略路由相邻且索引更大的位置,并将上述缺省路由策略从路由表中删除。其中,上述缺省路由策略在上述策略表中的索引大于第二子策略路由的索引,SP缺省路由策略的优先级低于第二子策略路由的优先级。步骤608,在上述策略表中将缺省路由策略向索引增大方向移动两个位置,并将上述第一子策略路由和上述第二子策略路由安装在移动上述缺省路由策略后获得的位置。上述实施例中,具有第一优先级的策略路由的优先级比路由表低,比缺省路由策略高,从而可以通过配置具有第一优先级的策略路由实现为各种业务流量配置缺省的链路出口,进而可以降低缺省路由的流量。图7为本发明删除具有第一优先级的策略路由的方法一个实施例的流程图,如图7所示,可以包括步骤701,获得由待删除的一条具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由。步骤702,将上述第一子策略路由和第二子策略路由从策略表中删除。步骤703,在上述策略表中将索引大于被删除第二子策略路由的索引的策略路由顺次向索引减小方向移动两个位置。其中,上述索引大于被删除第二子策略路由的索引的策略路由包括具有第一优先级的子策略路由和缺省路由策略。步骤704,判断上述策略表中是否还存在具有第一优先级的子策略路由。如果是,则返回执行步骤701 ;如果策略表中具有第一优先级的子策略路由均被删除,则执行步骤705。步骤705,将缺省路由策略安装在路由表中,并将上述缺省路由策略从上述策略表中删除。上述实施例可以实现将具有第一优先级的子策略路由从策略表中删除,从而可以节省策略表的表项资源。
图8为本发明缺省路由策略的安装方法一个实施例的流程图,如图8所示,可以包括步骤801,首次安装缺省路由策略时,判断上述策略表中是否存在具有第一优先级的子策略路由。如果是,则执行步骤802 ;如果上述策略表中不存在具有第一优先级的子策略路由,则执行步骤803。具体地,通过遍历与策略表互为备份的软件表,可以确定策略表中是否存在具有第一优先级的子策略路由。步骤802,将上述缺省路由策略安装在上述策略表中与具有第一优先级的子策略路由中索引最大的子策略路由相邻且索引更大的位置。流程结束。步骤803,将上述缺省路由策略安装在路由表中。流程结束。本实施例中,上述缺省路由策略包括缺省路由、缺省路由对应的缺省出口和第三 指示;该第三指示用于指示当接收的报文的五元组信息未匹配中上述路由表和上述策略表中除缺省路由策略对应表项之外的表项时,将上述报文从缺省出口转发出去。上述实施例中,当策略表中存在具有第一优先级的子策略路由时,将缺省路由策略安装在策略表中索引最大的位置,从而可以实现具有第一优先级的子策略路由的优先级高于缺省路由策略的优先级。图9为本发明安装具有第二优先级的策略路由的方法一个实施例的流程图,如图9所示,可以包括步骤901,获得配置的具有第二优先级的策略路由。步骤902,将策略表中从具有第一优先级的子策略路由的起始索引开始的所有策略路由顺次向索引增大方向移动一个位置。本实施例中,第二优先级高于第一优先级,因此在策略表中,具有第二优先级的策略路由在策略表中的索引小于具有第一优先级的子策略路由的起始索引,当在上述策略表中新增一条具有第二优先级的策略路由时,需要将策略表中从具有第一优先级的子策略路由的起始索引开始的所有策略路由顺次向索引增大方向移动一个位置。具体地,在移动上述从具有第一优先级的子策略路由的起始索引开始的所有策略路由时,可以从上述具有第一优先级的子策略路由的起始索引开始的所有策略路由中索引最大的策略路由开始移动,以防止断流。步骤903,将上述具有第二优先级的策略路由安装在移动从具有第一优先级的子策略路由的起始索引开始的所有策略路由后获得的位置。上述实施例可以实现将具有第二优先级的策略路由安装在策略表中,并且具有第二优先级的策略路由的优先级高于具有第一优先级的子策略路由的优先级。图10为本发明删除具有第二优先级的策略路由的方法一个实施例的流程图,如图10所示,可以包括步骤1001,在策略表中删除一条具有第二优先级的策略路由。步骤1002,在上述策略表中将索引大于被删除策略路由的索引的策略路由顺次向索引减小方向移动一个位置。其中,上述索引大于被删除策略路由的索引的策略路由包括具有第二优先级的策略路由、具有第一优先级的子策略路由和缺省路由策略。
本实施例中,在策略表中删除一条具有第二优先级的策略路由之后,需要将上述策略表中索引大于被删除策略路由的索引的策略路由顺次向索引减小方向移动一个位置。具体地,在移动索引大于被删除策略路由的索引的策略路由时,可以从上述索引大于被删除策略路由的索引的策略路由中索引最小的策略路由开始移动,以防止断流。本发明中,新增或删除一条策略基本上都要涉及到其他表项的下移或者上移。当策略表中的表项比较多时,可以为具有第一优先级的策略路由、具有第二优先级的策略路由和缺省路由策略直接划分策略表分区,防止频繁移动表项。本发明提供的策略路由的实现方法可以对普通流量进行更加合理的分配,有效地分担缺省路由出口的流量,从而达到带宽合理分配的目的;并且可以通过为普通流量配置具有第一优先级的策略路由来节省路由表的容量。另外,可以通过配置具有第一优先级的策略路由,为不同的业务流量配置不同的缺省出口,从而对业务实现了更加精细化的控制,满足了用户多样化的应该场景 。并且,本发明提供的方法实现简单,便于推广。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。图11为本发明策略路由的实现装置一个实施例的结构示意图,本实施例中的策略路由的实现装置可以实现本发明图I所示实施例的流程。如图11所示,该策略路由的实现装置可以包括获得模块1101、拆分模块1102和安装模块1103 ;其中,获得模块1101,用于获得配置的具有第一优先级的策略路由,该具有第一优先级的策略路由包括具有第一优先级的策略路由的策略内容和上述策略内容对应的链路出口 ;其中,上述具有第一优先级的策略路由的策略内容可以为ACL,当然本发明实施例并不局限于此,本发明对上述策略内容的形式不作限定;拆分模块1102,用于对获得模块1101获得的具有第一优先级的策略路由进行拆分,获得第一子策略路由和第二子策略路由;上述第一子策略路由包括具有第一优先级的策略路由的策略内容和第一指示,上述第二子策略包括具有第一优先级的策略路由的策略内容、第二指示和该策略内容对应的链路出口 ;上述第一指示用于指示当接收的报文的五元组信息匹配中上述策略内容且匹配中路由表时,将上述报文按照路由表中与上述五元组信息匹配的路由表项指定的链路出口进行转发;上述第二指示用于指示当接收的报文的五元组信息匹配中上述策略内容,但未匹配中路由表时,将上述报文按照策略内容对应的链路出口进行转发;安装模块1103,用于将拆分模块1102获得的第一子策略路由和第二子策略路由安装在策略表中,上述第一子策略路由和上述第二子策略路由在策略表中的位置相邻,且第一子策略路由的索引小于第二子策略路由的索引。其中,上述第一子策略路由和第二子策略路由均属于具有第一优先级的子策略路由;也就是说,具有第一优先级的子策略路由为具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由的统称。由于策略表是按照索引从小到大的顺序进行搜索,因此在具有第一优先级的子策略路由中索引较小的子策略路由优先级较高。第一子策略路由的索引小于第二子策略路由的索引,因此上述第一子策略路由的优先级高于第二子策略路由的优先级。上述策略路由的实现装置中,获得模块1101获得配置的具有第一优先级的策略路由之后,拆分模块1102对具有第一优先级的策略路由进行拆分,然后安装模块1103将拆分获得的第一子策略路由和第二子策略路由安装在策略表中。本实施例中,上述第一子策略路由包括具有第一优先级的策略路由的策略内容和第一指示,该第一指示用于指示当接收的报文的五元组信息匹配中上述策略内容且匹配中路由表时,将上述报文按照路由表中与上述五元组信息匹配的路由表项指定的链路出口进行转发;因此,上述第一子策略路由的优先级比路由表低;上述第二子策略包括具有第一优先级的策略路由的策略内容、第二指示和上述策略内容对应的链路出口 ;该第二指示用于指示当接收的报文的五元组信息匹配中上述策略内容,但未匹配中路由表时,将上述报文按照上述策略内容对应的链路出口进行转发,从而可以通过配置具有第一优先级的策略路由实现为各种业务流量配置缺省的链路出口,进而可以降低缺省路由的流量。图12为本发明策略路由的实现装置另一个实施例的结构示意图,与图11所示的 策略路由的实现装置相比,不同之处在于,图12所示的策略路由的实现装置还可以包括移动模块1104 ;本实施例中,移动模块1104,用于当上述策略表中存在缺省路由策略时,将上述缺省路由策略向索引增大方向移动两个位置;安装模块1103,具体用于当上述策略表中存在缺省路由策略时,将由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由安装在移动模块1104移动上述缺省路由策略后获得的位置;当上述策略表中不存在缺省路由策略,但存在优先级不低于第一优先级的策略路由时,将由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由安装在策略表中与优先级不低于第一优先级的策略路由中索引最大的策略路由相邻且索引更大的位置;以及当上述策略表中不存在缺省路由策略,也不存在优先级不低于第一优先级的策略路由时,将由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由依次安装在策略表中索引最小和索引次小的位置。进一步地,安装模块1103,还用于当首次在上述策略表中安装由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由时,在将第一子策略和第二子策略安装在上述策略表中之后,将缺省路由策略安装在策略表中与第二子策略路由相邻且索引更大的位置,并将上述缺省路由策略从路由表中删除。移动模块1104,还用于在上述策略表中删除由一条具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由之后,在策略表中将索引大于被删除第二子策略路由的索引的策略路由顺次向索引减小方向移动两个位置;安装模块1103,还用于当上述策略表中具有第一优先级的子策略路由均被删除时,将上述缺省路由策略安装在路由表中,并将上述缺省路由策略从所述策略表中删除。进一步地,安装模块1103,还用于当首次安装缺省路由策略时,判断策略表中是否存在具有第一优先级的子策略路由,如果存在,则将缺省路由策略安装在策略表中与具有第一优先级的子策略路由中索引最大的子策略路由相邻且索引更大的位置;如果上述策略表中不存在具有第一优先级的子策略路由,则将缺省路由策略安装在路由表中。
移动模块1104,还用于当在策略表中新增一条具有第二优先级的策略路由时,将上述策略表中从具有第一优先级的子策略路由的起始索引开始的所有策略路由顺次向索引增大方向移动一个位置;以及在上述策略表中删除一条具有第二优先级的策略路由之后,在策略表中将索引大于被删除策略路由的索引的策略路由顺次向索引减小方向移动一个位置;安装模块1103,还用于当在上述策略表中新增一条具有第二优先级的策略路由时,将上述具有第二优先级的策略路由安装在移动模块1104移动从具有第一优先级的子策略路由的起始索引开始的所有策略路由后获得的位置。本实施例中,上述具有第一优先级的策略路由的优先级比路由表低,比缺省路由策略高,从而可以通过配置具有第一优先级的策略路由实现为各种业务流量配置缺省的链路出口,进而可以降低缺省路由的流量。本发明还提供一种交换设备,该交换设备可以包括本发明图11或图12所示的策 略路由的实现装置。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种策略路由的实现方法,其特征在于,包括 获得配置的具有第一优先级的策略路由,所述具有第一优先级的策略路由包括所述具有第一优先级的策略路由的策略内容和所述策略内容对应的链路出口; 对所述具有第一优先级的策略路由进行拆分,获得第一子策略路由和第二子策略路由;所述第一子策略路由包括所述具有第一优先级的策略路由的策略内容和第一指示,所述第二子策略路由包括所述具有第一优先级的策略路由的策略内容、第二指示和所述策略内容对应的链路出口 ;所述第一指示用于指示当接收的报文的五元组信息匹配中所述策略内容且匹配中路由表时,将所述报文按照所述路由表中与所述五元组信息匹配的路由表项指定的链路出口进行转发;所述第二指示用于指示当接收的报文的五元组信息匹配中所述策略内容,但未匹配中路由表时,将所述报文按照所述策略内容对应的链路出口进行转发; 将所述第一子策略路由和所述第二子策略路由安装在策略表中,所述第一子策略路由和所述第二子策略路由在所述策略表中的位置相邻,且所述第一子策略路由的索引小于所述第二子策略路由的索引。
2.根据权利要求I所述的方法,其特征在于,所述将所述第一子策略路由和所述第二子策略路由安装在策略表中包括 如果所述策略表中存在缺省路由策略,则将所述缺省路由策略向索引增大方向移动两个位置,并将由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由安装在移动所述缺省路由策略后获得的位置; 如果所述策略表中不存在缺省路由策略,但存在优先级不低于第一优先级的策略路由,则将由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由安装在所述策略表中与优先级不低于第一优先级的策略路由中索引最大的策略路由相邻且索引更大的位置; 如果所述策略表中不存在缺省路由策略,也不存在优先级不低于第一优先级的策略路由,则将由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由依次安装在所述策略表中索引最小和索引次小的位置。
3.根据权利要求2所述的方法,其特征在于, 如果是首次在所述策略表中安装由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由,在将所述第一子策略路由和所述第二子策略路由安装在所述策略表中之后,还包括将缺省路由策略安装在所述策略表中与所述第二子策略路由相邻且索引更大的位置,并将所述缺省路由策略从路由表中删除; 其中,所述缺省路由策略包括缺省路由、缺省路由对应的缺省出口和第三指示;所述第三指示用于指示当接收的报文的五元组信息未匹配中所述路由表和所述策略表中除所述缺省路由策略对应表项之外的表项时,将所述报文从所述缺省出口转发出去。
4.根据权利要求2-3任意一项所述的方法,其特征在于,还包括 在所述策略表中删除由一条具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由之后,在所述策略表中将索引大于被删除第二子策略路由的索引的策略路由顺次向索引减小方向移动两个位置; 如果所述策略表中具有第一优先级的子策略路由均被删除,则将所述缺省路由策略安装在路由表中,并将所述缺省路由策略从所述策略表中删除。
5.根据权利要求1-3任意一项所述的方法,其特征在于,还包括 首次安装缺省路由策略时,判断所述策略表中是否存在具有第一优先级的子策略路由,如果存在,则将所述缺省路由策略安装在所述策略表中与具有第一优先级的子策略路由中索引最大的子策略路由相邻且索引更大的位置; 如果所述策略表中不存在具有第一优先级的子策略路由,则将所述缺省路由策略安装在路由表中。
6.根据权利要求2-3任意一项所述的方法,其特征在于,还包括 当在所述策略表中新增一条具有第二优先级的策略路由时,将所述策略表中从具有第一优先级的子策略路由的起始索引开始的所有策略路由顺次向索引增大方向移动一个位置,将所述具有第二优先级的策略路由安装在移动从具有第一优先级的子策略路由的起始索引开始的所有策略路由后获得的位置;所述第二优先级高于所述第一优先级; 在所述策略表中删除一条具有第二优先级的策略路由之后,在所述策略表中将索引大于被删除策略路由的索引的策略路由顺次向索引减小方向移动一个位置。
7.一种策略路由的实现装置,其特征在于,包括 获得模块,用于获得配置的具有第一优先级的策略路由,所述具有第一优先级的策略路由包括所述具有第一优先级的策略路由的策略内容和所述策略内容对应的链路出口 ; 拆分模块,用于对所述获得模块获得的具有第一优先级的策略路由进行拆分,获得第一子策略路由和第二子策略路由;所述第一子策略路由包括所述具有第一优先级的策略路由的策略内容和第一指示,所述第二子策略路由包括所述具有第一优先级的策略路由的策略内容、第二指示和所述策略内容对应的链路出口 ;所述第一指示用于指示当接收的报文的五元组信息匹配中所述策略内容且匹配中路由表时,将所述报文按照所述路由表中与所述五元组信息匹配的路由表项指定的链路出口进行转发;所述第二指示用于指示当接收的报文的五元组信息匹配中所述策略内容,但未匹配中路由表时,将所述报文按照所述策略内容对应的链路出口进行转发; 安装模块,用于将所述拆分模块获得的所述第一子策略路由和所述第二子策略路由安装在策略表中,所述第一子策略路由和所述第二子策略路由在所述策略表中的位置相邻,且所述第一子策略路由的索引小于所述第二子策略路由的索引。
8.根据权利要求7所述的装置,其特征在于,还包括移动模块; 所述移动模块,用于当所述策略表中存在缺省路由策略时,将所述缺省路由策略向索引增大方向移动两个位置; 所述安装模块,具体用于当所述策略表中存在缺省路由策略时,将由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由安装在所述移动模块移动所述缺省路由策略后获得的位置;当所述策略表中不存在缺省路由策略,但存在优先级不低于第一优先级的策略路由时,将由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由安装在所述策略表中与优先级不低于第一优先级的策略路由中索引最大的策略路由相邻且索引更大的位置;以及当所述策略表中不存在缺省路由策略,也不存在优先级不低于第一优先级的策略路由时,将由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由依次安装在所述策略表中索引最小和索引次小的位置。
9.根据权利要求8所述的装置,其特征在于, 所述安装模块,还用于当首次在所述策略表中安装由具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由时,在将所述第一子策略和所述第二子策略安装在所述策略表中之后,将缺省路由策略安装在所述策略表中与所述第二子策略路由相邻且索引更大的位置,并将所述缺省路由策略从路由表中删除。
10.根据权利要求8-9任意一项所述的装置,其特征在于, 所述移动模块,还用于在所述策略表中删除由一条具有第一优先级的策略路由拆分获得的第一子策略路由和第二子策略路由之后,在所述策略表中将索引大于被删除第二子策略路由的索引的策略路由顺次向索引减小方向移动两个位置; 所述安装模块,还用于当所述策略表中具有第一优先级的子策略路由均被删除时,将所述缺省路由策略安装在路由表中,并将所述缺省路由策略从所述策略表中删除。
11.根据权利要求7-9任意一项所述的装置,其特征在于, 所述安装模块,还用于当首次安装缺省路由策略时,判断所述策略表中是否存在具有第一优先级的子策略路由,如果存在,则将所述缺省路由策略安装在所述策略表中与具有第一优先级的子策略路由中索引最大的子策略路由相邻且索引更大的位置;如果所述策略表中不存在具有第一优先级的子策略路由,则将所述缺省路由策略安装在路由表中。
12.根据权利要求8-9任意一项所述的装置,其特征在于, 所述移动模块,还用于当在所述策略表中新增一条具有第二优先级的策略路由时,将所述策略表中从具有第一优先级的子策略路由的起始索引开始的所有策略路由顺次向索引增大方向移动一个位置;以及在所述策略表中删除一条具有第二优先级的策略路由之后,在所述策略表中将索引大于被删除策略路由的索引的策略路由顺次向索引减小方向移动一个位置; 所述安装模块,还用于当在所述策略表中新增一条具有第二优先级的策略路由时,将所述具有第二优先级的策略路由安装在所述移动模块移动从具有第一优先级的子策略路由的起始索引开始的所有策略路由后获得的位置。
13.一种交换设备,其特征在于,包括如权利要求7-12任意一项所述的策略路由的实现装置。
全文摘要
本发明提供一种策略路由的实现方法、装置和交换设备,所述策略路由的实现方法包括获得配置的具有第一优先级的策略路由;对所述具有第一优先级的策略路由进行拆分,获得第一子策略路由和第二子策略路由;将所述第一子策略路由和所述第二子策略路由安装在策略表中,所述第一子策略路由和所述第二子策略路由在所述策略表中的位置相邻,且所述第一子策略路由的索引小于所述第二子策略路由的索引。本发明中,上述第一优先级策略的优先级比路由表低,从而可以通过配置具有第一优先级的策略路由实现为各种业务流量配置缺省的链路出口,进而可以降低缺省路由的流量。
文档编号H04L12/56GK102833164SQ20121030395
公开日2012年12月19日 申请日期2012年8月23日 优先权日2012年8月23日
发明者黄荣添 申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1