一种sdn网络中的表项空间调整方法和设备的制作方法

文档序号:7817179阅读:103来源:国知局
一种sdn网络中的表项空间调整方法和设备的制作方法【专利摘要】本发明公开了一种SDN网络中的表项空间调整方法和设备,该方法包括:SDN控制器获取网络设备上的流表的空间使用情况;当有第一流表的空间使用情况大于预设第一数值时,所述SDN控制器利用流表的空间使用情况确定表项空间的空间使用最少的第二流表;所述SDN控制器向网络设备发送第一指示消息和第二指示消息,第一指示消息用于指示网络设备将第二流表的表项空间降低预设第三数值,第二指示消息用于指示网络设备将第一流表的表项空间增加预设第三数值。本发明实施例中,SDN控制器可以根据需要调整流表的表项空间,提高网络设备上的表项空间的利用率。【专利说明】一种SDN网络中的表项空间调整方法和设备【
技术领域
】[0001]本发明涉及通信【
技术领域
】,尤其是涉及了一种SDN(SoftwareDefinedNetwork,软件定义网络)网络中的表项空间调整方法和设备。【
背景技术
】[0002]SDN(SoftwareDefinedNetwork,软件定义网络)网络是一种新型网络创新架构,其核心思想是将网络设备的控制层面与转发层面分离,以实现对流量的灵活控制,为核心网络以及应用的创新提供良好的平台。在SDN网络中,包括网络设备(如交换机)和SDN控制器。SDN控制器用于根据用户的配置或者动态运行的协议生成流表(FlowTable),并将流表发送到网络设备。网络设备用于接收来自SDN控制器的流表,并根据流表来匹配和处理报文。[0003]网络设备通过流表进行报文转发,每个网络设备理论上最多可支持255个流表,每个流表拥有各自的表项空间,且流表的表项空间不会进行调整。进一步的,SDN控制器无法根据需要调整流表的表项空间,无法根据业务情况调整流表的表项空间,从而导致网络设备上的表项空间的利用率比较低。[0004]例如,网络设备上维护流表I和流表2,流表I的表项空间为4K,流表2的表项空间为4K,如果流表I的空间使用情况为100%,流表2的空间使用情况为5%,则无法继续在流表I内存储流表项,而流表2内仍然有大量的表项空间未使用,因此,对于流表I和流表2的整体表项空间来说,利用率比较低。【
发明内容】[0005]本发明实施例提供一种软件定义网络SDN网络中的表项空间调整方法,应用于包括SDN控制器和网络设备的网络中,所述网络设备上维护多个流表,每个流表均有本流表对应的表项空间,所述方法包括以下步骤:[0006]所述SDN控制器获取所述网络设备上的流表的空间使用情况;[0007]当有第一流表的空间使用情况大于预设第一数值时,所述SDN控制器利用流表的空间使用情况确定表项空间的空间使用最少的第二流表;[0008]所述SDN控制器向网络设备发送第一指示消息和第二指示消息,第一指示消息用于指示网络设备将第二流表的表项空间降低预设第三数值,第二指示消息用于指示网络设备将第一流表的表项空间增加预设第三数值。[0009]本发明实施例中,所述第二流表为空间使用情况小于预设第二数值的流表,且所述预设第一数值大于所述预设第二数值。[0010]所述SDN控制器获取所述网络设备上的流表的空间使用情况,具体包括:[0011]当第一流表的空间使用情况大于预设第一数值时,所述SDN控制器接收来自所述网络设备的第一流表状态通知消息,并从所述第一流表状态通知消息中获取到所述第一流表的空间使用情况大于预设第一数值;[0012]当第二流表的空间使用情况小于预设第二数值时,所述SDN控制器接收来自所述网络设备的第二流表状态通知消息,并从所述第二流表状态通知消息中获取到所述第二流表的空间使用情况小于预设第二数值。[0013]所述SDN控制器获取所述网络设备上的流表的空间使用情况的过程,具体包括:所述SDN控制器周期性的向所述网络设备发送空间使用情况获取消息,所述空间使用情况获取消息用于指示所述网络设备上报空间使用情况;[0014]所述SDN控制器接收所述网络设备上报的流表的空间使用情况。[0015]所述第一指示消息具体为第一流表修改消息,所述第一流表修改消息中携带了消息类型、所述第二流表的流表标识、所述第二流表的降低预设第三数值之后的表项空间,所述消息类型表示当前消息用于调整表项空间;[0016]所述第二指示消息具体为第二流表修改消息,所述第二流表修改消息中携带了消息类型、所述第一流表的流表标识、所述第一流表的增加预设第三数值之后的表项空间,所述消息类型表示当前消息用于调整表项空间。[0017]本发明实施例提供一种软件定义网络SDN控制器,应用于包括所述SDN控制器和网络设备的SDN网络中,所述网络设备上维护多个流表,每个流表均有本流表对应的表项空间,所述SDN控制器具体包括:[0018]获取模块,用于获取所述网络设备上的流表的空间使用情况;[0019]确定模块,用于当有第一流表的空间使用情况大于预设第一数值时,利用流表的空间使用情况确定表项空间的空间使用最少的第二流表;[0020]发送模块,用于向网络设备发送第一指示消息和第二指示消息,第一指示消息用于指示网络设备将第二流表的表项空间降低预设第三数值,第二指示消息用于指示网络设备将第一流表的表项空间增加预设第三数值。[0021]本发明实施例中,所述第二流表为空间使用情况小于预设第二数值的流表,且所述预设第一数值大于所述预设第二数值。[0022]所述获取模块,具体用于当第一流表的空间使用情况大于预设第一数值时,接收来自所述网络设备的第一流表状态通知消息,并从所述第一流表状态通知消息中获取到所述第一流表的空间使用情况大于预设第一数值;[0023]当第二流表的空间使用情况小于预设第二数值时,接收来自所述网络设备的第二流表状态通知消息,并从所述第二流表状态通知消息中获取到所述第二流表的空间使用情况小于预设第二数值。[0024]所述获取模块,具体用于周期性的向所述网络设备发送空间使用情况获取消息,所述空间使用情况获取消息用于指示所述网络设备上报空间使用情况;以及,接收所述网络设备上报的流表的空间使用情况。[0025]所述第一指示消息具体为第一流表修改消息,所述第一流表修改消息中携带了消息类型、所述第二流表的流表标识、所述第二流表的降低预设第三数值之后的表项空间,所述消息类型表示当前消息用于调整表项空间;[0026]所述第二指示消息具体为第二流表修改消息,所述第二流表修改消息中携带了消息类型、所述第一流表的流表标识、所述第一流表的增加预设第三数值之后的表项空间,所述消息类型表示当前消息用于调整表项空间。[0027]基于上述技术方案,本发明实施例中,当第一流表的空间使用情况大于预设第一数值时,SDN控制器可以增加第一流表的表项空间,并由网络设备增加第一流表的表项空间,从而使得SDN控制器可以根据需要调整流表的表项空间,根据业务情况(当前业务量)和表项空间的使用情况及时调整流表的表项空间,提高网络设备上的表项空间的利用率,最大限度的利用网络设备的表项空间,防止表项空间不足而导致业务不可用,防止整体表项空间充足而某个流表的表项空间不足的情况下的业务失败。【专利附图】【附图说明】[0028]图1是本发明实施例提出的应用场景示意图;[0029]图2是本发明实施例提出的SDN网络中的表项空间调整方法流程图;[0030]图3是本发明实施例提出的一种SDN控制器的结构示意图。【具体实施方式】[0031]针对现有技术中存在的问题,本发明实施例提供一种SDN网络中的表项空间调整方法,该方法应用于包括SDN控制器和多个网络设备的SDN网络中,各网络设备上维护多个流表,每个流表均有本流表对应的表项空间。以图1为本发明实施例的应用场景示意图,各网络设备上均维护多个流表,每个网络设备理论上最多可支持255个流表,为了方便描述,以网络设备I上维护3个流表为例进行说明,这3个流表分别为流表1、流表2和流表3,网络设备I上一共有12K的表项空间,即各流表的表项空间之和为12K。流表I的表项空间为4K,流表2的表项空间为4K,流表3的表项空间为4K。[0032]如图2所示,该SDN网络中的表项空间调整方法具体包括以下步骤:[0033]步骤201,SDN控制器获取网络设备上的流表的空间使用情况。[0034]步骤202,当有第一流表的空间使用情况大于预设第一数值时,SDN控制器利用流表的空间使用情况确定表项空间的空间使用最少的第二流表。[0035]例如,当流表I的表项空间为4K,流表2的表项空间为4K,流表3的表项空间为4K,流表I的空间使用情况为使用3.8K,流表2的空间使用情况为使用3K,流表3的空间使用情况为使用2K时,假设流表I的空间使用情况大于预设第一数值,则基于流表2的空间使用情况和流表3的空间使用情况,SDN控制器确定表项空间的空间使用最少的第二流表为流表3。[0036]本发明实施例的一种优选实施方式中,第二流表可以为空间使用情况小于预设第二数值的流表,且预设第一数值大于预设第二数值。在此情况下,当有第一流表的空间使用情况大于预设第一数值,且第二流表的空间使用情况小于预设第二数值时,SDN控制器将第二流表的表项空间降低预设第三数值,并将第一流表的表项空间增加预设第三数值。之后,执行步骤203。[0037]本发明实施例中,SDN控制器获取网络设备上的流表的空间使用情况的过程,具体包括但不限于如下方式:SDN控制器周期性的向网络设备发送空间使用情况获取消息,该空间使用情况获取消息用于指示网络设备上报空间使用情况。网络设备在接收到空间使用情况获取消息之后,获取本网络设备上的各流表的空间使用情况,并将各流表的空间使用情况上报给SDN控制器。之后,SDN控制器接收网络设备上报的流表的空间使用情况。[0038]本发明实施例中,网络设备会对本网络设备上维护的各流表的空间使用情况进行监测。进一步的,当网络设备监测到第一流表的空间使用情况大于预设第一数值时,则本网络设备向SDN控制器发送第一流表状态通知消息,该第一流表状态通知消息中携带了第一流表的空间使用情况大于预设第一数值的信息。当网络设备监测到第二流表的空间使用情况小于预设第二数值时,则本网络设备向SDN控制器发送第二流表状态通知消息,该第二流表状态通知消息中携带了第二流表的空间使用情况小于预设第二数值的信息。[0039]基于上述监测上报过程,本发明实施例中,SDN控制器获取网络设备上的流表的空间使用情况的过程,具体包括但不限于如下方式:当第一流表的空间使用情况大于预设第一数值时,SDN控制器接收来自网络设备的第一流表状态通知消息,并从该第一流表状态通知消息中获取到第一流表的空间使用情况大于预设第一数值;当第二流表的空间使用情况小于预设第二数值时,SDN控制器接收来自网络设备的第二流表状态通知消息,并从该第二流表状态通知消息中获取到第二流表的空间使用情况小于预设第二数值。[0040]其中,预设第一数值可以根据实际经验进行任意设置,预设第二数值可以根据实际经验进行任意设置,且预设第一数值需要大于预设第二数值。例如,根据实际需要,设置预设第一数值为90%,设置预设第二数值为10%。[0041]SDN控制器与网络设备建立连接之后,SDN控制器通过Multipart(多部分)消息向网络设备获取TabIeFeatrues(流表特征),在此Multipart消息中包含了网络设备支持的流表数量和每个流表的表项空间大小。在此基础上,SDN控制器在向网络设备下发的FlowTableModify消息(流表修改消息)中,指定VACANCY(空位)属性的阈值分别是预设第一数值(90%)和预设第二数值(10%),即指示网络设备将空间使用情况大于预设第一数值的流表的空间使用情况上报给SDN控制器,并将空间使用情况小于预设第二数值的流表的空间使用情况上报给SDN控制器。基于此,网络设备在监测到有流表(如第一流表)的空间使用情况大于预设第一数值时,通过TableStatus消息(流表状态通知消息)将第一流表的空间使用情况大于预设第一数值的信息(如第一流表的空间使用情况为95%)上报给SDN控制器,且第一流表的空间使用情况大于预设第一数值的信息是通过TableStatus消息的VACANCY消息上报给SDN控制器的。网络设备在监测到有流表(如第二流表)的空间使用情况小于预设第二数值时,通过TableStatus消息(流表状态通知消息)将第二流表的空间使用情况小于预设第二数值的信息(如第二流表的空间使用情况为5%)上报给SDN控制器,且第二流表的空间使用情况小于预设第二数值的信息是通过TableStatus消息的VACANCY消息上报给SDN控制器的。[0042]本发明实施例中,当有第一流表的空间使用情况大于预设第一数值,且第二流表的空间使用情况小于预设第二数值时,SDN控制器将第二流表的表项空间降低预设第三数值,并将第一流表的表项空间增加预设第三数值。其中,预设第三数值可以根据实际经验任意进行设置,例如,将预设第三数值设置为2K,将预设第三数值设置为第二流表的表项空间的50%,将预设第三数值设置为第二流表当前剩余的表项空间的50%等。例如,第一流表的空间使用情况为95%,第二流表的空间使用情况为5%时,则第一流表的空间使用情况大于预设第一数值(90%),第二流表的空间使用情况小于预设第二数值(10%)。假设第一流表的表项空间为4K,第二流表的表项空间为4K,预设第三数值为2K,则SDN控制器将第二流表的表项空间降低2K,将第一流表的表项空间增加2K,基于此,表项空间增加后的第一流表的表项空间为6K,表项空间降低后的第二流表的表项空间为2K。[0043]步骤203,SDN控制器向网络设备发送第一指示消息和第二指示消息,第一指示消息用于指示网络设备将第二流表的表项空间降低预设第三数值,第二指示消息用于指示网络设备将第一流表的表项空间增加预设第三数值。[0044]本发明实施例中,该第一指示消息具体为第一流表修改消息,且该第一流表修改消息中至少携带了消息类型、第二流表的流表标识、第二流表的降低预设第三数值之后的表项空间,且消息类型表示当前消息用于调整表项空间。进一步的,该第二指示消息具体为第二流表修改消息,且该第二流表修改消息中至少携带了消息类型、第一流表的流表标识、第一流表的增加预设第三数值之后的表项空间,且消息类型表示当前消息用于调整表项空间。[0045]为了提供SDN控制器对网络设备上的流表的控制功能,则可以通过FlowTableModify消息(流表修改消息)实现部分配置功能,包括EVICT10N(移除)和VACANCY等。其中,EVICT1N用于控制网络设备使能某个流表的移除功能,VACANCY用于控制网络设备使能某个流表的阈值告警功能。进一步的,通过对FlowTableModify消息进行扩展,使得FlowTableModify消息能够携带某个流表的表项空间的调整参数。例如,通过FlowTableModify消息的TableConfig(流表配置)指定消息的类型是用于调整表项空间的大小,并可以在ofp_table_mod_prop_header中携带调整后的表项空间(如降低预设第三数值之后的表项空间或者增加预设第三数值之后的表项空间)。[0046]步骤204,网络设备接收来自SDN控制器的第一指示消息,利用第一指示消息将第二流表的表项空间降低预设第三数值,并接收来自SDN控制器的第二指示消息,利用第二指示消息将第一流表的表项空间增加预设第三数值。[0047]本发明实施例中,由于第一指示消息具体为第一流表修改消息,第一流表修改消息中携带了消息类型、第二流表的流表标识、第二流表的降低预设第三数值之后的表项空间,且消息类型表示当前消息用于调整表项空间。基于此,网络设备在接收到第一指示消息之后,由于当前消息用于调整表项空间,基于第二流表的流表标识,网络设备可以利用第一指示消息中携带的第二流表的降低预设第三数值之后的表项空间将第二流表的表项空间降低预设第三数值。由于第二指示消息具体为第二流表修改消息,第二流表修改消息中携带了消息类型、第一流表的流表标识、第一流表的增加预设第三数值之后的表项空间,且消息类型表示当前消息用于调整表项空间。基于此,网络设备在接收到第二指示消息之后,由于当前消息用于调整表项空间,基于第一流表的流表标识,网络设备可以利用第二指示消息中携带的第一流表的增加预设第三数值之后的表项空间将第一流表的表项空间增加预设第三数值。[0048]本发明实施例中,网络设备在接收到FlowTableModify消息后,提取流表标识(TableID)和新的表项空间大小,并重新分配该流表标识对应的流表的表项资源。若新的表项空间比原有表项空间小,基于调整之后的表项空间,网络设备将尚未使用的表项空间释放到公共资源区域。若新的表项空间比原有表项空间大,基于调整之后的表项空间,网络设备从公共资源区域获取表项资源,并增加到流表标识对应的流表中。若公共资源区域没有可用的表项资源,则网络设备向SDN控制器返回失败,待SDN控制器将本网络设备上的其它流表标识的表项空间释放后,再次调整该流表标识的表项空间。其中,释放到公共资源区域的表项资源以及从公共资源区域获取的表项资源,都是尚未使用的流表项,可以被网络设备重新分配到指定流表后继续使用。[0049]例如,SDN控制器将第二流表的表项空间降低2K,将第一流表的表项空间增加2K后,网络设备在收到第一指示消息和第二指示消息后,由于表项空间增加后的第一流表的表项空间为6K,表项空间降低后的第二流表的表项空间为2K,因此,网络设备将第二流表的表项空间降低2K,将第一流表的表项空间增加2K,即第一流表的表项空间为6K,第二流表的表项空间为2K。[0050]基于上述技术方案,本发明实施例中,当第一流表的空间使用情况大于预设第一数值时,SDN控制器可以增加第一流表的表项空间,并由网络设备增加第一流表的表项空间,从而使得SDN控制器可以根据需要调整流表的表项空间,根据业务情况(当前业务量)和表项空间的使用情况及时调整流表的表项空间,提高网络设备上的表项空间的利用率,最大限度的利用网络设备的表项空间,防止表项空间不足而导致业务不可用,防止整体表项空间充足而某个流表的表项空间不足的情况下的业务失败。[0051]以下结合图1所示的应用场景对本发明实施例进行进一步的说明。[0052]SDN控制器和网络设备建立连接后,SDN控制器通过Tablefeatures消息获取了网络设备上的流表数量和每个流表的表项空间。SDN控制器在处理用户侧业务应用时,需要根据不同的应用组合使用不同的流表,比较常见的就是通过多级流表实现精确的动作等。例如,网络设备需要对源MAC(MediaAccessControl,介质访问控制)命中且目的MAC命中的报文进行源MAC学习和目的MAC转发时,则可以在两个不同的流表中进行处理,两个流表分别进行源MAC匹配和目的MAC匹配。随着网络中业务量的加大,尤其在使用多级流表的环境下,SDN控制器需要对网络设备上的所有流表的表项空间进行统一控制。假设网络设备I上的3个流表都初始化了各自的表项空间,流表I的表项空间为4K,流表2的表项空间为4K,流表3的表项空间为4K。[0053]当网络设备I和网络设备3上分别存在用户数据业务时,流表路径为网络设备1-网络设备2-网络设备3。在用户业务进入SDN网络后,网络设备I上的流表I被迅速占用,当网络设备I的流表I的空间使用情况大于90%时,网络设备I向SDN控制器上报流表I的空间使用情况大于90%的信息,当网络设备I的流表2的空间使用情况小于10%时,网络设备I向SDN控制器上报流表2的空间使用情况小于10%的信息。基于上述信息,SDN控制器获知流表I的空间使用情况大于90%,流表2的空间使用情况小于10%,因此降低流表2的表项空间,并增加流表I的表项空间。如将流表2的表项空间由4K降低到2K,将流表I的表项空间由4K增加到6K,并指示网络设备I将流表2的表项空间由4K降低到2K,将流表I的表项空间由4K增加到6K。这样,网络设备I上的整体的表项空间就可以得到充分的利用。[0054]基于与上述方法同样的发明构思,本发明实施例中还提供了一种软件定义网络SDN控制器,应用于包括所述SDN控制器和网络设备的SDN网络中,所述网络设备上维护多个流表,每个流表均有本流表对应的表项空间,如图3所示,所述SDN控制器具体包括:[0055]获取模块11,用于获取所述网络设备上的流表的空间使用情况;[0056]确定模块12,用于当有第一流表的空间使用情况大于预设第一数值时,利用流表的空间使用情况确定表项空间的空间使用最少的第二流表;[0057]发送模块13,用于向网络设备发送第一指示消息和第二指示消息,第一指示消息用于指示网络设备将第二流表的表项空间降低预设第三数值,第二指示消息用于指示网络设备将第一流表的表项空间增加预设第三数值。[0058]本发明实施例中,所述第二流表为空间使用情况小于预设第二数值的流表,且所述预设第一数值大于所述预设第二数值。[0059]所述获取模块11,具体用于当第一流表的空间使用情况大于预设第一数值时,接收来自所述网络设备的第一流表状态通知消息,并从所述第一流表状态通知消息中获取到所述第一流表的空间使用情况大于预设第一数值;[0060]当第二流表的空间使用情况小于预设第二数值时,接收来自所述网络设备的第二流表状态通知消息,并从所述第二流表状态通知消息中获取到所述第二流表的空间使用情况小于预设第二数值。[0061]所述获取模块11,具体用于周期性的向所述网络设备发送空间使用情况获取消息,所述空间使用情况获取消息用于指示所述网络设备上报空间使用情况;以及,接收所述网络设备上报的流表的空间使用情况。[0062]所述第一指示消息具体为第一流表修改消息,所述第一流表修改消息中携带了消息类型、所述第二流表的流表标识、所述第二流表的降低预设第三数值之后的表项空间,所述消息类型表示当前消息用于调整表项空间;[0063]所述第二指示消息具体为第二流表修改消息,所述第二流表修改消息中携带了消息类型、所述第一流表的流表标识、所述第一流表的增加预设第三数值之后的表项空间,所述消息类型表示当前消息用于调整表项空间。[0064]其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。[0065]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。【权利要求】1.一种软件定义网络SDN网络中的表项空间调整方法,应用于包括SDN控制器和网络设备的网络中,所述网络设备上维护多个流表,每个流表均有本流表对应的表项空间,其特征在于,所述方法包括以下步骤:所述SDN控制器获取所述网络设备上的流表的空间使用情况;当有第一流表的空间使用情况大于预设第一数值时,所述SDN控制器利用流表的空间使用情况确定表项空间的空间使用最少的第~■流表;所述SDN控制器向网络设备发送第一指示消息和第二指示消息,第一指示消息用于指示网络设备将第二流表的表项空间降低预设第三数值,第二指示消息用于指示网络设备将第一流表的表项空间增加预设第三数值。2.如权利要求1所述的方法,其特征在于,所述第二流表为空间使用情况小于预设第二数值的流表,且所述预设第一数值大于所述预设第二数值。3.如权利要求2所述的方法,其特征在于,所述SDN控制器获取所述网络设备上的流表的空间使用情况的过程,具体包括:当第一流表的空间使用情况大于预设第一数值时,所述SDN控制器接收来自所述网络设备的第一流表状态通知消息,并从所述第一流表状态通知消息中获取到所述第一流表的空间使用情况大于预设第一数值;当第二流表的空间使用情况小于预设第二数值时,所述SDN控制器接收来自所述网络设备的第二流表状态通知消息,并从所述第二流表状态通知消息中获取到所述第二流表的空间使用情况小于预设第二数值。4.如权利要求1所述的方法,其特征在于,所述SDN控制器获取所述网络设备上的流表的空间使用情况的过程,具体包括:所述SDN控制器周期性的向所述网络设备发送空间使用情况获取消息,所述空间使用情况获取消息用于指示所述网络设备上报空间使用情况;所述SDN控制器接收所述网络设备上报的流表的空间使用情况。5.如权利要求1或2所述的方法,其特征在于,所述第一指示消息具体为第一流表修改消息,所述第一流表修改消息中携带了消息类型、所述第二流表的流表标识、所述第二流表的降低预设第三数值之后的表项空间,所述消息类型表示当前消息用于调整表项空间;所述第二指示消息具体为第二流表修改消息,所述第二流表修改消息中携带了消息类型、所述第一流表的流表标识、所述第一流表的增加预设第三数值之后的表项空间,所述消息类型表示当前消息用于调整表项空间。6.一种软件定义网络SDN控制器,应用于包括所述SDN控制器和网络设备的SDN网络中,所述网络设备上维护多个流表,每个流表均有本流表对应的表项空间,其特征在于,所述SDN控制器具体包括:获取模块,用于获取所述网络设备上的流表的空间使用情况;确定模块,用于当有第一流表的空间使用情况大于预设第一数值时,利用流表的空间使用情况确定表项空间的空间使用最少的第~■流表;发送模块,用于向网络设备发送第一指示消息和第二指示消息,第一指示消息用于指示网络设备将第二流表的表项空间降低预设第三数值,第二指示消息用于指示网络设备将第一流表的表项空间增加预设第三数值。7.如权利要求6所述的SDN控制器,其特征在于,所述第二流表为空间使用情况小于预设第二数值的流表,且所述预设第一数值大于所述预设第二数值。8.如权利要求7所述的SDN控制器,其特征在于,所述获取模块,具体用于当第一流表的空间使用情况大于预设第一数值时,接收来自所述网络设备的第一流表状态通知消息,并从所述第一流表状态通知消息中获取到所述第一流表的空间使用情况大于预设第一数值;当第二流表的空间使用情况小于预设第二数值时,接收来自所述网络设备的第二流表状态通知消息,并从所述第二流表状态通知消息中获取到所述第二流表的空间使用情况小于预设第二数值。9.如权利要求6所述的SDN控制器,其特征在于,所述获取模块,具体用于周期性的向所述网络设备发送空间使用情况获取消息,所述空间使用情况获取消息用于指示所述网络设备上报空间使用情况;以及,接收所述网络设备上报的流表的空间使用情况。10.如权利要求6或7所述的SDN控制器,其特征在于,所述第一指示消息具体为第一流表修改消息,所述第一流表修改消息中携带了消息类型、所述第二流表的流表标识、所述第二流表的降低预设第三数值之后的表项空间,所述消息类型表示当前消息用于调整表项空间;所述第二指示消息具体为第二流表修改消息,所述第二流表修改消息中携带了消息类型、所述第一流表的流表标识、所述第一流表的增加预设第三数值之后的表项空间,所述消息类型表示当前消息用于调整表项空间。【文档编号】H04L12/741GK104283784SQ201410557081【公开日】2015年1月14日申请日期:2014年10月20日优先权日:2014年10月20日【发明者】宋小恒申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1