CN103858394A - 负载降低系统和负载降低方法 - Google Patents
负载降低系统和负载降低方法 Download PDFInfo
- Publication number
- CN103858394A CN103858394A CN201280049197.7A CN201280049197A CN103858394A CN 103858394 A CN103858394 A CN 103858394A CN 201280049197 A CN201280049197 A CN 201280049197A CN 103858394 A CN103858394 A CN 103858394A
- Authority
- CN
- China
- Prior art keywords
- grouping
- received
- switch
- stream
- stream entry
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2869—Operational details of access network equipments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2869—Operational details of access network equipments
- H04L12/287—Remote access server, e.g. BRAS
- H04L12/2874—Processing of data for distribution to the subscribers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明通过降低向控制器查询关于尚未配置的流条目的提交,由此降低控制器上的负载,来使开放流网络系统稳定。具体地说,控制器在交换机的流表中登记定义了对作为流的分组进行统一控制所需的规则和动作的流条目。当接收到分组时,如果与所接收到的分组相对应的流条目未登记在流表上,那么交换机向控制器提交查询与所接收到的分组相对应的流条目,堆积所接收到的分组,并且通过利用堆积分组对具有与堆积分组相同报头信息的接收分组的传送进行控制直至登记了与所接收到的分组相对应的流条目。
Description
技术领域
本发明涉及负载降低系统,并且更具体地涉及CD分离型网络中的控制器的负载降低系统。
背景技术
将从外部控制器(控制平面)对交换机、终端等(数据平面)进行控制的方法被称为CD(C:控制平面/D:数据平面)分离型架构。上述CD分离型架构的网络配置被称为CD分离型网络。
作为CD分离型网络的示例,例示了使用开放流(OpenFlow)技术的开放流网络,开放流技术用于通过从控制器对交换机进行控制来执行网络的路由控制。应该注意,开放流网络仅仅是一个示例。
(开放流网络)
在开放流网络中,通过MAC地址、IP地址、端口号等的组合所确定的一系列通信定义为“流”。以流为单位来执行路由控制、故障恢复、负载分配、优化。
在开放流网络中,诸如OFC(开放流控制器)的控制器通过对诸如OFS(开放流交换机)的交换机的流表进行操作来控制交换机的行为。
控制器和交换机通过安全信道进行连接,以通过控制器利用基于开放流协议的控制消息对交换机进行控制。控制器和交换机通过安全信道来发送和接收依照开放流(OpenFlow)协议的开放流消息。
开放流网络中的交换机对开放流网络进行配置,并且作为控制器 所控制的边缘交换机和核心交换机而存在。应当注意,边缘交换机是位于开放流网络和与之不同的网络之间的边界处的交换机。此外,核心交换机是用于在开放流网络中对分组进行中继的交换机。在开放流网络中,控制器能够对路由上的交换机的流表进行操作,并且控制从输入侧边缘交换机处(入口)的分组的接收(流入)至输出侧边缘交换机处(出口)的分组的发送(流出)的流。
分组可以被称为帧。分组与帧之间的差异仅仅是在协议中所处理的数据的单位(PDU:协议数据单元)上的不同。分组是“TCP/IP”(传输控制协议/因特网协议)的PDU。另一方面,帧是“以太网”(注册商标)的PDU。
流表是登记了用于定义对符合预定匹配条件(规则)的分组所执行的预定动作的流条目的表。
基于包括在每个协议层级中的分组的报头区域中并且能够被区分的目的地址、源地址、目的地端口和源端口中的一个或多个的组合来定义流条目的规则。应当注意,上述地址应当包括MAC地址(媒体访问控制地址)和IP地址(因特网协议地址)。而且,除了上述之外,入口端口的数据能够用作流条目的规则。
流条目的动作指示“输出到特定端口”、“丢弃”、或者“重写报头”的操作。例如,当流条目的动作指示输出端口的标识数据(输出端口号等)时,交换机将分组输出到与之相对应的端口,并且当没有指示输出端口的标识数据时,丢弃分组。或者,当流条目的动作指示报头数据时,基于该报头数据来重写分组的报头。
开放流网络中的交换机对符合流条目的规则的分组群组(分组系列)执行流条目的动作。
在非专利文献1中描述了开放流技术的细节。
在预先没有完成流设置的开放流网络中,对于交换机首先接收到的每个未知分组(第一分组),将所接收到的分组的副本(镜像分组)作为流条目的查询消息(分组传入:packet in)从交换机传送到控制器,直至流条目被登记在流表中。
然而,当交换机连续地接收到其流条目没有被登记在流表中的相同流的分组时,对控制器的流条目的查询消息(分组传入)的数目增加,以增大了控制器的负担。
当对管理开放流网络的控制器施加负载时,在网络的稳定性方面引起问题。因此,需要减小对控制的负载。
引用列表
非专利文献1:“Openflow Switch Specification,版本1.0.0”,[在线],2009年12月31日,[2011年9月8日搜索],因特网(URL:http://www.Openflowswitch.org/documents/opeflow-spec-v1.0.0.pdf)
发明内容
作为第一问题,在开放流网络中,在通过交换机连续地接收其流条目没有被登记在流表上的相同流的分组的情况下,当控制器的处理性能低时,多次将流条目的查询消息(分组传入)从交换机发送到控制器,使得对控制器的负载被增加。
作为第二问题,开放流网络被配置为使得当流条目没有被登记在流表上时,交换机无法传送分组。
本发明的目的在于,为了解决上述问题,提供了一种技术,该技术用于在接收到其流条目没有被登记在流表上的分组(未登记的分组) 时,通过将分组传送到预定目的地而不对控制器发送流条目的查询消息(分组传入),来降低对控制器的负载以提高整个开放流网络的效率。
根据本发明的负载降低系统包括:交换机,该交换机被配置成基于流条目来执行对所接收到的分组的处理,流条目定义用于对作为流的分组进行统一控制的规则和动作;以及控制器,该控制器被配置成对交换机设定流条目。当接收到给定分组时,交换机执行对控制器查询与所接收到的给定分组相对应的流条目,如果没有设定与所接收到的给定分组相对应的流条目,则堆积所接收到的给定分组,并且通过使用堆积的分组来对具有与堆积的分组相同报头数据的分组中的一个的传送进行控制直至登记了与所接收到的分组相对应的流条目。
根据本发明的交换机包括:用于从控制器接收流条目的装置,流条目定义了用于对作为流的分组进行统一控制的规则和动作;用于当接收到分组时如果与所接收到的分组相对应的流条目没有被登记则执行对控制器查询与所接收到的分组相对应的流条目的装置;用于堆积所接收到的分组的装置;以及用于通过使用堆积的分组对具有与堆积的分组相同的报头数据的分组的传送进行控制直至登记了与所接收到的分组相对应的流条目的装置。
根据本发明的负载降低方法包括:通过控制器接收流条目的登记,流条目定义了用于对作为流的分组进行统一控制的规则和动作;当接收到分组时,如果与所接收到的分组相对应的流条目没有被登记,则执行对控制器查询与所接收到的分组相对应的流条目;堆积所接收到的分组;以及通过使用堆积的分组对具有与堆积的分组相同报头数据的分组的传送进行控制,直至登记了与所接收到的分组相对应的流条目。
本发明的记录介质存储程序,该程序用于使得交换机执行:通过 控制器接收对流条目的登记,流条目定义了用于对作为流的分组进行统一控制的规则和动作;当接收到分组时,如果与所接收到的分组相对应的流条目还没有被登记,则执行向控制器查询与所接收到的分组相对应的流条目;堆积所接收到的分组;以及通过使用堆积的分组对具有与堆积的分组相同报头数据的分组的传送进行控制直至与所接收到的分组相对应的流条目被登记。
本发明能够抑制对控制器(OFC)的负载并且能够传送其流条目没有被登记在流表上的未登记的分组。
附图说明
图1是示出根据本发明的负载降低系统的配置示例的框图;
图2是示出根据本发明的负载降低系统的第一示图;
图3是示出根据本发明的负载降低系统的第二示图;
图4是示出根据本发明的负载降低系统的第三示图;
图5是示出根据本发明的负载降低系统的第四示图;
图6是用于描述根据本发明的负载降低系统的第五示图;以及
图7是示出根据本发明的负载降低系统的操作的流程图。
具体实施方式
本发明针对CD分离型网络。这里,作为CD分离型网络中的一个的开放流网络作为示例进行描述。然而,实际上,本发明不限于开放流网络。
<基本配置>
下面参考附图对本发明的配置示例进行描述。
如图1所示,根据本发明的负载降低系统包括交换机20和控制器30。
在附图中,交换机被标记为“OFS”,并且控制器被标记为“OFC”。
交换机20是开放流网络中的交换节点。交换机20根据登记在其自己流表中的流条目来传送所接收到的分组。
控制器30是执行开放流网络中的交换机20的路由控制的服务器装置。控制器30通过安全信道与交换机20相连接。控制器30将流条目登记在交换机20的流表中。
当接收到分组时,如果与所接收到的分组相对应的流条目没有被登记在流表中,则交换机20向控制器30查询与所接收到的分组相对应的流条目,并且堆积(临时存储、保存或者积聚)所接收到的分组,并且使用堆积的分组来控制具有与堆积的分组相同的报头数据的分组的传送,直至与所接收到的分组相对应的流条目被登记。这里,因为在流条目的登记之前,交换机20都无法指定下一阶段的传输目的地,因此交换机20独立于分组的地址数据来将分组传送到所有连接的相邻交换机。也就是说,分组作为伪广播分组进行传送。然而,不需要改变分组本身的地址数据。
[第一示例性实施例]
下面参考附图对本发明的第一示例性实施例进行描述。
[系统配置]
下面参考图2至图6描述根据本发明的负载降低系统的配置示例。
根据本发明的负载降低系统包括终端10(10-i,i=1至n:n是任意的)和交换机20(20-j,j=1至m:m是任意的)、以及控制器30。
在图2中,交换机被标记为“OFS”,并且控制器被标记为“OFC”。
终端10(10-i,i=1至n:n是任意的)中的每一个是能够与交换机20(20-j,j=1至m)相连接的终端。应当注意,终端10(10-i,i=1至n)中的每一个可以是在开放流网络外部的交换机(交换节点)(不对应于开放流)。
交换机20(20-j,j=1至m)中的每一个是开放流网络中的交换节点。交换机20(20-j,j=1至m)中的每一个根据登记在其自己流表中的流条目来传送所接收到的分组。应当注意,当接收到流条目未登记的分组时,交换机20(20-j,j=1至m)中的每一个将所接收到的分组的副本(镜像分组)作为查询消息(分组传入)传送到控制器30。
控制器30在开放流网络中是用于执行对交换机20(20-j,j=1至m)中的每一个的路由控制的服务器单元。控制器30通过安全信道与交换机20(20-j,j=1至m)中的每一个相连接。当检测到交换机20(20-j,j=1至m)中的每一个时,控制器30基于指示网络的连接状态的拓扑数据来计算分组传送路由,并且将流条目登记在位于路由上的交换机20(OFS)中的每一个的流表中。注意,控制器30可以保持用作交换机20(20-j,j=1至m)中的每一个所保持的主表(master table)的流表。例如,当接收到流条目的查询消息(分组传入)时,控制器30首先将条目登记在控制器30本身所保存的主表(流表)中,并且将控制消息发送到作为查询源的交换机(OFS),以便于将相同的条目登记在交换机(OFS)所保持的流表中(或者与该流表相对应的表)。
这里,终端10-1是发送分组的发送源终端(终端A)。终端10-2是接收分组的目的终端(终端B)。交换机20-1是输入侧边缘交换机(OFS1)。交换机20-2是输出侧边缘交换机(OFS2)。交换机20-3是核心交换机(OFS3)。控制器30是用于执行交换机(OFS)之间的路由控制的控制器(OFC)。假定控制器30保持交换机20-1、交换机20-2、和交换机20-3中的每一个的流表。
然而,实际上,这不限于那些示例。
(硬件的例示)
作为终端10(10-i,i=1至n)的示例,例示了PC(个人计算机)、移动PC、薄客户终端、工作站、移动电话、智能电话、智能书、汽车导航系统、移动游戏机、家庭游戏机、便携式音乐播放器、手持终端、小配件(电子设备)、交互式电视、数字调谐器、数字记录器、信息家用电器、OA(办公自动化)设备等。可以将终端10(10-i,i=1至n)安装在诸如车辆、船和飞机的移动体中。
作为交换机20(20-j,j=1至m)的示例,例示了网络交换机、路由器、代理、网关、防火墙、负载平衡器(负载分配设备)、频带控制设备(分组整形器)、安全监控器控制设备(SCADA:监制和数据获取)、网守、基站、接入点、通信卫星(CS)或者具有多个通信端口的计算机器等。而且,交换机20(20-j,j=1至m)可以是构建在物理机器上的虚拟交换机。
作为控制器30的示例,假定PC、设备、工作站、大型机以及诸如超级计算机的计算机器。注意,控制器30可以是安装在计算机器中的扩展板或者构建在物理机器上的虚拟机(VM)。
虽然未示出,但是终端10(10-i,i=1至n)、交换机20(20-j,j=1至m)和控制器30中的每一个是由以下来配置:根据程序来驱动的并且执行预定处理的处理器;用于存储程序和各种数据的存储器;以及用于与网络进行通信的接口。
作为上述处理器的示例,例示了CPU(中央处理单元)、网络处理器(NP)、微处理器、微控制器或者具有专用功能的半导体集成电路(IC)等。
作为上述存储器的示例,例示了RAM(随机存取存储器)、ROM(只读存储器)、EEPROM(电可擦可编程只读存储器)、诸如闪存的半导体存储设备、诸如HDD(硬盘驱动器)和SSD(固态驱动器)的辅助存储设备、或者诸如DVD(数字多用途盘)的可移动盘、或者诸如SD存储器卡(安全数字存储器卡)的存储介质。而且,可以使用寄存器。或者,可以使用下述存储设备,该存储设备使用DAS(直接附接存储)、FC-SAN(光纤信道-存储区域网络)、NAS(网络附接存储)、IP-SAN(IP存储区域网络)。
注意,可以将上述处理器和上述存储器集成到一个单元中。例如,近年来,发展了微计算机的1-芯片结构。因此,可以考虑安装在电子设备中的单芯片微计算机包含处理器和存储器的示例。
作为上述接口的示例,例示了符合网络通信的基板(母板或I/O板)、诸如芯片的半导体集成电路、诸如NIC(网络接口卡)的网络适配器、类似的扩展卡、诸如天线这样的通信设备以及诸如通信端口(连接器)的通信端口。
而且,作为网络的示例,例示了因特网、LAN(局域网)、无线LAN、WAN(广域网)、主干、有线电视(CATV)线、固定电话网络、移动电话网络、WiMAX(IEEE802.16a)、3G(第三代)、租用线、IrDA(红外线数据协会)、蓝牙(注册商标)、串行通信线、数据总线等。
注意,交换机20(20-j,j=1至m)和控制器30中的每一个的部件可以是模块、部件或专用设备或者用于开始(调用)它们的程序。
然而,实际上,其并局限于那些示例。
<示例>
下面将描述根据本发明的负载降低系统的示例。
首先,在图2中,交换机20-1(OFS1)从终端10-1(终端A)接收第一分组(分组A)。交换机20-1(OFS1)检索流表。然后,如果不存在相应的流条目(在“未命中”的情况下),为了将第一分组(分组A)登记在流表中,则交换机20-1(OFS1)通过传送第一分组(分组A)的副本(镜像分组)来将流条目的查询消息(分组传入)发送到控制器30(OFC),并且将第一分组(分组A)堆积(临时存储、保持、以及积聚)在交换机20-1(OFS1)中。当接收到来自交换机20-1(OFS1)的流条目的查询消息(分组传入)时,控制器30(OFC)将第一分组(分组A)的条目登记在交换机20-1(OFS1)的流表中。
接下来,在图3中,当在花费时间登记第一分组(分组A)的条目的同时(在条目登记的等待状态时),接收到第二分组(分组B)时,交换机20-1(OFS1)将第二分组(分组B)与堆积的第一分组(分组A)进行比较。例如,对第二分组(分组B)和第一分组(分组A)的相应报头数据进行部分或全部比较,以检查这两个分组是否属于相同的流。
在图4中,如果第一分组(分组A)和第二分组(分组B)是属于相同的流的分组,则交换机20-1(OFS1)将第一分组(分组A)广播到每一个具有与第二分组(分组B)的接收端口相同的虚拟LAN标识符(VLAN ID)的所有端口,并且将第一分组(分组A)传送到交换机20-2(OFS2)和交换机20-3(OFS3)。而且,交换机20-1(OFS1)再次堆积第二分组(分组B)直至接收到属于相同流的分组。此外,交换机20-1(OFS1)生成用于交换机20-1(OFS1)的广播表。此时,当交换机20-1(OFS1)接收到第一分组(分组A)时,交换机20-1(OFS1)将第一分组(分组A)的流数据、虚拟LAN标识符(VLAN ID)以及端口数据(“接收端口”的数据)存储在广播表中。广播表是存储用于广播分组的数据的表。广播表可以是流表的一种。流数据是用于定义用于分组的规则和动作的数据。注意,因为动作被定义为广播,所以要定义 的项目可以仅是规则。
此外,在图5中,交换机20-2(OFS2)接收从交换机20-1(OFS1)广播的第一分组(分组A)。如果用于广播的第一分组(分组A)的流条目没有被登记在流表中,则交换机20-2(OFS2)将所广播的第一分组(分组A)广播到具有与第一分组(分组A)的接收端口相同的虚拟LAN标识符(VLAN ID)的所有端口,以将第一分组(分组A)传送到交换机20-3(OFS3)和终端10-2(终端B)。此外,交换机20-2(OFS2)生成用于交换机20-2(OFS2)的广播表。此时,交换机20-2(OFS2)将第一分组(分组A)的流数据、虚拟LAN标识符(VLAN ID)、以及流数据的输入端口数据存储在广播表中。
在图6中,与上述交换机20-2(OFS2)类似,交换机20-3(OFS3)向具有与第一分组(分组A)的接收端口相同的虚拟LAN标识符(VLANID)的所有端口进行广播。这里,交换机20-3(OFS3)将第一分组(分组A)传送到交换机20-2(OFS2)。此时,因为条目已经在用于交换机20-2(OFS2)的广播表中生成(参考图5)为具有第一分组(分组A)的流数据和虚拟LAN标识符(VLAN ID),但是接收端口的数据是不同的,所以交换机20-2(OFS2)认识到第一分组(分组A)被重复接收(确定出第一分组(分组A)被重复接收),并且丢弃重复接收到的第一分组(分组A)。因此,防止广播分组循环(loop)。
应当,实际上,交换机20-2(OFS2)和交换机20-3(OFS3)可以执行与交换机20-1(OFS1)类似的处理。也就是说,可以按照图2所示的交换机20-1(OFS1)来设计交换机20-2(OFS2)和交换机20-3(OFS3),使得当接收到第一分组(分组A)时,如果不存在相应的流条目(在“未命中”的情况下),则交换机20-1(OFS1)搜索流表并且将流条目的查询消息(分组传入)发送到控制器30(OFC),以便于在流表中检索第一分组(分组A)。
(负载降低系统的操作)
下面参考图7描述根据本发明的负载降低系统的操作。
(1)步骤S10-1
交换机20-1(OFS1)接收分组。
(2)步骤S10-2
交换机20-1(OFS1)检查与所接收到的分组相对应的流条目是否已经被登记在流表中。
(3)步骤S103
如果相对应的流条目已经被登记,则交换机20-1(OFS1)根据流条目的内容来对所接收到的分组执行开放流的处理。
(4)步骤S104
如果相对应的流条目还没有被登记,则交换机20-1(OFS1)检查与所接收到的分组相同的流的分组是否被堆积。也就是说,交换机20-1(OFS1)检查与所接收到的分组相同的流的分组是否处于条目登记的等待状态。
(5)步骤S105
如果与所接收到的分组相同的流的分组被堆积,则交换机20-1(OFS1)将堆积的分组广播到与所接收到的分组相同的虚拟LAN标识符(VLAN ID)的端口。而且,交换机20-1(OFS1)堆积新接收到的分组来代替已经堆积的分组。
(6)步骤S106
如果与所接收到的分组相同的流的分组没有被堆积,则交换机20-1(OFS1)检查所接收到的分组是否是广播分组。例如,在与所接收到的分组不同的流的分组堆积的情况下,或者在完全没有堆积分组 的情况下,交换机20-1(OFS1)检查所接收到的分组是否是广播分组。
(7)步骤S107
如果所接收到的分组不是广播分组,则交换机20-1(OFS1)将所接收到的分组的副本(镜像分组)作为流条目的查询消息(分组传入)传送到控制器30。而且,交换机20-1(OFS1)堆积所接收到的分组。
(8)步骤S108
如果所接收到的分组是广播分组,则交换机20-1(OFS1)检查与所接收到的分组相同的流的分组是否已经被登记在广播表中。
(9)步骤S109
如果与所接收到的分组相同的流的分组没有被登记在广播分组中,则交换机20-1(OFS1)广播所接收到的分组,使得将广播分组登记在广播表中。
(10)步骤S110
如果与所接收到的分组相同的流的分组已经被登记在广播表中,则交换机20-1(OFS1)检查登记在广播表中的分组的接收端口是否与所接收到的分组的接收端口不同。
(11)步骤S111
如果登记在广播表中的分组的接收端口与所接收到的分组的接收端口不同,则交换机20-1(OFS1)丢弃所接收到的分组。
(12)步骤S112
如果登记在广播表中的分组的接收端口与所接收到的分组的接收端口相同,则交换机20-1(OFS1)广播所接收到的分组。
如上所述,在开放流网络中,当交换机(OFS)连续接收到其流 条目没有被登记在流表中的相同流的分组,并且此外控制器(OFC)的处理性能低时,这导致了从交换机(OFS)到控制器(OFC)的流条目的查询消息(分组传入)的重复发送。
在本发明中,当交换机(OFS)连续地接收到相同流的分组时,仅对第一分组执行对流条目的查询消息(分组传入)的发送。因而,能够抑制控制器(OFC)上的负载。
而且,交换机(OFS)甚至广播其流条目仍没有被登记在流表中的分组。因而,能够在流条目的登记之前进行发送。
[第二示例性实施例]
下面对本发明的第二示例性实施例进行描述。
在本发明的第一示例性实施例中,当交换机(OFS)将流条目的查询消息(分组传入)发送到控制器(OFC)时,交换机(OFS)对所接收到的分组进行复制,并且生成镜像分组并将该镜像分组发送到控制器(OFC)。
在本发明的第二示例性实施例中,当交换机(OFS)将流条目的查询消息(分组传入)发送到控制器(OFC)时,允许交换机(OFS)将处于其原始状态的接收分组本身发送到控制器(OFC)。此时,控制器(OFC)执行下述处理:该处理用于对来自交换机(OFS)的、与用于流条目的查询消息(分组传入)的发送的分组相同的分组进行传送(返回)。
也就是说,在该示例性实施例中,交换机(OFS)不发送所接收到的分组的副本(镜像分组)而所接收到的分组本身,作为流条目的查询消息(分组传入)。
[第三示例性实施例]
下面对本发明的第三示例性实施例进行描述。
在本发明的第一示例性实施例中,在等待通过控制器(OFC)进行条目登记的状态时,交换机(OFS)广播所接收到的分组,并且生成用于广播分组的表(广播表)并将所接收到的分组登记在该表中,以确定先前是否已经接收到相同的分组,并且由此,防止广播分组循环。
在本发明的第三示例性实施例中,通过将生成树协议(STP)应用于广播分组的方法,甚至在开放流功能是有效的(支持开放流)的端口上也能够防止广播分组的循环。
也就是说,在该示例性实施例中,在不生成任何广播表的情况下,防止广播分组循环。
<示例性实施例之间的关系>
注意,可以通过组合来实现上述示例性实施例。
<本发明的特征>
在本发明中,控制器的特征在于具有代理功能,其中当需要花费长时间来执行流设置(flow setup)时,控制器广播从交换机所接收到的流,并且当两次或更多次地接收到相同流的分组时,控制器丢弃在第二次及之后的流。
此外,交换机的特征在于,当首先接收到其条目没有被登记在流条目中的流时,交换机将该流发送到控制器,并且当两次或更多次地接收到相同流的分组时,交换机不将在第二次及之后的流传送到控制器并且广播到相同的虚拟LAN标识符(VLAN ID)。
其结果是,本发明旨在相对于其流设置没有完成的流,通过减少 对控制器的流条目的查询消息(分组传入)并且降低控制器的负载来使开放流网络的系统稳定。
在本发明中,控制器具有代理功能,并且具有广播功能,其中,将没有准备用于登记流条目“分组传出”的消息但是已经接收到流条目的查询消息(分组传入)的镜像分组的流的源MAC地址和目的MAC地址与新接收到的流的源MAC地址和目的MAC地址进行比较,并且能够丢弃流条目的查询消息(分组传入)的镜像分组。
而且,交换机具有下述功能:如果相对应的条目没有被登记在流表中则将分组作为流条目的查询消息(分组传入)传送到控制器。当在将流条目的查询消息“分组传入”发送到控制器之后,接收与查询的分组相同的流的分组直至从控制器接收到用于登记流条目“分组传出”的消息时,交换机能够向与用于查询分组的接收端口相同VLAN的端口广播。而且,交换机具有当接收广播分组时能够以接收端口与流的组合将广播的分组存储在流表中的功能。
<补充附注>
能够如在以下补充附注中所注释的来描述上述示例性实施例的一部分或整个。然而,实际上,本发明并不局限于以下描述示例。
(补充附注1)
一种负载降低系统包括:
交换机;以及
控制器,该控制器被配置成将在定义了用于对作为流的分组进行统一控制的规则和动作的流条目登记在交换机的流表中,
其中,当接收到给定的分组中的一个时,如果与所接收到的给定分组相对应的流条目没有登记在流表中,则交换机向控制器查询与所接收到的给定分组相对应的流条目,并且交换机堆积所接收到的给定分组,并且交换机使用堆积的分组来控制具有与堆积的分组相同的报 头数据的分组中的一个的传送,直至与所接收到的给定分组相对应的流条目的登记。
(补充附注2)
根据补充附注1的负载降低系统,其中当接收分组直至与所接收到的给定分组相对应的流条目的登记时,交换机检查具有与所接收到的分组相同的报头数据的分组是否已经被堆积,并且如果具有与所接收到的分组相同的报头数据的分组被堆积,则交换机广播该堆积的分组并且新堆积该分组。
(补充附注3)
根据补充附注2的负载降低系统,其中如果具有与所接收到的分组相同的报头数据的分组没有被堆积,则交换机检查所接收到的分组是否是广播分组,并且如果所接收到的分组不是广播分组,则交换机向控制器查询与所接收到的分组相对应的流条目并且堆积所接收到的分组,并且如果所接收到的分组是广播分组,则交换机检查具有与所接收到的分组相同的报头数据的分组是否已经被登记在广播表中,并且如果具有与所接收到的分组相同的报头数据的分组仍然没有被登记在广播表中,则交换机将所接收到的分组登记在广播表中并且广播所接收到的分组。
(补充附注4)
根据补充附注3所述的负载降低系统,其中,如果具有与所接收到的分组相同的报头数据的分组已经被登记在广播表中,则交换机检查所接收到的分组的接收端口与已经登记在广播表中的分组的接收端口是否彼此不同,并且如果接收端口彼此不同,则交换机丢弃所接收到的分组,并且如果接收端口彼此相同,则交换机广播所接收到的分组。
(补充附注5)
根据补充附注1至4中的任何一个的负载降低系统,其中交换机将 通过对所接收到的分组进行复制所获得的镜像分组传送到控制器,并且查询与所接收到的分组相对应的流条目。
(补充附注6)
根据补充附注1至4中的任何一个的负载降低系统,其中交换机将所接收到的分组本身传送到控制器,并且查询与所接收到的分组相对应的流条目并且然后接收来自控制器的分组。
<注意>
如上所述,已经详细描述了本发明的示例性实施例。然而,实际上,本发明不限于上述示例性实施例。在不脱离本发明的范围的情况下的修改被包括在本发明中。
注意,本申请要求基于日本专利申请No.JP2011-220784的优先权,并且通过引用将其公开结合于此。
Claims (10)
1.一种负载降低系统包括:
交换机,所述交换机交换机被配置成基于流条目来执行对所接收到的分组的处理,所述流条目定义用于将分组作为流进行统一控制的规则和动作;以及
控制器,所述控制器被配置成对所述交换机设定所述流条目,
其中,当接收到给定分组时,如果没有设定与所接收到的给定分组相对应的流条目,则所述交换机执行对所述控制器查询与所接收到的给定分组相对应的流条目,堆积所接收到的给定分组,并且通过使用所堆积的分组来控制具有与所堆积的分组相同的报头数据的分组中的一个的传送,直至与所接收到的分组相对应的流条目被设定。
2.根据权利要求1所述的负载降低系统,其中,当接收分组直至所述流条目被设定时,所述交换机检查具有与所接收到的分组相同的报头数据的分组是否被堆积,并且当具有与所接收到的分组相同的报头数据的分组被堆积时,所述交换机广播所堆积的分组,并且新堆积所接收到的分组。
3.根据权利要求2所述的负载降低系统,其中,当具有与所接收到的分组相同的报头数据的分组还没有被堆积时,所述交换机检查所接收到的分组是否是所广播的分组,并且如果所接收到的分组不是所广播的分组,则所述交换机执行对所述控制器查询与所接收到的分组相对应的流条目,并且堆积所接收到的分组,并且如果所接收到的分组是所广播的分组,则所述交换机检查具有与所接收到的分组相同的报头数据的分组是否已经被设定为广播对象分组,并且如果具有与所接收到的分组相同的报头数据的分组还没有被设定为所述广播对象分组,则所述交换机将所接收到的分组设定为所述广播对象分组,并且广播所接收到的分组。
4.根据权利要求3所述的负载降低系统,其中,如果具有与所接收到的分组相同的报头数据的分组已经被设定为所述广播对象分组,则所述交换机检查所接收到的分组的接收端口与已经对所述广播对象分组所设定的接收端口是否彼此不同,并且当接收端口彼此不同时,所述交换机丢弃所接收到的分组,并且当接收端口彼此相同时,所述交换机广播所接收到的分组。
5.一种交换机包括:
用于从控制器接收流条目的装置,所述流条目定义用于将分组作为流进行统一控制的规则和动作;
用于当接收到分组时,如果与所接收到的分组相对应的流条目还没有被设定,则执行对所述控制器查询与所接收到的分组相对应的流条目的装置;
用于堆积所接收到的分组的装置;以及
用于通过使用所堆积的分组来控制具有与所堆积的分组相同的报头数据的分组的传送直至与所接收到的分组相对应的流条目的登记的装置。
6.根据权利要求5所述的交换机,进一步包括:
用于当接收分组直至所述流条目的登记时,检查具有与所接收到的分组相同的报头数据的分组是否已经被堆积的装置;
用于当具有与所接收到的分组相同的报头数据的分组被堆积时广播所堆积的分组的装置;以及
用于新堆积所述分组的装置。
7.根据权利要求6所述的交换机,进一步包括:
用于当具有与所接收到的分组相同的报头数据的分组仍然没有被堆积时检查所接收到的分组是否是所广播的分组的装置;
用于如果所接收到的分组不是所广播的分组,则执行对所述控制器查询与所接收到的分组相对应的流条目并且堆积所述接收分组的装置;
用于如果所接收到的分组是所广播的分组,则检查具有与所接收到的分组相同的报头数据的分组是否已经被登记为广播对象分组的装置;
用于如果具有与所接收到的分组相同的报头数据的分组还没有被设定为所述广播对象分组,则将所接收到的分组登记为所述广播对象分组的装置;以及
用于广播所接收到的分组的装置。
8.根据权利要求7所述的交换机,进一步包括:
用于如果具有与所接收到的分组相同的报头数据的分组已经被登记为所述广播对象分组,则检查所接收到的分组的接收端口与对所述广播对象分组所登记的接收端口是否彼此不同的装置;
用于当接收端口彼此不同时丢弃所接收到的分组的装置;以及
用于当接收端口彼此相同时广播所接收到的分组的装置。
9.一种负载降低方法,包括:
通过控制器接收流条目的登记,所述流条目定义用于将分组作为流进行统一控制的规则和动作;
当接收到分组时,如果与所接收到的分组相对应的流条目还没有被登记,则执行对所述控制器查询与所接收到的分组相对应的流条目;
堆积所接收到的分组;以及
通过使用所堆积的分组来控制具有与所堆积的分组相同的报头数据的分组的传送进行控制,直至与所接收到的分组相对应的流条目被登记。
10.一种存储程序的记录介质,所述程序用于使得交换机执行:
通过控制器接收流条目的登记,所述流条目定义用于将分组作为流进行统一控制的规则和动作;
当接收到分组时,如果与所接收到的分组相对应的流条目还没有被登记,则执行对所述控制器查询与所接收到的分组相对应的流条目;
堆积所接收到的分组;以及
通过使用所堆积的分组来控制具有与所堆积的分组相同的报头数据的分组的传送,直至与所接收到的分组相对应的流条目被登记。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011-220784 | 2011-10-05 | ||
JP2011220784 | 2011-10-05 | ||
PCT/JP2012/073756 WO2013051386A1 (ja) | 2011-10-05 | 2012-09-15 | 負荷低減システム、及び負荷低減方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103858394A true CN103858394A (zh) | 2014-06-11 |
CN103858394B CN103858394B (zh) | 2016-08-31 |
Family
ID=48043550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280049197.7A Expired - Fee Related CN103858394B (zh) | 2011-10-05 | 2012-09-15 | 负载降低系统和负载降低方法 |
Country Status (10)
Country | Link |
---|---|
US (1) | US9246815B2 (zh) |
EP (1) | EP2765742B1 (zh) |
JP (1) | JP5747993B2 (zh) |
KR (1) | KR101579014B1 (zh) |
CN (1) | CN103858394B (zh) |
BR (1) | BR112014007795A2 (zh) |
CA (1) | CA2851214A1 (zh) |
IN (1) | IN2014CN02437A (zh) |
RU (1) | RU2587677C2 (zh) |
WO (1) | WO2013051386A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2628094T3 (es) * | 2012-11-28 | 2017-08-01 | Nec Corporation | Dispositivo de conmutación, método y programa de gestión de configuración de VLAN |
JP6111974B2 (ja) * | 2013-10-22 | 2017-04-12 | 富士通株式会社 | 転送装置、制御装置、および、転送方法 |
WO2015141014A1 (en) * | 2014-03-18 | 2015-09-24 | Nec Corporation | Method of constructing software-defined pci express (pci-e) switch |
WO2015166979A1 (ja) | 2014-05-01 | 2015-11-05 | 日本電気株式会社 | 通信装置、制御装置、通信システム、受信パケットの処理方法、通信装置の制御方法及びプログラム |
CN106464588A (zh) | 2014-05-21 | 2017-02-22 | 日本电气株式会社 | 通信设备、控制设备、通信系统和传输控制方法 |
US9338694B2 (en) * | 2014-06-16 | 2016-05-10 | Freescale Semiconductor, Inc. | Wireless communication system with SIPTO continuity |
CN105684382A (zh) * | 2014-08-11 | 2016-06-15 | 华为技术有限公司 | 报文的控制方法、交换机及控制器 |
JP6347177B2 (ja) * | 2014-08-22 | 2018-06-27 | 富士通株式会社 | 転送装置、制御装置、および、通信方法 |
KR101866377B1 (ko) * | 2016-05-16 | 2018-06-11 | 인하대학교 산학협력단 | Sdn상의 멀티캐스트 패킷 손실 위치 탐지 방법 |
CN108429652A (zh) * | 2017-02-14 | 2018-08-21 | 中兴通讯股份有限公司 | 基于sdn的远端流镜像控制方法、实现方法及相关设备 |
CN107294865B (zh) * | 2017-07-31 | 2019-12-06 | 华中科技大学 | 一种软件交换机的负载均衡方法及软件交换机 |
US10637677B2 (en) * | 2017-12-07 | 2020-04-28 | California Eastern Laboratories, Inc. | Broadcast transmission control apparatuses, systems, and methods |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1606291A (zh) * | 2003-10-06 | 2005-04-13 | 株式会社日立制作所 | 网络处理加速器 |
JP2011166700A (ja) * | 2010-02-15 | 2011-08-25 | Nec Corp | ネットワークシステム、及びパケット投機転送方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI96078C (fi) * | 1994-05-09 | 1996-04-25 | Nokia Telecommunications Oy | Menetelmä yksikönvaihdon suorittamiseksi pakettimuotoista dataa välittävässä tietoliikennesolmussa |
JP2002516042A (ja) | 1996-01-31 | 2002-05-28 | イプシロン ネットワークス インコーポレイテッド | 伝送ネットワークにおいてパケットの経路指定とスイッチングとの間をダイナミックにシフトする改良された方法及び装置 |
JP2000295274A (ja) * | 1999-04-05 | 2000-10-20 | Nec Corp | パケット交換装置 |
JP3965283B2 (ja) * | 2001-07-02 | 2007-08-29 | 株式会社日立製作所 | 複数種類のパケット制御機能を備えたパケット転送装置 |
JP2005277804A (ja) * | 2004-03-25 | 2005-10-06 | Hitachi Ltd | 情報中継装置 |
JP4483535B2 (ja) * | 2004-11-05 | 2010-06-16 | 株式会社日立製作所 | ネットワーク装置 |
CA2590686C (en) * | 2004-12-17 | 2013-05-21 | Onechip Photonics Inc. | Compact load balanced switching structures for packet based communication networks |
JP2006180162A (ja) * | 2004-12-22 | 2006-07-06 | Nec Corp | パケット交換装置およびパケット交換方法 |
US8218561B2 (en) * | 2009-04-27 | 2012-07-10 | Cisco Technology, Inc. | Flow redirection employing state information |
JP5621781B2 (ja) * | 2009-10-06 | 2014-11-12 | 日本電気株式会社 | ネットワークシステムとコントローラと方法とプログラム |
WO2011083670A1 (ja) * | 2010-01-07 | 2011-07-14 | 日本電気株式会社 | パケット整列装置、受信装置、及びパケット整列方法 |
JP5413737B2 (ja) | 2010-02-15 | 2014-02-12 | 日本電気株式会社 | ネットワークシステム、及び経路情報更新方法 |
EP2544417B1 (en) | 2010-03-05 | 2014-11-12 | Nec Corporation | Communication system, path control apparatus, packet forwarding apparatus and path control method |
JP5593112B2 (ja) | 2010-04-08 | 2014-09-17 | 株式会社日立製作所 | 原子炉手動操作装置 |
US9071529B2 (en) * | 2012-10-08 | 2015-06-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for accelerating forwarding in software-defined networks |
-
2012
- 2012-09-15 KR KR1020147009092A patent/KR101579014B1/ko not_active IP Right Cessation
- 2012-09-15 US US14/349,031 patent/US9246815B2/en active Active
- 2012-09-15 EP EP12838143.1A patent/EP2765742B1/en not_active Not-in-force
- 2012-09-15 RU RU2014117619/07A patent/RU2587677C2/ru not_active IP Right Cessation
- 2012-09-15 WO PCT/JP2012/073756 patent/WO2013051386A1/ja active Application Filing
- 2012-09-15 CA CA2851214A patent/CA2851214A1/en not_active Abandoned
- 2012-09-15 BR BR112014007795A patent/BR112014007795A2/pt not_active IP Right Cessation
- 2012-09-15 CN CN201280049197.7A patent/CN103858394B/zh not_active Expired - Fee Related
- 2012-09-15 JP JP2013537460A patent/JP5747993B2/ja not_active Expired - Fee Related
-
2014
- 2014-04-01 IN IN2437CHN2014 patent/IN2014CN02437A/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1606291A (zh) * | 2003-10-06 | 2005-04-13 | 株式会社日立制作所 | 网络处理加速器 |
JP2011166700A (ja) * | 2010-02-15 | 2011-08-25 | Nec Corp | ネットワークシステム、及びパケット投機転送方法 |
Non-Patent Citations (2)
Title |
---|
OPEN NETWORKING FOUNDATION: "OpenFlow Switch Specification Version 1.1.0 Implemented", 《OPENFLOW》, 28 February 2011 (2011-02-28) * |
OPENFLOW WIKI: "HOTITutorial2010", 《OPENFLOW TUTORIAL》, 31 December 2010 (2010-12-31) * |
Also Published As
Publication number | Publication date |
---|---|
KR20140059846A (ko) | 2014-05-16 |
CA2851214A1 (en) | 2013-04-11 |
KR101579014B1 (ko) | 2016-01-05 |
WO2013051386A1 (ja) | 2013-04-11 |
RU2014117619A (ru) | 2015-11-10 |
RU2587677C2 (ru) | 2016-06-20 |
US20140247725A1 (en) | 2014-09-04 |
EP2765742A1 (en) | 2014-08-13 |
EP2765742B1 (en) | 2016-07-13 |
EP2765742A4 (en) | 2015-05-20 |
CN103858394B (zh) | 2016-08-31 |
JPWO2013051386A1 (ja) | 2015-03-30 |
IN2014CN02437A (zh) | 2015-08-07 |
BR112014007795A2 (pt) | 2017-04-18 |
JP5747993B2 (ja) | 2015-07-15 |
US9246815B2 (en) | 2016-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103858394A (zh) | 负载降低系统和负载降低方法 | |
EP2696537B1 (en) | Network system, switch, and connection terminal detection method | |
CN105262683B (zh) | 网络系统和路由控制方法 | |
JP5610247B2 (ja) | ネットワークシステム、及びポリシー経路設定方法 | |
US9960998B2 (en) | Forwarding packet in stacking system | |
CN105830406A (zh) | 用于支持软件定义网络中的灵活查找关键字的方法、设备和系统 | |
EP2974147B1 (en) | Loop-free hybrid network | |
CN104081731A (zh) | 网络系统以及管理拓扑的方法 | |
KR101494565B1 (ko) | 네트워크 시스템, 패킷 처리 방법 및 기억 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160831 Termination date: 20180915 |