CN105745878B - 网络控制设备、网络控制方法以及存储介质 - Google Patents
网络控制设备、网络控制方法以及存储介质 Download PDFInfo
- Publication number
- CN105745878B CN105745878B CN201480063621.2A CN201480063621A CN105745878B CN 105745878 B CN105745878 B CN 105745878B CN 201480063621 A CN201480063621 A CN 201480063621A CN 105745878 B CN105745878 B CN 105745878B
- Authority
- CN
- China
- Prior art keywords
- information
- switch device
- network
- interchanger
- unit
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种网络控制设备包括:网络数据库以及交换机控制器。网络数据库存储表示网络的拓扑信息以及表示网络中的数据转发规则的网络流信息。交换机控制器通过将网络中所包括的多个交换机设备当作节点来生成拓扑信息并且将所生成的拓扑信息存储在网络数据库中,基于网络数据库中所存储的网络流信息来生成定义多个交换机设备中每一个的动作的交换机流信息,并且将交换机流信息设定到多个交换机设备中的对应一个。
Description
技术领域
本发明涉及一种网络控制设备、一种网络控制方法以及一种网络控制程序。
背景技术
近年来已提出一种称作开放流的技术(参见NPL 1和NPL 2)。
开放流将通信视为端到端流并且在每流基础上执行路由控制、故障恢复、负荷平衡以及优化。开放流交换机(在NPL 2中定义其规格)包括用于与开放流控制器进行通信的安全信道,并且根据流表运行,以由开放流控制器指令酌情添加或重写。
流表包含关于每个流的与分组报头相比较的匹配条件(Header Field:报头字段)、流统计信息(Counter:计数器)以及定义具体处理的动作(Action:动作)的一组定义(参见NPL 2中的第三节“Flow Table(流表)”)。
在接收到分组后,开放流交换机在流表中搜索具有匹配所接收分组的报头信息的匹配条件的流条目(参见NPL 2中的第3.1节“Header Fields(报头字段)”以及第5.2.3节“Flow Match Structures(流匹配结构)”。当开放流交换机在搜索表之后找到匹配所接收分组的任何流条目时,开放流交换机更新流统计信息并且对所接收分组执行在该流条目的动作字段中所写的动作。当开放流交换机在搜索表之后没有找到匹配所接收分组的流条目时,开放流交换机将对于设置流条目的请求(换言之,对于发送控制信息以便处理所接收分组的请求)经由安全信道传送至开放流控制器。这样的请求消息被称作分组_进入消息。然后,在从开放流控制器接收到定义具体处理的流条目之后,开放流交换机更新流表。通过这种方式,开放流交换机使用流表中所存储的流条目作为控制信息来转发分组。
诸如开放流等中央控制网络在每流的基础上允许细粒度控制。然而在另一方面,还对这样的网络施加资源限制,诸如限制交换机设备能够处理的流表数目。为处理大型流,这种资源限制可能存在问题。例如,在NPL 3和NPL 4中描述了用于优化交换机设备对资源利用的技术。NPL 3和NPL 4分别提出一种用于供交换机设备高效使用资源的技术等,借此通过在网络边缘交换机处重写而在核心网络上转发报头以便为各个流嵌入路径信息,同时在核心网络中设置能够由现有流共享的公共流条目。
根据应用环境,将采用开放流的系统上的每个应用开发和实施成并入这样的优化技术。在这种情况下,应用将被修改,以便使用任何新兴的优化技术。
NPL 5描述了将应用与流设置单元(开放流控制器)分开以使二者可独立交换,这是通过引入理论网络模型以及表达网络模型中的数据转发规则的网络流表示并且通过对应用编程以便操作这样的模型。在NPL 5中所述的技术能够抑制开发工时的增加。
【引用列表】
【非专利文献】
【NPL 1】:Nick McKeown等人的“OpenFlow:Enabling Innovation in CampusNetworks(开放流:实现校园网的创新)”,【在线】,2008年3月14日,【于2013年9月5日检索】因特网<URL:http://www.openflow.org/documents/openflow-wp-latest.pdf>
【NPL 2】:“OpenFlow:Switch Specification(开放流:交换机规格)第1.0.0.版(线路协议0x01)”,【在线】,2009年12月31日,【于2013年9月5日检索】因特网<URL:http://www.openflow.org/documents/openflow-spec-vl.0.0.pdf>
【NPL 3】:Yasunobu Chiba、Yusuke Shinohara和Hideyuki Shimonishi的“SourceFlow:Handling Millions of Flows on Flow-based节点s(源流:在基于流的节点上处理数百万计的流)”,ACM SIGCOMM计算机通信评论,第40卷,第4期,第465-466页,2010年10月。
【NPL 4】:Yuta Ashida、Toshio Koide、Yasunobu Chiba和Hideyuki Shimonishi的“A communication load reduction method on Source Flow based large-scaleOpenFlow Networks(在基于源流的大型开放流网络上减低通信负荷的方法)”,电子、信息和通信工程研究所,IEICE技术报告,网络系统110(448),第341-346页,2011年2月。
【NPL 5】Toshio Koide、Yuta Ashida和Hideyuki Shimonishi的“A study onnetwork abstraction model in SDN control platform and its evaluation”,电子、信息和通信工程研究所,IEICE技术报告,第113卷,第7期,CQ2013-8,第41-46页,2013年4月
发明内容
【技术问题】
如上所述,使用NPL 5中所述的技术能够抑制开发工时的增加。然而,网络流表示表达理论网络模型中的数据转发规则,由此它们无法直接被用作实际设置到开放流交换机的流条目。
因此,本发明的目标是,提供一种网络控制设备、一种网络控制方法以及一种存储介质,它们能够使用表示由交换机设备所形成的网络的拓扑信息并且如果存在引入的网络流信息则使用表示网络中数据转发规则的网络流信息来控制交换机设备中的每一个。
【问题解决方案】
根据本发明所述的一种网络控制设备包括:网络数据库,其存储表示网络的拓扑信息以及表示所述网络中的数据转发规则的网络流信息;以及交换机控制器,其通过将所述网络中所包括的多个交换机设备当作节点来生成拓扑信息并且将所生成的拓扑信息存储在所述网络数据库中,基于所述网络数据库中所存储的所述网络流信息来生成定义所述多个交换机设备中的每一个的动作的交换机流信息,并且将所述交换机流信息设置到所述多个交换机设备中的对应一个。
根据本发明所述的一种网络控制方法是用于应用到网络控制设备的方法,所述网络控制设备包括网络数据库,其存储表示网络的拓扑信息以及表示所述网络中的数据转发规则的网络流信息,所述网络控制方法包括:通过将所述网络中所包括的多个交换机设备当作节点来生成拓扑信息并且将所生成的拓扑信息存储在所述网络数据库中;以及基于所述网络数据库中所存储的所述网络流信息来生成定义所述多个交换机设备中的每一个的动作的交换机流信息;以及将所述交换机流信息设置到所述多个交换机设备中的对应一个。
根据本发明所述的一种非瞬时计算机可读存储介质是一种存储有安装在计算机上的程序的存储介质,所述计算机包括网络数据库,其存储表示网络的拓扑信息以及表示所述网络中的数据转发规则的网络流信息,其中,所述网络控制程序是用于使得所述计算机执行以下交换机控制过程:通过将所述网络中所包括的多个交换机设备当作节点来生成拓扑信息并且将所生成的拓扑信息存储在所述网络数据库中;基于所述网络数据库中所存储的所述网络流信息来生成定义所述多个交换机设备中的每一个的动作的交换机流信息;以及将所述交换机流信息设置到所述多个交换机设备中的对应一个。
【发明有益效果】
根据本发明,能够使用表示由交换机设备所形成的网络的拓扑信息并且如果存在引入的网络流信息则使用表示网络中数据转发规则的网络流信息来控制交换机设备中的每一个。
附图说明
图1是图示出根据本发明的第一示例性实施例的网络控制设备的示例配置的框图。
图2是网络模型的概念图。
图3是图示出网络模型的示例表示的示意图。
图4是图示出交换机信息管理单元的示例配置的框图。
图5是图示出由交换机信息管理单元所执行的示例处理序列的流程图。
图6是图示出流设置单元的示例配置的框图。
图7是图示出由流设置单元所执行的示例处理序列的流程图。
图8是图示出到流设置单元的源流的应用的示意图。
图9是图示出根据本发明的第二示例性实施例的网络控制设备的示例配置的框图。
图10是图示出公共流设置单元的示例配置的框图。
图11是图示出由公共流设置单元所执行的示例处理序列的流程图。
图12是图示出独立流设置单元的示例配置的框图。
图13是图示出由独立流设置单元所执行的示例处理序列的流程图。
图14是图示出本发明的主要单元的框图。
具体实施方式
将参照附图来描述本发明的示例性实施例。
第一示例性实施例
图1是图示出根据本发明的第一示例性实施例的网络控制设备的示例配置的框图。根据第一示例性实施例的网络控制设备包括控制网络中的交换机设备8的交换机控制器3、网络数据库(以下缩写为DB)存储单元2以及信息登记单元1。
网络DB存储单元2是存储将网络4表达为模型的网络模型的存储设备。网络模型可以包括表达端到端流的网络流表示。
对网络模型的操作能够被描述成对应于对实际网络4的操作的描述。
信息登记单元1根据应用将网络流表示登记到网络DB存储单元2中。具体地,信息登记单元1包括流定义单元5。流定义单元5定义网络流表示并且使得网络DB存储单元2存储网络流表示。网络流表示被描述为网络模型的一部分。
交换机控制器3被连接至网络4中的交换机设备8。交换机控制器3包括交换机信息管理单元7以及流设置单元6。
交换机信息管理单元7收集并且累积指示网络4中的交换机8的状态的信息。交换机信息管理单元7还检测交换机设备8之间的连接关系并且将有关连接关系的信息存储在网络DB存储单元2中。
此外,交换机信息管理单元7管理连接至交换机控制器3的交换机设备8中的每一个与网络DB存储单元2中所存储的网络模型之间的对应关系。另外,交换机信息管理单元反映交换机设备8的状态中的任何变化以及网络DB存储单元2内所存储的网络模型中的交换机设备8之间连接关系中的任何变化。
流设置单元6将在网络DB存储单元2中所登记的网络流表示转换成用于各个交换机设备的流设置并且将流设置设置到交换机设备8中的每一个。流设置是定义对匹配某一条件的分组执行的具体处理的信息。例如,开放流中的流条目对应于流设置。
流设置单元6解释网络DB存储单元2中所存储的网络流表示并且确定哪些交换机设备8明示出现在网络流表示中。此外,基于交换机信息管理单元7中所存储的交换机设备8中的每一个与网络模型之间对应关系,流设置单元6确定哪些交换机设备8没有根据对应于流的转发过程所需来明示指示。作为确定结果,对应于流的转发路径上的特定交换机设备8被识别。上述明示出现在网络流表示中的交换机设备8是在流路径两端的交换机转发设备。
流设置单元6生成用于转发路径上的交换机设备8中的每一个的流设置,以便实现对网络流表示的描述,并且再继续将所生成的流设置设置到相应的交换机设备8。
流定义单元5定义表达网络DB存储单元2中所存储的网络模型中端到端流的网络流表示,并且使得网络DB存储单元2存储该网络流表示。换言之,网络流表示是网络模型中所包括的信息的一部分,其由流定义单元5来登记。
根据本发明的网络模型以及网络流表示可以类似于NPL 5中所述的网络模型以及网络流表示。下面将对网络模型以及网络流表示进行描述。
图2是网络模型的概念图。如图2所示,网络模型包括拓扑以及网络流表示。
拓扑是由节点对象、端口对象以及链路对象来表示。在下文中相应将节点对象、端口对象以及链路对象中的每个对象简称为节点、端口以及链路。节点对应于交换机设备。端口对应于端口。链路对应于交换机设备之间的连接关系。节点、端口以及链路具有其在网络模型上的相应标识符。网络模型中的拓扑表示使用这些标识符的网络。
在图2中,一个网络流被标为“流”。网络流表示“流”表达配置成跨越一个或多个节点的端到端流。一个流包括匹配、路径以及边缘_动作。匹配是定义转发分组的条件的部分。路径是定义转发路径的部分。边缘_动作是定义分组的输出目的地以及重写报头的一组条件的部分。
匹配能够定义多个条件。例如,匹配能够定义输入节点(进入_节点)的条件、输入端口(进入_端口)的条件、分组报头的条件以及诸如此类。
路径定义转发路径。例如,路径定义具有一列链路标识符、转发路径经过的一列节点和端口等的转发路径。
边缘_动作定义当分组最终被输出网络4时所进行的处理。例如,边缘_动作可以指定输出节点(外出_节点)以及输出端口(外出_端口)或者定义重写分组报头,诸如重写VLAN标签或者MAC地址。
网络流表示能够被认作用于转发匹配流的分组的规则的表达。
图3是图示出网络模型的示例表达的示意图。图3中所示的示例网络模型表示网络31。在图3所示的示例中,网络31包括两个节点:节点301和节点311。节点301包括三个端口:端口302至端口304。节点311包括三个端口:端口312至端口314。链路320表示两个节点节点301和节点311彼此相连接,节点301上的端口304作为源(src)并且节点311上的端口313作为目的地(dst)。
图3还例示作为网络流表示的流330。流330表示从节点节点301上的端口302所输入的分组从节点311上的端口313被输出。
流330中的匹配定义转发分组的条件,这是通过将节点301指定为输入节点(进入_节点)并且将端口302指定为输入端口(进入_端口)。
流330中的路径表示经由链路320转发分组。
流330中的边缘_动作定义分组的输出目的地,这是通过将将节点311指定为输出节点(外出_节点)并且将端口314指定为输出端口(外出_端口)。
交换机信息管理单元7的配置和操作如下。图4是图示出交换机信息管理单元7的示例配置的框图。对于如图1所示的相同元素,使用相同的附图标记并且省略其描述。图5是图示出由交换机信息管理单元7所执行的示例处理序列的流程图。交换机信息管理单元7包括交换机信息收集单元41、交换机信息累积单元42以及模型转换管理单元43。
交换机信息收集单元41与交换机设备8进行通信以为交换机设备8中的每一个并且通过使用交换机设备8的功能来收集交换机设备8上端口的数目、每个端口的运行状态以及诸如链接速度的有关交换机设备本身的信息,并且所收集的信息登记到交换机信息累积单元42中(步骤S1)。在该步骤期间,交换机信息收集单元41还收集对于交换机设备8和端口的标识信息,并且将该信息登记到交换机信息累积单元42中。
如果待管理的交换机设备8例如是开放流交换机,则交换机信息收集单元41还能够通过使用交换机设备8的功能而从交换机设备8中检测交换机设备8之间的连接关系(例如链路)。在该情况下,在步骤S1中,交换机信息收集单元41另外从交换机设备8中检测有关交换机设备8之间链路的信息并且将链路信息登记到交换机信息累积装备42中。具体地,交换机信息收集单元41从交换机设备8中检测交换机设备8通过其连接到其他交换机设备的特定端口并且将所检测到的信息登记到交换机信息累积单元42中。
请注意,交换机信息收集单元41可以收集有关来自除交换机设备8以外的设备等的链路的信息。例如,交换机信息收集单元41可以收集有关来自管理网络4的配置的网络管理系统的交换机设备8之间链路的信息。在该情况下,网络管理系统保留有关属于网络4的交换机设备8之间链路的信息。
交换机信息累积单元42累积由交换机信息收集单元41所收集的信息中的每一条(有关交换机设备8、端口、链路等的信息)并且通过能够被任何其他单元参考的方式保留信息。
模型转换管理单元43将如在交换机信息累积单元42中所累积的有关交换机设备8、端口以及交换机设备8之间连接关系(链路)的信息转换成网络模型(更具体地,将信息转换成网络模型中的对象),并且将模型登记到网络DB存储单元2中(步骤S2)。
此外,模型转换管理单元43保留表示用于网络4中的交换机设备8、端口以及连接关系(链路)的标识信息与其在网络模型上的对应对象(节点、端口和链路)之间对应关系的信息。
流设置单元6的配置和操作如下。图6是图示出流设置单元6的示例配置的框图。对于如图4所示的相同元素,使用相同的附图标记并且省略其描述。图7是图示出由流设置单元6所执行的示例处理序列的流程图。流设置单元6包括网络流表示转换单元51、交换机提取和分类单元52、边缘流转换单元53、转发流转换单元54以及交换机设备设置单元55。
网络流表示转换单元51将明示出现在网络流表示中的节点、端口以及链路转换成用于网络4中的交换机设备、端口以及交换机设备之间连接关系的标识信息(步骤S11)。具体地,网络流表示转换单元51需要对应于明示出现在模型转换管理单元43的网络流表示中的节点、端口以及链路的用于网络4中交换机设备、端口以及交换机设备之间连接关系的标识信息(换言之,用于交换机信息累积单元42中所登记的交换机设备、端口以及连接关系的标识信息),以获得用于网络4中交换机设备、端口以及交换机设备之间连接关系的标识信息。然后,网络流表示转换单元51将明示出现在网络流表示中的节点、端口以及链路转换成这样的标识信息。转换结果那个被认作表示网络4中的流的流信息。在下文中可以将步骤S11中的转换结果简称为流信息。
明示出现在网络流表示中的节点表示在流路径两端处的节点。在网络流表示中未识别的任意节点都表示在流路径上处于不同于流路径两端的位置处的节点。
网络流表示转换单元51将在步骤S11中所获得的流信息传递至交换机提取和分类单元52。
交换机提取和分类单元52基于由网络流表示中的路径所指定的链路信息(更具体地,在步骤S11中所获得的路径转换结果),构成表示流路径的图形。此外,交换机提取和分类单元52从交换机信息累积单元42中提取有关在用于匹配流的分组的转发路径上并且在网络流表示中未识别的交换机设备8的信息。然后,交换机提取和分类单元52列举与网络流表示有关的交换机设备8(通过上述提取所获得的交换机设备8加上在网络流表示中所识别的交换机设备8)(步骤S12)。
交换机提取和分类单元52将所列举的交换机设备8中的每一个分类为由网络流表示中的匹配或者边缘_动作为其明示指定输入或输出规则的交换机设备或者分类为由路径为其隐式指定转发规则的交换机设备(步骤S13)。交换机提取和分类单元52将用于前者的交换机设备8的标识信息、由链路信息构成的图形以及在步骤S11中所获得的流信息传递至边缘流转换单元53,同时将用于后者的交换机设备8的标识信息、图形以及流信息传递至转发流转换单元54。公共图形以及公共流信息被传递至边缘流转换单元53以及转发流转换单元54。
边缘流转换单元53生成用于由网络流表示中的匹配或者边缘_动作为其明示指定输入或输出规则的交换机设备的流设置(步骤S14)。边缘流转换单元54生成用于由路径为其隐式指定转发规则的交换机设备的流设置(步骤S15)。
边缘流转换单元53将网络流表示中由匹配明示指定的条件或者由边缘_动作显示指定的内容重写成能够由交换机设备8辨识的转发条件的描述或者分组报头的描述。由匹配明示指定的条件以及由边缘_动作明示指定的内容被包括在所传递的流信息中。然后,边缘流转换单元53将重新的结果转换成指示将分组输出到端口的流设置。边缘流转换单元53将流设置随同流信息一起传递至交换机设备设置单元55。
转发流转换单元54基于图形和流信息来识别分组的转发条件以及传送目的地,并且为每个交换机设备8生成匹配转发条件以及传送目的地的流设置。转发流转换单元54将所生成的流设置随同流信息一起传递至交换机设备设置单元55。
交换机设备设置单元55将由边缘流转换单元53所生成的流设置以及由转发流转换单元54所生成的流设置依序设置到对应的交换机设备8(步骤S16)。
在本示例性实施例中,交换机控制器3中的交换机信息管理单元7积累有关交换机设备的信息并且管理交换机设备8中的每一个与网络模型之间的对应关系。另一方面,流设置单元6使用在交换机信息管理单元7中所累积的有关交换机设备8的信息来基于网络流表示而生成流设置,并且将流设置设置到相应的交换机设备8。换言之,在本示例性实施例中,交换机控制器3对网络流表示作出转换以将其反映在添加到交换机设备的设置中。因此,如果引入网络模型以及网络流表示,则各个交换机设备能够通过使用网络流表示来控制。
在第一示例性实施例中,交换机信息管理单元7中所包括的每个单元以及流设置单元6中所包括的每个单元都通过例如根据网络控制程序操作的计算机中的CPU来实现。CPU可以例如从计算机中所包括的程序存储设备中读取网络控制程序,并且根据网络控制程序用作交换机信息管理单元7中所包括的各个单元以及流设置单元6中所包括的各个单元。
替选地,第一示例性实施例可以被配置成使交换机提取和分类单元52执行网络流表示转换单元51之前阶段的处理。在该情况下,交换机提取和分类单元52参照网络模型中所包括的拓扑以及网络流表示将由网络流表示所表达的流路径上的任一节点分类为明示出现在网络流表示中的节点或者未明示出现在网络流表示众的节点。然后,网络流表示转换单元51执行上述转换来生成流信息并且将由交换机提取和分类单元52所分类的节点中的每一个转换成用于其在网络4中的对应交换机设备的标识信息。任何其他方面均与上述第一示例性实施例中相同。
第二示例性实施例
根据本发明的第二示例性实施例,在NPL 3提出的源流被应用于流设置单元6(参见图1)。
在第二示例性实施例中,根据第一示例性实施例的流设置(由对匹配条件的分组执行的定义处理组成的信息)被标为“流条目设置”。
图8是图示出应用于流设置单元6的源流(在NPL 3中提出的技术)的示意图。在图8中,出现在交换机设备附近的数字表示端口。
参照图8中的示例,用于交换机设备91、92和94的流条目设置被定义成当具有报头H的分组900到达交换机设备91时,分组900以此顺序被转发至交换机设备91、92和94,并且再从交换机设备94上的端口2输出。
用于交换机设备91的流条目设置910定义对所输入的分组执行的动作(输入动作)。流条目设置910指定“H”作为与分组的报头匹配的条件。此外,流条目设置910指定对具有“H”作为其报头的内容的分组的动作:将索引计数单位的初始值设置为“0”,通过在报头中嵌入定义在后续交换机设备的每一个中的转发细节(换言之,转发操作)的标识符的序列[4,2h]而重写报头,并且在转发路径上将分组从连接至下一交换机设备92的端口2输出。[4,2h]中的标识符“4”和“2h”分别定义在交换机设备92和94中转发的细节。标识符“4”意指从端口4输出。标识符“2h”意指恢复原始报头并且从端口2输出。当具有“H”作为其报头内容的分组被输入时,交换机设备91对分组执行在流条目设置910中所指定的动作。
在图8中所示的示例中,交换机设备92作为转发分组的核心节点,由此其被给予包含根据索引计数单位与转发细节的描述定义转发细节的标识符的流条目设置(图8所示的示例中的流条目设置920)。针对用于核心节点的流条目设置中的条件,任何标识符都由除根据索引计数单位定义转发细节的标识符以外的通配符来表示(参见图8中的流条目设置920)。核心节点是包括在使网络中边缘节点互联的主干网络内的交换机设备。从流的角度来看,在流路径两端处的交换机设备是边缘节点,并且流路径上的其他交换机节点是核心节点。
在分组900的报头中,由交换机设备91嵌入(0,[4,2h])。被嵌入报头中的(0,[4,2h])匹配在图8中的流条目设置920的第一行中所列出的条件。因此,在接收到分组900后,交换机设备92增加索引计数单位的值,并且再从如由定义转发细节的标识符所指定的端口4输出分组。
交换机设备94被给予用于实施输出动作来终止流的流条目设置940。针对用于终止流的交换机设备的流条目设置中的条件,除根据索引计数单位定义转发细节的标识符以外的任何标识符也由通配符来表示(参见图8中的流条目设置940)。在接收到匹配流条目设置940中的条件的分组,交换机设备94通过删除嵌入报头字段中的部分来恢复报头字段的原始内容“H”并且从如在流条目设置940中所指定的端口2输出分组。
图9是图示出根据本发明的第二示例性实施例的网络控制设备的示例配置的框图。对于与第一示例性实施例中的元素相同的元素,使用相同的附图标记并且省略对这些元素的描述。
根据第二示例性实施例的网络控制设备10a包括控制网络中的交换机设备8的交换机控制器3a、网络DB存储单元2以及信息登记单元1。网络DB存储单元2以及信息登记单元1分别与根据第一示例性实施例的网络DB存储单元2以及信息登记单元1相同。
交换机控制器3a包括交换机信息管理单元7以及流设置单元6a。交换机信息管理单元7包括交换机信息收集单元41、交换机信息累积单元42以及模型转换管理单元43。交换机信息管理单元7、交换机信息收集单元41、交换机信息累积单元42以及模型转换管理单元43分别与根据第一示例性实施例的交换机信息管理单元7、交换机信息收集单元41、交换机信息累积单元42以及模型转换管理单元43相同。
流设置单元6a包括公共流设置单元61以及独立流设置单元62。
公共流设置单元61生成用于对应于核心节点的交换机设备8的流条目设置并且将流条目设置设置到交换机设备8。
独立流设置单元62生成用于明示出现在网络流表示中的交换机设备8的流条目设置并且将流条目设置设置到交换机设备8。
公共流设置单元61的配置和操作如下。图10是图示出公共流设置单元61的示例配置的框图。对于如图9所示的相同元素,使用相同的附图标记并且省略其描述。图11是图示出由公共流设置单元61所执行的示例处理序列的流程图。公共流设置单元61包括交换机设备分类单元71、核心流生成单元72以及公共交换机设备设置单元73。
交换机设备分类单元71读取存储在交换机信息累积单元42中并且指示交换机设备8之间的连接关系的信息,并且基于该信息识别被分类为对应于核心节点的交换机设备8(步骤S21)。交换机设备分类单元71再将有关对应于核心节点的交换机设备8的信息传递至核心流生成单元72。
核心流生成单元72为对应于核心节点的交换机设备8中的每一个生成并且保留表示转发细节(换言之,转发操作)的标识符(步骤S22)。具体地,针对对应于核心节点的交换机设备8中的每一个,核心流生成单元72生成并且保留表示基于每个端口从端口输出分组的动作的标识符。参照图8中所示的交换机设备92作为示例,核心流生成单元72生成表示从端口4输出分组的动作的标识符“4”,同时生成表示从端口3输出分组的动作的标识符“3”。
下一步,核心流生成单元72生成用于对应于核心节点的交换机设备8中的每一个的流条目设置。具体地,核心流生成单元72生成流条目设置,其通过描述标识符序列中在根据索引计数单位的值所确定的位置处的标识符来指示分组的条件,并且指定对匹配条件并且指定增加索引计数单位的值的分组执行对应于该标识符的动作(从端口输出)。核心流生成单元72定义针对索引计数单位的每个值的条件和动作的组合。图8中的流条目设置920通过示例示出针对索引计数单位值0的条件和动作以及针对索引计数单位值1的条件和动作。核心流生成单元72将所生成的每个流条目设置都传递至公共交换机设备设置单元73。
公共交换机设备设置单元73将在步骤S23中所生成的流条目设置设置到对应的交换机设备8(步骤S24)。在步骤S24中被设置流条目设置的交换机设备8对应于核心节点。
独立流设置单元62的配置和操作如下。图12是图示出独立流设置单元62的示例配置的框图。对于如图10所示的相同元素,使用相同的附图标记并且省略其描述。图13是图示出由独立流设置单元62所执行的示例处理序列的流程图。独立流设置单元62包括网络流表示转换单元81、输入动作生成单元82、输出动作生成单元83以及独立交换机设备设置单元84。
网络流表示转换单元81将明示出现在网络流表示中的节点、端口以及链路转换成用于网络4中的交换机设备、端口以及交换机设备之间连接关系的标识信息(步骤S31)。具体地,网络流表示转换单元81需要对应于明示出现在模型转换管理单元43的网络流表示中的节点、端口以及链路的用于网络4中交换机设备、端口以及交换机设备之间连接关系的标识信息(换言之,查询用于交换机信息累积单元42中所登记的交换机设备、端口以及连接关系的标识信息),以获得用于网络4中交换机设备、端口以及交换机设备之间连接关系的标识信息。网络流表示转换单元81将明示出现在网络流表示中的节点、端口以及链路转换成其标识信息。
网络流表示转换单元81将有关出现在匹配中的交换机设备8的信息沿着已在步骤S31中转换的路径传递至输入动作生成单元82。
另一方面,网络流表示转换单元81将有关出现在边缘_动作中的交换机设备8的信息传递至输出动作生成单元83。
输出动作生成单元83生成标识符,其表示重写分组报头以便恢复在分组被输入作为流源的交换机设备8之时既有的原始报头并且再执行在边缘_动作中所定义的过程的动作(步骤S32)。图8中的示例示出流条目设置940包含在步骤S32中所生成的标识符“2h”。如上参照图8中的示例所述,标识符“2h”意指恢复原始报头并且从端口2输出。
下一步,输出动作生成单元83生成用于出现在边缘_动作中的交换机设备8(作为流路径的目的地的交换机设备8)的流条目设置(步骤S33)。输出动作生成单元83识别对应于流路径的目的地的索引计数单位的值。然后,输出动作生成单元83生成流条目设置,其通过描述标识符序列中在根据所述值所确定的位置处、已于步骤S32中所生成的标识符来指示分组条件,并且其指定对匹配条件的分组执行对应于该标识符的动作。对应于已在步骤S32中所生成的标识符的动作具体为重写分组报头以便恢复在分组被输入作为流源的交换机设备8之时既有的原始报头并且再执行在边缘_动作中所定义的过程。图8中的示例示出流条目设置940包含第一行,其内容是在步骤S33中所生成的流条目设置。在流条目设置940的第一行中(参见图8),“->H”意指恢复原始报头。
输出动作生成单元83将所生成的流条目设置传递至独立交换机设备设置单元84。
下一步,输入动作生成单元82通过参考在核心流生成单元72中所保留的交换机设备8中的每一个的标识符来生成对应于由路径表示的路径的标识符序列,并且将已在步骤S32中所生成的标识符添加至序列的末端(步骤S34)。在步骤S32中所生成的标识符表示重写分组报头以便恢复在分组被输入作为流源的交换机设备8之时既有的原始报头并且再执行在边缘_动作中所定义的过程的动作。根据图8中所示的示例,“对应于由路径表示的路径的标识符序列”是[4]。将在步骤S32中所生成的标识符添加至序列末端的结果是[4,2h]。
下一步,输入动作生成单元82生成对应于出现在匹配中的交换机设备8(作为流路径的源的交换机设备8)的流条目设置(步骤S35)。输入动作生成单元82生成流条目设置,其指示在匹配中所指定的条件并且定义例如通过初始值为“0”的索引计数单位以及在步骤S34中所生成的标识符序列嵌入匹配条件的分组的报头来重写分组报头的动作。输入动作生成单元82还在流条目设置的动作部分中定义从端口输出匹配条件的分组以便实现流路径的过程。图8中的示例示出流条目设置910包含第一行,其内容是在步骤S35中所生成的流条目设置。在流条目设置910的第一行中(参见图8),“->(0,[4,2h])”意指将“(0,[4,2h])”嵌入报头。
输入动作生成单元82将所生成的流条目设置传递至独立交换机设备设置单元84。
独立交换机设备设置单元84将由输出动作生成单元83所生成的流条目设置设置到出现在边缘_动作中的交换机设备8。独立交换机设备设置单元84还将由输入动作生成单元82所生成的流条目设置设置到出现在匹配中的交换机设备8(步骤S36)。
因此,如图8所示,匹配流条件的任何分组都在作为流路径的源的交换机设备8中经受对其报头的重写,并且依序沿流路径被转发至核心节点,然后在作为目的地的交换机设备8处经受恢复其原始报头以及在边缘_动作中所定义的动作。
类似于第一示例性实施例,第二示例性实施例能够在引入网络模型以及网络流表示的条件下通过使用网络流表示来控制交换机设备中的每一个。
在第二示例性实施例中,尽管将NPL 3中提出的技术(源流)应用到流设置单元6a,但在网络DB存储单元2中所存储的网络模型与第一示例性实施例中相同。因此,无需修改用于登记网络流表示的信息登记单元1的应用。换言之,在不修改用于信息登记单元1的应用的情况下,能够以应用源流的流设置单元6a替代流设置单元6。此外,应用在NPL 3中提出的技术提供了例如减少交换机设备8所需的流条目数的效果。
在上述的第二示例性实施例中,应用了在NPL 3中提出的技术,然而可以应用任何其他的流转发技术。在应用任何其他的流转发技术的条件下,仍无需修改用于信息登记单元1的应用。
在第二示例性实施例中,交换机信息管理单元7中所包括的各个单元以及流设置单元6a中所包括的各个单元都通过例如根据网络控制程序操作的计算机中的CPU来实现。CPU可以例如从计算机中所包括的程序存储设备中读取网络控制程序,并且根据网络控制程序用作交换机信息管理单元7中所包括的每个单元以及流设置单元6a中所包括的每个单元。
本发明的主要单元如下。图14是图示出本发明的主要单元的框图。根据本发明的网络控制设备包括网络数据库存储单元101以及交换机控制器102。
网络数据库存储单元101(例如网络DB存储单元2)存储表示网络的拓扑信息以及表示对于网络的数据转发规则的网络流信息(例如网络流表示)。
交换机控制器102(例如交换机控制器3和3a)通过将网络中所包括的多个交换机设备当作节点来生成拓扑信息并且将所生成的拓扑信息存储在网络数据库存储单元101中,基于网络数据库存储单元101中所存储的网络流信息来生成定义多个交换机设备中的每一个的动作的交换机流信息(例如流设置),并且将交换机流信息设置到多个交换机设备中的对应一个。
上述示例性实施例的全部或部分能够被描述为下列补充注释,但不限于此。
(补充注释1)一种网络控制设备包括:网络数据库存储单元(例如网络DB存储单元2),其存储表示网络的拓扑信息以及表示所述网络中的数据转发规则的网络流信息(例如网络流表示);以及交换机控制器(例如交换机控制器3和3a),其通过将所述网络中所包括的多个交换机设备当作节点来生成所述拓扑信息并且将所生成的拓扑信息存储在所述网络数据库存储单元中,基于所述网络数据库存储单元中所存储的所述网络流信息来生成定义所述多个交换机设备中的每一个的动作的交换机流信息(例如流设置),并且将所述交换机流信息设置到所述多个交换机设备中的对应一个。
(补充注释2)根据补充注释1所述的网络控制设备,其中,所述交换机控制器包括:交换机信息管理单元(例如交换机信息管理单元7),其检测所述网络中所包括的所述多个交换机设备中的每一个以及在所检测到的交换机设备与所述多个交换机设备中的另一个交换机设备之间连接的链路,生成所述拓扑信息,并且将所述拓扑信息存储在所述网络数据库存储单元中;以及流设置单元(例如流设置单元6和6a),其基于所述网络流信息以及由所述交换机信息管理单元所检测到的所述多个交换机设备和多个链路来生成所述交换机流信息,并且将所述交换机流信息设置到所述多个交换机设备中的对应一个。
(补充注释3)根据补充注释2所述的网络控制设备,其中,所述交换机信息管理单元包括:交换机信息收集单元(例如交换机信息收集单元41),其检测所述网络中所包括的所述多个交换机设备以及所述多个交换机设备之间的所述多个链路;交换机信息累积单元(例如交换机信息累积单元42),其存储有关由所述交换机信息收集单元所检测到的所述多个交换机设备和链路的信息;以及对应关系管理单元(例如模型转换管理单元43),其基于所述交换机信息累积单元中所累积的有关所述多个交换机设备和链路的信息来生成所述拓扑信息,并且保留指示由所述交换机信息收集单元所检测到的所述多个交换机设备和链路与在所述拓扑信息中所表示的多个节点和链路之间的对应关系信息。
(补充注释4)根据补充注释3所述的网络控制设备,其中,所述流设置单元包括:网络流信息转换单元(例如网络流表示转换单元51),其通过参考所述对应关系信息而将所述网络流信息中所表示的所述多个节点和链路转换成指示由所述交换机信息收集单元所检测到的所述多个交换机设备和链路的信息;分类单元(例如交换机提取和分类单元52),其将由所述交换机信息收集单元所检测到的所述多个交换机设备分类为明示出现在所述网络流信息中的至少一个第一交换机设备以及在由所述网络流信息所指示的路径上并且未明示出现在所述网络流信息中的至少一个第二交换机设备;第一交换机流信息生成单元(例如边缘流转换单元53),其生成定义流边缘处的动作的交换机流信息,作为用于被分类为所述第一交换机设备的所述交换机的所述交换机流信息;第二交换机流信息生成单元(例如转发流转换单元54),其生成定义向目的地交换机设备转发数据的动作的交换机流信息,作为用于被分类为所述第二交换机设备的所述交换机设备的所述交换机流信息;以及交换机设备设置单元(例如交换机设备设置单元55),其分别将由所述第一交换机流信息生成单元所生成的所述交换机流信息以及由所述第二交换机流信息生成单元所生成的所述交换机流信息设置到对应的交换机设备。
(补充注释5)根据补充注释3或4所述的网络控制设备,其中,所述交换机信息收集单元与所述网络中所包括的所述多个交换机设备中的每一个进行通信并且从通信的交换机设备中检测所述通信的交换机设备与所述多个交换机设备中的另一个交换机设备之间的链路。
(补充注释6)根据补充注释3或4所述的网络控制设备,其中,所述交换机信息收集单元从管理网络配置的网络管理系统中收集有关在交换机设备与所述多个交换机设备中的另一个交换机设备之间连接的所述多个链路中的链路的信息。
(补充注释7)根据补充注释2所述的网络控制设备,其中,所述交换机信息管理单元保留指示所述多个所检测到的交换机设备和链路与在所述拓扑信息中所表示的所述多个节点和链路之间的对应关系的对应关系信息,并且其中,所述流设置单元包括:公共流设置单元(例如公共流设置单元61),其通过参考有关由所述交换机信息管理单元所检测到的所述多个交换机设备和链路的信息而生成用于对应于核心节点的交换机设备的交换机流信息,所述交换机设备是所述网络中所包括的所述多个交换机设备中的一个,并且将所述交换机流信息设置到对应于所述核心节点的所述交换机设备;以及独立流设置单元(例如独立流设置单元62),其基于所述网络流信息、所述对应关系信息以及由所述公共流设置单元所生成的所述交换机流信息,生成用于作为由所述网络流信息所指示的路径的源的交换机设备的交换机流信息,将所述交换机流信息设置到作为源的所述交换机设备,生成用于作为所述路径的目的地的交换机设备的交换机流信息,并且将所述交换机流信息设置到作为目的地的所述交换机设备。
(补充注释8)根据补充注释7所述的网络控制设备,其中,所述公共流设置单元包括:交换机设备分类单元(例如交换机设备分类单元71),其通过参考有关由所述交换机信息管理单元所检测到的所述多个交换机设备和链路的信息而确定包括在所述网络中并且被分类为对应于所述核心节点的交换机设备;核心节点交换机流信息生成单元(例如核心流生成单元72),其生成用于对应于所述核心节点的所述交换机设备的交换机流信息,所述交换机流信息定义从对应于所述核心节点的所述交换机设备上的端口输出数据的动作;以及公共交换机设备设置单元(例如公共交换机设备设置单元73),其将所述交换机流信息设置到对应的交换机设备。
(补充注释9)根据补充注释8所述的网络控制设备,包括:网络流信息转换单元(例如网络流表示转换单元81),其通过参考所述对应关系信息而将所述网络流信息中所表示的所述多个节点和链路转换成指示由交换机信息收集单元所检测到的所述多个交换机设备和链路的信息,并且识别对应于路径的源的所述交换机设备以及对应于所述路径的目的地的所述交换机设备;目的地交换机流信息生成单元(例如输出动作生成单元83),其生成定义对应于所述目的地的所述交换机设备的动作的交换机流信息;源交换机流信息生成单元(例如输入动作生成单元82),其通过参考由所述核心节点交换机流信息生成单元所生成的所述交换机流信息以及由所述目的地交换机流信息生成单元所生成的所述交换机流信息而生成定义对应于所述源的所述交换机设备的动作的交换机流信息;以及独立交换机设备设置单元(例如独立交换机设备设置单元84),其将由目的地交换机流信息生成单元所生成的所述交换机流信息设置到对应于所述目的地的所述交换机设备并且将由所述源交换机流信息生成单元所生成的所述交换机流信息设置到对应于所述源的所述交换机设备。
(补充注释10)根据补充注释3所述的网络控制设备,其中,所述流设置单元包括:分类单元,其通过参考所述网络数据库存储单元中所存储的所述拓扑信息以及所述网络流信息而将节点分类为明示出现在所述网络流信息中的至少一个第一节点以及在由所述网络流信息所指示的路径上并且未明示出现在所述网络流信息中的至少一个第二节点;网络流信息转换单元,其将分类为所述第一节点的每个节点以及分类为所述第二节点的每个节点转换成指示由所述交换机信息收集单元所检测到的所述多个交换机设备中的每一个的信息;第一交换机流信息生成单元,其生成定义流的边缘的动作的交换机流信息,作为用于所述多个交换机设备中对应于所述第一节点的每一个的交换机流信息;第二交换机流信息生成单元,其生成定义向其目的地交换机设备转发数据的交换机流信息,作为用于所述交换机设备中对应于所述第二节点的每一个的交换机流信息;以及交换机设备设置单元,其分别将由所述第一交换机流信息生成单元所生成的所述交换机流信息以及由所述第二交换机流信息生成单元所生成的所述交换机流信息设置到对应的交换机设备。
本发明已参照示例性实施例来进行描述,但本发明不限于这些实施例。在本发明的范围内,可以对本发明的配置或者细节作出本领域技术人员能够理解的本发明的各种修改。
本申请请求基于2013年11月20日提交的日本专利申请号2013-240177的优先权,其全部内容并入本文中。
【工业实用性】
本发明适用于控制网络的网络控制设备。
【附图标记列表】
10、10A 网络控制设备
1 信息登记单元
2 网络DB存储单元
3 交换机控制器
6、6A 流设置单元
7 交换机信息管理单元
41 交换机信息收集单元
42 交换机信息累积单元
43 模型转换管理单元
51 网络流表示转换单元
52 交换机提取和分类单元
53 边缘流转换单元
54 转发流转换单元
55 交换机设备设置单元
61 公共流设置单元
62 独立流设置单元
71 交换机设备分类单元
72 核心流生成单元
73 公共交换机设备设置单元
81 网络流表示转换单元
82 输入动作生成单元
83 输出动作生成单元
84 独立交换机设备设置单元
Claims (10)
1.一种网络控制设备,包括:
网络数据库,所述网络数据库存储表示网络的拓扑信息以及表示所述网络中的数据转发规则的网络流信息;以及
交换机控制器,所述交换机控制器通过将所述网络中所包括的多个交换机设备当作节点来生成所述拓扑信息并且将所生成的拓扑信息存储在所述网络数据库中,基于所述网络数据库中所存储的所述网络流信息来生成定义所述多个交换机设备中的每一个的动作的交换机流信息,并且将所述交换机流信息设置到所述多个交换机设备中的对应一个中,
其中,所述交换机控制器包括:
交换机信息管理单元,所述交换机信息管理单元检测所述网络中所包括的所述多个交换机设备中的每一个以及在所检测到的交换机设备与所述多个交换机设备中的另一个交换机设备之间连接的链路,生成所述拓扑信息,并且将所述拓扑信息存储在所述网络数据库中;以及
流设置单元,所述流设置单元基于所述网络流信息以及由所述交换机信息管理单元所检测到的所述多个交换机设备和多个链路来生成所述交换机流信息,并且将所述交换机流信息设置到所述多个交换机设备中的对应一个,
其中,所述交换机信息管理单元包括:
交换机信息收集单元,所述交换机信息收集单元检测所述网络中所包括的所述多个交换机设备以及所述多个交换机设备之间的所述多个链路;
交换机信息累积单元,所述交换机信息累积单元存储有关由所述交换机信息收集单元所检测到的所述多个交换机设备和链路的信息;以及
对应关系管理单元,所述对应关系管理单元基于在所述交换机信息累积单元中所存储的有关所述多个交换机设备和链路的信息来生成所述拓扑信息,并且保留对应关系信息,所述对应关系信息指示在由所述交换机信息收集单元所检测到的所述多个交换机设备和链路与在所述拓扑信息中所表示的多个节点和链路之间的对应关系。
2.根据权利要求1所述的网络控制设备,其中,所述流设置单元包括:
网络流信息转换单元,所述网络流信息转换单元通过参考所述对应关系信息来将所述网络流信息中所表示的所述多个节点和链路转换成指示由所述交换机信息收集单元所检测到的所述多个交换机设备和链路的信息;
分类单元,所述分类单元将由所述交换机信息收集单元所检测到的所述多个交换机设备分类成明示出现在所述网络流信息中的至少一个第一交换机设备以及在由所述网络流信息所指示的路径上并且没有明示出现在所述网络流信息中的至少一个第二交换机设备;
第一交换机流信息生成单元,所述第一交换机流信息生成单元生成定义流的边缘处的动作的交换机流信息,作为用于被分类为所述第一交换机设备的所述交换机设备的所述交换机流信息;
第二交换机流信息生成单元,所述第二交换机流信息生成单元生成定义向目的地交换机设备转发数据的动作的交换机流信息,作为用于被分类为所述第二交换机设备的所述交换机设备的所述交换机流信息;以及
交换机设备设置单元,所述交换机设备设置单元将由所述第一交换机流信息生成单元所生成的所述交换机流信息以及由所述第二交换机流信息生成单元所生成的所述交换机流信息分别设置到对应的交换机设备。
3.根据权利要求1所述的网络控制设备,其中,所述交换机信息收集单元与所述网络中所包括的所述多个交换机设备中的每一个进行通信,并且从通信的交换机设备检测在所述通信的交换机设备与所述多个交换机设备中的另一个交换机设备之间的链路。
4.一种网络控制设备,包括:
网络数据库,所述网络数据库存储表示网络的拓扑信息以及表示所述网络中的数据转发规则的网络流信息;以及
交换机控制器,所述交换机控制器通过将所述网络中所包括的多个交换机设备当作节点来生成所述拓扑信息并且将所生成的拓扑信息存储在所述网络数据库中,基于所述网络数据库中所存储的所述网络流信息来生成定义所述多个交换机设备中的每一个的动作的交换机流信息,并且将所述交换机流信息设置到所述多个交换机设备中的对应一个中,
其中,所述交换机控制器包括:
交换机信息管理单元,所述交换机信息管理单元检测所述网络中所包括的所述多个交换机设备中的每一个以及在所检测到的交换机设备与所述多个交换机设备中的另一个交换机设备之间连接的链路,生成所述拓扑信息,并且将所述拓扑信息存储在所述网络数据库中;以及
流设置单元,所述流设置单元基于所述网络流信息以及由所述交换机信息管理单元所检测到的所述多个交换机设备和多个链路来生成所述交换机流信息,并且将所述交换机流信息设置到所述多个交换机设备中的对应一个,
其中,所述交换机信息管理单元保留对应关系信息,所述对应关系信息指示在所述多个所检测到的交换机设备和链路与在所述拓扑信息中所表示的所述多个节点和链路之间的对应关系,
并且其中,所述流设置单元包括:
公共流设置单元,所述公共流设置单元通过参考有关由所述交换机信息管理单元所检测到的所述多个交换机设备和链路的信息来生成用于对应于核心节点的交换机设备的所述交换机流信息,所述交换机设备是所述网络中所包括的所述多个交换机设备中的一个,并且将所述交换机流信息设置到对应于所述核心节点的所述交换机设备中;以及
独立流设置单元,所述独立流设置单元基于所述网络流信息、所述对应关系信息以及由所述公共流设置单元所生成的所述交换机流信息,来生成用于用作由所述网络流信息所指示的路径的源的交换机设备的所述交换机流信息,将所述交换机流信息设置到用作所述源的所述交换机设备中,生成用于用作所述路径的目的地的交换机设备的所述交换机流信息,并且将所述交换机流信息设置到用作所述目的地的所述交换机设备中。
5.根据权利要求4所述的网络控制设备,其中,所述公共流设置单元包括:
交换机设备分类单元,所述交换机设备分类单元通过参考有关由所述交换机信息管理单元所检测到的所述多个交换机设备和链路的信息,来确定包括在所述网络中并且被分类为对应于所述核心节点的交换机设备;
核心节点交换机流信息生成单元,所述核心节点交换机流信息生成单元生成用于对应于所述核心节点的所述交换机设备的交换机流信息,所述交换机流信息定义从对应于所述核心节点的所述交换机设备上的端口输出数据的动作;以及
公共交换机设备设置单元,所述公共交换机设备设置单元将所述交换机流信息设置到对应的交换机设备中。
6.根据权利要求5所述的网络控制设备,包括:
网络流信息转换单元,所述网络流信息转换单元通过参考所述对应关系信息来将所述网络流信息中所表示的所述多个节点和链路转换成指示由交换机信息收集单元所检测到的所述多个交换机设备和链路的信息,并且识别对应于路径的源的所述交换机设备以及对应于所述路径的目的地的所述交换机设备;
目的地交换机流信息生成单元,所述目的地交换机流信息生成单元生成定义对应于所述目的地的所述交换机设备的动作的交换机流信息;
源交换机流信息生成单元,所述源交换机流信息生成单元通过参考由所述核心节点交换机流信息生成单元所生成的所述交换机流信息以及由所述目的地交换机流信息生成单元所生成的所述交换机流信息,来生成定义对应于所述源的所述交换机设备的动作的交换机流信息;以及
独立交换机设备设置单元,所述独立交换机设备设置单元将由所述目的地交换机流信息生成单元所生成的所述交换机流信息设置到对应于所述目的地的所述交换机设备中,并且将由所述源交换机流信息生成单元所生成的所述交换机流信息设置到对应于所述源的所述交换机设备中。
7.一种应用于网络控制设备的网络控制方法,所述网络控制设备包括网络数据库,所述网络数据库存储表示网络的拓扑信息以及表示所述网络中的数据转发规则的网络流信息,所述网络控制方法包括:
通过将所述网络中所包括的多个交换机设备当作节点来生成所述拓扑信息并且将所生成的拓扑信息存储在所述网络数据库中;
基于所述网络数据库中所存储的所述网络流信息来生成定义所述多个交换机设备中的每一个的动作的交换机流信息;并且
将所述交换机流信息设置到所述多个交换机设备中的对应一个中;
其中,当生成所述拓扑信息并且存储所生成的拓扑信息时,检测所述网络中所包括的所述多个交换机设备中的每一个以及在所检测到的交换机设备与所述多个交换机设备中的另一个交换机设备之间连接的链路,生成所述拓扑信息,并且将所述拓扑信息存储在所述网络数据库中;以及
当生成所述交换机流信息并且设置所述交换机流信息时,基于所述网络流信息以及所检测到的所述多个交换机设备和所检测到的多个链路来生成所述交换机流信息,并且将所述交换机流信息设置到所述多个交换机设备中的对应一个;
其中,当检测所述多个交换机设备中的每一个,生成所述拓扑信息并且存储所述拓扑信息时,
检测所述网络中所包括的所述多个交换机设备以及所述多个交换机设备之间的所述多个链路,
存储有关所检测到的所述多个交换机设备和所检测到的链路的信息,
基于有关所存储的所述多个交换机设备和链路的信息来生成所述拓扑信息,并且
保留对应关系信息,所述对应关系信息指示在所检测到的所述多个交换机设备和所检测到的链路与在所述拓扑信息中所表示的多个节点和链路之间的对应关系。
8.一种应用于网络控制设备的网络控制方法,所述网络控制设备包括网络数据库,所述网络数据库存储表示网络的拓扑信息以及表示所述网络中的数据转发规则的网络流信息,所述网络控制方法包括:
通过将所述网络中所包括的多个交换机设备当作节点来生成所述拓扑信息并且将所生成的拓扑信息存储在所述网络数据库中;
基于所述网络数据库中所存储的所述网络流信息来生成定义所述多个交换机设备中的每一个的动作的交换机流信息;并且
将所述交换机流信息设置到所述多个交换机设备中的对应一个中;
其中,当生成所述拓扑信息并且存储所生成的拓扑信息时,检测所述网络中所包括的所述多个交换机设备中的每一个以及在所检测到的交换机设备与所述多个交换机设备中的另一个交换机设备之间连接的链路,生成所述拓扑信息,并且将所述拓扑信息存储在所述网络数据库中;以及
当生成所述交换机流信息并且设置所述交换机流信息时,基于所述网络流信息以及所检测到的所述多个交换机设备和所检测到的多个链路来生成所述交换机流信息,并且将所述交换机流信息设置到所述多个交换机设备中的对应一个;
其中,当检测所述多个交换机设备中的每一个,生成所述拓扑信息,并且存储所述拓扑信息时,保留对应关系信息,所述对应关系信息指示在所述多个所检测到的交换机设备和链路与在所述拓扑信息中所表示的所述多个节点和链路之间的对应关系,以及
当生成所述交换机流信息并且设置所述交换机流信息时,
通过参考有关所检测到的所述多个交换机设备和所检测到的链路的信息来生成用于对应于核心节点的交换机设备的交换机流信息,所述交换机设备是所述网络中所包括的所述多个交换机设备中的一个,并且
将所述交换机流信息设置到对应于所述核心节点的所述交换机设备中,以及
基于所述网络流信息、所述对应关系信息以及所生成的所述交换机流信息,生成用于用作由所述网络流信息所指示的路径的源的交换机设备的交换机流信息,
将所述交换机流信息设置到用作所述源的所述交换机设备中,
生成用于用作所述路径的目的地的交换机设备的交换机流信息,并且
将所述交换机流信息设置到用作所述目的地的所述交换机设备中。
9.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质记录有安装在计算机上的网络控制程序,所述计算机包括网络数据库,所述网络数据库存储表示网络的拓扑信息以及表示所述网络中的数据转发规则的网络流信息,
其中,所述网络控制程序用于使得所述计算机执行以下交换机控制处理:
通过将所述网络中所包括的多个交换机设备当作节点来生成所述拓扑信息并且将所生成的拓扑信息存储在所述网络数据库中;
基于所述网络数据库中所存储的所述网络流信息来生成定义所述多个交换机设备中的每一个的动作的交换机流信息;并且
将所述交换机流信息设置到所述多个交换机设备中的对应一个中;
其中,当生成所述拓扑信息并且存储所生成的拓扑信息时,检测所述网络中所包括的所述多个交换机设备中的每一个以及在所检测到的交换机设备与所述多个交换机设备中的另一个交换机设备之间连接的链路,生成所述拓扑信息,并且将所述拓扑信息存储在所述网络数据库中;以及
当生成所述交换机流信息并且设置所述交换机流信息时,基于所述网络流信息以及所检测到的所述多个交换机设备和所检测到的多个链路来生成所述交换机流信息,并且将所述交换机流信息设置到所述多个交换机设备中的对应一个;
其中,当检测所述多个交换机设备中的每一个,生成所述拓扑信息并且存储所述拓扑信息时,
检测所述网络中所包括的所述多个交换机设备以及所述多个交换机设备之间的所述多个链路,
存储有关所检测到的所述多个交换机设备和所检测到的链路的信息,
基于有关所存储的所述多个交换机设备和链路的信息来生成所述拓扑信息,并且
保留对应关系信息,所述对应关系信息指示在所检测到的所述多个交换机设备和所检测到的链路与在所述拓扑信息中所表示的多个节点和链路之间的对应关系。
10.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质记录有安装在计算机上的网络控制程序,所述计算机包括网络数据库,所述网络数据库存储表示网络的拓扑信息以及表示所述网络中的数据转发规则的网络流信息,
其中,所述网络控制程序用于使得所述计算机执行以下交换机控制处理:
通过将所述网络中所包括的多个交换机设备当作节点来生成所述拓扑信息并且将所生成的拓扑信息存储在所述网络数据库中;
基于所述网络数据库中所存储的所述网络流信息来生成定义所述多个交换机设备中的每一个的动作的交换机流信息;并且
将所述交换机流信息设置到所述多个交换机设备中的对应一个中;
其中,当生成所述拓扑信息并且存储所生成的拓扑信息时,检测所述网络中所包括的所述多个交换机设备中的每一个以及在所检测到的交换机设备与所述多个交换机设备中的另一个交换机设备之间连接的链路,生成所述拓扑信息,并且将所述拓扑信息存储在所述网络数据库中;以及
当生成所述交换机流信息并且设置所述交换机流信息时,基于所述网络流信息以及所检测到的所述多个交换机设备和所检测到的多个链路来生成所述交换机流信息,并且将所述交换机流信息设置到所述多个交换机设备中的对应一个;
其中,当检测所述多个交换机设备中的每一个,生成所述拓扑信息,并且存储所述拓扑信息时,保留对应关系信息,所述对应关系信息指示在所述多个所检测到的交换机设备和链路与在所述拓扑信息中所表示的所述多个节点和链路之间的对应关系,以及
当生成所述交换机流信息并且设置所述交换机流信息时,
通过参考有关所检测到的所述多个交换机设备和所检测到的链路的信息来生成用于对应于核心节点的交换机设备的交换机流信息,所述交换机设备是所述网络中所包括的所述多个交换机设备中的一个,并且
将所述交换机流信息设置到对应于所述核心节点的所述交换机设备中,以及
基于所述网络流信息、所述对应关系信息以及所生成的所述交换机流信息,生成用于用作由所述网络流信息所指示的路径的源的交换机设备的交换机流信息,
将所述交换机流信息设置到用作所述源的所述交换机设备中,
生成用于用作所述路径的目的地的交换机设备的交换机流信息,并且
将所述交换机流信息设置到用作所述目的地的所述交换机设备中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013240177 | 2013-11-20 | ||
JP2013-240177 | 2013-11-20 | ||
PCT/JP2014/005221 WO2015075862A1 (ja) | 2013-11-20 | 2014-10-15 | ネットワーク制御装置、ネットワーク制御方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105745878A CN105745878A (zh) | 2016-07-06 |
CN105745878B true CN105745878B (zh) | 2019-07-26 |
Family
ID=53179157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480063621.2A Active CN105745878B (zh) | 2013-11-20 | 2014-10-15 | 网络控制设备、网络控制方法以及存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10021015B2 (zh) |
EP (1) | EP3073685B1 (zh) |
JP (1) | JP6524911B2 (zh) |
CN (1) | CN105745878B (zh) |
WO (1) | WO2015075862A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI578737B (zh) * | 2015-02-10 | 2017-04-11 | 鴻海精密工業股份有限公司 | 交換機、控制設備及其管理方法 |
US11546266B2 (en) * | 2016-12-15 | 2023-01-03 | Arbor Networks, Inc. | Correlating discarded network traffic with network policy events through augmented flow |
CN109412828B (zh) * | 2017-08-18 | 2022-06-14 | 上海诺基亚贝尔软件有限公司 | 用于软件定义网络中的网络拓扑发现的方法、设备和系统 |
CN110324260B (zh) * | 2019-06-21 | 2020-10-09 | 北京邮电大学 | 一种基于流量识别的网络功能虚拟化智能调度方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102804715A (zh) * | 2010-03-17 | 2012-11-28 | 日本电气株式会社 | 通信系统、节点、控制服务器、通信方法、以及程序 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1674546A (zh) * | 2005-03-15 | 2005-09-28 | 南京邮电学院 | 一种大规模网络中基于移动代理的拓扑方案 |
EP2544417B1 (en) * | 2010-03-05 | 2014-11-12 | Nec Corporation | Communication system, path control apparatus, packet forwarding apparatus and path control method |
US20130188493A1 (en) * | 2010-11-01 | 2013-07-25 | Nec Corporation | Communication system, control apparatus, packet forwarding path control method, and program |
RU2576473C2 (ru) * | 2011-01-13 | 2016-03-10 | Нек Корпорейшн | Сетевая система и способ маршрутизации |
US8644149B2 (en) * | 2011-11-22 | 2014-02-04 | Telefonaktiebolaget L M Ericsson (Publ) | Mechanism for packet forwarding using switch pools in flow-based, split-architecture networks |
US20140241367A1 (en) * | 2011-12-27 | 2014-08-28 | Nec Corporation | Communication system, controller, communication method, and program |
JP5723806B2 (ja) | 2012-02-24 | 2015-05-27 | エヌ・ティ・ティ・コムウェア株式会社 | 通信システム、経路制御装置、経路制御方法及び経路制御プログラム |
-
2014
- 2014-10-15 JP JP2015548966A patent/JP6524911B2/ja active Active
- 2014-10-15 WO PCT/JP2014/005221 patent/WO2015075862A1/ja active Application Filing
- 2014-10-15 CN CN201480063621.2A patent/CN105745878B/zh active Active
- 2014-10-15 EP EP14864748.0A patent/EP3073685B1/en active Active
- 2014-10-15 US US15/036,864 patent/US10021015B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102804715A (zh) * | 2010-03-17 | 2012-11-28 | 日本电气株式会社 | 通信系统、节点、控制服务器、通信方法、以及程序 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2015075862A1 (ja) | 2017-03-16 |
EP3073685A1 (en) | 2016-09-28 |
US10021015B2 (en) | 2018-07-10 |
CN105745878A (zh) | 2016-07-06 |
EP3073685A4 (en) | 2017-07-26 |
JP6524911B2 (ja) | 2019-06-05 |
EP3073685B1 (en) | 2020-10-07 |
WO2015075862A1 (ja) | 2015-05-28 |
US20160285737A1 (en) | 2016-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103004158B (zh) | 具有可编程内核的网络设备 | |
CN104012052B (zh) | 用于软件定义网络中的流管理的系统和方法 | |
CN105745878B (zh) | 网络控制设备、网络控制方法以及存储介质 | |
CN102783097B (zh) | 分组转发系统、控制设备、转发设备以及用于准备处理规则的方法 | |
CN105245449B (zh) | 通信系统、控制装置、处理规则设置方法、分组传输方法 | |
CN104219145B (zh) | 网络系统及路由方法 | |
CN105357035B (zh) | 通信系统、节点、控制设备、通信方法以及程序 | |
CN102523166B (zh) | 一种适用于未来互联网的结构化网络系统 | |
US20100091681A1 (en) | Vlan communication inspection system, method and program | |
CN106605392A (zh) | 用于使用控制器在网络上进行操作的系统和方法 | |
CN105812340B (zh) | 一种虚拟网络访问外网的方法和装置 | |
CN103119901A (zh) | 通信系统、控制装置、分组处理操作设置方法和程序 | |
CN110351286A (zh) | 一种软件定义网络中链路洪泛攻击检测响应机制 | |
CN109299160B (zh) | 一种基于监控大数据挖掘的电力cps安全性分析方法 | |
CN113660140A (zh) | 基于数据控制平面混合感知的服务功能链故障检测方法 | |
CN107241305A (zh) | 一种基于多核处理器的网络协议分析系统及其分析方法 | |
CN108011865A (zh) | 基于流水印和随机采样的sdn流迹追踪方法、装置及系统 | |
CN105099916A (zh) | 开放流路由交换设备及其对数据报文的处理方法 | |
CN102571423B (zh) | 基于gshlpn的网络数据传输建模及性能分析方法 | |
CN105516016B (zh) | 一种使用Tilera多核加速卡基于流的数据包过滤系统及数据包过滤方法 | |
CN102210128A (zh) | 路径计算顺序决定方法、程序以及计算装置 | |
CN104579697B (zh) | 网络扩展模块及多网络处理系统 | |
CN110099006A (zh) | 用于有状态的分组处理的系统和方法 | |
CN104380668B (zh) | 交换机装置、vlan设置管理方法以及程序 | |
CN107528731A (zh) | 应用于ns3并行仿真的网络分割优化算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |