网络系统和通信业务控制方法

文档序号:7885779阅读:165来源:国知局
专利名称:网络系统和通信业务控制方法
技术领域
本发明涉及网络系统,且更具体地涉及控制在兼容开放流(OpenFl0W)的设备中弓I起的业务风暴的网络系统。
背景技术
作为网络通信中的路由控制技术之一,研究了使用开放流(OpenFlow)技术作为发射机的控制协议的路由控制技术。将在非专利文献I和2中描述开放流技术的细节。将基于开放流技术来执行路由控制的网络称为开放流网络。在开放流网络中,诸如0FC(开放流控制器)之类的控制器通过操作诸如OFS(开放流交换机)之类的交换机的流表,来控制每个交换机的行为。控制器和交换机通过安全信道连接,该安全信道用于控制器通过使用遵循开放流协议的控制消息来控制交换机。开放流网络中的交换机形成了开放流网络,并且是在控制器控制下的边缘交换机和核心交换机。将开放流网络中从由输入侧边缘交换机接收分组(通信数据)到从输出侧边缘交换机的发送分组的针对分组的一系列步骤称为流。流表是注册了流表项的表,流表项定义了要对遵循预定规则(匹配条件)的分组群组(分组序列)执行的预定动作(处理内容)。基于以下任一或全部项的组合来定义和标识流表项的规则:在分组的每个协议层的首部区域中包含的目的地地址、源地址、目的地端口、以及源端口。应当注意到:上述地址包含MAC地址(媒体访问控制地址)和IP地址(网际协议地址)。此外,除了上述之外,可以将入口端口的数据用作流表项的规则。流表项的动作示出了诸如“向特定端口输出”、“丢弃”、以及“重写首部”之类的操作。例如,如果在流表项的动作中示出了输出端口的标识数据(输出端口号等),交换机向与标识数据相对应的端口输出分组,如果未示出输出端口的标识数据,则交换机丢弃或抛弃该分组。或者如果在流表项的动作中示出了首部数据,则交换机基于首部数据来重写分组的首部。开放流网络中的交换机对遵循在流表上注册的流表项的规则的分组群组执行流表项的动作。一般而言,在如网状(网格或网状)类型拓扑之类的网络中,存在路由配置成环路的可能性。例如,如图1所示,如果在网状类型拓扑的网络中错误地执行路由控制,在通过广播来发送分组(或帧)形成了环路,并且环路更多增加,使得频段受到压制,对通信产生了影响。应当注意到:帧是OSI参考模型的数据链路层中的通信数据的发送单位。分组是OSI参考模型的网络层中的通信数据的发送单位。作为解决上述问题的传统技术,以下技术是已知的:当广播帧达到阈值时,或对应端口关闭时,丢弃超过阈值的帧。然而,当对开放流网络应用上述技术时,存在以下可能性:丢弃原先要传送的帧或关闭端口,使得巾贞未被传送。作为相关技术,在专利文献I (JP 2006-352263A)中公开了通信控制方法和使用该方法的通信设备。在该相关技术中,一种恢复由通信系统(在与子网中的中继交换机相连的多个端主机之间发送和接收数据)中的中继交换机的L2层中的错误连接引起的分组环路的通信故障的通信控制方法包括:使用除了要进行通信的一个端主机的源MAC地址之外的MAC地址来竞争式发送分组,停止通过上述的分组环路,并通过使用目的地端主机的MAC地址作为目的地MAC地址来发送分组数据。此外,在专利文献2(JP H11-112544A)中公开了 LAN(局域网)交换机。在该相关技术中,在交换机单元中具有虚拟LAN (VLAN)功能的LAN交换机具有VLAN组播帧计数部和接收帧丢弃部。VLAN组播帧计数部可以在存在VLAN广播组播计数器时设置VLAN的VLAN限制符标志,在该VLAN广播组播计数器中,每个单位时间的值是预定值或更大。当接收帧的目的地地址是广播地址或组播地址,且接收帧对应于已设置了 VLAN限制符标志的VLAN时,接收帧丢弃部丢弃接收帧。引用列表[专利文献1]JP 2006-352263A[专利文献2]JP H11_112544A[非专利文献 I] “The OpenFlow switch Consortium”, [online], (URL:http://www.0penflowswitch.0rg/)[非专利文献 2] “The OpenFlow switch Specification, Versionl.0.0,,,[online]December 31,2009, (URL:http://www.0penflowswitch.0rg/documents/openflow-spec-vl.0.0.pdf)

发明内容
在类似于开放流(OpenFlow)网络的具有高自由度的路由环境中,存在构建网络的人员错误地设置路由的可能性。由于基于各种要素的组合来选择每个流的路由,容易通过开放流网络中的设置而形成环路。因此,存在通过路由的错误设置而无意中形成环路的可能性。在具有环路的开放流网络中,当发生业务风暴(其中,广播风暴、组播风暴、以及单播风暴)时,存在以下可能性:如果尝试使用传统技术的方案,则丢弃了原来不应当丢弃的分组(或帧),或者该丢弃通过端口本身的关闭而影响了另一个通信。本发明的目的是提供一种网络系统,其中,当业务风暴已发生在开放流网络中时,以流为单位丢弃原因的分组,以及避免对分组不加选择的丢弃以及对端口本身的关闭。根据本发明的网络系统包括:交换机,被配置为基于在其中的流表上注册的表项来传送分组;以及控制器,被配置为当作为对所述交换机的分组采样的结果确定所采样分组是业务风暴的原因时,向所述交换机设置丢弃表项,所述丢弃表项定义指定所述分组的匹配条件和丢弃所述分组的动作。当所述业务风暴已发生时,所述交换机基于所述丢弃表项以流为单位丢弃作为所述原因的所述分组。在通信业务控制方法中,基于在其中的流表上注册的表项来传送分组。此外,当作为对所述交换机的分组采样的结果在控制器中确定所采样分组是业务风暴的原因时,向所述交换机设置指定所述分组的匹配条件和丢弃所述分组的动作。此外,当所述业务风暴已发生时,基于所述丢弃表项以流为单位丢弃作为所述原因的所述分组。根据本发明的程序是使得计算机执行作为上述通信业务控制方法中的控制器的处理的程序。应当注意到:根据本发明的程序可以存储在存储单元和存储介质中。通过维持端口打开(连接条件),即使在环路环境下,分组也不受到开放流控制中的环路的影响,且当正常传送的分组存在时,环路不影响这些分组。


图1是示出了传统网络系统中的问题的图;图2是示出了根据本发明的网络系统的配置示例的图;图3是示出了根据本发明的网络系统的示例实施例的图;图4A是示出了根据本发明的网络系统的操作的流程图;图4B是示出了根据本发明的网络系统的操作的流程图;以及图5是示出了根据本发明的控制器的配置示例的图。
具体实施例方式[示例实施例]下文中,将参照附图来描述本发明的实施例。(系统配置)如图2所示,根据本发明的网络系统包含:交换机(SW)lO(lO-1,i = 1-η:η是交换机数目)、控制器20和终端30。交换机10(10_i,i = 1-η)和控制器20形成了开放流网络。交换机10(10_i,i =1-η)是开放流网络中的节点。交换机10(10-1,i = l-η)中具有流表,且根据在流表上注册的表项来传送分组。此外,交换机10 (10-1,i = 1-η)定期向控制器20通知传送分组的统计数据。交换机10 (10-1,i = 1-η)以协议(TCP、UDP、ICMP等)为单位或以动作为单位来计算每个端口的统计数据,并将其保留为统计数据。在控制器20和交换机10 (10-1,i =l-η)之间的消息发送和接收的统计是该统计数据。在控制器20和交换机10 (10-1,i =l-η)之间,通过使用在开放流协议中规定的消息来执行通信。下文中,将开放流协议中规定的消息称为开放流协议消息。此外,当在开放流(OpenFlow)网络中业务风暴(广播风暴、组播风暴和单播风暴中任一个)发生时,交换机10(10_i,i = l-η)以流为单位丢弃或抛弃作为原因的分组(或帧),且不执行对分组的不加选择的丢弃和对端口的关闭。应当注意到:单播风暴是与流表中未注册的表项相对应的分组的风暴。此处,将交换机10-1 (Sffl)、交换机10-2 (SW2)、交换机10-3 (SW3)和交换机10-4 (SM)示出为交换机 10 (10-1,i = 1-4)。控制器20定期从控制下的每个交换机10 (10-1,i = 1-η)获取传送分组的统计数据,并从统计数据中检测短时间内的业务增长。此外,当检测到业务增长时,控制器20开始风暴检测模式。控制器20在风暴检测模式下提取在预定时段内从交换机10随机传送的分组。此处,将随机提取的分组称为采样分组。即,控制器20在风暴检测模式下执行分组采样。此外,控制器20根据该采样分组确定向交换机10转发的大量分组是否与业务风
暴相关。此外,当分组在业务风暴中时,控制器20通过“FlowMod”消息针对交换机10的端口设置表项,在该表项中,定义用于根据所分析的采样分组的数据来指定引起风暴的分组的匹配条件以及用于丢弃该分组的动作。应当注意到:“FlowMod”消息是开放流(OpenFlow)协议消息之一,且是来自控制器的用于在交换机的流表上注册和改变表项的消息。即,控制器20通过发送针对交换机20的“FlowMod”消息来注册和改变在交换机20的流表上的表项。终端30与交换机10(10-1,i = l-η)中任一个相连,并发送在开放流网络中引起业务风暴的ARP(地址解析协议)分组。即,终端30向开放流网络执行分组的泛洪等。(示例硬件)作为交换机10(10-1,i = l-η)的示例,假定开放流交换机。作为开放流交换机的示例,考虑网络交换机、多层交换机等。针对要支持的OSI参考模型的每一层精密地对多层交换机进行分类。作为主要分类,存在在网络层(第三层)上读取数据的层3交换机、在传输层(第四层)上读取数据的层4交换机、在应用层(第七层)上读取数据的层7交换机(应用交换机)。应当注意到:在开放流网络中,诸如一般路由器和交换集线器之类的中继单元可以用作开放流交换机。此外,交换机10(10-1,i = l-η)可以是在物理机器上构造的虚拟交换机。此外,作为交换机10(10-1,i = l-η)的替代示例,考虑路由器、代理、网关、防火墙、负载均衡器(负载分布设备)、频带控制单元(分组整形器)、安全监视和控制(SCADA:管理控制和数据获取)、网守、基站、接入点(AP)、电信卫星(CS)和具有多个通信端口的计算机。作为控制器20的示例,假定诸如PC(个人计算机)、电器、工作站、大型机、以及超级计算机之类的计算机。此外,控制器20可以是在物理机器上构造的虚拟机(VM)。作为终端30的示例,考虑上述计算机、以及便携式电话、汽车导航系统、携带型游戏机、家用游戏机、工具包(电气和电子设备)、交互式TV、数字调谐器、数字记录仪、信息家庭电子设备(信息家庭电器)、OA (办公自动化)设备等。可以将终端30加载到移动交通工具上,如汽车、轮船和飞机。作为每个交换机10(10_i,i = 1-η)的示例,假定连接控制器20和终端30以及LAN(局域网)的网络。作为另一示例,考虑互联网、无线LAN、WAN(广域网)、骨干网(Backbone)、社区天线电视系统(CATV)电路、固定电话网络、携带电话网络、WiMAX(IEEE802.16a)、3G(第三代)、租用电路、IrDA (红外数据协会)、Bluetooth (注册商标)、串行通信电路、数据总线等。尽管未示出,由基于程序来操作以执行给定处理的处理器、存储各种程序和数据的存储器、以及用于通信的接口(Ι/F)来实现每个交换机10 (10-1,i = l-η)、控制器20和终端30。作为上述处理器的示例,考虑具有专用功能的CPU(中央处理单元)、微处理器(微处理器)、微控制器或半导体集成电路(集成电路(IC))等。
作为上述存储器的示例,考虑半导体存储器设备(如RAM(随机存取存储器)、ROM(只读存储器)、EEPROM(电可擦除和可编程只读存储器)和闪存)、辅助存储器单元(如HDD (硬盘驱动器)和SSD (固态驱动器))、可拆卸式盘(如DVD (数字多功能盘))、存储介质(媒体)(如,SD存储器卡(安全数字存储器卡))等。或者,可以使用采用以下技术的存储单元:DAS(直接附加存储)、FC-SAN(光纤信道-存储区域网络)、NAS(网络附加存储)、IP-SAN(IP-存储区域网络)等。作为上述用于通信的接口的示例,考虑基板(主板和I/O板)和半导体集成电路(如与网络通信相对应的芯片)、网络适配器(如NIC(网络接口卡))和通信单元(如,类似的扩展卡和天线)、以及通信端口(如,连接端(连接器))。然而,本发明不限于这些示例。(实现示例)将以下网络配置描述为如图3所示的示例:其中,由交换机10-1 (SWl)、交换机10-2 (SW2)和交换机10-3 (SW3)配置成环路。如图3所示,在该网络配置中,终端30与交换机10_4(SW4)相连,且交换机10-4(SW4)与交换机 10-2(SW2)相连。此外,在该网络配置中,控制器20通过安全信道连接到每一个交换机10(10_i,i=1-η),以控制每一个交换机10。在该条件下,终端30发送引起业务风暴的ARP分组。(基本操作)参见图4Α和4Β,将描述根据本发明的网络系统的每一个单元的操作。(I)步骤 SlOl控制器20以恒定间隔(定期)获取交换机10的每个端口的统计数据,作为每一个控制目标。例如,控制器20可以通过向每一个受控系统的交换机10发送预定的开放流协议消息,来获取交换机10的统计数据。除了整个交换机10的统计数据之外,控制器20还可以通过统计数据请求消息来选择获取所选范围的统计数据。交换机10响应于来自控制器20的统计数据请求消息,向控制器20通知统计数据。作为统计数据的元素,考虑统计数据的标识数据(获取统计数据的时区等)、交换机标识数据(IP地址等)、端口标识数据(端口号等)、匹配条件(分组标识数据)、分组数目(分组输出流/输入流)、字节数(数据大小)、发送和接收的分组的协议、执行的动作等等。可以在匹配条件中包含交换机标识数据和端口标识数据。然而实际上,本发明不限于这些示例。(2)步骤 S102当业务风暴发生在控制目标的交换机10中时,控制器20根据发生风暴的交换机的端口的统计数据,确定每次(每恒定时段/单位时间)传送分组计数的差是否超过设置阈值以及分组计数是否单调线性增加。此处,控制器20对分组数目进行计数,并确定在当前分组数目和之前分组数目之间的差是否增加超过设置阈值。(3)步骤 S103当当前分组数目和之前分组数目之间的差增加超过设置阈值时,控制器20确定从之前设置的风暴检测模式的结束开始是否经过了预定时间(例如,I小时)。(4)步骤 S104
当从之前设置的风暴检测模式的结束时间开始经过了预定时间时,控制器20开始风暴检测模式。(5)步骤 S105控制器20通过请求交换机10向控制器20传送随机选择的分组的拷贝(采样分组)来执行分组采样。控制器20通过该分组采样以高概率来检测ARP分组。(6)步骤 S106控制器20根据分组采样的结果来确定广播风暴、组播风暴、或单播风暴。此处,控制器20根据分组采样的结果来指定由于ARP分组的广播风暴在业务中引起了风暴。(7)步骤 S107控制器20基于该ARP分组的信息,“抛弃处理(丢弃动作)”通过“FlowMod”消息向对应交换机10的对应端口设置定义的表项,作为针对该ARP分组的给定处理(动作)。(8)步骤 S108响应于该“FlowMod”消息的内容,交换机10在流表上注册定义了 “丢弃动作”的表项,作为针对该ARP分组的预定处理(动作),并且丢弃与表项的匹配条件(规则)相对应的ARP分组而不将其传送。因此,仅消除了 ARP分组,且网络从广播风暴中恢复。(9)步骤 S109从向交换机10发送“FlowMod”消息开始,控制器20对交换机10的端口监视预定时段。(10)步骤 S110控制器20确定每个预定时间的传送分组的数目或交换机10中的队列中的传输分组的数目是否低于设置阈值。(11)步骤 SI 11当条件不是广播风暴、组播风暴或单播风暴中的任一个,或当交换机10的队列中的传送分组的数目或每个预定时间的传送分组的数目大于设置阈值时,控制器20向预定目的地警报(Alarm)通知警报。此外,控制器20通过交换机10执行路由控制,以限制分组传送。例如,控制器20设置通过另一交换机10的路由,同时避免该交换机10到达该路由上的交换机10,并限制通过交换机10的分组传送。(12)步骤 SI 12当交换机10的队列中的传送分组的数目或每个预定时间的传送分组的数目低于设置阈值时,控制器20确定已消除业务风暴,并结束风暴检测模式。应当注意到:当控制器20确定已消除业务风暴以结束风暴检测模式时,可以从交换机10的流表中删除通过“FlowMod”消息(指定了 “丢弃动作”的“FlowMod”消息)来注册的表项。由于不限于广播的业务的增加,本发明在除了上述网络配置之外的环路配置中或在网络负载中(组播/单播风暴)也是有效的。此外,为了通过“FlowMod”消息来操作风暴目标分组,动作的内容不限于丢弃,且网络的管理者可以选择动作。例如,可以在“FlowMod”消息中定义将风暴目标分组传送到特定交换机的内容。
(控制器的配置)参见图5,将描述控制器20的配置的细节。控制器20具有:统计数据获取部21、分组采样开始部22、分组采样结束部23、风暴确定部24和风暴感测部25。统计数据获取部21从交换机10定期获取传输分组的统计数据。当根据统计数据检测到传送分组的增量超过了设置阈值时,如果从之前分组采样的结束开始经过了预定时间,则分组采样开始部22开始对交换机10的分组采样。分组采样结束部23结束对交换机10的分组采样,其中针对该交换机10,根据统计数据检测到传送分组的增量低于设置阈值。风暴确定部24根据分组采样结果确定条件是否是广播风暴、组播风暴和单播风
暴之一O当条件是广播风暴、组播风暴、或单播风暴中任一个时,风暴检测部25确定所采样分组是业务风暴的原因。(总结)如上所述,当业务风暴发生在开放流网络中时,本发明以流为单位丢弃原因分组,且不执行不加区分的分组丢弃以及端口本身的关闭。控制器根据在控制下的各个交换机定期获取的统计数据,检测短时内的业务增力口。当检测到业务的增加时,控制器开始风暴检测模式。在风暴检测模式中,在预定时段内,从交换机随机提取分组(采样分组)。控制器根据该采样分组确定交换机传送的大量分组是广播风暴、组播风暴、或单播风暴。当分组是业务风暴时,控制器通过“FlowMod”消息,根据交换机的端口的所分析的采样分组的信息,设置表项,在该表项中,定义了引起风暴的分组数据和丢弃分组的动作。在本发明中,通过维护端口的打开状态(连接条件),即使在环路环境中,通过开放流控制也能在不形成环路的情况下对正常传输的分组不产生影响。因此,在不失去开放流属性的情况下,可以通过利用开放流属性来丢弃作为原因的分组。此外,当实现本发明时,不存在要添加的设备,且可以在现有开放流环境执行本发明。(补充注释)可以将上述示例实施例的一部分或全部描述为以下补充注释。然而实际上,本发明不限于下述注释。(补充注释I)一种控制器,包括:用于监视交换机并对所述交换机执行分组采样的部分,所述交换机基于在流表上注册的表项来传输分组;以及用于当作为对所述交换机的分组采样的结果确定所采样分组是业务风暴的原因时,向所述交换机设置丢弃表项,并当业务风暴发生在所述交换机上时,基于所述丢弃表项来进行控制,以流为单位丢弃原因分组的部分,所述丢弃表项中定义指定所述分组的匹配条件和丢弃所述分组的动作。已详细描述了本发明的示例实施例,但是实际上,本发明不限于上述示例实施例,且在本发明中包含未脱离本发明的范围的修改。应当注意:本申请要求基于日本专利申请2010-242248的优先权,且其公开内容以引用的方式并入本文中。
权利要求
1.一种网络系统,包括: 交换机,被配置为基于在其中的流表上注册的表项来传送分组;以及 控制器,被配置为当作为对所述交换机的分组采样的结果确定所采样分组是业务风暴的原因时,向所述交换机设置丢弃表项,所述丢弃表项定义指定所述分组的匹配条件和丢弃所述分组的动作, 其中,当所述业务风暴已发生时,所述交换机基于所述丢弃表项以流为单位丢弃作为所述原因的所述分组。
2.根据权利要求1所述的网络系统,其中,所述控制器包括: 用于从所述交换机定期获取传送分组的统计数据的装置; 用于当根据所述统计数据检测到所述传送分组的增量超过设置阈值时,如果从上一次分组采样的结束起经过了预定时间,则开始对所述交换机的所述分组采样的装置;以及 用于当根据所述统计数据检测到所述传送分组的所述增量下降到所述设置阈值之下时,结束对所述交换机的所述分组采样的装置。
3.根据权利要求1或2所述的网络系统,其中,所述控制器包括: 用于根据所述分组采样的所述结果来确定网络条件处于广播风暴、组播风暴、或单播风暴中任一项的装置;以及 用于在广播风暴、组播风暴、或单播风暴中任一项的情况下确定所采样分组是业务风暴的原因的装置。
4.一种在根据权利要求1至3中任一项所述的网络系统中使用的控制器。
5.一种通信业务控制方法,包括: 由交换机基于在其中的流表上注册的表项来传送分组; 当作为对所述交换机的分组采样的结果确定所采样分组是业务风暴的原因时,由控制器向所述交换机设置丢弃表项,所述丢弃表项定义指定所述分组的匹配条件和丢弃所述分组的动作;以及 当所述业务风暴已发生时,由所述交换机基于所述丢弃表项以流为单位丢弃作为所述原因的所述分组。
6.根据权利要求5所述的通信业务控制方法,还包括: 由所述控制器从所述交换机定期获取传送分组的统计数据; 当根据所述统计数据检测到所述传送分组的增量超过设置阈值时,如果从上一次分组采样的结束起经过了预定时间,则在所述控制器中开始对所述交换机的所述分组采样;以及 当根据所述统计数据检测到所述传送分组的所述增量下降到所述设置阈值之下时,在所述控制器中结束对所述交换机的所述分组采样。
7.根据权利要求5或6所述的通信业务控制方法,还包括: 根据所述分组采样的结果,在所述控制器中确定网络条件处于广播风暴、组播风暴、或单播风暴中任一项;以及 在广播风暴、组播风暴、或单播风暴中任一项的情况下,在所述控制器中确定所采样分组是业务风暴的原因。
8.一种存储程序的存储介质,所述程序用于使得计算机执行根据权利要求5至7中任一项所述的 通信业务控制方法中的控制器的处理。
全文摘要
当业务风暴已发生在开放流网络中时,在不执行对帧的不加选择的丢弃和对端口的关闭的情况下,以流为单位丢弃原因的帧。具体地,控制器根据从在其控制下的每个交换机定期获取的统计数据,检测在短时间内业务的增加。当检测到时控制器开始风暴检测模式。在风暴检测模式下,在预定时段内,从交换机随机提取分组作为采样分组。控制器基于采样分组,确定已发生了广播风暴、组播风暴和单播风暴中的哪一个。当其中任意一个发生时,控制器确定业务风暴已发生。当业务风暴已发生时,控制器通过使用“FlowMod”消息,基于所分析的采样分组的数据,向交换机的端口设置表项,该表项定义表明作为风暴原因的分组的规则(匹配条件)和写入丢弃分组的动作。
文档编号H04L12/823GK103181128SQ201180050969
公开日2013年6月26日 申请日期2011年9月12日 优先权日2010年10月28日
发明者佐藤志穗美 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1