策略表表项配置方法、装置及系统的制作方法

文档序号:7797090阅读:182来源:国知局
策略表表项配置方法、装置及系统的制作方法
【专利摘要】本发明提供一种策略表表项配置方法,装置及系统。其中,所述方法包括:根据预设的合并规则,判断交换机对应的策略表中是否有能够合并的表项;若所述策略表中有能够合并的表项,则将能够合并的表项合并,生成合并表项,并删除参与合并的各表项。本发明实施例提供的技术方案,通过将策略表中能合并的表项合并,能有效的减少策略表中的表项数量,进而能有效的提高策略表资源的利用率,较现有采用TCAM的方式来扩充对应的交换机策略表容量的方式,能减少成本投入。
【专利说明】策略表表项配置方法、装置及系统
【技术领域】
[0001]本发明涉及网络技术,尤其涉及一种策略表表项配置方法、装置及系统。
【背景技术】
[0002]随着当前数据中心、企业网、校园网的管理需求以及流量模型的变化,越来越多的网络由原先的南北向构建模型转向东西向构建模型,即由原先接入交换机一汇聚交换机一核心交换机这种网络模型过渡到接入交换机一核心交换机的网络模型。接入交换机一核心交换机这种网络即为扁平化网络。所述扁平化网络中,核心交换机承担着大量原先由汇聚交换机需要承担的功能,并且核心交换机之间需加大互联带宽用于完成东西向数据的传递。
[0003]SDN (Software Defined Network,软件定义网络)是 ONF (Open NetworkingFoundation,开放网络基金会)组织制定的一种独立网络架构。如图1所示,图1中的网络结构包括:控制器(Controller)l、支持OpenFlow功能的网络交换机2(以下简称OpenFlow交换机)。其中,所述Controller为SDN网络结构中的核心组件,作为整个网络的转发控制平面,承担整个网络的转发控制行为。OpenFlow交换机能够被所述Controller转发控制管理。具体地,所述OpenFlow交换机可具体是支持OpenFlow功能的交换机。所述ONF组织还定义了基于图1所示网络结构下的软件体系架构,如图2所示。如图2所示,将网络划分成三个层次,分别为:
[0004]一、应用层(Application Layer):用Controller实现安全、管理和其他特殊功能的程序。例如,负责建设软件定义网络的网络架构师可以在ContiOller上部署虚拟负载均衡、虚拟入侵防御系统(IDS)或虚拟防火墙等应用程序。该层可运行在Controller上,也可运行在独立的一台服务器上(即可理解这里的应用程序接口(Application ProgramInterface,简称API)抽象成网络接口)。
[0005]二、转发控制层(Control Layer):负责OpenFlow的服务端、发现并维护OpenFlow交换机,对应用层提供流表层级的收发配置通道(API)。该层运行在Controller上。
[0006]三、基础设施层(Infrastructure Layer):指物理网络交换机,包括以太网交换机和路由器。这些交换机、路由器具备OpenFlow客户端功能,能够响应Controller下发的OpenFlow流表信息。
[0007]如图1所示,当前Controllerl和OpenFlow交换机2之间的通讯采用OpenFlow协议(版本为vl.0.0的OpenFlow协议)。该协议实现了传统网络交换机的转发控制面和转发面的分离,将转发控制面集中到Controller上,Controller通过下发OpenFlow协议的流表方式对网络交换机进行转发控制(管理报文的转发),最终达成整个网络的集中管理。
[0008]由于OpenFlow交换机的转发控制面和转发面分离(转发控制面集中在Controller上完成),使得OpenFlow交换机能够专注转发行为,并且其转发行为是Controller下发的,Controller上可以将OpenFlow交换机的转发行为抽象为API接口供更高层的应用调用。应用开发因此就能脱离了对交换机硬件的依赖,屏蔽了复杂的网络交换机的差异,处于类似于开发PC程序一样能够方便地调用库函数完成指定的硬件功能,最终使得网络交换机的功能可编程。
[0009]现有在部署扁平化网络时,交换机的策略表容量太小,特别是核心交换机上的策略表容量太小导致其在大规模网络中部署时,相关的安全策略,灵活转发控制上都体现出严重的不足。
[0010]现有的解决方案一般都采用外扩三态内容寻址存储器(Ternary contentAddressable Memory, TCAM)的方式来扩充对应的交换机策略表容量,但是由于TCAM的成本很高,且同样是部署一个网络,有些区域需要大量的表,有些区域的表容量又比较空闲,因此单纯的加TCAM后会大量增加硬件成本,又使得这些硬件资源无法充分利用。

【发明内容】

[0011]本发明的多个方面提供一种策略表表项配置方法、装置及系统,以提高策略表资源的利用率。
[0012]本发明的第一个方面,提供一种策略表表项配置方法,包括:
[0013]根据预设的合并规则,判断交换机对应的策略表中是否有能够合并的表项;
[0014]若所述策略表中有能够合并的表项,则将能够合并的表项合并,生成合并表项,并删除参与合并的各表项。
[0015]本发明的第二个方面,提供一种策略表表项配置装置,所述策略表表项配置装置设置在控制器侧,所述策略表表项配置装置包括:
[0016]判断模块,用于根据预设的合并规则,判断交换机对应的策略表中是否有能够合并的表项;
[0017]合并模块,用于当所述策略表中有能够合并的表项时,将能够合并的表项合并,生成合并表项,并删除参与合并的各表项。
[0018]本发明的第三个方面,提供一种网络系统,包括:控制器和交换机,所述控制器与所述交换机连接,所述控制器设置策略表表项配置装置;其中,
[0019]所述策略表表项配置装置包括:
[0020]判断模块,用于根据预设的合并规则,判断交换机对应的策略表中是否有能够合并的表项;
[0021]合并模块,用于当所述策略表中有能够合并的表项时,将能够合并的表项合并,生成合并表项,并删除参与合并的各表项。
[0022]由上述技术方案可知,本发明实施例提供的技术方案,通过将策略表中能合并的表项合并,能有效的减少策略表中的表项数量,进而能有效的提高策略表资源的利用率,较现有采用TCAM的方式来扩充对应的交换机策略表容量的方式,能减少成本投入。
【专利附图】

【附图说明】
[0023]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。[0024]图1为现有技术中网络结构的示意图;
[0025]图2为现有技术中网络层次划分的原理示意图;
[0026]图3为本发明实施例一提供的策略表表项配置方法的流程示意图;
[0027]图4为本发明实施例二提供的策略表表项配置方法的流程示意图;
[0028]图5为本发明实施例三提供的策略表表项配置方法的流程示意图;
[0029]图6为本发明实施例四提供的策略表表项配置方法的流程示意图;
[0030]图7为本发明实施例五提供的策略表表项配置方法的流程示意图;
[0031]图8为本发明实施例六提供的策略表表项配置方法的流程示意图;
[0032]图9为本发明实施例七提供的策略表表项配置方法中表项添加过程的流程示意图;
[0033]图10为本发明实施例七提供的策略表表项配置方法中表项删除过程的流程示意图;
[0034]图11为本发明实施例七提供的策略表表项配置方法中控制器通过本地的软件策略表对未匹配到表项的报文进行转发控制的流程示意图;
[0035]图12为本发明实施例八提供的策略表表项配置装置的结构示意图;
[0036]图13为本发明实施例九提供的网络系统的结构示意图。
【具体实施方式】
[0037]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038]如图3所示,本发明实施例一提供的策略表表项配置方法的流程示意图。如图3所示,本实施一所述的方法的执行主体可以是控制器,所述策略表表项配置方法,包括:
[0039]步骤101、根据预设的合并规则,判断交换机对应的策略表中是否有能够合并的表项。
[0040]其中,所述预设的合并规则可具体为:
[0041 ] 1、能合并的两个或两个以上表项具有相同关键字。
[0042]所述关键字可以是源MAC(Media Access Control,介质访问控制)地址加目的MAC地址;或者所述关键字可以是源IP (Internet Protocol,网络之间互连的协议)地址。
[0043]2、根据预设的合并算法将所述具有相同关键字的两个或两个以上表项合并后所述策略表的表项数量小于或等于合并前所述策略表的表项数量。
[0044]步骤102、若所述策略表中有能够合并的表项,则将能够合并的表项合并,生成合并表项,并删除参与合并的各表项。
[0045]假设交换机对应的策略表中包含有如下四个表项:
[0046](I) DIP=L 1.1.4 MASK=0xFFFFFFFFF (全匹配)的报文丢弃
[0047](2) DIP=L 1.1.6 MASK=0xFFFFFFFFF(全匹配)的报文丢弃
[0048](3) DIP=L 1.1.5 MASK=0xFFFFFFFFF(全匹配)的报文丢弃
[0049](4)其它允许通过[0050]其中,上述表项(I)、表项(2)和表项(3)可以合并,生成合并表项:DIP=1.1.1.7MASK=OxFFFFFFFFF(全匹配))的报文允许通过及 DIP=L 1.1.4 MASK=OxFFFFFFFFC(掩码匹配)丢弃;同时,删除表项(I)DiP=L 1.1.4 Mask=Oxfffffffff(全匹配)的报文丢弃,表项⑵ Dip=L 1.1.6 Mask=Oxfffffffff(全匹配)的报文丢弃,以及表项(3) dip=1.1.1.5MASK=OxFFFFFFFFF(全匹配)的报文丢弃。
[0051]这样,交换机对应的策略表可变为如下3个表项:
[0052](I)DIP=L 1.1.7 MASK=OxFFFFFFFFF(全匹配))的报文允许通过
[0053](2) DIP=L 1.1.4 MASK=OxFFFFFFFFC(掩码匹配)丢弃
[0054](3)其它允许通过
[0055]这里需要说明的是:本实施例中所述通过表项的合并是为了得到总数上尽量少的表项。合并的逻辑就是关键字+MASK能覆盖尽可能多的行为相同的表项。
[0056]进一步的,上述各实施例提供的所述方法,均在控制器侧完成的,即控制器实现上述表项的合并。当所述控制器采用上述各实施例提供的方法合并表项后,还包括:
[0057]控制器向所述交换机发送携带有参与合并的各表项的标识及所述合并表项信息的更新指示信息,以使所述交换机将本地策略表中所述标识对应的各表项删除,并将所述合并表项添加至所述交换机本地的策略表中。
[0058]本发明实施例提供的技术方案,通过将策略表中能合并的表项合并,可有效的减少策略表中的表项数量,进而能有效的提高策略表资源的利用率,较现有采用TCAM的方式来扩充对应的交换机策略表容量的方式,能减少成本投入。
[0059]在实际应用中,用户会根据需要自行添加策略控制行为,或者是安全控制、报文分析引擎在分析过程中动态生成的策略控制行为。其中,这里需要说明的是:策略控制行为的具体表现就是策略表中的各表项。交换机即根据策略表中的各表项来对报文进行转发控制的。由此,在策略表中有新表项要添加时,为了提高策略表资源的利用率,本发明提供了第二实施例,具体地,
[0060]如图4所示,本发明实施例二提供的策略表表项配置方法的流程示意图。如图4所示,本实施例二包括:
[0061]步骤201、当所述交换机对应的策略表有新表项要添加时,根据所述预设的合并规则判断所述交换机对应的策略表中是否有能够与所述新表项合并的表项。
[0062]步骤202、若有能与所述新表项合并的表项,则将所述新表项与所述能够与所述新表项合并的表项合并,生成合并表项,并删除与所述新表项合并的各表项。
[0063]步骤203、若没有能与所述新表项合并的表项,则判断所述交换机对应的策略表容量是否达到阈值,若未达到阈值,则将所述新表项添加到所述策略表中。
[0064]其中,所述阈值是指所述交换机的策略表的最大容量。不同交换机的策略表容量阈值可能不相同。这里需要说明的是:当所述控制器与交换机建立连接后,所述控制器每当发现一台交换机都会向该新发现的交换机发送容量查询请求,以使所述新发现的交换机根据所述容量查询请求,向所述控制器反馈所述新发现的交换机的策略表容量信息。所述控制器通过发送查询请求,接收所述交换机反馈的策略表容量信息来记录与所述控制器连接各交换机的策略表容量的大小,即阈值。
[0065]这里需要说明的是:本实施例二也可基于上述实施例一,即在实施例一的基础上还包括上述各步骤201?203。
[0066]本发明实施例提供的技术方案中,当交换机对应的策略表中有新表项要添加时,控制器通过将新表项与策略表中能与所述新表项合并的表项进行合并,可有效的减少策略表中的表项数量,进而能有效的提高策略表资源的利用率,较现有采用TCAM的方式来扩充对应的交换机策略表容量的方式,能减少成本投入。
[0067]进一步的,上述各实施例提供的所述方法,均在控制器侧完成的,即控制器实现上述表项的合并。当所述控制器采用上述各实施例提供的方法完成表项合并以及参与合并表项的删除后,还包括:
[0068]步骤204、向所述交换机发送携带有参与合并的各表项的标识的删除指示信息,以使所述交换机将本地策略表中所述各标识对应的各表项删除。
[0069]步骤205、向所述交换机发送携带有所述合并表项信息的添加指示信息,以使所述交换机将所述合并表项添加至所述交换机本地的策略表中。
[0070]如图5所示,本实施例三提供的策略表表项配置方法的流程示意图。如图5所示,本实施例三可基于上述实施例一,除包括上述实施例一提供的所述的方法外,还包括:
[0071]步骤301、当所述交换机对应的策略表中有要删除的表项时,查询所述策略表中是否有所述要删除的表项。
[0072]步骤302、若无,则根据预设的判定原则,在所述策略表中找出包含有所述要删除的表项的合并表项。
[0073]其中,所述预设的判定原则的基本实现原理可具体为:通过逻辑判断,判断所述合并表项是否覆盖了所述要删除的表项。实施例一中补充说明了:合并表项的合并逻辑是关键字+MASK能覆盖尽可能多的行为相同的表项。那么,在实际应用中,本实施例所述的判断原则包含的逻辑判断,可以具体通过反推所述合并表项的合并逻辑得到。本实施例中所述的合并表项的合并逻辑,以及对应的判断合并表项是否包含有指定表项的判断原则,均可人为设定并存储在控制器,由控制器调用并执行相应的操作。
[0074]步骤303、判断将所述合并表项扩展并删除所述要删除的表项后所述策略表容量是否超出阈值。
[0075]步骤304、若所述策略表容量未超出阈值,则将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项添加至所述交换机对应的策略表中,并删除所述合并表项。
[0076]步骤305、若所述策略表容量超出阈值,则将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项标记为待配置表项。
[0077]其中,所述待配置表项为需要重新执行表项添加过程,以添加至相应策略表中的表项。其中,所述执行表项添加过程,即同上述实施例二提供的新表项添加的全过程(执行步骤201?203)。
[0078]例如,假设交换机A的策略表已满,即已达到阈值。所述交换机A中有如下合并表项:
[0079]允许SIP=L 1.1.8/mask 0xfffffff8 的报文转发。[0080]当交换机A的策略表中需要删除表项允许SIP=L 1.1.5mask Oxffffffff的流经过时,则上述的合并表项需要扩展为以下四条表项:
[0081]允许SIP=L 1.1.4/mask Oxfffffffc
[0082]允许SIP=L 1.1.5mask Oxffffffff
[0083]允许SIP=L 1.1.6/mask Oxffffffff
[0084]允许SIP=L 1.1.7/mask Oxffffffff
[0085]删除了允许SIP=L 1.1.5mask Oxffffffff表项后,还有3个表项。这就导致了删除一条表项后,表项数量反而增加的情况。由于在扩展上述合并表项之前,交换机A的策略表就已满,在删除上述表项后,表项又增加,就致使多出的表项不能添加到交换机A的策略表中。而这些不能添加到策略表中的表项可设置为待配置表项。
[0086]这里需要说明的是:上述实施例三也基于上述实施例二,即包括上述实施例二中的步骤。
[0087]进一步的,上述实施例三提供的所述方法,均在控制器侧完成的,即控制器实现上述合并表项的扩展,表项的删除,标记待配置表项。控制器在完成上述过程后,应向对应交换机发送相应的更新信息,以使交换机根据所述更新信息更新本地策略表,具体地:
[0088]若所述合并表项扩展并删除所述要删除表项后所述策略表容量未超出阈值,则控制器向所述交换机发送携带有所述要删除的表项的标识和合并表项的标识的删除指示信息,以使所述交换机将本地策略表中所述要删除表项的标识对应的表项删除,将所述合并表项的标识对应的合并表项删除;所述控制器向所述交换机发送携带有所述扩展流中除所述要删除的表项外的其他表项的表项信息的添加指示信息,以使所述交换机在本地策略表中添加所述扩展流中除所述要删除的表项外的其他表项的表项信息。
[0089]若所述合并表项扩展并删除所述要删除表项后所述策略表容量超出阈值,则控制器向所述交换机发送携带有所述要删除的表项的标识和合并表项的标识的删除指示信息,以使所述交换机将本地策略表中所述要删除表项的标识对应的表项删除,将所述合并表项的标识对应的合并表项删除。
[0090]为了更进一步的提高策略表资源的利用率,除了上述通过合并交换机自身策略表中的各表项来节省资源占用外,还可通过合并相邻交换机之间能合并的表项,以节省更多的策略表资源。具体地,
[0091]如图6所示,本发明实施例四提供的策略表表项配置方法的流程示意图。如图6所示,本实施例四所述的方法,包括:
[0092]步骤401、根据所述预设的合并规则,判断所述交换机与相邻交换机对应的策略表中是否有能够合并的表项。
[0093]步骤402、若所述交换机与相邻交换机对应的策略表中有能够合并的表项,则将所述交换机与所述相邻交换机对应的策略表中能合并的表项合并,在所述相邻交换机对应的策略表中生成合并表项,删除所述相邻交换机对应的策略表中参与合并的各表项,在所述交换机对应的策略表中生成域间表项,删除所述交换机中参与合并的各表项。
[0094]其中,所述域间表项为用于指向所述相邻交换机,以在所述交换机的报文在所述交换机的策略表中没有匹配到相应表项时,将所述报文引流至所述相邻交换机由所述相邻交换机根据其策略表对所述报文进行转发控制的表项;所述相邻交换机为所述域间表项对应的域间交换机。
[0095]例如,假设交换机A对应的策略表中存在以下表项:
[0096]DDIP=L 1.1.4 MASK=OxFFFFFFFFF(全匹配)的报文丢弃
[0097]2) DIP=L 1.1.6 MASK=OxFFFFFFFFF (全匹配)的报文丢弃
[0098]3) DIP=L 1.1.12MASK=0xFFFFFFFFF (全匹配)的报文丢弃
[0099]4) DIP=L 1.1.15MASK=0xFFFFFFFFF (全匹配)的报文丢弃
[0100]5)其它允许通过
[0101]假设交换机B对应的策略表中存在以下表项:
[0102]DDIP=L 1.1.5 MASK=OxFFFFFFFFF(全匹配)的报文丢弃
[0103]2) DIP=L 1.1.7 MASK=OxFFFFFFFFF (全匹配)的报文丢弃
[0104]3)其它允许通过
[0105]将交换机A对应策略表中的表项与交换机B对应策略表中的表项合并,则可以在交换机A上生成所有与1.1.1.0相关的表项。
[0106]DDIP=L 1.1.4MASK=0xFFFFFFFFC(掩码匹配)丢弃
[0107]2) DIP=L 1.1.12MASK=0xFFFFFFFFF (全匹配)的报文丢弃
[0108]3) DIP=L 1.1.15MASK=0xFFFFFFFFF (全匹配)的报文丢弃
[0109]在交换机B的策略表中添加域间表项,并删除参与合并的各表项,即形成如下表项:
[0110]1)B交换机上通过将DIP=L 1.1.0 MASK=0xFFFFFFF00 (掩码匹配)策略控制重定向到A交换机,由A交换机完成对这些流的合法性校验,然后再转发。
[0111]2)其它允许通过。
[0112]其中,上述表项1)B交换机上通过将DIP=L 1.1.0 MASK=0xFFFFFFF00 (掩码匹配)策略控制重定向到交换机A,由A完成对这些流的合法性校验,然后再转发,即为域间表项。
[0113]再例如,假设在交换机A对应的策略表中存在以下表项:
[0114]I) SMAC=0x000203040506 DIP=L 1.1.4 MASK=OxFFFFFFFFF (全匹配)的报文丢弃
[0115]2) DIP=L 1.1.6 MASK=OxFFFFFFFFF (全匹配)的报文丢弃
[0116]3) DIP=L 1.1.12MASK=0xFFFFFFFFF (全匹配)的报文丢弃
[0117]4) DIP=L 1.1.15MASK=0xFFFFFFFFF (全匹配)的报文丢弃
[0118]5)其它允许通过
[0119]假设交换机B对应的策略表中存在以下表项
[0120]DDIP=L 3.1.0 MASK=OxFFFFFFFFF(全匹配)的报文丢弃
[0121]2)DMAC=0x002233445566 DIP=L 4.1.7 MASK=OxFFFFFFFFF (全匹配)的报文丢弃
[0122]3) DIP=L 1.1.12MASK=0xFFFFFFFFF (全匹配)的报文丢弃
[0123]4) DIP=L 1.1.15MASK=0xFFFFFFFFF (全匹配)的报文丢弃
[0124]5)其它允许通过
[0125]则通过合并,交换机A和交换机B对应的策略表的表项分别如下:
[0126]交换机A对应的策略表中存在以下表项:
[0127]I) SMAC=0x000203040506 DIP=L 1.1.4 MASK=OxFFFFFFFFF (全匹配)的报文丢弃
[0128]2) DIP=L 1.1.6 MASK=OxFFFFFFFFF (全匹配)的报文丢弃[0129]3)其它报文送给交换机B
[0130]交换机B对应策略表中存在以下表项:
[0131]DDIP=L 3.1.0 MASK=OxFFFFFFFFF(全匹配)的报文丢弃
[0132]2)DMAC=0x002233445566 DIP=L 4.1.7 MASK=OxFFFFFFFFF (全匹配)的报文丢弃
[0133]3) DIP=L 1.1.12MASK=0xFFFFFFFFF (全匹配)的报文丢弃
[0134]4) DIP=L 1.1.15MASK=0xFFFFFFFFF (全匹配)的报文丢弃
[0135]5)其它允许通过
[0136]其中,上述交换机A对应的策略表中表项3)即为域间策略。
[0137]进一步的,上述实施例四可结合实施例一、实施例二、实施例三中的一个或多个,可不仅使交换机对应策略表内部的表项最简,还能使相邻交换机之间的策略表内部的表项最简。
[0138]这里需要补充的是:在SDN环境下,由于策略表中的表项是全局控制的,因此不会存在各个设备互相排斥的表项,即不会出现允许交换机B接收某个IP的报文,却禁止交换机A接收某个IP的报文的情况,整个网络的策略表表项之间不存在冲突的行为。因此,本发明实施例就是基于上述SDN网络中表项之间不存在冲突的特性,通过将两相邻交换机对应的策略表中能合并的表项合并,能有效的减少策略表中的表项数量,进而能有效的提高策略表资源的利用率,较现有采用TCAM的方式来扩充对应的交换机策略表容量的方式,能减少成本投入。
[0139]上述步骤均是在控制器侧完成的,所述控制器侧在完成对某一交换机的策略表中的表项合并,表项删除,添加新表项(如域间表项或合并表项)等等后,所述控制器均需要将记录的上述操作下发至对应的交换机,以使接收到所述控制器发送的更新指示信息后,根据所述更新指示信息,更新本地的策略表。
[0140]如图7所示,本发明实施例五提供的策略表表项配置方法的流程示意图。如图7所示,本实施例五提供的所述方法:包括:
[0141]步骤501、当所述交换机对应的策略表有新表项要添加时,根据预设的合并规则判断所述交换机对应的策略表中是否有能够与所述新表项合并的表项。
[0142]步骤502、若所述交换机对应的策略表中有能与所述新表项合并的表项,且所述能与所述新表项合并的表项为域间表项,则将所述新表项与所述域间表项对应的域间交换机的策略表中能与所述新表项合并的表项合并,在所述域间交换机对应的策略表中生成合并表项,并删除与所述新表项合并的各表项。
[0143]这里需要说明的是:域间表项是一个用于指向域间交换机,以在所述域间表项所在交换机的报文在其策略表中没有匹配到相应表项时,将所述报文引流至所域间交换机由所述域间交换机根据其策略表对所述报文进行转发控制的表项。由此上述步骤501中,根据预设的合并规则判断所述交换机对应的策略表中是否有能够与所述新表项合并的表项,具体为:
[0144]首先,根据预设的合并规则判断所述交换机对应的策略表中的非域间表项是否有能够与所述新表项合并的表项,若有,则合并。
[0145]然后,根据预设的合并规则判断所述交换机对应的策略表中的域间表项对应的域间交换机的策略表中是否有能够与所述新表项合并的表项,若有,则合并。[0146]本实施例提供的技术方案,通过将两相邻交换机对应的策略表中能合并的表项合并,能有效的减少策略表中的表项数量,进而能有效的提高策略表资源的利用率,较现有采用TCAM的方式来扩充对应的交换机策略表容量的方式,能减少成本投入。
[0147]进一步的,还包括如下步骤:
[0148]步骤503、若所述交换机对应的策略表中没有能与所述新表项合并的表项,则判断所述交换机对应的策略表容量是否达到阈值。
[0149]步骤504、若已达到阈值,则根据所述预设的合并规则,判断相邻交换机对应的策略表中是否有能与所述新表项合并的表项,若有,执行步骤505 ;若没有,执行步骤506。
[0150]步骤505、将所述新表项与所述相邻交换机对应的策略表中能合并的表项合并,在所述相邻交换机对应的策略表中生成合并表项,并删除参与合并的各表项,在所述交换机对应的策略表中生成域间表项。
[0151]步骤506、将所述新表项标记为待配置表项。
[0152]其中,所述待配置表项为需重新执行表项添加过程,以添加至相应策略表中的表项。
[0153]这里需要说明的是:上述实施例二的步骤203中当交换机对应的策略表中没有能与所述新表项合并的表项,则判断所述交换机对应的策略表容量是否达到阈值,若已达到阈值,则可采用上述步骤504?505的步骤对所述新表项进行配置。
[0154]如图8所示,本发明实施例六提供的策略表表项配置方法的流程示意图。如图8所示,本实施例六基于上述实施例四,还包括:
[0155]步骤601、当所述交换机对应的策略表中有要删除的表项时,查询所述策略表中是否有所述要删除的表项,若无,则执行步骤602,若有,则将所述表项从所述策略表中删除。
[0156]步骤602、根据预设的判定原则,判断所述策略表中是否有包含有所述要删除的表项的合并表项。
[0157]即所述交换机对应的策略表中没有所述要删除的表项时,根据预设的判断原则,判断所述策略表中是否有包含有所述要删除的表项的合并表项。其中,所述预设的判定原则的基本实现原理可具体为:通过逻辑判断,判断所述合并表项是否覆盖了所述要删除的表项。实施例一中补充说明了:合并表项的合并逻辑是关键字+MASK能覆盖尽可能多的行为相同的表项。那么,在实际应用中,本实施例所述的判断原则包含的逻辑判断,可以具体通过反推所述合并表项的合并逻辑得到。本实施例中所述的合并表项的合并逻辑,以及对应的判断合并表项是否包含有指定表项的判断原则,均可人为设定并存储在控制器,由控制器调用并执行相应的操作。
[0158]步骤603、若所述策略表中没有包含有所述要删除的表项的合并表项,则在所述策略表中的域间表项对应的域间交换机对应的策略表中查找是否有所述要删除的表项。
[0159]步骤604、若有所述要删除的表项,则删除所述要删除的表项。
[0160]即若所述策略表中没有包含有所述要删除的表项的合并表项,则说明所述要删除的表项在相邻交换机对应的策略表中。控制器在所述策略表中的域间表项对应的域间交换机对应的策略表中查找是否有所述要删除的表项。当所述策略表中有多个域间表项时,所述控制器可依次查找各域间表项对应的域间交换机对应的策略表中是否有要删除的表项。
[0161]这里需要说明的是:在SDN环境下,由于策略表中的表项是全局控制的,因此不会存在各个设备互相排斥的表项,即不会出现允许交换机B接收某个IP的报文,却禁止交换机A接收某个IP的报文的情况,整个网络的策略表表项之间不存在冲突的行为。因此,所述控制器可直接将所述相邻交换机对应的策略表中要删除的表项删除即可,无需考虑所述相邻交换机对应的策略表之前是否包含有所述要删除的表项。举例来说:
[0162]假设在交换机A对应的策略表中存在以下表项:
[0163]I) SMAC=0x000203040506DIP=l.1.1.4 MASK=OxFFFFFFFFF(全匹配)的报文丢弃
[0164]2) DIP=L 1.1.6 MASK=OxFFFFFFFFF(全匹配)的报文丢弃
[0165]3) DIP=L 1.1.12 MASK=OxFFFFFFFFF (全匹配)的报文丢弃
[0166]4) DIP=L 1.1.15 MASK=OxFFFFFFFFF (全匹配)的报文丢弃
[0167]5)其它允许通过
[0168]假设交换机B对应的策略表中存在以下表项
[0169]I) DIP=L 3.1.0 MASK=OxFFFFFFFFF(全匹配)的报文丢弃
[0170]2) DMAC=0x002233445566DIP=l.4.1.7 MASK=OxFFFFFFFFF(全匹配)的报文丢弃
[0171]3) DIP=L 1.1.12 MASK=OxFFFFFFFFF (全匹配)的报文丢弃
[0172]4) DIP=L 1.1.15 MASK=OxFFFFFFFFF (全匹配)的报文丢弃
[0173]5)其它允许通过
[0174]则通过合并,交换机A和交换机B对应的策略表的表项分别如下:
[0175]交换机A对应的策略表中存在以下表项:
[0176]I) SMAC=0x000203040506DIP=l.1.1.4 MASK=OxFFFFFFFFF(全匹配)的报文丢弃
[0177]2) DIP=L 1.1.6 MASK=OxFFFFFFFFF(全匹配)的报文丢弃
[0178]3 )其它报文送给交换机B
[0179]交换机B对应策略表中存在以下表项:
[0180]I) DIP=L 3.1.0 MASK=OxFFFFFFFFF(全匹配)的报文丢弃
[0181]2) DMAC=0x002233445566DIP=l.4.1.7 MASK=OxFFFFFFFFF(全匹配)的报文丢弃
[0182]3) DIP=L 1.1.12 MASK=OxFFFFFFFFF (全匹配)的报文丢弃
[0183]4) DIP=L 1.1.15 MASK=OxFFFFFFFFF (全匹配)的报文丢弃
[0184]5)其它允许通过
[0185]若要删除交换机A中的表项“DIP=1.1.1.12MASK=0xFFFFFFFFF (全匹配)的报文丢弃”,基于SDN网络中表项之间不存在冲突的特性,即便是所述交换机B在合并前包含有所述表项“DIP=1.1.1.12MASK=0xFFFFFFFFF(全匹配)的报文丢弃”,所述控制器也可直接将所述表项从交换机B的策略表中删除。
[0186]其中,这里需要进一步补充的是:通过上述例子可以看出,所述交换机A在与所述交换机B进行策略表合并时,交换机A中生成域间表项3),并将原策略表中的表项3)、4)和5)合并至所述交换机B中。当要删除合并前交换机A中的表项"DIP=L 1.1.12MASK=0xFFFFFFFFF(全匹配)的报文丢弃”时,控制器将交换机B中的相应表项删除后,交换机B中还包含有交换机A中的表项,此时交换机A中的域间表项还需保留,不能被删除。若控制器将交换机B中的相应表项删除后,交换机B中不包含有交换机A中的表项,则所述交换机A中的域间表项可以保留,也可以被删除。
[0187]这里需要说明的是:上述步骤602根据预设的判定原则,若判断得出所述策略表中有包含有所述要删除的表项的合并表项,则可具体采用上述实施例三中的步骤303?305实现所述表项的删除,此处不再赘述。
[0188]进一步的,上述实施例还包括:
[0189]步骤605、若没有所述要删除的表项,则根据预设的确定原则,确定域间交换机对应的策略表中是否有包含所述表项的合并表项。
[0190]步骤606、若有包含所述表项的合并表项,则判断将所述合并表项扩展并删除所述要删除表项后所述策略表容量是否超出阈值。
[0191]步骤607、若所述策略表容量未超出阈值,则将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项添加至所述交换机对应的策略表中,并删除所述合并表项。
[0192]步骤608、若所述策略表容量超出阈值,则将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项标记为待配置表项。
[0193]其中,所述待配置表项为需重新执行表项添加过程(即执行上述实施例二和/或上述实施例五提供的新表项添加过程),以添加至相应策略表中的表项。
[0194]根据上述各实施例提供的技术方案可知,当策略表中有新表项要添加时,对于所述交换机对应的策略表中有能够与所述新表项合并的表项,且合并后策略表中的表项数量不会增加,则将所述新表项和所述交换机对应的策略表中能与所述新表项合并的表项进行合并,并删除参与合并的表项。但当所述策略表中没有能与所述新表项合并时,若此时所述交换机对应的策略表容量已达到阈值(即已满),则可查找相邻的交换机中是否有策略表中能与所述新表项合并的表项,且合并后策略表中的表项数量不会增加的相邻交换机。若查找出有这样的相邻交换机,则将所述新表项和所述相邻交换机对应策略表中能与所述新表项合并的表项合并,在相邻交换机中生成合并表项,并在所述交换机中生成指向所述相邻交换机的域间表项。
[0195]这里需要补充的是:若所述交换机对应的策略表中没有能与所述新表项合并的表项,且所述交换机对应的策略表容量已达到阈值(已满),可查找上述具有能与所述新表项合并的表项的相邻交换机,若查找不到这样的相邻交换机,也可查找所述相邻交换机中是否有策略表容量未达到阈值的,若有,则直接将所述新表项添加到未达阈值的相邻交换机对应的策略表中,所述交换机中生成指向所述相邻交换机的域间表项即可。当然,若交换机对应的策略表容量已达到阈值,且所述交换机对应的策略表中没有能与所述新表项合并的表项,同时通过查找所述相邻交换机的策略表容量都已满,且所述相邻交换机对应的策略表中也没有能与所述新表项合并的表项,则所述新表项就添加失败,可将所述新表项配置为待配置表项。
[0196]再进一步地,基于上述各实施例中的任一实施例,所述控制器还为每个与其建立连接的交换机预留一条应急表项,所述应急表项用于指向控制器,以当所述交换机的策略表容量已到阈值,且所述交换机的报文在所述交换机的策略表中没有匹配到相应表项时,将所述报文发送至所述控制器由所述控制器对所述报文进行流转发控制的表项。
[0197]当上述交换机的报文在所述交换机的策略表中没有匹配到相应表项时,所述控制器采用如下步骤对没有匹配到相应表项的报文进行软件过滤处理:
[0198]首先,控制器接收交换机通过所述应急表项发送的报文。
[0199]然后,所述控制器遍历所有交换机对应的策略表,查看所述所有交换机对应的策略表中是否有匹配的表项。
[0200]若有,则根据所述表项,完成所述报文的转发;
[0201]若无,则丢弃所述报文。
[0202]由上述各实施例可知,本发明提供的上述各实施例在整个网络中的策略控制规则都是全局的,因此通过控制器的全局控制可以避免重复表项,以提高策略表资源的利用率。
[0203]本发明实施例七提供的策略表表项配置方法。本实施例七结合上述实施例一至实施例六对本发明提供的所述策略表表项配置方法作详细的说明,以帮助理解本发明的技术方案。
[0204]网络系统包括:控制器和两个或两个以上的交换机。初始状态下,各交换机需要和控制器预先建立OpenFlow管理通路的连接,这个连接过程遵循OpenFlow协议规范。其中,所述OpenFlow协议规范可参见现有技术,本文不作详细说明。交换机与控制器建立软件定义网络(Software Defined Network, SDN)连接后,由于控制器能够发现所有已经建立SDN连接的交换机,并且能够获得当前所有交换机的连接关系,因此可以在控制器上绘制完整的整网拓扑。需要补充的是:这里所述控制器获得当前所有交换机的连接关系可采用现有技术就可以完成,此处不再赘述。
[0205]控制器与交换机建立连接过程,包括:
[0206]首先,控制器与各交换机建立连接,并在建立连接后,控制器向各交换机发送查询请求,以使各交换机根据所述查询请求反馈各自的策略表容量信息。
[0207]然后,所述控制器接收各交换机反馈的策略表容量信息。同时,在所述控制器与各交换机建立连接后,所述控制器为每台交换机预留一条应急表项。
[0208]其中,所述应急表项用于指向控制器,以当所述交换机的策略表容量已到阈值,且所述交换机的报文在所述交换机的策略表中没有匹配到相应表项时,将所述报文发送至所述控制器由所述控制器对所述报文进行转发控制的表项。
[0209]策略表表项添加过程:
[0210]如图9所示,包括如下步骤:
[0211]步骤701、用户指定在交换机的策略表中添加新表项或者安全管理等模块动态指定在所述交换机的策略表中添加新表项。
[0212]步骤702、记录一份对应所述交换机的软件表项。
[0213]其中,控制器记录的软件表项是用于在交换机侧的交换机的本地策略表表容量已达阈值时,未命中的报文被送至控制器时进行软件标识用的表项。
[0214]步骤703、根据预设的合并规则,判断交换机对应的策略表中是否有能够合并的表项,若所述交换机的策略表中有能够与所述新表现合并的表项,则执行步骤704?706 ;若所述交换机的策略表中没有能够与所述新表项合并的表项,则执行步骤707?710。
[0215]步骤704、若所述交换机的策略表中有能够与所述新表项合并的表项,则判断能与所述新表项合并的表项是否是域间表项,若是域间表项,则执行步骤705 ;若不是域间表项,则执行步骤706。[0216]步骤705、根据预设的合并算法将所述新表项与所述域间表项对应的域间设备的策略表中能合并的表项进行合并,并删除所述域间设备的策略表中参与合并的各表项。
[0217]步骤706、根据预设的合并算法将所述新表项与能够合并的表项合并,生成合并表项,并删除参与合并的各表项。
[0218]步骤707、判断所述交换机对应的策略表容量是否已达到阈值,若已达阈值,则执行步骤708?710 ;否则,直接将所述新表项添加到所述交换机对应的策略表中,并将记录的表项使用数量加I。
[0219]步骤708、根据预设的合并规则,判断与所述交换机相邻的相邻交换机对应的策略表中是否有能够与所述新表项合并的表项,若有,执行步骤709,否则,执行步骤710。
[0220]步骤709、将新表项与所述相邻交换机对应的策略表中的能够与所述新表项合并的表项合并,在所述相邻交换机对应的策略表中生成合并表项,并将所述相邻交换机对应的策略表中的参与合并的各表项删除;同时在所述交换机的策略表中生成域间表项。
[0221]步骤710、判断所述相邻交换机对应的策略表容量是否已达到阈值,若是,则所述新表项配置失败,否则,将所述新表项添加到所述相邻交换机对应的策略表中,并在所述交换机的策略表中生成域间表项。
[0222]策略表表项删除过程:
[0223]如图10所示,具体包括如下步骤:
[0224]步骤801、用户指定在交换机的策略表中删除表项或者安全管理等模块动态指定在所述交换机的策略表中删除表项。
[0225]步骤802、删除记录的对应所述交换机中的软件表项。
[0226]基于上述策略表表项添加过程可知,在表项添加过程中,每添加一个新表项,控制器就会对应记录一份与新表项相应的软件表项。由此,在表项删除过程中,每删除一个表项,控制器就应将要删除的表项相应的软件表项删除。
[0227]步骤803、判断要删除的表项是否是待配置流,若是,则删除该待配置流,若不是,则执行步骤804?814。
[0228]步骤804、查询所述交换机的策略表中是否有所述要删除的表项;若有,则在所述交换机的策略表中删除所述要删除的表项,若无,则执行步骤805。
[0229]步骤805、根据预设的判定规则,判断所述策略表中是否有包含有所述要删除的表项的合并表项,若有,执行步骤806 ;若无,执行步骤809。
[0230]步骤806、判断将所述合并表项扩展并删除所述要删除的表项后所述策略表容量是否超出阈值,若所述策略表容量未超出阈值,执行步骤807 ;若所述策略表容量超出阈值,则执行步骤808。
[0231]步骤807、将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项添加至所述交换机对应的策略表中,并删除所述合并表项。
[0232]步骤808、将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项标记为待配置表项。
[0233]其中,所述待配置表项为需要重新执行表项添加过程,以添加至相应策略表中的表项。
[0234]步骤809、在所述策略表中的域间表项对应的域间交换机对应的策略表中查找是否有所述要删除的表项,若有,则删除所述要删除的表项;若无,则执行步骤810。
[0235]步骤810、根据预设的确定原则,确定域间交换机对应的策略表中是否有包含所述要删除表项的合并表项,若有包含所述要删除表项的合并表项,则执行步骤811 ;若没有包含所述要删除表项的合并表项,则所述要删除表项删除失败。
[0236]步骤811、判断将所述合并表项扩展并删除所述要删除表项后所述策略表容量是否超出阈值,若所述策略表容量未超出阈值,则执行步骤812 ;若所述策略表容量超出阈值,则执行步骤813。
[0237]步骤812、将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项添加至所述交换机对应的策略表中,并删除所述合并表项。
[0238]步骤813、将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项标记为待配置表项。
[0239]交换机本地策略表更新过程:
[0240]首先,控制器向交换机发送携带有表项配置信息的更新指示信息。
[0241]其中,所述表项配置信息包括:新添加表项信息,删除的表项信息,添加域间表项信息,删除域间表项信息中的任意一种或多种的组合。
[0242]然后,所述交换机根据所述更新指示信息,将所述本地策略表进行更新。
[0243]例如,在所述本地策略表中新添加表项信息、删除表项信息、添加域间表项信息、删除域间表项信息中的任意一种或多种的组合。
[0244]各交换机对应的策略表配置完成后,若交换设备端存在报文命中了预留的应急表项(即所述报文未命中所述交换机对应的策略表中除所述应急表项外的其他表项),则报文将送给控制器,控制器通过查询本地的软件策略表对所述报文进行转发控制。具体地,如图11所示,包括:
[0245]步骤901、所述控制器收到命中应急表项的报文。
[0246]步骤902、所述控制器遍历所有交换机对应的策略表,查看该报文是否允许被转发,不允许的直接丢弃,若允许则提交控制器业务处理模块完成报文转发处理。
[0247]需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0248]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0249]如图12所示,本发明实施例八提供的策略表表项配置装置的结构示意。本实施例所述的策略表表项配置装置可设置在控制器侧。具体的,如图12所示,所述策略表表项配置装置包括:判断模块10和合并模块20。其中,所述判断模块10用于根据预设的合并规贝U,判断交换机对应的策略表中是否有能够合并的表项。所述合并模块20用于当所述策略表中有能够合并的表项时,将能够合并的表项合并,生成合并表项,并删除参与合并的各表项。
[0250]本实施例提供的策略表表项配置装置,通过将策略表中能合并的表项合并,能有效的减少策略表中的表项数量,进而能有效的提高策略表资源的利用率,较现有采用TCAM的方式来扩充对应的交换机策略表容量的方式,能减少成本投入。
[0251]进一步的,上述实施例中所述的所述判断模块10,还用于当所述交换机对应的策略表有新表项要添加时,根据所述预设的合并规则判断所述交换机对应的策略表中是否有能够与所述新表项合并的表项。
[0252]所述合并模块20,还用于当有能与所述新表项合并的表项时,将所述新表项与所述能够与所述新表项合并的表项合并,生成合并表项,并删除与所述新表项合并的各表项。
[0253]所述判断模块10,还用于当没有能与所述新表项合并的表项时,判断所述交换机对应的策略表容量是否达到阈值,若未达到阈值,则将所述新表项添加到所述策略表中。
[0254]进一步的,上述实施例所述的策略表表项配置装置还包括:查询模块和扩展删除模块;其中,
[0255]所述查询模块,用于当所述交换机对应的策略表中有要删除的表项时,查询所述策略表中是否有所述要删除的表项,若无,则根据预设的判定原则,在所述策略表中找出包含有所述要删除的表项的合并表项。
[0256]上述实施例中所述的判断模块,还用于判断将所述合并表项扩展并删除所述要删除的表项后所述策略表容量是否超出阈值。
[0257]所述扩展删除模块,用于当所述策略表容量未超出阈值时,将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项添加至所述交换机对应的策略表中,并删除所述合并表项;当所述策略表容量超出阈值时,将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项标记为待配置表项。
[0258]其中,所述待配置表项为需要重新执行表项添加过程,以添加至相应策略表中的表项。
[0259]基于SDN网络中表项之间不存在冲突的特性,除交换机内部表项可以合并外,所述控制器还可实现将相邻交换机之间的表项进行合并。具体地,上述实施例中所述的判断模块,还用于根据所述预设的合并规则,判断所述交换机与相邻交换机对应的策略表中是否有能够合并的表项。
[0260]所述合并模块,还用于当所述交换机与相邻交换机对应的策略表中有能够合并的表项,则将所述交换机与所述相邻交换机对应的策略表中能合并的表项合并,在所述相邻交换机对应的策略表中生成合并表项,删除所述相邻交换机对应的策略表中参与合并的各表项,在所述交换机对应的策略表中生成域间表项,删除所述交换机中参与合并的各表项。
[0261]其中,所述域间表项为用于指向所述相邻交换机,以在所述交换机的报文在所述交换机的策略表中没有匹配到相应表项时,将所述报文引流至所述相邻交换机由所述相邻交换机根据其策略表对所述报文进行转发控制的表项;所述相邻交换机为所述域间表项对应的域间交换机。
[0262]进一步的,上述实施例中所述判断模块,还用于当所述交换机对应的策略表有新表项要添加时,根据预设的合并规则判断所述交换机对应的策略表中是否有能够与所述新表项合并的表项;
[0263]所述合并模块,还用于当有能与所述新表项合并的表项,且所述能与所述新表项合并的表项为域间表项时,将所述新表项与所述域间表项对应的域间交换机的策略表中能与所述新表项合并的表项合并,在所述域间交换机对应的策略表中生成合并表项,并删除与所述新表项合并的各表项。
[0264]进一步的,上述实施例中所述判断模块,还用于当没有能与所述新表项合并的表项时,判断所述交换机对应的策略表容量是否达到阈值,若已达到阈值,则根据所述预设的合并规则,判断相邻交换机对应的策略表中是否有能与所述新表项合并的表项。
[0265]所述合并模块,还用于当相邻交换机对应的策略表中有能与所述新表项合并的表项时,将所述新表项与所述相邻交换机对应的策略表中能合并的表项合并,在所述相邻交换机对应的策略表中生成合并表项,并删除参与合并的各表项,在所述交换机对应的策略表中生成域间表项。
[0266]进一步的,上述实施例所述的策略表表项配置装置还包括:删除模块;相应的,上述实施例中所述的查询模块,还用于当所述交换机对应的策略表中有要删除的表项时,查询所述策略表中是否有所述要删除的表项。
[0267]所述的判断模块,还用于当所述策略表中没有所述要删除的表项时,根据预设的判定原则,判断所述策略表中是否有包含有所述要删除的表项的合并表项。
[0268]所述的查询模块,还用于当所述策略表中没有包含有所述要删除的表项的合并表项时,在所述策略表中的域间表项对应的域间交换机对应的策略表中查找是否有所述要删除的表项。
[0269]所述删除模块,用于当所述策略表中的域间表项对应的域间交换机对应的策略表中有所述要删除的表项时,删除所述要删除的表项。
[0270]进一步的,上述实施例所述的策略表表项配置装置,还包括:确定模块。其中,
[0271]所述确定模块,用于当所述策略表中的域间表项对应的域间交换机对应的策略表中没有所述要删除的表项时,根据预设的确定原则,确定域间交换机对应的策略表中是否有包含所述表项的合并表项。
[0272]相应的,上述实施例中所述的判断模块,还用于当所述域间交换机对应的策略表中有包含所述表项的合并表项时,判断将所述合并表项扩展并删除所述要删除表项后所述策略表容量是否超出阈值;
[0273]所述的扩展删除模块,还用于当所述策略表容量未超出阈值时,将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项添加至所述交换机对应的策略表中,并删除所述合并表项;当所述策略表容量超出阈值时,将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项标记为待配置表项;
[0274]其中,所述待配置表项为需重新执行表项添加过程,以添加至相应策略表中的表项。
[0275]进一步的,上述实施例中所述的策略表表项配置装置还包括:发送模块。所述发送模块,用于向交换机发送携带有表项配置信息的更新指示信息,以使所述交换机根据所述更新指示信息,将本地策略表进行更新。其中,所述表项配置信息包括:新添加表项信息,删除的表项信息,添加域间表项信息,删除域间表项信息中的任意一种或多种的组合。
[0276]再进一步的,所述发送模块,还用于向交换机发送容量查询请求,以使所述交换机根据所述容量查询请求,反馈所述交换机的策略表容量信息。
[0277]进一步的,上述实施例中所述的策略表表项配置装置还包括:预留模块。所述预留模块用于为交换机预留一条应急表项,所述应急表项用于指向控制器,以当所述交换机的策略表容量已到阈值,且所述交换机的报文在所述交换机的策略表中没有匹配到相应表项时,将所述报文发送至所述控制器由所述控制器对所述报文进行流转发控制的表项。
[0278]进一步的,上述实施例中所述的策略表表项配置装置还包括:接收模块和策略执行模块。其中,所述接收模块,用于接收交换机通过所述应急表项发送的报文。所述策略执行模块,用于遍历所有交换机对应的策略表,查看所述所有交换机对应的策略表中是否有匹配的表项;若有,则根据所述表项,完成所述报文的转发;若无,则丢弃所述报文。
[0279]如图13所示,本发明实施例九提供的网络系统的结构示意。如图13所示,本实施例所述的网络系统,包括:控制器30和交换机40。其中,所述控制器30与所述交换机40连接,所述控制器30设置有策略表表项配置装置12。其中,所述策略表表项配置装置12包括:判断模块10和合并模块20。其中,所述判断模块10用于根据预设的合并规则,判断交换机对应的策略表中是否有能够合并的表项。所述合并模块20用于当所述策略表中有能够合并的表项时,将能够合并的表项合并,生成合并表项,并删除参与合并的各表项。具体的,本实施例中所述的策略表表项配置装置可直接采用上述实施例八提供的所述策略表表项配置装置,其具体的实现结构和工作原理可参照上述各实施例中描述的内容,此处不再赘述。
[0280]本实施例提供的技术方案,通过将策略表中能合并的表项合并,能有效的减少策略表中的表项数量,进而能有效的提高策略表资源的利用率,较现有采用TCAM的方式来扩充对应的交换机策略表容量的方式,能减少成本投入。
[0281 ] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0282]可以理解的是,上述方法及交换机中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
[0283]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0284]在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0285]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0286]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种策略表表项配置方法,其特征在于,包括: 根据预设的合并规则,判断交换机对应的策略表中是否有能够合并的表项; 若所述策略表中有能够合并的表项,则将能够合并的表项合并,生成合并表项,并删除参与合并的各表项。
2.根据权利要求1所述的方法,其特征在于,所述预设的合并规则,具体为: 能合并的两个或两个以上表项具有相同关键字; 根据预设的合并算法将所述具有相同关键字的两个或两个以上表项合并后所述策略表的表项数量小于或等于合并前所述策略表的表项数量。
3.根据权利要求1或2所述的方法,其特征在于,还包括: 当所述交换机对应的策略表有新表项要添加时,根据所述预设的合并规则判断所述交换机对应的策略表中是否有能够与所述新表项合并的表项; 若有能与所述新表项合并的表项,则将所述新表项与所述能够与所述新表项合并的表项合并,生成合并表项,并删除与所述新表项合并的各表项; 若没有能与所述新表项合并的表项,则判断所述交换机对应的策略表容量是否达到阈值,若未达到阈值 ,则将所述新表项添加到所述策略表中; 和/或 当所述交换机对应的策略表中有要删除的表项时,查询所述策略表中是否有所述要删除的表项; 若无,则根据预设的判定原则,在所述策略表中找出包含有所述要删除的表项的合并表项; 判断将所述合并表项扩展并删除所述要删除的表项后所述策略表容量是否超出阈值; 若所述策略表容量未超出阈值,则将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项添加至所述交换机对应的策略表中,并删除所述合并表项; 若所述策略表容量超出阈值,则将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项标记为待配置表项; 其中,所述待配置表项为需要重新执行表项添加过程,以添加至相应策略表中的表项。
4.根据权利要求1或2所述的方法,其特征在于,还包括: 根据所述预设的合并规则,判断所述交换机与相邻交换机对应的策略表中是否有能够合并的表项; 若有,则将所述交换机与所述相邻交换机对应的策略表中能合并的表项合并,在所述相邻交换机对应的策略表中生成合并表项,删除所述相邻交换机对应的策略表中参与合并的各表项,在所述交换机对应的策略表中生成域间表项,删除所述交换机中参与合并的各表项; 其中,所述域间表项为用于指向所述相邻交换机,以在所述交换机的报文在所述交换机的策略表中没有匹配到相应表项时,将所述报文引流至所述相邻交换机由所述相邻交换机根据其策略表对所述报文进行转发控制的表项;所述相邻交换机为所述域间表项对应的域间交换机。
5.根据权利要求4所述的方法,其特征在于,还包括: 当所述交换机对应的策略表有新表项要添加时,根据预设的合并规则判断所述交换机对应的策略表中是否有能够与所述新表项合并的表项; 若有能与所述新表项合并的表项,且所述能与所述新表项合并的表项为域间表项,则将所述新表项与所述域间表项对应的域间交换机的策略表中能与所述新表项合并的表项合并,在所述域间交换机对应的策略表中生成合并表项,并删除与所述新表项合并的各表项; 若没有能与所述新表项合并的表项,则判断所述交换机对应的策略表容量是否达到阈值; 若已达到阈值,则根据所述预设的合并规则,判断相邻交换机对应的策略表中是否有能与所述新表项合并的表项; 若有,则将所述新表项与所述相邻交换机对应的策略表中能合并的表项合并,在所述相邻交换机对应的策略表中生成合并表项,并删除参与合并的各表项,在所述交换机对应的策略表中生成域间表项; 和/或 当所述交换机对应的策 略表中有要删除的表项时,查询所述策略表中是否有所述要删除的表项; 若无,则根据预设的判定原则,判断所述策略表中是否有包含有所述要删除的表项的合并表项; 若无,则在所述策略表中的域间表项对应的域间交换机对应的策略表中查找是否有所述要删除的表项; 若有所述要删除的表项,则删除所述要删除的表项; 若没有所述要删除的表项,则根据预设的确定原则,确定域间交换机对应的策略表中是否有包含所述表项的合并表项; 若有包含所述表项的合并表项,则判断将所述合并表项扩展并删除所述要删除表项后所述策略表容量是否超出阈值; 若所述策略表容量未超出阈值,则将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项添加至所述交换机对应的策略表中,并删除所述合并表项; 若所述策略表容量超出阈值,则将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项标记为待配置表项; 其中,所述待配置表项为需重新执行表项添加过程,以添加至相应策略表中的表项。
6.根据权利要求5所述的方法,其特征在于,还包括: 向交换机发送携带有表项配置信息的更新指示信息,以使所述交换机根据所述更新指示信息,将本地策略表进行更新; 其中,所述表项配置信息包括:新添加表项信息,删除的表项信息,添加域间表项信息,删除域间表项信息中的任意一种或多种的组合。
7.根据权利要求1所述的方法,其特征在于,还包括: 为交换机预留一条应急表项,所述应急表项用于指向控制器,以当所述交换机的策略表容量已到阈值,且所述交换机的报文在所述交换机的策略表中没有匹配到相应表项时,将所述报文发送至所述控制器由所述控制器对所述报文进行流转发控制的表项; 接收交换机通过所述应急表项发送的报文; 遍历所有交换机对应的策略表,查看所述所有交换机对应的策略表中是否有匹配的表项; 若有,则根据所述表项,完成所述报文的转发; 若无,则丢弃所述报文。
8.一种策略表表项配置装置,其特征在于,所述策略表表项配置装置设置在控制器侧,所述策略表表项配置装置包括: 判断模块,用于根据预设的合并规则,判断交换机对应的策略表中是否有能够合并的表项; 合并模块,用于当所述策略表中有能够合并的表项时,将能够合并的表项合并,生成合并表项,并删除参与合并的各表项。
9.根据权利要求 8所述的装置,其特征在于,还包括: 所述判断模块,还用于当所述交换机对应的策略表有新表项要添加时,根据所述预设的合并规则判断所述交换机对应的策略表中是否有能够与所述新表项合并的表项; 所述合并模块,还用于当有能与所述新表项合并的表项时,将所述新表项与所述能够与所述新表项合并的表项合并,生成合并表项,并删除与所述新表项合并的各表项; 所述判断模块,还用于当没有能与所述新表项合并的表项时,判断所述交换机对应的策略表容量是否达到阈值,若未达到阈值,则将所述新表项添加到所述策略表中; 和/或 查询模块,用于当所述交换机对应的策略表中有要删除的表项时,查询所述策略表中是否有所述要删除的表项,若无,则根据预设的判定原则,在所述策略表中找出包含有所述要删除的表项的合并表项; 所述判断模块,还用于判断将所述合并表项扩展并删除所述要删除的表项后所述策略表容量是否超出阈值; 扩展删除模块,用于当所述策略表容量未超出阈值时,将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项添加至所述交换机对应的策略表中,并删除所述合并表项;当所述策略表容量超出阈值时,将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项标记为待配置表项; 其中,所述待配置表项为需要重新执行表项添加过程,以添加至相应策略表中的表项。
10.根据权利要求8或9所述的装置,其特征在于,还包括: 所述判断模块,还用于根据所述预设的合并规则,判断所述交换机与相邻交换机对应的策略表中是否有能够合并的表项; 所述合并模块,还用于当所述交换机与相邻交换机对应的策略表中有能够合并的表项,则将所述交换机与所述相邻交换机对应的策略表中能合并的表项合并,在所述相邻交换机对应的策略表中生成合并表项,删除所述相邻交换机对应的策略表中参与合并的各表项,在所述交换机对应的策略表中生成域间表项,删除所述交换机中参与合并的各表项;其中,所述域间表项为用于指向所述相邻交换机,以在所述交换机的报文在所述交换机的策略表中没有匹配到相应表项时,将所述报文引流至所述相邻交换机由所述相邻交换机根据其策略表对所述报文进行转发控制的表项;所述相邻交换机为所述域间表项对应的域间交换机。
11.根据权利要求10所述的装置,其特征在于,还包括: 所述判断模块,还用于当所述交换机对应的策略表有新表项要添加时,根据预设的合并规则判断所述交换机对应的策略表中是否有能够与所述新表项合并的表项; 所述合并模块,还用于当有能与所述新表项合并的表项,且所述能与所述新表项合并的表项为域间表项时,将所述新表项与所述域间表项对应的域间交换机的策略表中能与所述新表项合并的表项合并,在所述域间交换机对应的策略表中生成合并表项,并删除与所述新表项合并的各表项; 所述判断模块,还用于当没有能与所述新表项合并的表项时,判断所述交换机对应的策略表容量是否达到阈值,若已达到阈值,则根据所述预设的合并规则,判断相邻交换机对应的策略表中是否有能与所述新表项合并的表项; 所述合并模块,还用于当相邻交换机对应的策略表中有能与所述新表项合并的表项时,将所述新表项与所述相邻交换机对应的策略表中能合并的表项合并,在所述相邻交换机对应的策略表中生成合 并表项,并删除参与合并的各表项,在所述交换机对应的策略表中生成域间表项; 和/或 查询模块,用于当所述交换机对应的策略表中有要删除的表项时,查询所述策略表中是否有所述要删除的表项; 所述判断模块,还用于当所述策略表中没有所述要删除的表项时,根据预设的判定原贝U,判断所述策略表中是否有包含有所述要删除的表项的合并表项; 所述查询模块,还用于当所述策略表中没有包含有所述要删除的表项的合并表项时,在所述策略表中的域间表项对应的域间交换机对应的策略表中查找是否有所述要删除的表项; 删除模块,用于当所述策略表中的域间表项对应的域间交换机对应的策略表中有所述要删除的表项时,删除所述要删除的表项; 确定模块,用于当所述策略表中的域间表项对应的域间交换机对应的策略表中没有所述要删除的表项时,根据预设的确定原则,确定域间交换机对应的策略表中是否有包含所述表项的合并表项;所述判断模块,还用于当所述域间交换机对应的策略表中有包含所述表项的合并表项时,判断将所述合并表项扩展并删除所述要删除表项后所述策略表容量是否超出阈值;扩展删除模块,用于当所述策略表容量未超出阈值时,将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项添加至所述交换机对应的策略表中,并删除所述合并表项;当所述策略表容量超出阈值时,将所述合并表项进行扩展,并将扩展后得到的两个或两个以上表项组成的扩展流中的所述要删除的表项删除,将所述扩展流中除所述要删除的表项外的其他表项标记为待配置表项; 其中,所述待配置表项为需重新执行表项添加过程,以添加至相应策略表中的表项。
12.根据权利要求11所述的装置,其特征在于,还包括: 发送模块,用于向交换机发送携带有表项配置信息的更新指示信息,以使所述交换机根据所述更新指示信息,将本地策略表进行更新; 其中,所述表项配置信息包括:新添加表项信息,删除的表项信息,添加域间表项信息,删除域间表项信息中的任意一种或多种的组合。
13.根据权利要求8所述的装置,其特征在于,还包括: 预留模块,用于为交换机预留一条应急表项,所述应急表项用于指向控制器,以当所述交换机的策略表容量已到阈值,且所述交换机的报文在所述交换机的策略表中没有匹配到相应表项时,将所述报文发送至所述控制器由所述控制器对所述报文进行流转发控制的表项; 接收模块,用于接收交换机通过所述应急表项发送的报文; 策略执行模块,用于遍历所有交换机对应的策略表,查看所述所有交换机对应的策略表中是否有匹配的表项;若有,则根据所述表项,完成所述报文的转发;若无,则丢弃所述报文。
14.一种网络系统,其特征在于,包括:控制器和交换机,所述控制器与所述交换机连接,所述控制器设置有上述权利要求8~13中任一所述的策略表表项配置装置。
【文档编号】H04L12/813GK103795644SQ201410054828
【公开日】2014年5月14日 申请日期:2014年2月18日 优先权日:2014年1月27日
【发明者】吴航 申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1