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

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

Info

Publication number
CN104426693A
CN104426693A CN201310378581.8A CN201310378581A CN104426693A CN 104426693 A CN104426693 A CN 104426693A CN 201310378581 A CN201310378581 A CN 201310378581A CN 104426693 A CN104426693 A CN 104426693A
Authority
CN
China
Prior art keywords
state
port
holddown
current
list item
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310378581.8A
Other languages
English (en)
Other versions
CN104426693B (zh
Inventor
王芳
王伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201310378581.8A priority Critical patent/CN104426693B/zh
Priority to PCT/CN2014/076427 priority patent/WO2015027716A1/en
Publication of CN104426693A publication Critical patent/CN104426693A/zh
Application granted granted Critical
Publication of CN104426693B publication Critical patent/CN104426693B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种软件定义网络中交换转发设备端口状态管理的方法和装置
技术领域
本发明涉及通信技术领域,特别涉及一种软件定义网络中交换转发设备端口状态管理的方法和装置。
背景技术
开放流(OpenFlow)是一种软件定义网络(Software Defined Network,SDN)架构中定义控制器和转发层的软件应用程序接口,可以基于硬件来控制网络数据的转发,与传统网络的最大区别,是将控制平面和网络转发平面分离开来,网络转发平面的设备将不再拥有控制功能,将控制平面交给独立于转发平面之外的操作系统,特性则是基于操作系统进行定制。OpenFlow将网络控制功能单独分离出来并逻辑集中到控制软件上,以实现SDN中控制平面和转发平面的分离以及网络控制和管理的集中,是定义控制器和转发层的软件应用程序接口,可基于硬件来控制网络数据的转发。
每个被OpenFlow技术虚拟化出来的网络由交换转发设备(如OpenFlow交换机)、OpenFlow控制器、安全通道(Secure Channel)组成。
OpenFlow交换机:接收OpenFlow控制器下发的流表项,并根据流表项进行简单的报文处理;当任一端口状态由激活(up)状态和宕机(down)状态之间的转换时,向OpenFlow控制器发送通告报文上报该端口的状态。
OpenFlow控制器:是虚拟网的控制中心,根据用户的配置或者动态运行的协议生成流表项下发到OpenFlow交换机,可能由实验程序生成流表项,也可以静态配置流表项。OpenFlow控制器上可能运行实验程序、第三方开发的软件等。
安全通道:在OpenFlow交换机和OpenFlow控制器之间通过预先配置的安全通道通信,该安全通道基于SSL建立。
当OpenFlow交换机上的端口出现物理状态变化时,OpenFlow交换机会向OpenFlow控制器发送通告报文上报端口状态,OpenFlow控制器会根据端口状态进行协议计算,重新下发消息给交换机进行流表项的修改或删除等操作。若端口的物理状态频繁变化,交换机会频繁向OpenFlow控制器发送通告报文上报端口状态,导致OpenFlow控制器计算繁忙,OpenFlow交换机上的流表项项也频繁变化。
发明内容
有鉴于此,本发明提供一种软件定义网络中交换转发设备端口状态管理的方法和装置,在端口状态频繁变化时,能够避免交换转发设备频繁向OpenFlow控制器发送通告报文,造成OpenFlow控制器频繁计算下发流表项的情况发生,从而有效的节省了网络中的带宽资源。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种软件定义网络中交换转发设备端口状态管理的方法,所述方法包括:
交换转发设备检测到本地任一端口的第一状态发生变化时,若确定该端口的第二状态当前为非抑制状态,向开放流OpenFlow控制器发送通告报文上报该端口当前的第一状态;
若确定该端口的第二状态当前为抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文;
当第二状态由非抑制状态变为抑制状态时,向OpenFlow控制器发送通告报文上报该端口的第二状态当前为抑制状态;
接收OpenFlow控制器下发的流表项时,删除该端口对应的原流表项,并根据新下发的流表项将该端口的流量通过备份端口转发到备份设备上,使备份设备根据OpenFlow控制器下发的流表项转发该流量,其中,所述新下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使该端口的流量通过备份端口转发到备份设备,所述备份设备上OpenFlow控制器下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使备份设备转发该交换转发设备通过备份端口发来的流量;
其中,第一状态为宕机down状态或激活up状态,第二状态为非抑制状态或抑制状态,且第二状态通过第一状态变化的次数确定。
一种装置,可应用于软件定义网络中交换转发设备,该装置包括:检测单元、确定单元、收发单元和处理单元;
所述检测单元,用于检测本地任一端口的第一状态是否发生变化;
所述确定单元,用于当所述检测单元检测到本地任一端口的第一状态发生变化时,确定该端口当前的第二状态;
所述收发单元,用于若所述确定单元确定该端口的第二状态当前为非抑制状态,向OpenFlow控制器发送通告报文上报该端口当前的第一状态;若确定该端口的第二状态当前为抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文;其中,第一状态为宕机down状态或激活up状态,第二状态为非抑制状态或抑制状态,且第二状态通过第一状态的变化次数确定;用于当所述确定单元确定该端口的第二状态由非抑制状态变为抑制状态时,向OpenFlow控制器发送通告报文上报该端口的第二状态当前为抑制状态;用于接收OpenFlow控制器下发的流表项;
所述处理单元,用于当所述收发单元接收到OpenFlow控制器下发的流表项时,删除该端口对应的原流表项,并根据新下发的流表项将该端口的流量通过备份端口转发到备份设备上,使备份设备根据OpenFlow控制器下发的流表项转发该流量,其中,所述新下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使该端口的流量通过备份端口转发到备份设备,所述备份设备上OpenFlow控制器下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使备份设备转发该交换转发设备通过备份端口发来的流量。
一种装置,可应用于软件定义网络中控制设备,该装置包括:接收单元和处理单元;
所述接收单元,用于接收通告报文;
所述处理单元,用于当所述接收单元接收到交换转发设备在检测到本地任一端口的第一状态发生变化,且该端口的第二状态当前为非抑制状态时,而发送的上报该端口当前的第一状态的通告报文时,根据该端口的第一状态进行处理;当所述接收单元接收到该交换转发设备的该端口的第二状态由非抑制状态变为抑制状态时,发送的上报该端口的第二状态当前为抑制状态的通告报文时,为该端口新下发流表项,使所述交换转发设备删除该端口上原流表项,并根据新下发的流表项将该端口的流量通过备份端口转发到备份设备上;同时向所述备份设备下发流表项,以使该备份设备转发通过所述交换转发设备的备份端口发来的流量;其中,第一状态为宕机down状态或激活up状态,第二状态为非抑制状态或抑制状态,且第二状态通过第一状态变化的次数确定。
综上所述,本发明通过交换转发设备检测到本地的某个端口的第一状态在up状态和down状态之间变化时,如果该端口的第二状态当前为非抑制状态,则向OpenFlow控制器发送通告报文上报该端口当前的第一状态,如果该端口的第二状态当前处于抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文。在端口状态频繁变化时,能够避免交换转发设备频繁向OpenFlow控制器发送通告报文,造成OpenFlow控制器频繁计算下发流表项的情况发生,从而有效的节省了网络中的带宽资源。
附图说明
图1为本发明具体实施例中端口状态管理方法流程示意图;
图2为本发明具体实施例中应用于交换转发设备的装置结构示意图;
图3为本发明具体实施例中应用于控制设备的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种软件定义网络中交换转发设备端口状态管理的方法:交换转发设备检测到本地的某个端口的第一状态在up状态和down状态之间变化时,如果该端口的第二状态当前为非抑制状态,则向OpenFlow控制器发送通告报文上报该端口当前的第一状态,如果该端口的第二状态当前处于抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文。在端口状态频繁变化时,能够避免交换转发设备频繁向OpenFlow控制器发送通告报文,造成OpenFlow控制器频繁计算下发流表项的情况发生,从而有效的节省了网络中的带宽资源。
在本发明具体实施例中,端口的状态包括两类状态,分别为第一状态和第二状态,其中,第一状态为down状态或up状态,第二状态为非抑制状态或抑制状态,且第二状态由第一状态的变化次数确定。具体确定方法为:
第一状态变化一次,第一状态的变化次数增加一次。第一状态的变化次数小于预设抑制值时,第二状态为非抑制状态;第一状态的变化次数达到预设抑制值时,第二状态由非抑制状态变为抑制状态。
第一状态的变化次数,可以包括第一状态由up状态变为down状态,以及由down状态变为up状态的次数;也可以仅包括第一状态由up状态变为down状态的次数。
参见图1,图1为本发明具体实施例中端口状态管理方法流程示意图。具体步骤为:
步骤101,交换转发设备检测到本地任一端口的第一状态发生变化。
本步骤中第一状态发生变化,包括第一状态由up状态到down状态,以及由down状态到up状态之间的变化。
在具体实现时,该交换转发设备可以为OpenFlow交换机。
步骤102,该交换转发设备若确定该端口的第二状态当前为非抑制状态,向OpenFlow控制器发送通告报文上报该端口当前的第一状态,结束本流程。
该交换转发设备在检测到该端口的第一状态发生变化时,无论是第一状态由up状态变为down状态,还是由down状态变为up状态,但是第一状态变换后,该端口的第二状态当前为非抑制状态时,都同现有实现,向OpenFlow控制器发送通告报文,告知OpenFlow控制器该端口的第一状态当前为up状态还是down状态。
这样,OpenFlow控制器接收到交换转发设备上报的通告报文时,根据上报的第一状态为该交换转发设备的该端口下发流表项等处理,具体处理过程同现有实现,这里不再详细描述。
步骤103,该交换转发设备若确定该端口的第二状态当前为抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文。
该交换转发设备在检测到第一状态发生变化时,无论是第一状态由up状态变为down状态,还是由down状态变为up状态,但是第一状态变化后,该端口的第二状态当前为抑制状态时,不再向OpenFlow控制器发送上报该端口当前第一状态的通告报文。
这样,OpenFlow控制器就不知道该交换转发设备的该端口状态发生变化,不会重新下发流表项,这样就能够避免交换转发设备频繁向OpenFlow控制器发送通告报文,造成OpenFlow控制器频繁计算下发流表项的情况发生,从而有效的节省了网络中的带宽资源。
步骤101中当交换转发设备检测到本地任一端口的第一状态发生变化时,还需确定该次第一状态发生变化时,是否影响了第二状态的变化,即该次第一状态的变化前后,该端口的第二状态是否变化。即如果该次第一状态的变化使第二状态由非抑制状态变为抑制状态时,需要通告给OpenFlow控制器。具体处理如下:
当该端口的第二状态由非抑制状态变为抑制状态时,向OpenFlow控制器发送通告报文上报该端口的第二状态当前为抑制状态。
OpenFlow控制器接收到通告报文上报的该端口的第二状态当前为抑制状态时,为该交换转发设备下发新的流表项,使该交换转发设备删除该端口上旧的流表项,并将该端口上的流量通过备份端口转发给备份设备,同时给备份端口下发流表项,转发该交换转发设备通过备份端口转发来的流量。
该交换转发设备接收到OpenFlow控制器下发的流表项时,将该端口对应的原流表项删除,并根据下发的流表项将该端口的流量通过备份端口转发到备份设备上,使备份设备根据OpenFlow控制器下发的流表项转发该流量。其中,所述新下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使该端口的流量通过备份端口转发到备份设备,所述备份设备上OpenFlow控制器下发的流表项为OpenFlow控制器在通告报文上报该端口的第二状态当前为抑制状态时下发的,以使备份设备转发该交换转发设备通过备份端口发来的流量。
该交换转发设备的该端口的第二状态由非抑制状态进入抑制状态时,即该端口的该次第一状态变化前,第二状态为非抑制状态,且该次第一状态变化后,第二状态为抑制状态时,该交换转发设备对该端口当前的第一状态的变化次数通过预设衰减算法进行衰减,当衰减后该端口的第一状态的变化次数不大于预设启用值时,该端口的第二状态由抑制状态变为非抑制状态。
对于预设衰减算法,使用者可以根据实际使用进行配置,如满足半衰期规律的衰减算法。每经过一个半衰期,第一状态的变化次数变为前一半衰期第一状态的变化次数的一半。因此,
每秒之后,Ns=(1/2)(1/T)×Nq,其中,Ns为1秒后剩余的第一状态的变化次数,T为衰减周期,Nq为1秒前第一状态的变化次数。
该交换转发设备在该衰减过程中,该端口的第一状态变化时,增加该端口当前的第一状态的变化次数。
如果该交换转发设备的该端口的第一状态变化比较频繁,第一状态的变化次数增加的值大于衰减的值,这样第一状态的变化次数就会一直增加,在具体实现时,若该端口当前的第一状态的变化次数达到最大预设值时,不再增加该端口当前的第一状态的变化次数。
如果通过该预设衰减算法进行衰减,经过一定时间后,还是没能够使第一状态的变化次数衰减到预设启用值,或小于预设启用值,即该端口的第二状态持续为抑制状态的时间达到最大抑制时间时,继续使用预设衰减算法对该端口当前的第一状态的变化次数进行持续衰减,直到衰减后该端口的第一状态的变化次数不大于预设启用值,该端口的第二状态由抑制状态变为非抑制状态。且在该持续衰减过程中,该端口的第一状态变化时,可以不增加该端口当前第一状态的变化次数。
为了保证对该端口的第一状态的变化次数的持续衰减,在最大抑制时间内能够衰减到预设启用值,在具体实现时,配置最大预设值、最大抑制时间、衰减周期以及预设启用值四者之间遵循如下的关系:
C=2T/D×R,其中,C为最大预设值,T为最大抑制时间,D为衰减周期,R为预设启用值。
该交换转发设备无论在衰减时间达到最大抑制时间之前,通过衰减,使该端口的第二状态由抑制状态变为非抑制状态,还是衰减时间达到最大抑制时间之后通过持续衰减,使该端口的第二状态由抑制状态变为非抑制状态,都向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态。
OpenFlow控制器接收到该通告报文时,确定第一状态为up状态还是down状态,如果时up状态,为该端口下发新的流表项,使该端口的流量通过该新下发的流表项转发流量,同时可以向备份设备发送删除对应流表项的指示,也可以不向备份设备发送删除对应流表项的指示,备份设备上对应的表项可自己老化;如果第一状态是down状态,不进行流表下发,维持现有的流量转发。
该交换转发设备接收到OpenFlow控制器下发的流表项时,删除该端口流量通过备份端口转发的流表项,并根据新下发的流表项使用该端口转发流量。其中,OpenFlow控制器下发的流表项,为该OpenFlow控制器在本交换转发设备发送的所述通告报文中该端口的第一状态为up时而下发的流表项。
本发明具体实施例还给出一种实现方式,即当该端口的第二状态由抑制状态变为非抑制状态时,首先确定该端口的第一状态当前为up状态还是down状态。
如果该端口的第一状态当前为up状态,向OpenFlow控制器发送通告报文上报该端口的第一状态为up状态,以及第二状态为非抑制状态。
OpenFlow控制器接收到该通告报文,获知该交换转发设备的该端口当前的第一状态为up状态,且第二状态为非抑制状态时,获知该交换转发设备的该端口又可以重新转发流量了,因此为该端口新下发流表项,使该端口的流量通过该新下发的流表项转发流量,不再通过备份端口转发该端口的流量。
该交换转发设备接收到OpenFlow控制器为该端口新下发的流表项时,删除该端口流量通过备份端口转发的流表项,并根据新下发的流表项使用该端口继续转发流量。
如果该端口的第一状态当前为down状态,则不发送通告报文,直到该端口的第一状态为up状态,且第二状态仍为非抑制状态时,向OpenFlow控制器发送通告报文上报该端口的第一状态为up状态,以及第二状态为非抑制状态。
本发明具体实施例中基于同样的发明构思,还提出一种装置,可应用于软件定义网络中的交换转发设备。参见图2,图2为本发明具体实施例中应用于交换转发设备的装置结构示意图。该装置包括:检测单元201、确定单元202、收发单元203和处理单元204。
检测单元201,用于检测本地任一端口的第一状态是否发生变化。
确定单元202,用于当检测单元201检测到本地任一端口的第一状态发生变化时,确定该端口当前的第二状态。
收发单元203,用于若确定单元202确定该端口的第二状态当前为非抑制状态,向OpenFlow控制器发送通告报文上报该端口当前的第一状态;若确定该端口的第二状态当前为抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文;用于当确定单元202确定该端口的第二状态由非抑制状态变为抑制状态时,向OpenFlow控制器发送通告报文上报该端口的第二状态当前为抑制状态;用于接收OpenFlow控制器下发的流表项,其中,第一状态为宕机down状态或激活up状态,第二状态为非抑制状态或抑制状态,且第二状态通过第一状态的变化次数确定。
处理单元204,用于当收发单元203接收到OpenFlow控制器下发的流表项时,删除该端口对应的流表项,并根据新下发的流表项将该端口的流量通过备份端口转发到备份设备上,使备份设备根据OpenFlow控制器下发的流表项转发该流量。
较佳地,该装置进一步包括:配置单元205。
配置单元205,用于配置预设衰减算法、预设启用值、最大预设值。
处理单元204,进一步用于若确定单元202确定该端口的第二状态由非抑制状态变为抑制状态时,对该端口当前的第一状态的变化次数通过配置单元205配置的预设衰减算法进行衰减,当衰减后该端口的第一状态的变化次数不大于配置单元205配置的预设启用值时,该端口的第二状态由抑制状态变为非抑制状态;在该衰减过程中,该端口的第一状态变化时,增加该端口当前的第一状态的变化次数。
较佳地,
配置单元205,进一步用于配置最大预设抑制时间。
处理单元204,进一步用于在所述衰减过程中,当该端口的第二状态为抑制状态的持续时间达到配置单元205配置的最大抑制时间时,继续对该端口的第一状态的变化次数通过预设衰减算法进行持续衰减,直到衰减后该端口的第一状态的变化次数不大于预设启用值时,该端口的第二状态由抑制状态变为非抑制状态;在该持续衰减过程中,该端口的第一状态变化时,不增加该端口当前的第一状态的变化次数。
较佳地,
收发单元203,进一步用于当处理单元204中该端口的第二状态由抑制状态变为非抑制状态时,向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态。
处理单元204,进一步用于当收发单元203接收到OpenFlow控制器下发的流表项时,删除该端口流量通过备份端口转发的流表项,并根据新下发的流表项使用该端口转发流量;其中,所述OpenFlow控制器下发的流表项,为该OpenFlow控制器在本交换转发设备发送的所述通告报文中该端口的第一状态为up时而下发的流表项。
较佳地,
确定单元202,进一步用于当处理单元204中该端口的第二状态由抑制状态变为非抑制状态时,收发单元203向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态,之前,确定该端口的第一状态当前是否为up状态,如果是,触发收发单元203执行向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态的操作;否则,等到该端口的第一状态变为up状态,且第二状态为非抑制状态时,触发收发单元203执行向OpenFlow控制器发送通告报文上报该端口当前的第一状态和第二状态的操作。
基于同样的发明构思,本申请还提出一种装置,可应用于软件定义网络中控制设备。参见图3,图3为本发明具体实施例中应用于控制设备的装置结构示意图。该装置包括:接收单元301和处理单元302。
接收单元301,用于接收通告报文。
处理单元302,用于当接收单元301接收到交换转发设备在检测到本地任一端口的第一状态发生变化,且该端口的第二状态当前为非抑制状态时,而发送的上报该端口当前的第一状态的通告报文时,根据该端口的第一状态进行处理;当接收单元301接收到该交换转发设备的该端口的第二状态由非抑制状态变为抑制状态时,发送的上报该端口的第二状态当前为抑制状态的通告报文时,为该端口新下发流表项,使所述交换转发设备删除该端口上原流表项,并根据新下发的流表项将该端口的流量通过备份端口转发到备份设备上;同时向所述备份设备下发流表项,以使该备份设备转发通过所述交换转发设备的备份端口发来的流量;其中,第一状态为宕机down状态或激活up状态,第二状态为非抑制状态或抑制状态,且第二状态通过第一状态变化的次数确定。
较佳地,
处理单元302,进一步用于当接收单元301接收到该交换转发设备在检测到该端口的第二状态由抑制状态变为非抑制状态时,而发送的上报该端口当前的第一状态和第二状态的通告报文时,若确定第一状态为up状态,则为该端口下发流表项,使该交换转发设备删除该端口流量通过备份端口转发的流表项,并根据新下发的流表项转发该端口的流量;若确定该端口的第一状态为down状态,则不为该端口下发新的流表项。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明具体实施例中交换转发设备检测到本地的某个端口的第一状态在up状态和down状态之间变化时,如果该端口的第二状态当前为非抑制状态,则向OpenFlow控制器发送通告报文上报该端口当前的第一状态,如果该端口的第二状态当前处于抑制状态,不向OpenFlow控制器发送上报该端口当前第一状态的通告报文。在端口状态频繁变化时,能够避免交换转发设备频繁向OpenFlow控制器发送通告报文,造成OpenFlow控制器频繁计算下发流表项的情况发生,从而有效的节省了网络中的带宽资源。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

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状态,则不为该端口下发新的流表项。
CN201310378581.8A 2013-08-27 2013-08-27 一种软件定义网络中交换转发设备端口状态管理的方法和装置 Active CN104426693B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310378581.8A CN104426693B (zh) 2013-08-27 2013-08-27 一种软件定义网络中交换转发设备端口状态管理的方法和装置
PCT/CN2014/076427 WO2015027716A1 (en) 2013-08-27 2014-04-29 Status management of a port of a switch in a software-defined network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310378581.8A CN104426693B (zh) 2013-08-27 2013-08-27 一种软件定义网络中交换转发设备端口状态管理的方法和装置

Publications (2)

Publication Number Publication Date
CN104426693A true CN104426693A (zh) 2015-03-18
CN104426693B CN104426693B (zh) 2018-02-09

Family

ID=52585501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310378581.8A Active CN104426693B (zh) 2013-08-27 2013-08-27 一种软件定义网络中交换转发设备端口状态管理的方法和装置

Country Status (2)

Country Link
CN (1) CN104426693B (zh)
WO (1) WO2015027716A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017215537A1 (zh) * 2016-06-16 2017-12-21 中兴通讯股份有限公司 一种通信端口的链接状态更新方法及装置
CN110995495A (zh) * 2019-12-10 2020-04-10 北京知道创宇信息技术股份有限公司 网络故障检测方法、装置、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10771341B2 (en) * 2018-04-04 2020-09-08 Dell Products L.P. Intelligent state change notifications in computer networks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394301A (zh) * 2007-09-21 2009-03-25 华为技术有限公司 小型电信和计算通用硬件平台系统、装置及其通信方法
CN101867502A (zh) * 2010-06-02 2010-10-20 中兴通讯股份有限公司 端口震荡的抑制方法及装置
CN102291262A (zh) * 2011-09-01 2011-12-21 中兴通讯股份有限公司 一种容灾的方法、装置及系统
US20130010605A1 (en) * 2011-07-04 2013-01-10 Telefonaktiebolaget L M Ericsson (Publ) Generic Monitoring Packet Handling Mechanism for OpenFlow 1.1

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594689B (zh) * 2012-02-22 2015-06-10 中兴通讯股份有限公司 一种分布式网络控制方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394301A (zh) * 2007-09-21 2009-03-25 华为技术有限公司 小型电信和计算通用硬件平台系统、装置及其通信方法
CN101867502A (zh) * 2010-06-02 2010-10-20 中兴通讯股份有限公司 端口震荡的抑制方法及装置
US20130010605A1 (en) * 2011-07-04 2013-01-10 Telefonaktiebolaget L M Ericsson (Publ) Generic Monitoring Packet Handling Mechanism for OpenFlow 1.1
CN102291262A (zh) * 2011-09-01 2011-12-21 中兴通讯股份有限公司 一种容灾的方法、装置及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017215537A1 (zh) * 2016-06-16 2017-12-21 中兴通讯股份有限公司 一种通信端口的链接状态更新方法及装置
CN107517114A (zh) * 2016-06-16 2017-12-26 中兴通讯股份有限公司 一种通信端口的链接状态更新方法及装置
CN107517114B (zh) * 2016-06-16 2022-08-02 中兴通讯股份有限公司 一种通信端口的链接状态更新方法及装置
CN110995495A (zh) * 2019-12-10 2020-04-10 北京知道创宇信息技术股份有限公司 网络故障检测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2015027716A1 (en) 2015-03-05
CN104426693B (zh) 2018-02-09

Similar Documents

Publication Publication Date Title
CN102197627B (zh) 组播流量收敛的改善
WO2015106618A1 (zh) 一种资源调度的方法及装置
US20160036597A1 (en) Openflow-Protocol-Based Charging Method and System
CN104869057A (zh) 开放流交换机优雅重启处理方法、装置及开放流控制器
CN104079492A (zh) 一种OpenFlow网络中流表配置的方法、装置和系统
CN103401797A (zh) 一种报文处理方法和设备
CN105337853A (zh) 一种软件定义网络中的实例建立方法和装置
CN104301248A (zh) 报文限速方法和装置
CN106656791A (zh) 一种设备状态切换的方法、设备及系统
CN104852867A (zh) 数据包转发方法、装置及系统
CN104618254A (zh) 软件定义网络中避免网络拥塞的方法和控制器
CN101483571B (zh) 一种rrpp的配置方法、系统及设备
CN104601488A (zh) 一种软件定义网络中流量控制方法和装置
CN104426693A (zh) 一种软件定义网络中交换转发设备端口状态管理的方法和装置
CN108768781A (zh) 避免死锁的无丢失流量控制方法及装置
CN103491015A (zh) 实现公网支持数据组播分发树的方法及装置
WO2018219103A1 (zh) 一种链路状态确定方法及设备
US9641355B2 (en) Communication device, communication method, and program
CN111327527B (zh) 流量转发方法、系统、sdn控制器及计算机可读存储介质
CN107547301A (zh) 一种主备设备倒换方法及装置
CN108616426B (zh) 一种环形网络及业务数据转发方法
CN105323847A (zh) 基于虚拟化演进分组核心网的通信方法、控制器及虚拟机
CN103107946A (zh) 组播恢复方法和装置及包括该组播恢复装置的中继设备
CN108462650B (zh) 一种基于tte交换机的输出单元
US9276716B2 (en) Sensor data transport and consolidation within communication nodes in a network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Applicant before: Huasan Communication Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant