一种软件定义网络中流表项发送、接收方法及相关设备技术

技术编号:18898836 阅读:47 留言:0更新日期:2018-09-08 13:44
公开了一种软件定义网络中流表项发送、接收方法及相关设备,用于解决流表项在交换机的处理器上积压的问题。该流表项发送方法包括:控制器获取交换机的流表项处理量;该控制器在该流表项处理量限制下向交换机发送流表项。

A method for sending and receiving stream items in software defined network and related equipment

A method for sending and receiving stream table items in a software defined network and related devices are disclosed for solving the problem of the backlog of stream table items on the processor of a switch. The flow meter item sending method includes: the controller obtains the flow table item processing amount of the switch; the controller sends the flow table item to the switch under the limit of the flow table item processing amount.

【技术实现步骤摘要】
一种软件定义网络中流表项发送、接收方法及相关设备
本专利技术涉及通信
,具体涉及一种软件定义网络中流表项发送、接收方法及相关设备。
技术介绍
在软件定义网络,例如开放流(英文:OpenFlow)网络中,由控制器向交换机发送流表项用以指导流量的转发。交换机的处理器接收流表项后将流表项配置到转发芯片中。如果交换机的处理器处理流表项的能力不足,可能导致流表项在处理器上积压,不能及时将流表项配置到转发芯片。
技术实现思路
本申请提供了一种软件定义网络中流表项发送、接收方法及相关设备,用于解决流表项在交换机的处理器上积压的问题。第一方面提供一种软件定义网络中流表项发送方法,该软件定义网络中包括至少一个控制器和至少一个交换机,其中,该至少一个控制器和该至少一个交换机之间通过通信接口连接,该至少一个控制器和该至少一个交换机之间可以是一对一或者一对多的关系,例如,一个控制器向一个交换机发送流表项,或者一个控制器向多个交换机发送流表项。控制器先获取交换机的流表项处理量,并在该流表项处理量限制下向交换机发送流表项。可见,控制器可根据获取的流表项处理量的限制以控制向交换机发送流表项,从而避免了流表项在交换机的处理器上积压。控制器可通过多种方式获取交换机的流表项处理量,下面是其中可能的两种实现方式:在一种可能的实现方式中,控制器接收到交换机发送的处理量消息,其中,该处理量消息中携带该流表项处理量。控制器可以接收交换机周期性地或不定时地发送的流表项处理量,从而有效获知交换机处理流表项的能力,并根据该流表项处理量的限制确定向交换机发送流表项的数量。在另一种可能的实现方式中,控制器向交换机发送处理量请求消息,以请求交换机发送处理量消息。其中,该处理量消息中携带该流表项处理量。控制器可以周期性地向交换机发送处理量请求消息,从而使得控制器有效获知交换机处理流表项的能力,并根据该流表项处理量的限制确定向交换机发送流表项的数量。关于流表项处理量的表示方式可以有多种,下面介绍其中两种可能的表示方式:在一种可能的实现方式中,该流表项处理量为交换机可处理流表项的数量,其中,控制器向交换机发送的流表项的数量不大于该流表项处理量。控制器将可发送的流表项的数量设置为该流表项处理量。控制器每发送一条流表项,对应地将可发送的流表项的数量减1。可发送的流表项的数量为0时,控制器暂不发送流表项。当再次接收到交换机发送的新的流表项处理量时,控制器依据新的流表项处理量更新可发送的流表项的数量。在另一种可能的实现方式中,该流表项处理量为单位时间内交换机可处理流表项的数量。控制器向交换机发送的流表项的速率不大于该流表项处理量。例如,流表项处理量为20/秒,则控制器向交换机发送的流表项的速率不能大于20/秒。第二方面提供一种软件定义网络中流表项接收方法,该软件定义网络中包括至少一个控制器和至少一个交换机,其中,该至少一个控制器和该至少一个交换机之间通过通信接口连接,该至少一个控制器和该至少一个交换机之间可以是一对一或者一对多的关系,例如,一个交换机向一个控制器发送流表项处理量,或者多个交换机向同一个控制器发送流表项处理量。首先,交换机确定流表项处理量,并将确定的该流表项处理量发送给控制器,以指示控制器根据该流表项处理量的限制向交换机发送流表项,交换机接收控制器发送的流表项。可见,由于交换机向控制器发送的流表项处理量以指示控制器根据该流表项处理量的限制向该交换机发送流表项,则交换机在自身的处理能力范围内能够及时处理接收到的流表项,从而避免了流表项在交换机的处理器上积压。关于流表项处理量的表示方式可以有多种,下面介绍其中两种可能的表示方式:在一种可能的实现方式中,该流表项处理量为单位时间内交换机可处理流表项的数量。假设交换机在单位时间内可处理流表项的最大数量为50,则该流表项处理量可以为不大于50/秒的任意一个速率值。例如,交换机可以将流表项处理量设置为30/秒。在另一种可能的实现方式中,该流表项处理量为交换机发送该流表项处理量时该交换机可处理流表项的数量。假设交换机向控制器发送流表项处理量时,该交换机当前可处理流表项的最大数量为30,则该流表项处理量可以为不大于30的任意一个数值,例如,交换机可以将流表项处理量设置为20。交换机向控制器发送流表项处理量的触发条件可以有很多种,下面是其中可能的两种实现方式:在一种可能的实现方式中,该交换机周期性地确定流表项处理量并将该流表项处理量发送给控制器。其中,该周期时间可以由交换机默认或者用户自定义等方式所确定。假设该周期时间为10秒,则交换机每隔10秒确定一次流表项处理量,并将确定的该流表项处理量发送给控制器。如果交换机当前处理大量流表项而繁忙时,可以适当地延长确定该流表项处理量的周期时间,从而缓解交换机的工作负荷。在另一种可能的实现方式中,该流表项处理量为预设值,每当所述交换机可处理流表项的数量达到该预设值时,交换机将该流表项处理量发送给控制器。其中,该预设值可以由交换机默认或者用户自定义等方式所确定。假设该预设值为50,则每当交换机可处理流表项的数量达到50时,则交换机将该流表项处理量发送给控制器,如果交换机可处理流表项的数量没有达到50,则无需向控制器发送流表项处理量,从而节省了交换机的通信消耗。第三方面提供一种软件定义网络中的控制器,该控制器被配置实现上述第一方面或者第一方面的任意一种实现方式提供的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,该硬件或软件包括一个或多个与上述功能相对应的模块。第四方面提供一种软件定义网络中的交换机,该交换机被配置实现上述第二方面或者第二方面的任意一种实现方式提供的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,该硬件或软件包括一个或多个与上述功能相对应的模块。第五方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或者第一方面的任意一种实现方式或者第二方面或者第二方面的任意一种实现方式所述的方法。附图说明图1为本专利技术实施例中软件定义网络的一个结构图;图2为本专利技术实施例中软件定义网络中控制器的一个结构示意图;图3为本专利技术实施例中软件定义网络中交换机的一个结构示意图;图4为本专利技术实施例中软件定义网络中流表项收发的一个实施例示意图;图5为本专利技术实施例中软件定义网络中流表项收发的另一个实施例示意图;图6为本专利技术实施例中软件定义网络中流表项发送设备的一个结构示意图;图7为本专利技术实施例中软件定义网络中流表项接收设备的一个结构示意图。具体实施方式控制器和交换机之间的开放流协议叠加在传输控制协议(英文:transmissioncontrolprotocol,TCP)协议上。当交换机的处理器由于处理大量流表项繁忙,未能及时接收流表项时,TCP协议栈的接收窗口大小变为0,从而抑制控制器向交换机发送流表项。但是,TCP协议栈的接收窗口大小变为0阻塞了传输层。虽然抑制了控制器向交换机发送流表项,控制器向交换机发送的其他开放流协议报文也无法正常发出,可能导致开放流协议工作异常。为了避免在抑制控制器向交换机发送流表项的同时,发生开放流协议工作异常的现象,本专利技术实施例提供如下系统、设备及方法。首先,请参阅图1,介绍本专利技术实施例本文档来自技高网...

【技术保护点】
1.一种软件定义网络中流表项发送方法,其特征在于,包括:控制器获取交换机的流表项处理量;所述控制器在所述流表项处理量限制下向所述交换机发送流表项。

【技术特征摘要】
1.一种软件定义网络中流表项发送方法,其特征在于,包括:控制器获取交换机的流表项处理量;所述控制器在所述流表项处理量限制下向所述交换机发送流表项。2.根据权利要求1所述的流表项发送方法,其特征在于,所述流表项处理量为所述交换机可处理流表项的数量,所述控制器向所述交换机发送的流表项的数量不大于所述流表项处理量。3.根据权利要求1所述的流表项发送方法,其特征在于,所述流表项处理量为单位时间内所述交换机可处理流表项的数量,所述控制器向所述交换机发送的流表项的速率不大于所述流表项处理量。4.一种软件定义网络中流表项接收方法,其特征在于,包括:交换机确定流表项处理量;所述交换机将所述流表项处理量发送给控制器,以指示所述控制器根据所述流表项处理量的限制向所述交换机发送流表项;所述交换机接收所述控制器发送的流表项。5.根据权利要求4所述的流表项接收方法,其特征在于,所述流表项处理量为单位时间内所述交换机可处理流表项的数量。6.根据权利要求4所述的流表项接收方法,其特征在于,所述流表项处理量为发送所述流表项处理量时所述交换机可处理流表项的数量。7.根据权利要求6所述的流表项接收方法,其特征在于,所述流表项处理量为预设值,当所述交换机可处理流表项的数量达到所述预设值时,所述交换机将所述流表项处理量发送给所述控制器。8.一种软件定义网络中的流表项发送设备,其特征在于,包括:获取模块,用于获取交换机的流表项处理量;发送模块,用于在所述获取模块获取的所述流表项处理量限制下向所述交换机发送流表项。9.根据权利要求8所述的流表项发送设备,其特征在于,所述流表项处理量为所述交换机可处理流表项的数量,所述发送模块向所述交换机发送的流表项的数量不大于所述流表项处理量。10.根据权利要求8所述的流表项发送设备,其特征在于,所述流表项处理量为单位时间内所述交换机可处理流表项的数量,所述发送模块向所述交换机发送的流表项的速率不大于所述流表项处理量。11.一种软件定义网络中的流表项接收设备,其特征在于,包括:确定模块,用于确定流表项处理量;发送模块,用于将所述确定模块确定的所述流表项处理量发送给控制器,以指示所述控制器根据所述流表项处...

【专利技术属性】
技术研发人员:张镇伟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1