一种软件定义网络中交换转发设备端口状态管理的方法和装置制造方法

文档序号:8005521阅读:114来源:国知局
一种软件定义网络中交换转发设备端口状态管理的方法和装置制造方法
【专利摘要】本发明公开了一种软件定义网络中交换转发设备端口状态管理的方法,该方法包括:交换转发设备检测到本地的某个端口的第一状态在up状态和down状态之间变化时,如果该端口的第二状态当前为非抑制状态,则向OpenFlow控制器发送通告报文上报该端口当前的第一状态,如果该端口的第二状态当前处于抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文。基于同样的发明构思,本发明还提出一种装置,在端口状态频繁变化时,能够避免交换转发设备频繁向OpenFlow控制器发送通告报文,造成OpenFlow控制器频繁计算下发流表项的情况发生,从而有效的节省了网络中的带宽资源。
【专利说明】一种软件定义网络中交换转发设备端口状态管理的方法和装置

【技术领域】
[0001]本发明涉及通信【技术领域】,特别涉及一种软件定义网络中交换转发设备端口状态管理的方法和装置。

【背景技术】
[0002]开放流(OpenFlow)是一种软件定义网络(SoftwareDefined Network, SDN)架构中定义控制器和转发层的软件应用程序接口,可以基于硬件来控制网络数据的转发,与传统网络的最大区别,是将控制平面和网络转发平面分离开来,网络转发平面的设备将不再拥有控制功能,将控制平面交给独立于转发平面之外的操作系统,特性则是基于操作系统进行定制。OpenFlow将网络控制功能单独分离出来并逻辑集中到控制软件上,以实现SDN中控制平面和转发平面的分离以及网络控制和管理的集中,是定义控制器和转发层的软件应用程序接口,可基于硬件来控制网络数据的转发。
[0003]每个被OpenFlow技术虚拟化出来的网络由交换转发设备(如OpenFlow交换机)、OpenFlow控制器、安全通道(Secure Channel)组成。
[0004]OpenFlow交换机:接收OpenFlow控制器下发的流表项,并根据流表项进行简单的报文处理;当任一端口状态由激活(up)状态和岩机(down)状态之间的转换时,向OpenFlow控制器发送通告报文上报该端口的状态。
[0005]OpenFlow控制器:是虚拟网的控制中心,根据用户的配置或者动态运行的协议生成流表项下发到OpenFlow交换机,可能由实验程序生成流表项,也可以静态配置流表项。OpenFlow控制器上可能运行实验程序、第三方开发的软件等。
[0006]安全通道:在OpenFlow交换机和OpenFlow控制器之间通过预先配置的安全通道通信,该安全通道基于SSL建立。
[0007]当OpenFlow交换机上的端口出现物理状态变化时,OpenFlow交换机会向OpenFlow控制器发送通告报文上报端口状态,OpenFlow控制器会根据端口状态进行协议计算,重新下发消息给交换机进行流表项的修改或删除等操作。若端口的物理状态频繁变化,交换机会频繁向OpenFlow控制器发送通告报文上报端口状态,导致OpenFlow控制器计算繁忙,OpenFlow交换机上的流表项项也频繁变化。


【发明内容】

[0008]有鉴于此,本发明提供一种软件定义网络中交换转发设备端口状态管理的方法和装置,在端口状态频繁变化时,能够避免交换转发设备频繁向OpenFlow控制器发送通告报文,造成OpenFlow控制器频繁计算下发流表项的情况发生,从而有效的节省了网络中的带宽资源。
[0009]为解决上述技术问题,本发明的技术方案是这样实现的:
[0010]一种软件定义网络中交换转发设备端口状态管理的方法,所述方法包括:[0011 ] 交换转发设备检测到本地任一端口的第一状态发生变化时,若确定该端口的第二状态当前为非抑制状态,向开放流OpenFlow控制器发送通告报文上报该端口当前的第一状态;
[0012]若确定该端口的第二状态当前为抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文;
[0013]当第二状态由非抑制状态变为抑制状态时,向OpenFlow控制器发送通告报文上报该端口的第二状态当前为抑制状态;
[0014]接收OpenFlow控制器下发的流表项时,删除该端口对应的原流表项,并根据新下发的流表项将该端口的流量通过备份端口转发到备份设备上,使备份设备根据OpenFlow控制器下发的流表项转发该流量,其中,所述新下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使该端口的流量通过备份端口转发到备份设备,所述备份设备上OpenFlow控制器下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使备份设备转发该交换转发设备通过备份端口发来的流量;
[0015]其中,第一状态为宕机down状态或激活up状态,第二状态为非抑制状态或抑制状态,且第二状态通过第一状态变化的次数确定。
[0016]一种装置,可应用于软件定义网络中交换转发设备,该装置包括:检测单元、确定单元、收发单元和处理单元;
[0017]所述检测单元,用于检测本地任一端口的第一状态是否发生变化;
[0018]所述确定单元,用于当所述检测单元检测到本地任一端口的第一状态发生变化时,确定该端口当前的第二状态;
[0019]所述收发单元,用于若所述确定单元确定该端口的第二状态当前为非抑制状态,向OpenFlow控制器发送通告报文上报该端口当前的第一状态;若确定该端口的第二状态当前为抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文;其中,第一状态为宕机down状态或激活up状态,第二状态为非抑制状态或抑制状态,且第二状态通过第一状态的变化次数确定;用于当所述确定单元确定该端口的第二状态由非抑制状态变为抑制状态时,向OpenFlow控制器发送通告报文上报该端口的第二状态当前为抑制状态;用于接收OpenFlow控制器下发的流表项;
[0020]所述处理单元,用于当所述收发单元接收到OpenFlow控制器下发的流表项时,删除该端口对应的原流表项,并根据新下发的流表项将该端口的流量通过备份端口转发到备份设备上,使备份设备根据OpenFlow控制器下发的流表项转发该流量,其中,所述新下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使该端口的流量通过备份端口转发到备份设备,所述备份设备上OpenFlow控制器下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使备份设备转发该交换转发设备通过备份端口发来的流量。
[0021]一种装置,可应用于软件定义网络中控制设备,该装置包括:接收单元和处理单元;
[0022]所述接收单元,用于接收通告报文;
[0023]所述处理单元,用于当所述接收单元接收到交换转发设备在检测到本地任一端口的第一状态发生变化,且该端口的第二状态当前为非抑制状态时,而发送的上报该端口当前的第一状态的通告报文时,根据该端口的第一状态进行处理;当所述接收单元接收到该交换转发设备的该端口的第二状态由非抑制状态变为抑制状态时,发送的上报该端口的第二状态当前为抑制状态的通告报文时,为该端口新下发流表项,使所述交换转发设备删除该端口上原流表项,并根据新下发的流表项将该端口的流量通过备份端口转发到备份设备上;同时向所述备份设备下发流表项,以使该备份设备转发通过所述交换转发设备的备份端口发来的流量;其中,第一状态为宕机down状态或激活up状态,第二状态为非抑制状态或抑制状态,且第二状态通过第一状态变化的次数确定。
[0024]综上所述,本发明通过交换转发设备检测到本地的某个端口的第一状态在up状态和down状态之间变化时,如果该端口的第二状态当前为非抑制状态,则向OpenFlow控制器发送通告报文上报该端口当前的第一状态,如果该端口的第二状态当前处于抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文。在端口状态频繁变化时,能够避免交换转发设备频繁向OpenFlow控制器发送通告报文,造成OpenFlow控制器频繁计算下发流表项的情况发生,从而有效的节省了网络中的带宽资源。

【专利附图】

【附图说明】
[0025]图1为本发明具体实施例中端口状态管理方法流程示意图;
[0026]图2为本发明具体实施例中应用于交换转发设备的装置结构示意图;
[0027]图3为本发明具体实施例中应用于控制设备的装置结构示意图。

【具体实施方式】
[0028]为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
[0029]本发明实施例中提出一种软件定义网络中交换转发设备端口状态管理的方法:交换转发设备检测到本地的某个端口的第一状态在up状态和down状态之间变化时,如果该端口的第二状态当前为非抑制状态,则向OpenFlow控制器发送通告报文上报该端口当前的第一状态,如果该端口的第二状态当前处于抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文。在端口状态频繁变化时,能够避免交换转发设备频繁向OpenFlow控制器发送通告报文,造成OpenFlow控制器频繁计算下发流表项的情况发生,从而有效的节省了网络中的带宽资源。
[0030]在本发明具体实施例中,端口的状态包括两类状态,分别为第一状态和第二状态,其中,第一状态为down状态或up状态,第二状态为非抑制状态或抑制状态,且第二状态由第一状态的变化次数确定。具体确定方法为:
[0031]第一状态变化一次,第一状态的变化次数增加一次。第一状态的变化次数小于预设抑制值时,第二状态为非抑制状态;第一状态的变化次数达到预设抑制值时,第二状态由非抑制状态变为抑制状态。
[0032]第一状态的变化次数,可以包括第一状态由up状态变为down状态,以及由down状态变为UP状态的次数;也可以仅包括第一状态由up状态变为down状态的次数。
[0033]参见图1,图1为本发明具体实施例中端口状态管理方法流程示意图。具体步骤为:
[0034]步骤101,交换转发设备检测到本地任一端口的第一状态发生变化。
[0035]本步骤中第一状态发生变化,包括第一状态由up状态到down状态,以及由down状态到UP状态之间的变化。
[0036]在具体实现时,该交换转发设备可以为OpenFlow交换机。
[0037]步骤102,该交换转发设备若确定该端口的第二状态当前为非抑制状态,向OpenFlow控制器发送通告报文上报该端口当前的第一状态,结束本流程。
[0038]该交换转发设备在检测到该端口的第一状态发生变化时,无论是第一状态由up状态变为down状态,还是由down状态变为up状态,但是第一状态变换后,该端口的第二状态当前为非抑制状态时,都同现有实现,向OpenFlow控制器发送通告报文,告知OpenFlow控制器该端口的第一状态当前为up状态还是down状态。
[0039]这样,OpenFlow控制器接收到交换转发设备上报的通告报文时,根据上报的第一状态为该交换转发设备的该端口下发流表项等处理,具体处理过程同现有实现,这里不再详细描述。
[0040]步骤103,该交换转发设备若确定该端口的第二状态当前为抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文。
[0041]该交换转发设备在检测到第一状态发生变化时,无论是第一状态由up状态变为down状态,还是由down状态变为up状态,但是第一状态变化后,该端口的第二状态当前为抑制状态时,不再向OpenFlow控制器发送上报该端口当前第一状态的通告报文。
[0042]这样,OpenFlow控制器就不知道该交换转发设备的该端口状态发生变化,不会重新下发流表项,这样就能够避免交换转发设备频繁向OpenFlow控制器发送通告报文,造成OpenFlow控制器频繁计算下发流表项的情况发生,从而有效的节省了网络中的带宽资源。
[0043]步骤101中当交换转发设备检测到本地任一端口的第一状态发生变化时,还需确定该次第一状态发生变化时,是否影响了第二状态的变化,即该次第一状态的变化前后,该端口的第二状态是否变化。即如果该次第一状态的变化使第二状态由非抑制状态变为抑制状态时,需要通告给OpenFlow控制器。具体处理如下:
[0044]当该端口的第二状态由非抑制状态变为抑制状态时,向OpenFlow控制器发送通告报文上报该端口的第二状态当前为抑制状态。
[0045]OpenFlow控制器接收到通告报文上报的该端口的第二状态当前为抑制状态时,为该交换转发设备下发新的流表项,使该交换转发设备删除该端口上旧的流表项,并将该端口上的流量通过备份端口转发给备份设备,同时给备份端口下发流表项,转发该交换转发设备通过备份端口转发来的流量。
[0046]该交换转发设备接收到OpenFlow控制器下发的流表项时,将该端口对应的原流表项删除,并根据下发的流表项将该端口的流量通过备份端口转发到备份设备上,使备份设备根据OpenFlow控制器下发的流表项转发该流量。其中,所述新下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使该端口的流量通过备份端口转发到备份设备,所述备份设备上OpenFlow控制器下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使备份设备转发该交换转发设备通过备份端口发来的流量。
[0047]该交换转发设备的该端口的第二状态由非抑制状态进入抑制状态时,即该端口的该次第一状态变化前,第二状态为非抑制状态,且该次第一状态变化后,第二状态为抑制状态时,该交换转发设备对该端口当前的第一状态的变化次数通过预设衰减算法进行衰减,当衰减后该端口的第一状态的变化次数不大于预设启用值时,该端口的第二状态由抑制状态变为非抑制状态。
[0048]对于预设衰减算法,使用者可以根据实际使用进行配置,如满足半衰期规律的衰减算法。每经过一个半衰期,第一状态的变化次数变为前一半衰期第一状态的变化次数的一半。因此,
[0049]每秒之后,Ns= (1/2) (l/T)XNq,其中,Ns为I秒后剩余的第一状态的变化次数,T为衰减周期,Nq为I秒前第一状态的变化次数。
[0050]该交换转发设备在该衰减过程中,该端口的第一状态变化时,增加该端口当前的第一状态的变化次数。
[0051]如果该交换转发设备的该端口的第一状态变化比较频繁,第一状态的变化次数增加的值大于衰减的值,这样第一状态的变化次数就会一直增加,在具体实现时,若该端口当前的第一状态的变化次数达到最大预设值时,不再增加该端口当前的第一状态的变化次数。
[0052]如果通过该预设衰减算法进行衰减,经过一定时间后,还是没能够使第一状态的变化次数衰减到预设启用值,或小于预设启用值,即该端口的第二状态持续为抑制状态的时间达到最大抑制时间时,继续使用预设衰减算法对该端口当前的第一状态的变化次数进行持续衰减,直到衰减后该端口的第一状态的变化次数不大于预设启用值,该端口的第二状态由抑制状态变为非抑制状态。且在该持续衰减过程中,该端口的第一状态变化时,可以不增加该端口当前第一状态的变化次数。
[0053]为了保证对该端口的第一状态的变化次数的持续衰减,在最大抑制时间内能够衰减到预设启用值,在具体实现时,配置最大预设值、最大抑制时间、衰减周期以及预设启用值四者之间遵循如下的关系:
[0054]C=2T/DXR,其中,C为最大预设值,T为最大抑制时间,D为衰减周期,R为预设启用值。
[0055]该交换转发设备无论在衰减时间达到最大抑制时间之前,通过衰减,使该端口的第二状态由抑制状态变为非抑制状态,还是衰减时间达到最大抑制时间之后通过持续衰减,使该端口的第二状态由抑制状态变为非抑制状态,都向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态。
[0056]OpenFlow控制器接收到该通告报文时,确定第一状态为up状态还是down状态,如果时up状态,为该端口下发新的流表项,使该端口的流量通过该新下发的流表项转发流量,同时可以向备份设备发送删除对应流表项的指示,也可以不向备份设备发送删除对应流表项的指示,备份设备上对应的表项可自己老化;如果第一状态是down状态,不进行流表下发,维持现有的流量转发。
[0057]该交换转发设备接收到OpenFlow控制器下发的流表项时,删除该端口流量通过备份端口转发的流表项,并根据新下发的流表项使用该端口转发流量。其中,OpenFlow控制器下发的流表项,为该OpenFlow控制器在本交换转发设备发送的所述通告报文中该端口的第一状态为UP时而下发的流表项。
[0058]本发明具体实施例还给出一种实现方式,即当该端口的第二状态由抑制状态变为非抑制状态时,首先确定该端口的第一状态当前为UP状态还是down状态。
[0059]如果该端口的第一状态当前为up状态,向OpenFlow控制器发送通告报文上报该端口的第一状态为up状态,以及第二状态为非抑制状态。
[0060]OpenFlow控制器接收到该通告报文,获知该交换转发设备的该端口当前的第一状态为up状态,且第二状态为非抑制状态时,获知该交换转发设备的该端口又可以重新转发流量了,因此为该端口新下发流表项,使该端口的流量通过该新下发的流表项转发流量,不再通过备份端口转发该端口的流量。
[0061]该交换转发设备接收到OpenFlow控制器为该端口新下发的流表项时,删除该端口流量通过备份端口转发的流表项,并根据新下发的流表项使用该端口继续转发流量。
[0062]如果该端口的第一状态当前为down状态,则不发送通告报文,直到该端口的第一状态为up状态,且第二状态仍为非抑制状态时,向OpenFlow控制器发送通告报文上报该端口的第一状态为up状态,以及第二状态为非抑制状态。
[0063]本发明具体实施例中基于同样的发明构思,还提出一种装置,可应用于软件定义网络中的交换转发设备。参见图2,图2为本发明具体实施例中应用于交换转发设备的装置结构示意图。该装置包括:检测单元201、确定单元202、收发单元203和处理单元204。
[0064]检测单元201,用于检测本地任一端口的第一状态是否发生变化。
[0065]确定单元202,用于当检测单元201检测到本地任一端口的第一状态发生变化时,确定该端口当前的第二状态。
[0066]收发单元203,用于若确定单元202确定该端口的第二状态当前为非抑制状态,向OpenFlow控制器发送通告报文上报该端口当前的第一状态;若确定该端口的第二状态当前为抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文;用于当确定单元202确定该端口的第二状态由非抑制状态变为抑制状态时,向OpenFlow控制器发送通告报文上报该端口的第二状态当前为抑制状态;用于接收OpenFlow控制器下发的流表项,其中,第一状态为宕机down状态或激活up状态,第二状态为非抑制状态或抑制状态,且第二状态通过第一状态的变化次数确定。
[0067]处理单元204,用于当收发单元203接收到OpenFlow控制器下发的流表项时,删除该端口对应的流表项,并根据新下发的流表项将该端口的流量通过备份端口转发到备份设备上,使备份设备根据OpenFlow控制器下发的流表项转发该流量。
[0068]较佳地,该装置进一步包括:配置单元205。
[0069]配置单元205,用于配置预设衰减算法、预设启用值、最大预设值。
[0070]处理单元204,进一步用于若确定单元202确定该端口的第二状态由非抑制状态变为抑制状态时,对该端口当前的第一状态的变化次数通过配置单元205配置的预设衰减算法进行衰减,当衰减后该端口的第一状态的变化次数不大于配置单元205配置的预设启用值时,该端口的第二状态由抑制状态变为非抑制状态;在该衰减过程中,该端口的第一状态变化时,增加该端口当前的第一状态的变化次数。
[0071]较佳地,
[0072]配置单元205,进一步用于配置最大预设抑制时间。
[0073]处理单元204,进一步用于在所述衰减过程中,当该端口的第二状态为抑制状态的持续时间达到配置单元205配置的最大抑制时间时,继续对该端口的第一状态的变化次数通过预设衰减算法进行持续衰减,直到衰减后该端口的第一状态的变化次数不大于预设启用值时,该端口的第二状态由抑制状态变为非抑制状态;在该持续衰减过程中,该端口的第一状态变化时,不增加该端口当前的第一状态的变化次数。
[0074]较佳地,
[0075]收发单元203,进一步用于当处理单元204中该端口的第二状态由抑制状态变为非抑制状态时,向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态。
[0076]处理单元204,进一步用于当收发单元203接收到OpenFlow控制器下发的流表项时,删除该端口流量通过备份端口转发的流表项,并根据新下发的流表项使用该端口转发流量;其中,所述OpenFlow控制器下发的流表项,为该OpenFlow控制器在本交换转发设备发送的所述通告报文中该端口的第一状态为up时而下发的流表项。
[0077]较佳地,
[0078]确定单元202,进一步用于当处理单元204中该端口的第二状态由抑制状态变为非抑制状态时,收发单元203向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态,之前,确定该端口的第一状态当前是否为up状态,如果是,触发收发单元203执行向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态的操作;否贝U,等到该端口的第一状态变为up状态,且第二状态为非抑制状态时,触发收发单元203执行向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态的操作。
[0079]基于同样的发明构思,本申请还提出一种装置,可应用于软件定义网络中控制设备。参见图3,图3为本发明具体实施例中应用于控制设备的装置结构示意图。该装置包括:接收单元301和处理单元302。
[0080]接收单元301,用于接收通告报文。
[0081]处理单元302,用于当接收单元301接收到交换转发设备在检测到本地任一端口的第一状态发生变化,且该端口的第二状态当前为非抑制状态时,而发送的上报该端口当前的第一状态的通告报文时,根据该端口的第一状态进行处理;当接收单元301接收到该交换转发设备的该端口的第二状态由非抑制状态变为抑制状态时,发送的上报该端口的第二状态当前为抑制状态的通告报文时,为该端口新下发流表项,使所述交换转发设备删除该端口上原流表项,并根据新下发的流表项将该端口的流量通过备份端口转发到备份设备上;同时向所述备份设备下发流表项,以使该备份设备转发通过所述交换转发设备的备份端口发来的流量;其中,第一状态为宕机down状态或激活up状态,第二状态为非抑制状态或抑制状态,且第二状态通过第一状态变化的次数确定。
[0082]较佳地,
[0083]处理单元302,进一步用于当接收单元301接收到该交换转发设备在检测到该端口的第二状态由抑制状态变为非抑制状态时,而发送的上报该端口当前的第一状态和第二状态的通告报文时,若确定第一状态为up状态,则为该端口下发流表项,使该交换转发设备删除该端口流量通过备份端口转发的流表项,并根据新下发的流表项转发该端口的流量;若确定该端口的第一状态为down状态,则不为该端口下发新的流表项。
[0084]上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
[0085]综上所述,本发明具体实施例中交换转发设备检测到本地的某个端口的第一状态在up状态和down状态之间变化时,如果该端口的第二状态当前为非抑制状态,则向OpenFlow控制器发送通告报文上报该端口当前的第一状态,如果该端口的第二状态当前处于抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文。在端口状态频繁变化时,能够避免交换转发设备频繁向OpenFlow控制器发送通告报文,造成OpenFlow控制器频繁计算下发流表项的情况发生,从而有效的节省了网络中的带宽资源。
[0086]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种软件定义网络中交换转发设备端口状态管理的方法,其特征在于,所述方法包括:交换转发设备检测到本地任一端口的第一状态发生变化时,若确定该端口的第二状态当前为非抑制状态,向开放流OpenFlow控制器发送通告报文上报该端口当前的第一状态; 若确定该端口的第二状态当前为抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文; 当第二状态由非抑制状态变为抑制状态时,向OpenFlow控制器发送通告报文上报该端口的第二状态当前为抑制状态; 接收OpenFlow控制器下发的流表项时,删除该端口对应的原流表项,并根据新下发的流表项将该端口的流量通过备份端口转发到备份设备上,使备份设备根据OpenFlow控制器下发的流表项转发该流量,其中,所述新下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使该端口的流量通过备份端口转发到备份设备,所述备份设备上OpenFlow控制器下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使备份设备转发该交换转发设备通过备份端口发来的流量; 其中,第一状态为宕机down状态或激活up状态,第二状态为非抑制状态或抑制状态,且第二状态通过第一状态变化的次数确定。
2.根据权利要求1所述的方法,其特征在于,当第二状态由非抑制状态变为抑制状态时,所述方法进一步包括: 对该端口当前的第一状态的变化次数通过预设衰减算法进行衰减,当衰减后该端口的第一状态的变化次数不大于预设启用值时,该端口的第二状态由抑制状态变为非抑制状态;在该衰减过程中,该端口的第一状态变化时,增加该端口当前的第一状态的变化次数。
3.根据权利要求2所述的方法,其特征在于,所述方法进一步包括: 在所述衰减过程中,当该端口的第二状态为抑制状态的持续时间达到最大抑制时间时,继续对该端口的第一状态的变化次数通过预设衰减算法进行持续衰减,直到衰减后该端口的第一状态的变化次数不大于预设启用值时,该端口的第二状态由抑制状态变为非抑制状态; 在该持续衰减过程中,该端口的第一状态变化时,不增加该端口当前的第一状态的变化次数。
4.根据权利要求2或3所述的方法,其特征在于,所述方法进一步包括: 当该端口的第二状态由抑制状态变为非抑制状态时,向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态; 接收到OpenFlow控制器下发的流表项时,删除该端口流量通过备份端口转发的流表项,并根据新下发的流表项使用该端口转发流量,其中,所述OpenFlow控制器下发的流表项,为该OpenFlow控制器在本交换转发设备发送的所述通告报文中该端口的第一状态为up时而下发的流表项。
5.根据权利要求4所述的方法,其特征在于,所述该端口的第二状态由抑制状态变为非抑制状态时,所述向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态,之前,所述方法进一步包括, 确定该端口的第一状态当前是否为up状态,如果是,执行所述向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态的步骤;否则,等到该端口的第一状态变为up状态,且第二状态为非抑制状态时,执行所述向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态的步骤。
6.一种装置,可应用于软件定义网络中交换转发设备,其特征在于,该装置包括:检测单元、确定单元、收发单元和处理单元; 所述检测单元,用于检测本地任一端口的第一状态是否发生变化; 所述确定单元,用于当所述检测单元检测到本地任一端口的第一状态发生变化时,确定该端口当前的第二状态; 所述收发单元,用于若所述确定单元确定该端口的第二状态当前为非抑制状态,向OpenFlow控制器发送通告报文上报该端口当前的第一状态;若确定该端口的第二状态当前为抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文;其中,第一状态为宕机down状态或激活up状态,第二状态为非抑制状态或抑制状态,且第二状态通过第一状态的变化次数确定;用于当所述确定单元确定该端口的第二状态由非抑制状态变为抑制状态时,向OpenFlow控制器发送通告报文上报该端口的第二状态当前为抑制状态;用于接收OpenFlow控制器下发的流表项; 所述处理单元,用于当所述收发单元接收到OpenFlow控制器下发的流表项时,删除该端口对应的原流表项,并根据新下发的流表项将该端口的流量通过备份端口转发到备份设备上,使备份设备根据OpenFlow控制器下发的流表项转发该流量,其中,所述新下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使该端口的流量通过备份端口转发到备份设备,所述备份设备上OpenFlow控制器下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使备份设备转发该交换转发设备通过备份端口发来的流量。
7.根据权利要求6所述的装置,其特征在于,所述装置进一步包括:配置单元; 所述配置单元,用于配置预设衰减算法、预设启用值、最大预设值; 所述处理单元,进一步用于若所述确定单元确定该端口的第二状态由非抑制状态变为抑制状态时,对该端口当前的第一状态的变化次数通过所述配置单元配置的预设衰减算法进行衰减,当衰减后该端口的第一状态的变化次数不大于所述配置单元配置的预设启用值时,该端口的第二状态由抑制状态变为非抑制状态;在该衰减过程中,该端口的第一状态变化时,增加该端口当前的第一状态的变化次数。
8.根据权利要求7所述的装置,其特征在于, 所述配置单元,进一步用于配置最大预设抑制时间; 所述处理单元,进一步用于在所述衰减过程中,当该端口的第二状态为抑制状态的持续时间达到所述配置单元配置的最大抑制时间时,继续对该端口的第一状态的变化次数通过预设衰减算法进行持续衰减,直到衰减后该端口的第一状态的变化次数不大于预设启用值时,该端口的第二状态由抑制状态变为非抑制状态;在该持续衰减过程中,该端口的第一状态变化时,不增加该端口当前的第一状态的变化次数。
9.根据权利要求7或8所述的装置,其特征在于, 所述收发单元,进一步用于当所述处理单元中该端口的第二状态由抑制状态变为非抑制状态时,向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态; 所述处理单元,进一步用于当所述收发单元接收到OpenFlow控制器下发的流表项时,删除该端口流量通过备份端口转发的流表项,并根据新下发的流表项使用该端口转发流量;其中,所述OpenFlow控制器下发的流表项,为该OpenFlow控制器在本交换转发设备发送的所述通告报文中该端口的第一状态为up时而下发的流表项。
10.根据权利要求9所述的装置,其特征在于, 所述确定单元,进一步用于当所述处理单元中该端口的第二状态由抑制状态变为非抑制状态时,所述收发单元向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态,之前,确定该端口的第一状态当前是否为up状态,如果是,触发所述收发单元执行向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态的操作;否则,等到该端口的第一状态变为up状态,且第二状态为非抑制状态时,触发所述收发单元执行向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态的操作。
11.一种装置,可应用于软件定义网络中控制设备,其特征在于,该装置包括:接收单元和处理单元; 所述接收单元,用于接收通告报文; 所述处理单元,用于当所述接收单元接收到交换转发设备在检测到本地任一端口的第一状态发生变化,且该端口的第二状态当前为非抑制状态时,而发送的上报该端口当前的第一状态的通告报文时,根据该端口的第一状态进行处理;当所述接收单元接收到该交换转发设备的该端口的第二状态由非抑制状态变为抑制状态时,发送的上报该端口的第二状态当前为抑制状态的通告报文时,为该端口新下发流表项,使所述交换转发设备删除该端口上原流表项,并根据新下发的流表项将该端口的流量通过备份端口转发到备份设备上;同时向所述备份设备下发流表项,以使该备份设备转发通过所述交换转发设备的备份端口发来的流量;其中,第一状态为宕机down状态或激活up状态,第二状态为非抑制状态或抑制状态,且第二状态通过第一状态变化的次数确定。
12.根据权利要求11所述的装置,其特征在于, 所述处理单元,进一步用于当所述接收单元接收到该交换转发设备在检测到该端口的第二状态由抑制状态变为非抑制状态时,而发送的上报该端口当前的第一状态和第二状态的通告报文时,若确定第一状态为up状态,则为该端口下发流表项,使该交换转发设备删除该端口流量通过备份端口转发的流表项,并根据新下发的流表项转发该端口的流量;若确定该端口的第一状态为down状态,则不为该端口下发新的流表项。
【文档编号】H04L12/24GK104426693SQ201310378581
【公开日】2015年3月18日 申请日期:2013年8月27日 优先权日:2013年8月27日
【发明者】王芳, 王伟 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1