CN104620546B - Information processor, collocation method, communication system and program - Google Patents
Information processor, collocation method, communication system and program Download PDFInfo
- Publication number
- CN104620546B CN104620546B CN201380047291.3A CN201380047291A CN104620546B CN 104620546 B CN104620546 B CN 104620546B CN 201380047291 A CN201380047291 A CN 201380047291A CN 104620546 B CN104620546 B CN 104620546B
- Authority
- CN
- China
- Prior art keywords
- network
- information
- icon
- packet
- database
- 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
Abstract
Description
(相关申请的交叉引用)(Cross-reference to related application)
本发明基于并要求2012年9月13日递交的日本专利申请No.2012-202112的优先权益,其公开的全文以引用方式并入本文。This application is based on and claims the benefit of priority from Japanese Patent Application No. 2012-202112 filed on September 13, 2012, the entire disclosure of which is incorporated herein by reference.
技术领域technical field
本发明涉及一种信息处理装置、一种配置方法、一种通信系统和一种程序。具体地,本发明涉及一种用于对控制装置进行配置的信息处理装置,该控制装置对交换机组进行控制由此以集中方式管理交换机组;一种配置方法;一种通信系统;以及一种程序。The present invention relates to an information processing device, a configuration method, a communication system and a program. Specifically, the present invention relates to an information processing device for configuring a control device that controls a switch group to thereby centrally manage the switch group; a configuration method; a communication system; and a program.
背景技术Background technique
近年来,已经提出了被称为开放流(OpenFlow)的技术(见非专利文献(NPL)1和2)。开放流把通信看作端对端流,并基于每个流执行路径控制、失败恢复、负载平衡和优化。根据NPL 2的开放流交换机具有用于与开放流控制器进行通信的安全信道,并根据由开放流控制器合适地添加或改写的流表进行操作。在流表中,为每个流定义以下三项的集合:与分组首部匹配的匹配条件(匹配字段);流统计信息(计数器);以及定义处理内容的指令(参见NPL 2中章节4.1“流表”)。In recent years, a technique called OpenFlow (OpenFlow) has been proposed (see Non-Patent Literature (NPL) 1 and 2). OpenFlow treats communication as an end-to-end flow and performs path control, failure recovery, load balancing, and optimization on a per-flow basis. An OpenFlow switch according to NPL 2 has a secure channel for communicating with an OpenFlow controller, and operates according to a flow table appropriately added or rewritten by the OpenFlow controller. In the flow table, a set of the following three items is defined for each flow: the matching condition (matching field) that matches the header of the packet; the flow statistics (counter); and the instruction that defines the processing content (see NPL 2, Section 4.1 "Flow surface").
例如,当接收到分组时,开放流交换机在流表中搜索具有与进入分组的首部信息相匹配的匹配条件(参见NPL 2中“4.3匹配字段”)的条目。如果作为搜索的结果,开放流交换机找到与进入分组相匹配的条目,则开放流交换机对流统计信息(计数器)进行更新并基于在条目的指令字段中写入的处理内容(来自指定端口的分组传输、洪泛、下降等)来对进入分组进行处理。如果作为搜索的结果,开放流交换机未找到与进入分组相匹配的条目,则开放流交换机经由安全信道向开放流控制器发送条目设置请求(分组进入消息)。也就是说,开放流交换机请求开放流控制器发送用于对进入分组进行处理的控制信息。开放流交换机接收定义处理内容的流条目并对流表进行更新。以此方式,通过使用作为控制信息在流表中存储的条目,开放流交换机执行分组转发。For example, when receiving a packet, the OpenFlow switch searches the flow table for an entry with a matching condition (see "4.3 Matching Field" in NPL 2) that matches the header information of the incoming packet. If, as a result of the search, the OpenFlow switch finds an entry matching the incoming packet, the OpenFlow switch updates the flow statistics (counters) and based on the processing content written in the command field of the entry (packet transmission from the specified port , flooding, dropping, etc.) to process incoming packets. If the OpenFlow switch does not find an entry matching the incoming packet as a result of the search, the OpenFlow switch transmits an entry setting request (packet entry message) to the OpenFlow controller via a secure channel. That is, the OpenFlow switch requests the OpenFlow controller to send control information for processing incoming packets. The OpenFlow switch receives flow entries defining processing content and updates the flow table. In this way, the OpenFlow switch performs packet forwarding by using the entries stored in the flow table as control information.
[NPL 1][NPL 1]
Nick McKeown和其他七位作者,“OpenFlow:Enabling Innovation in CampusNetworks”,[在线],[2012年7月13日搜索],因特网<URL:http://www.openflow.org/documents/openflow-wp-latest.pdf>Nick McKeown and seven other authors, "OpenFlow: Enabling Innovation in CampusNetworks", [online], [searched 13 July 2012], Internet <URL: http://www.openflow.org/documents/openflow-wp -latest.pdf>
[NPL 2][NPL 2]
″OpenFlow Switch Specification″版本1.1.0实现(有线协议0x01),[在线],[2012年7月13日检索],因特网<URL:http://www.openflow.org/documents/openflow-spec-v1.0.0.pdf>"OpenFlow Switch Specification" version 1.1.0 implementation (wire protocol 0x01), [online], [retrieved 13 Jul 2012], Internet <URL: http://www.openflow.org/documents/openflow-spec- v1.0.0.pdf>
发明内容Contents of the invention
本发明已经给出以下分析。在以上NPL 1和2中由开放流代表的集中控制类型网络中,可以执行详细控制。然而,为了使以上NPL 1和2中与开放流控制器相对应的控制装置执行期望的操作,运营商需要对控制器的控制操作进行编程。除了NPL 2的基本规范之外,控制器的编程需要例如用于管理网络配置、编程和测试环境的配置的高级知识和技术。The present invention has given the following analysis. In the centralized control type network represented by OpenFlow in NPL 1 and 2 above, detailed control can be performed. However, in order for the control means corresponding to the OpenFlow controller in the above NPL 1 and 2 to perform desired operations, the operator needs to program the control operations of the controllers. In addition to the basic specification of NPL 2, programming of controllers requires advanced knowledge and techniques such as for managing network configuration, configuration of programming and testing environments.
例如,在NPL 2中为了配置开放流控制器,需要对各种项目进行设置和编程,包括每个交换机和控制信道之间的关联、由LLDP(链路层发现协议)进行的拓扑搜索、路经计算、路径上多个交换机中的流条目的设置和每个交换机的输入/输出分组的管理。例如,为了执行编程,需要大量知识和技术,例如关于与拓扑管理和路经计算有关的API(应用编程接口)、与API有关的许多函数和需要向这些函数给出的参数。For example, in NPL 2, in order to configure the OpenFlow controller, various items need to be set up and programmed, including association between each switch and control channel, topology search by LLDP (Link Layer Discovery Protocol), path Computed, setup of flow entries in multiple switches along the path and management of input/output packets per switch. For example, in order to perform programming, a lot of knowledge and skills are required, such as about API (Application Programming Interface) related to topology management and route calculation, many functions related to the API and parameters that need to be given to these functions.
因此,即使安装了集中控制类型网络的设备,用户可能不能充分地利用控制灵活性。Therefore, even if the equipment of the centralized control type network is installed, the user may not be able to fully utilize the control flexibility.
本发明的目的是提供:一种能够改进集中控制类型网络的易设置性(易配置性)而不对其控制灵活性有损害的信息处理装置;一种配置方法;一种通信系统;以及一种程序。An object of the present invention is to provide: an information processing device capable of improving the ease of setting (easy configuration) of a centralized control type network without impairing its control flexibility; a configuration method; a communication system; and a program.
根据第一方面,提供了一种对控制网络的控制装置进行配置的信息处理装置。所述信息处理装置包括:显示单元,所述显示单元在显示器上显示与存储用于控制所述网络的控制信息的数据库相对应的第一图标和多个第二图标,所述多个第二图标中的每一个对应于多个模块之一,所述多个模块中的每一个基于预定算法来操作所述控制信息;以及管理单元,所述管理单元配置所述控制装置,所述控制装置具有以下功能:根据所述第一图标和所述第二图标中的任意一个的连接,将与所述第二图标相对应的模块连接到所述数据库,并响应于由所述模块发布的数据库操作命令来操作所述控制信息。According to a first aspect, there is provided an information processing device that configures a control device that controls a network. The information processing apparatus includes: a display unit that displays on the display a first icon corresponding to a database storing control information for controlling the network and a plurality of second icons, the plurality of second icons each of the icons corresponds to one of a plurality of modules each of which operates the control information based on a predetermined algorithm; and a management unit configuring the control device, the control device It has the following functions: according to the connection between the first icon and any one of the second icons, connect the module corresponding to the second icon to the database, and respond to the database issued by the module operation commands to manipulate the control information.
根据第二方面,提供了一种对控制网络的控制装置进行的配置方法。所述配制方法包括:在显示器上显示与存储用于控制所述网络的控制信息的数据库相对应的第一图标和多个第二图标,所述多个第二图标中的每一个对应于多个模块之一,所述多个模块中的每一个基于预定算法来操作所述控制信息;以及配置所述控制装置,所述控制装置具有以下功能:根据所述第一图标和所述第二图标中的任意一个的连接,将与所述第二图标相对应的模块连接到所述数据库,并响应于由所述模块发布的数据库操作命令来操作所述控制信息。该方法与特定机器相关联,即,与通过使用所述数据库和模块来控制所述网络的所述控制装置相关联。According to a second aspect, a method of configuring a control device of a control network is provided. The configuration method includes: displaying on a display a first icon corresponding to a database storing control information for controlling the network and a plurality of second icons, each of the plurality of second icons corresponding to a plurality of one of the modules, each of the plurality of modules operates the control information based on a predetermined algorithm; and configures the control device, the control device has the following functions: according to the first icon and the second icon connection of any one of the icons, connects the module corresponding to the second icon to the database, and operates the control information in response to a database operation command issued by the module. This method is associated with a specific machine, ie with said control means controlling said network by using said database and modules.
根据第三方面,提供了一种通信系统,所述通信系统包括对用于控制网络的控制装置进行配置的信息处理装置。所述信息处理装置包括:显示单元,所述显示单元在显示器上显示与存储用于控制所述网络的控制信息的数据库相对应的第一图标和多个第二图标,所述多个第二图标中的每一个对应于多个模块之一,所述多个模块中的每一个基于预定算法来操作所述控制信息;以及管理单元,所述管理单元配置所述控制装置,所述控制装置具有以下功能:根据所述第一图标和所述第二图标中的任意一个的连接,将与所述第二图标相对应的模块连接到所述数据库,并响应于由所述模块发布的数据库操作命令来操作所述控制信息。According to a third aspect, there is provided a communication system including an information processing device configuring a control device for controlling a network. The information processing apparatus includes: a display unit that displays on the display a first icon corresponding to a database storing control information for controlling the network and a plurality of second icons, the plurality of second icons each of the icons corresponds to one of a plurality of modules each of which operates the control information based on a predetermined algorithm; and a management unit configuring the control device, the control device It has the following functions: according to the connection between the first icon and any one of the second icons, connect the module corresponding to the second icon to the database, and respond to the database issued by the module operation commands to manipulate the control information.
根据第四方面,提供了一种程序,所述程序使对控制网络的控制装置进行配置的信息处理装置执行以下处理:在显示器上显示与存储用于控制所述网络的控制信息的数据库相对应的第一图标和多个第二图标,所述多个第二图标中的每一个对应于多个模块之一,所述多个模块中的每一个基于预定算法来操作所述控制信息;以及配置所述控制装置,所述控制装置具有以下功能:根据所述第一图标和所述第二图标中的任意一个的连接,将与所述第二图标相对应的模块连接到所述数据库,并响应于由所述模块发布的数据库操作命令来操作所述控制信息。此程序可以记录在计算机可读(非瞬时)存储介质中。即,本发明也可以实现为计算机程序产品。According to a fourth aspect, there is provided a program that causes an information processing device that configures a control device that controls a network to perform a process of displaying on a display a program corresponding to a database storing control information for controlling the network. a first icon and a plurality of second icons, each of the plurality of second icons corresponds to one of a plurality of modules, each of the plurality of modules operates the control information based on a predetermined algorithm; and Configuring the control device, the control device has the following functions: according to the connection between the first icon and any one of the second icons, connect the module corresponding to the second icon to the database, and manipulating the control information in response to a database manipulation command issued by the module. This program can be recorded in a computer readable (non-transitory) storage medium. That is, the present invention can also be realized as a computer program product.
本发明有价值的效果总结如下。Valuable effects of the present invention are summarized as follows.
根据本发明,可以改进集中控制类型网络的易设置性(易配置性)而不对其控制灵活性产生损害。According to the present invention, the ease of setup (ease of configuration) of a centralized control type network can be improved without impairing its control flexibility.
附图说明Description of drawings
图1示出了根据本公开的第一示例性实施例的系统的配置。FIG. 1 shows the configuration of a system according to a first exemplary embodiment of the present disclosure.
图2示出了根据本公开的第一示例性实施例的控制装置的配置。FIG. 2 shows the configuration of a control device according to the first exemplary embodiment of the present disclosure.
图3示出了根据本公开的第一示例性实施例的网络DB的配置。FIG. 3 shows the configuration of a network DB according to the first exemplary embodiment of the present disclosure.
图4是示出了根据本公开的第一示例性实施例的操作的时序图。FIG. 4 is a sequence diagram showing operations according to the first exemplary embodiment of the present disclosure.
图5是示出了根据本公开的第一示例性实施例的操作的时序图。FIG. 5 is a sequence diagram showing operations according to the first exemplary embodiment of the present disclosure.
图6是示出了根据本公开的第一示例性实施例的操作的时序图。FIG. 6 is a sequence diagram showing operations according to the first exemplary embodiment of the present disclosure.
图7示出了根据本公开的第二示例性实施例的网络DB的配置。FIG. 7 shows the configuration of a network DB according to the second exemplary embodiment of the present disclosure.
图8示出了根据本公开的第二示例性实施例的网络DB的配置。FIG. 8 shows the configuration of a network DB according to the second exemplary embodiment of the present disclosure.
图9示出了根据本公开的第二示例性实施例的网络DB的配置。FIG. 9 shows the configuration of a network DB according to the second exemplary embodiment of the present disclosure.
图10示出了在本公开的第二示例性实施例中使用的数据库操作命令(DB操作命令)。FIG. 10 shows database operation commands (DB operation commands) used in the second exemplary embodiment of the present disclosure.
图11示出了在本公开的第二示例性实施例中使用的数据库操作命令(DB操作命令)。FIG. 11 shows database operation commands (DB operation commands) used in the second exemplary embodiment of the present disclosure.
图12示出了根据本公开的第三示例性实施例的系统的配置。FIG. 12 shows the configuration of a system according to a third exemplary embodiment of the present disclosure.
图13示出了根据本公开的第三示例性实施例的开放流控制单元的配置。FIG. 13 shows the configuration of an OpenFlow control unit according to a third exemplary embodiment of the present disclosure.
图14示出了根据本公开的第三示例性实施例的由拓扑处理单元的网络DB的操作流程。FIG. 14 shows the operation flow of the network DB by the topology processing unit according to the third exemplary embodiment of the present disclosure.
图15示出了根据本公开的第三示例性实施例的由流处理单元的网络DB的操作流程。FIG. 15 shows the operation flow of the network DB by the stream processing unit according to the third exemplary embodiment of the present disclosure.
图16示出了根据本公开的第三示例性实施例的由分组处理单元的网络DB的操作流程。FIG. 16 shows the operation flow of the network DB by the packet processing unit according to the third exemplary embodiment of the present disclosure.
图17是示出了根据本公开的第三示例性实施例的操作的时序图。FIG. 17 is a sequence diagram showing operations according to the third exemplary embodiment of the present disclosure.
图18是示出了根据本公开的第三示例性实施例的操作的时序图。FIG. 18 is a sequence diagram showing operations according to the third exemplary embodiment of the present disclosure.
图19是示出了根据本公开的第三示例性实施例的操作的时序图。FIG. 19 is a sequence diagram showing operations according to the third exemplary embodiment of the present disclosure.
图20是示出了根据本公开的第三示例性实施例的操作的时序图。FIG. 20 is a sequence diagram showing operations according to the third exemplary embodiment of the present disclosure.
图21示出了根据本公开的第四示例性实施例的系统的配置。FIG. 21 shows the configuration of a system according to a fourth exemplary embodiment of the present disclosure.
图22示出了根据本公开的第四示例性实施例的网络拓扑的图形显示。FIG. 22 shows a graphical display of a network topology according to a fourth exemplary embodiment of the present disclosure.
图23示出了根据本公开的第四示例性实施例的分组处理信息的图形显示。FIG. 23 shows a graphic display of packet processing information according to the fourth exemplary embodiment of the present disclosure.
图24示出了根据本公开的第四示例性实施例的分组输入和输出信息的图形显示。FIG. 24 shows a graphic display of packet input and output information according to the fourth exemplary embodiment of the present disclosure.
图25示出了根据本公开的第五示例性实施例的系统的配置。FIG. 25 shows the configuration of a system according to a fifth exemplary embodiment of the present disclosure.
图26示出了根据本公开的第六示例性实施例的系统的配置。FIG. 26 shows the configuration of a system according to a sixth exemplary embodiment of the present disclosure.
图27示出了根据本公开的第七示例性实施例的系统的配置。FIG. 27 shows the configuration of a system according to a seventh exemplary embodiment of the present disclosure.
图28示出了根据本公开的第七示例性实施例的由聚合逻辑单元进行的网络DB的操作。FIG. 28 shows the operation of the network DB by the aggregation logic unit according to the seventh exemplary embodiment of the present disclosure.
图29示出了根据本公开的第七示例性实施例的由聚合逻辑单元进行的网络DB的操作。FIG. 29 shows operations of a network DB by an aggregation logic unit according to a seventh exemplary embodiment of the present disclosure.
图30示出了根据本公开的第七示例性实施例的由聚合逻辑单元进行的网络DB的操作。FIG. 30 shows the operation of the network DB by the aggregation logic unit according to the seventh exemplary embodiment of the present disclosure.
图31示出了根据本公开的第八示例性实施例的系统的配置。FIG. 31 shows the configuration of a system according to an eighth exemplary embodiment of the present disclosure.
图32示出了根据本公开的第八示例性实施例的由集成逻辑单元进行的网络DB的操作。FIG. 32 shows operations of a network DB by an integrated logic unit according to an eighth exemplary embodiment of the present disclosure.
图33示出了根据本公开的第八示例性实施例的由集成逻辑单元进行的网络DB的操作。FIG. 33 shows operations of a network DB by an integrated logic unit according to an eighth exemplary embodiment of the present disclosure.
图34示出了根据本公开的第九示例性实施例的系统的配置。FIG. 34 shows the configuration of a system according to a ninth exemplary embodiment of the present disclosure.
图35示出了根据本公开的第九示例性实施例的控制装置的组件管理器的配置。FIG. 35 shows a configuration of a component manager of a control device according to a ninth exemplary embodiment of the present disclosure.
图36示出了根据本公开的第十示例性实施例的系统的配置。FIG. 36 shows the configuration of a system according to a tenth exemplary embodiment of the present disclosure.
图37示出了根据本公开的第十示例性实施例的显示单元上显示的屏幕。FIG. 37 illustrates a screen displayed on a display unit according to a tenth exemplary embodiment of the present disclosure.
图38示出了根据本公开的第十示例性实施例的用户操作内容和控制装置配置之间的对应关系。FIG. 38 shows the correspondence between user operation contents and control device configurations according to the tenth exemplary embodiment of the present disclosure.
图39示出了根据本公开的第十示例性实施例的用户操作内容和控制装置配置之间的对应关系。FIG. 39 shows the correspondence between user operation contents and control device configurations according to the tenth exemplary embodiment of the present disclosure.
图40示出了根据本公开的第十示例性实施例的用户操作内容和控制装置配置之间的对应关系。FIG. 40 shows the correspondence between user operation contents and control device configurations according to the tenth exemplary embodiment of the present disclosure.
图41示出了根据本公开的第十示例性实施例的用户操作内容和控制装置配置之间的对应关系。FIG. 41 shows the correspondence between user operation contents and control device configurations according to the tenth exemplary embodiment of the present disclosure.
图42示出了根据本公开的第十示例性实施例的用户操作内容和控制装置配置之间的对应关系。FIG. 42 shows the correspondence between user operation contents and control device configurations according to the tenth exemplary embodiment of the present disclosure.
具体实施方式detailed description
<第一示例性实施例><First Exemplary Embodiment>
根据本公开的第一示例性实施例,控制装置可以通过对DB(数据库)进行操作来以集中方式控制网络,该DB存储与网络的配置和对网络中的分组进行处理的方法有关的控制信息。例如,DB是通过键-值存储配置的,并通过预定DB操作命令进行操作。可以通过简单操作命令(例如用于向DB输入信息并从DB输出信息的命令和用于删除DB中的信息的命令)来操作DB。在第一示例性实施例中,可以通过对通过操作命令来操作DB的模块进行组合来配置控制装置。因此,可以通过简单的DB操作命令来对根据第一示例性实施例的控制装置进行编程,而不需要使用与其有关的API或许多函数。According to the first exemplary embodiment of the present disclosure, the control device can control the network in a centralized manner by operating a DB (database) that stores control information related to the configuration of the network and the method of processing packets in the network . For example, DB is configured through key-value storage and operated through predetermined DB operation commands. The DB can be operated by simple operation commands such as commands for inputting information to and outputting information from the DB and commands for deleting information in the DB. In the first exemplary embodiment, the control device can be configured by combining modules that operate the DB by operation commands. Therefore, the control device according to the first exemplary embodiment can be programmed by a simple DB operation command without using API or many functions related thereto.
接下来,将参考附图详细描述第一示例性实施例。图1示出了根据本公开的第一示例性实施例的通信系统的配置。在图1中,该通信系统是由控制装置1、网络DB 2和包括多个节点在内的网络4配置的。Next, a first exemplary embodiment will be described in detail with reference to the drawings. FIG. 1 shows the configuration of a communication system according to a first exemplary embodiment of the present disclosure. In FIG. 1, the communication system is configured by a control device 1, a network DB 2, and a network 4 including a plurality of nodes.
控制装置1通过对网络DB 2进行操作以集中方式来控制网络4。The control device 1 controls the network 4 in a centralized manner by operating the network DB 2 .
网络4中的每个节点3根据控制装置1来处理分组。Each node 3 in the network 4 processes packets according to the control means 1 .
例如,网络DB 2是通过键-值存储所配置的数据库。例如,网络DB2成对地存储标识信息(键)和数据(值)。在网络DB 2中,针对每个数据(值)设置标识信息(键)。For example, Web DB 2 is a database configured by key-value storage. For example, the web DB2 stores identification information (key) and data (value) in pairs. In the network DB 2, identification information (key) is set for each data (value).
图2示出了控制装置1的配置。在图2中,控制装置1包括DB操作逻辑单元11、网络控制单元12和连接到网络DB 2的DB接口单元10。FIG. 2 shows the configuration of the control device 1 . In FIG. 2 , the control device 1 includes a DB operation logic unit 11 , a network control unit 12 and a DB interface unit 10 connected to the network DB 2 .
DB接口单元10具有通过使用由DB操作逻辑单元11发布的预定DB操作命令来操作网络DB 2的功能。备选地,控制装置1可以通过组合多个DB操作逻辑单元11来配置。因此,DB接口单元10可以连接到多个DB操作逻辑单元11(由图2中的虚线所指示的部分)。DB接口单元10可以通过使用从多个DB操作逻辑单元11发布的命令来操作网络DB 2。DB接口单元10可以基于网络DB 2中多个DB操作逻辑单元11的组合来配置信息。也就是说,运营商可以通过改变连接到DB接口单元10的多个DB操作逻辑单元11的组合来容易地改变网络DB 2的配置。因此,运营商可以容易地将控制装置1配置为适合于网络4的类型或适合于网络4中使用的通信协议。The DB interface unit 10 has a function of operating the network DB 2 by using predetermined DB operation commands issued by the DB operation logic unit 11 . Alternatively, the control device 1 may be configured by combining a plurality of DB operation logic units 11 . Therefore, the DB interface unit 10 can be connected to a plurality of DB operation logic units 11 (parts indicated by dotted lines in FIG. 2 ). The DB interface unit 10 can operate the network DB 2 by using commands issued from a plurality of DB operation logic units 11 . The DB interface unit 10 can configure information based on a combination of a plurality of DB operation logic units 11 in the network DB 2 . That is, the operator can easily change the configuration of the network DB 2 by changing the combination of a plurality of DB operation logic units 11 connected to the DB interface unit 10 . Thus, the operator can easily configure the control device 1 to be suitable for the type of network 4 or for the communication protocol used in the network 4 .
以下将列出用于操作网络DB 2的命令的示例。然而,因为以下命令是示例,根据本公开的DB操作命令不限于以下示例。Examples of commands for operating the network DB 2 will be listed below. However, since the following commands are examples, the DB operation commands according to the present disclosure are not limited to the following examples.
信息输入/输出命令Information input/output commands
信息删除命令message deletion command
通知订阅命令Notification subscription command
信息输入/输出命令用于向网络DB 2输入信息。此外,信息输入/输出命令用于从网络DB 2获取信息。例如,DB接口单元10使用命令“get(获取)(键)”来从网络DB 2获取与标识信息(键)相对应的数据(值)。此外,DB接口单元10使用命令“put(设置)(键、值)”来将与标识信息(键)相对应的数据(值)输入到网络DB 2。如果列出了数据(值),则DB接口单元10可以使用命令“push(推)(键、值)”或命令“pop(弹)(键、值)”来执行数据(值)的输入或输出。也就是说,数据可以用作队列或栈。The information input/output command is used to input information to the network DB 2 . Also, information input/output commands are used to acquire information from the network DB 2 . For example, the DB interface unit 10 acquires data (value) corresponding to the identification information (key) from the network DB 2 using the command "get (key)". Furthermore, the DB interface unit 10 uses the command "put (set) (key, value)" to input data (value) corresponding to the identification information (key) to the network DB 2 . If the data (value) is listed, the DB interface unit 10 can use the command "push (push) (key, value)" or the command "pop (pop) (key, value)" to perform the input of the data (value) or output. That is, data can be used as a queue or as a stack.
信息删除命令用于从网络DB 2删除信息。例如,DB接口单元10使用命令“delete(删除)(键)”来从网络DB 2删除与标识信息(键)相对应的数据(值)。The message delete command is used to delete messages from the network DB2. For example, the DB interface unit 10 uses the command "delete (key)" to delete the data (value) corresponding to the identification information (key) from the network DB 2 .
例如,通知订阅命令用于订阅。利用该命令,如果在网络DB 2上执行与所指定的标识信息(键)相对应的操作,则网络DB 2向DB接口单元10通知与标识信息(键)相对应的数据(值)。例如,DB接口单元10向网络DB 2发送命令“subscribe(订阅)(键)”,并且如果执行与标识信息(键)相对应的操作,则DB接口单元10从网络DB 2接收与标识信息(键)相对应的数据(值)。键模式(例如通配符或常规表达式)可以用于标识信息。例如,网络DB 2可以使用命令“publish(发布)(键、值、op)”来向DB接口单元10通知与标识信息相对应的数据(值)。与键相对应的操作(包括put/get/delete)可以被包括在“op”中。在通知之后,DB操作逻辑单元11可以识别与标识信息相对应的键的添加、获取或删除。For example, the notification subscribe command is used to subscribe. With this command, if an operation corresponding to the specified identification information (key) is performed on the network DB 2, the network DB 2 notifies the DB interface unit 10 of data (value) corresponding to the identification information (key). For example, the DB interface unit 10 sends a command "subscribe (subscribe) (key)" to the network DB 2, and if an operation corresponding to the identification information (key) is performed, the DB interface unit 10 receives from the network DB 2 the same as the identification information ( key) corresponding data (value). Key patterns, such as wildcards or regular expressions, can be used to identify information. For example, the network DB 2 can use the command "publish (key, value, op)" to notify the DB interface unit 10 of data (value) corresponding to the identification information. Operations (including put/get/delete) corresponding to keys may be included in "op". After the notification, the DB operation logic unit 11 may recognize the addition, acquisition, or deletion of the key corresponding to the identification information.
多个DB操作逻辑单元11可以共享公共的DB操作命令。通过允许多个DB操作逻辑单元11用公共命令来操作网络DB 2,网络运营商可以容易地扩展DB操作逻辑单元11。也即是说,当将具有新功能的DB操作逻辑单元11添加到控制装置1时,运营商不需要新设计DB操作逻辑单元11和网络DB 2之间的接口。Multiple DB operation logic units 11 can share a common DB operation command. The network operator can easily expand the DB operation logic unit 11 by allowing a plurality of DB operation logic units 11 to operate the network DB 2 with a common command. That is to say, when the DB operation logic unit 11 having new functions is added to the control device 1 , the operator does not need to newly design the interface between the DB operation logic unit 11 and the network DB 2 .
DB操作逻辑单元11具有基于根据DB操作逻辑单元11的类型定义的预定算法来对存储在网络DB 2中的信息进行操作的功能。例如,DB操作逻辑单元11具有将从网络4获取的信息经由DB接口单元10输入到网络DB 2的功能。The DB operation logic unit 11 has a function of operating information stored in the network DB 2 based on a predetermined algorithm defined according to the type of the DB operation logic unit 11 . For example, the DB operation logic unit 11 has a function of inputting information acquired from the network 4 to the network DB 2 via the DB interface unit 10 .
网络控制单元12具有基于通过DB操作逻辑单元11的操作所配置的网络DB 2来控制网络4的功能。例如,网络控制单元12可以根据网络4中所使用的通信协议来改变控制网络4的方法。The network control unit 12 has a function of controlling the network 4 based on the network DB 2 configured by the operation of the DB operation logic unit 11 . For example, the network control unit 12 can change the method of controlling the network 4 according to the communication protocol used in the network 4 .
图3示出了网络DB 2的配置。图3的该配置是一个示例,因此网络DB 2的配置不限于图3中的配置。FIG. 3 shows the configuration of the network DB 2 . This configuration of FIG. 3 is an example, so the configuration of the network DB 2 is not limited to that in FIG. 3 .
例如,网络DB 2包括关于网络4的拓扑的信息(拓扑信息;第一信息)、关于分组处理方法的信息(分组处理信息;第二信息)和关于分组的信息(分组信息;第三、第四信息)。For example, the network DB 2 includes information on the topology of the network 4 (topology information; first information), information on a packet processing method (packet processing information; second information), and information on packets (packet information; third, second information). 4 information).
例如,拓扑信息包括关于网络4中存在的每个节点3的信息(节点信息)和关于每个节点对之间的链路的信息(链路信息)。例如,节点信息包括关于节点3的标识符和通信端口的信息。例如,链路信息包括:链路的标识符、连接到链路的节点3的标识符、以及连接到链路的节点3的通信端口的标识符。For example, the topology information includes information on each node 3 existing in the network 4 (node information) and information on links between each node pair (link information). For example, the node information includes information on the identifier and communication port of the node 3 . For example, the link information includes: an identifier of the link, an identifier of the node 3 connected to the link, and an identifier of a communication port of the node 3 connected to the link.
分组处理信息包括流信息。流信息是关于分组所属的流的信息。流表示具有预定属性(基于通信目的地、源等所能够标识的属性)的通信分组组。例如,流信息包括匹配条件、路径信息和处理信息。例如,匹配条件表示用于标识与流信息相对应的分组的条件。例如,路径信息表示属于与匹配条件相匹配的流的分组经过的路径。例如,处理信息表示要对经过与路径信息相对应的路径的分组执行的处理(例如重写首部信息)。Packet processing information includes flow information. The flow information is information on the flow to which the packet belongs. A flow represents a group of communication packets having predetermined attributes (attributes that can be identified based on communication destinations, sources, etc.). For example, flow information includes matching conditions, path information, and processing information. For example, the matching condition indicates a condition for identifying a packet corresponding to flow information. For example, the path information indicates a path through which a packet belonging to a flow matching a matching condition passes. For example, the processing information indicates processing to be performed on a packet passing through a path corresponding to the path information (for example, rewriting header information).
分组信息包括输入分组信息和输出分组信息。输入分组信息是从网络4接收的分组中与任意流信息中的匹配条件都不匹配的分组。输出分组信息是需要从网络4输出的分组。The grouping information includes input grouping information and output grouping information. The input packet information is a packet that does not match the matching condition in any flow information among the packets received from the network 4 . The output packet information is a packet to be output from the network 4 .
例如,网络DB 2中存储的拓扑信息、分组处理信息和输入分组信息可以以预定格式标准化。通过对网络DB 2中存储的信息进行标准化,网络DB 2可以与符合各种协议的网络具有兼容性。For example, topology information, packet processing information, and input packet information stored in the network DB 2 may be standardized in a predetermined format. By standardizing the information stored in the network DB 2, the network DB 2 can have compatibility with networks conforming to various protocols.
图4至6示出了根据第一示例性实施例的操作。因为图4至6的操作是示例,根据本公开的操作不限于在这些附图中所示的操作。4 to 6 illustrate operations according to the first exemplary embodiment. Since the operations of FIGS. 4 to 6 are examples, the operations according to the present disclosure are not limited to the operations shown in these drawings.
图4至6示出了由多个DB操作逻辑单元11(“DB操作逻辑单元11-1和11-2”)对网络DB 2进行操作的示例。DB操作逻辑单元11-1具有对网络DB 2进行操作并输入/输出关于拓扑的信息的功能。DB操作逻辑单元11-2具有基于在网络DB 2中存储的信息来生成分组处理信息的功能。4 to 6 show examples in which the network DB 2 is operated by a plurality of DB operation logic units 11 ("DB operation logic units 11-1 and 11-2"). The DB operation logic unit 11-1 has a function of operating the network DB 2 and inputting/outputting information on the topology. The DB operation logic unit 11-2 has a function of generating packet processing information based on information stored in the network DB 2.
图4示出了DB操作逻辑单元11-1通过对网络DB 2进行操作来管理网络4的拓扑的操作。FIG. 4 shows the operation of the DB operation logic unit 11 - 1 to manage the topology of the network 4 by operating the network DB 2 .
控制装置1的DB操作逻辑单元11-1经由网络控制单元12从网络4收集关于拓扑的信息(S10)。关于拓扑的信息是通过使用例如LLDP(链路层发现协议)收集的。LLDP是网络上的装置利用其与相邻装置交换信息并收集关于连接到装置的通信端口的相邻装置的信息。例如,网络控制单元12从每个节点3收集已经由网络4中的每个节点3通过LLDP所收集的信息。The DB operation logic unit 11-1 of the control device 1 collects information on the topology from the network 4 via the network control unit 12 (S10). Information about the topology is collected by using eg LLDP (Link Layer Discovery Protocol). LLDP is by which devices on a network exchange information with neighboring devices and collect information about neighboring devices connected to a communication port of the device. For example, the network control unit 12 collects from each node 3 information that has been collected by each node 3 in the network 4 through LLDP.
例如,DB操作逻辑单元11-1基于经由网络控制单元12收集的信息,以与网络DB 2相对应的预定格式生成拓扑信息(S11)。For example, the DB operation logic unit 11-1 generates topology information in a predetermined format corresponding to the network DB 2 based on information collected via the network control unit 12 (S11).
通过使用DB操作命令(信息输入/输出命令),DB操作逻辑单元11-1经由DB接口单元10将所生成的拓扑信息存储到网络DB 2中(S12)。By using a DB operation command (information input/output command), the DB operation logic unit 11-1 stores the generated topology information into the network DB 2 via the DB interface unit 10 (S12).
图5示出了DB操作逻辑单元11-2通过对网络DB 2进行操作来生成与对网络4中流动的分组进行处理的方法有关的信息。FIG. 5 shows that the DB operation logic unit 11 - 2 generates information related to a method of processing packets flowing in the network 4 by operating the network DB 2 .
通过使用DB操作命令(信息输入/输出命令),控制装置1的DB操作逻辑单元11-2经由DB接口单元10从网络DB 2获取拓扑信息(S13)。By using a DB operation command (information input/output command), the DB operation logic unit 11-2 of the control device 1 acquires topology information from the network DB 2 via the DB interface unit 10 (S13).
DB操作逻辑单元11-2可以通过使用通知订阅命令来预设网络DB2,使得当拓扑信息改变时,网络DB 2向DB操作逻辑单元11-2通知拓扑信息的改变。当拓扑信息改变时,网络DB 2经由DB接口单元10向DB操作逻辑单元11-2通知拓扑信息的改变。The DB operation logic unit 11-2 can preset the network DB2 by using the notification subscription command so that when the topology information changes, the network DB 2 notifies the DB operation logic unit 11-2 of the change of the topology information. When the topology information is changed, the network DB 2 notifies the DB operation logic unit 11 - 2 of the change of the topology information via the DB interface unit 10 .
基于从网络DB 2获取的拓扑信息,DB操作逻辑单元11-2以与网络DB 2相对应的预定格式,生成分组处理信息(S14)。例如,DB操作逻辑单元11-2计算分组转发路径(图3中的“路径信息”)并将所计算的转发路径存储到分组处理信息中。例如,DB操作逻辑单元11-2通过使用预定的计算逻辑来计算转发路径。例如,DB操作逻辑单元11-2将从源到目的地的最短路径设置到分组转发路径。Based on the topology information acquired from the network DB 2, the DB operation logic unit 11-2 generates packet processing information in a predetermined format corresponding to the network DB 2 (S14). For example, the DB operation logic unit 11-2 calculates a packet forwarding path ("path information" in FIG. 3) and stores the calculated forwarding path into the packet processing information. For example, the DB operation logic unit 11-2 calculates the forwarding path by using predetermined calculation logic. For example, the DB operation logic unit 11-2 sets the shortest path from the source to the destination as the packet forwarding path.
此外,DB操作逻辑单元11-2将分组匹配条件和处理信息(例如重写首部)存储到分组处理信息中。Furthermore, the DB operation logic unit 11-2 stores packet matching conditions and processing information (such as rewriting headers) into the packet processing information.
通过使用DB操作命令(信息输入/输出命令),DB操作逻辑单元11-2经由DB接口单元10将所生成的分组处理信息存储到网络DB 2中(S15)。By using a DB operation command (information input/output command), the DB operation logic unit 11-2 stores the generated packet processing information into the network DB 2 via the DB interface unit 10 (S15).
图6示出了控制装置1通过对网络DB 2进行操作来控制网络4中的节点3的操作。FIG. 6 shows that the control device 1 controls the operation of the node 3 in the network 4 by operating the network DB 2 .
通过使用DB操作命令(信息输入/输出命令),控制装置1的DB操作逻辑单元11-1经由DB接口单元10从网络DB2获取分组处理信息(S16)。By using a DB operation command (information input/output command), the DB operation logic unit 11 - 1 of the control device 1 acquires packet processing information from the network DB 2 via the DB interface unit 10 ( S16 ).
DB操作逻辑单元11-1可以通过使用通知订阅命令来预设网络DB2,使得当分组处理信息改变时,网络DB 2向DB操作逻辑单元11-1通知分组处理信息的改变。例如,DB操作逻辑单元11-1使用通知订阅命令来将用于对网络DB 2的更新进行通知的通知条件设置到网络DB 2中。当执行与该预设通知条件相匹配的更新时,网络DB 2向DB操作逻辑单元11-2通知网络DB 2的更新内容。例如,如果分组处理信息改变,则网络DB 2经由DB接口单元10向DB操作逻辑单元11-1通知分组处理信息的改变。The DB operation logic unit 11-1 can preset the network DB2 by using the notification subscription command so that when the packet processing information changes, the network DB 2 notifies the DB operation logic unit 11-1 of the change of the packet processing information. For example, the DB operation logic unit 11-1 uses a notification subscription command to set a notification condition for notifying an update of the network DB 2 into the network DB 2 . When an update matching this preset notification condition is performed, the network DB 2 notifies the DB operation logic unit 11-2 of the update content of the network DB 2. For example, if the packet processing information is changed, the network DB 2 notifies the DB operation logic unit 11 - 1 of the change of the packet processing information via the DB interface unit 10 .
基于分组处理信息,DB操作逻辑单元11-1生成要在网络4的节点3中设置的处理指令(定义由节点3执行的分组处理方法的信息)并经由网络控制单元12将该处理指令设置在节点3中。Based on the packet processing information, the DB operation logic unit 11-1 generates a processing instruction (information defining a packet processing method executed by the node 3) to be set in the node 3 of the network 4 and sets the processing instruction in the node 3 via the network control unit 12. Node 3.
例如,DB操作逻辑单元11-1参考分组处理信息中的路径信息,并将处理指令设置到与该路径(Path)信息相对应的转发路径上的每个节点3中。例如,DB操作逻辑单元11-1将定义对来自与转发路径相对应的通信端口的分组进行转发的处理指令设置到每个节点3中,使得沿着与路径信息相对应的转发路径转发分组。For example, the DB operation logic unit 11-1 refers to path information in the packet processing information, and sets a processing instruction to each node 3 on the forwarding path corresponding to the path (Path) information. For example, the DB operation logic unit 11-1 sets, into each node 3, a processing instruction defining forwarding of a packet from a communication port corresponding to the forwarding path so that the packet is forwarded along the forwarding path corresponding to the path information.
如在以上图4至6中所示的操作中,通过对网络DB 2进行操作,控制装置1可以以集中方式控制网络4中的分组处理。As in the operations shown in FIGS. 4 to 6 above, by operating the network DB 2, the control device 1 can control packet processing in the network 4 in a centralized manner.
如上所述,通过利用DB操作命令来操作网络DB 2,控制装置1可以控制网络4。因此,网络4的运营商可以通过合并网络DB 2的操作命令来对控制装置1进行编程。DB操作命令的数量远小于API或与其有关的函数所需的命令的数量。因此,网络4的运营商可以容易地对控制装置1进行编程,而不需要学习高级知识和技术。As described above, the control device 1 can control the network 4 by operating the network DB 2 with the DB operation command. Thus, the operator of the network 4 can program the control device 1 by incorporating the operating commands of the network DB 2 . The number of DB operation commands is much smaller than the number of commands required by the API or functions related thereto. Therefore, the operator of the network 4 can easily program the control device 1 without having to learn advanced knowledge and techniques.
<第二示例性实施例><Second Exemplary Embodiment>
接下来,将描述本公开的第二示例性实施例。在第二示例性实施例中,将详细描述网络DB 2的配置示例和DB操作命令的示例。Next, a second exemplary embodiment of the present disclosure will be described. In the second exemplary embodiment, a configuration example of the network DB 2 and an example of a DB operation command will be described in detail.
图7至9示出了网络DB 2的配置。图7至9的配置是一个示例,因此网络DB 2的配置不限于图7至9中的配置。7 to 9 show the configuration of the network DB 2 . The configuration of FIGS. 7 to 9 is an example, so the configuration of the network DB 2 is not limited to the configuration in FIGS. 7 to 9 .
此外,在第二示例性实施例中,网络DB2是通过键-值存储配置的。然而,可以通过与键-值存储不同的方式来配置网络DB 2。Furthermore, in the second exemplary embodiment, the network DB2 is configured by key-value storage. However, the network DB 2 can be configured in a different manner from the key-value store.
图7示出了网络DB 2中存储的拓扑信息。通过与网络4中的节点3有关的标识信息(键)和与节点3之间的链路有关的标识信息(键)来配置拓扑信息。每个标识信息(键)与数据(值)相关联。FIG. 7 shows topology information stored in the network DB 2 . Topology information is configured by identification information (keys) related to nodes 3 in the network 4 and identification information (keys) related to links between nodes 3 . Each identification information (key) is associated with data (value).
例如,与标识信息″/nodes″相对应的数据(值)表示网络4中存在的节点3的标识符(节点ID)。图7中的″{1,2,3,4,...}″表示节点标识符列表。For example, the data (value) corresponding to the identification information “/nodes” indicates the identifier (node ID) of the node 3 existing in the network 4 . "{1, 2, 3, 4, . . . }" in FIG. 7 indicates a node identifier list.
标识信息″/nodes/[node_id]″的″[node_id]″表示网络4中存在的节点3之一的标识符。例如,与标识信息″/nodes/[node_id]″相对应的数据(值)表示与当控制装置1控制网络4中的节点3时所使用的标识符有关的信息或与节点3的制造商有关的信息。当控制装置1控制网络4中的节点3时所使用的标识符与以上标识信息″/nodes″相关联的标识符不同。在开放流协议中,当控制装置1控制网络4中的节点3时所使用的标识符被称为例如DPID(数据路径ID)。“[node_id]” of the identification information “/nodes/[node_id]” indicates an identifier of one of the nodes 3 existing in the network 4 . For example, the data (value) corresponding to the identification information "/nodes/[node_id]" represents information related to the identifier used when the control device 1 controls the node 3 in the network 4 or related to the manufacturer of the node 3 Information. The identifier used when the control device 1 controls the nodes 3 in the network 4 is different from the identifier associated with the above identification information "/nodes". In the OpenFlow protocol, an identifier used when the control device 1 controls the node 3 in the network 4 is called, for example, DPID (Data Path ID).
例如,与标识信息″/nodes/[node_id]/ports″相对应的数据(值)表示与″[node_id]″相对应的节点3的通信端口的标识符的列表。图7中的″{1,2,3,4,...}″表示通信端口的标识符的列表。For example, data (value) corresponding to the identification information "/nodes/[node_id]/ports" indicates a list of identifiers of communication ports of the nodes 3 corresponding to "[node_id]". "{1, 2, 3, 4, . . . }" in FIG. 7 represents a list of identifiers of communication ports.
标识信息″/nodes/[node_id]/ports/[port_id]″的″[port_id]″表示指示与″[node_id]″相对应的节点3的通信端口之一的标识符。例如,标识信息″/nodes/[node_id]/ports/[port_id]″的数据(值)包括端口状态(例如链路上行状态或链路下行状态)、端口的通信带宽等。"[port_id]" of the identification information "/nodes/[node_id]/ports/[port_id]" indicates an identifier indicating one of the communication ports of the node 3 corresponding to "[node_id]". For example, the data (value) of the identification information "/nodes/[node_id]/ports/[port_id]" includes port status (such as link up status or link down status), communication bandwidth of the port, and the like.
例如,与标识信息″/links″相对应的数据(值)表示网络4中存在的节点3之间的链路的标识符。图7中的″{1,2,3,4,...}″表示链路标识符的列表。For example, data (values) corresponding to the identification information “/links” represent identifiers of links between nodes 3 existing in the network 4 . "{1, 2, 3, 4, . . . }" in FIG. 7 indicates a list of link identifiers.
标识信息″/links/[link_id]″的″[link_id]″表示网络4中存在的节点之间的链路之一的标识符。例如,与标识信息″/links/[link_id]″相对应的数据(值)包括与在链路两端处的节点有关的信息和与这些节点的通信端口有关的信息。例如,在图7中,数据(值)包括链路中分组源节点的标识符(″src_node_id″)和链路中分组目的地节点的标识符(″dst_node_id″)。在图7中,″src_port_id″表示与″src_node_id″相对应的节点的通信端口中与链路相对应的端口的标识符。在图7中,″dst_port_id″表示与″dst_node_id″相对应的节点的通信端口中与链路相对应的端口的标识符。“[link_id]” of the identification information “/links/[link_id]” indicates an identifier of one of links between nodes existing in the network 4 . For example, data (values) corresponding to the identification information "/links/[link_id]" includes information on nodes at both ends of the link and information on communication ports of these nodes. For example, in FIG. 7, the data (value) includes an identifier of a packet source node in a link ("src_node_id") and an identifier of a packet destination node in a link ("dst_node_id"). In FIG. 7, "src_port_id" represents an identifier of a port corresponding to a link among the communication ports of the node corresponding to "src_node_id". In FIG. 7, "dst_port_id" represents an identifier of a port corresponding to a link among the communication ports of the node corresponding to "dst_node_id".
网络DB 2通过使用图7中所示的这些数据库条目,管理网络4的拓扑。通过使用DB操作命令并操作图7中所示的条目,DB操作逻辑单元11可以管理并操作网络4的拓扑。The network DB 2 manages the topology of the network 4 by using these database entries shown in FIG. 7 . By using DB operation commands and manipulating the entries shown in FIG. 7 , the DB operation logic unit 11 can manage and operate the topology of the network 4 .
图8示出了网络DB 2中存储的分组处理信息。例如,分组处理信息包括:匹配条件(Filter过滤器),该匹配条件用于标识与分组处理信息相对应的分组;转发路径(Path路径),该转发路径针对与匹配条件相匹配的分组;以及预定处理(Action动作),该预定处理要应用于与匹配条件相匹配的分组。FIG. 8 shows packet processing information stored in the network DB 2 . For example, the packet processing information includes: a matching condition (Filter filter), the matching condition is used to identify the packet corresponding to the packet processing information; a forwarding path (Path path), the forwarding path is for the packet matching the matching condition; and Predetermined processing (Action action), the predetermined processing will be applied to the packet matching the matching condition.
与标识信息(″/flows″)相对应的数据(值)表示分组处理信息的标识符。图8中的″{1,2,3,4,...}″表示分组处理信息的标识符的列表。Data (value) corresponding to the identification information ("/flows") indicates an identifier of packet processing information. "{1, 2, 3, 4, . . . }" in FIG. 8 represents a list of identifiers of packet processing information.
标识信息(″/flows/[flow_id]″)的″[flow_id]″表示分组处理信息之一的标识符。例如,标识信息″/flows/[flow_id]″的数据(值)包括用于标识与分组处理信息相对应的分组的匹配条件,该分组处理信息对应于″[flow_id]″。例如,当接收到处理方法未知的分组时,控制装置1的DB操作逻辑单元11使用DB操作命令来在网络DB 2中搜索具有与分组相对应的匹配条件的分组处理信息。网络DB 2参考与分组有关的信息(例如首部信息),并向DB操作逻辑单元11通知具有与分组相对应的匹配条件的分组处理信息。基于所提供的分组处理信息,DB操作逻辑单元11指示网络4中的节点3处理分组。"[flow_id]" of the identification information ("/flows/[flow_id]") indicates an identifier of one of packet processing information. For example, data (value) of the identification information "/flows/[flow_id]" includes a matching condition for identifying a packet corresponding to packet processing information corresponding to "[flow_id]". For example, when receiving a packet whose processing method is unknown, the DB operation logic unit 11 of the control device 1 uses a DB operation command to search the network DB 2 for packet processing information having a matching condition corresponding to the packet. The network DB 2 refers to information related to the packet (such as header information), and notifies the DB operation logic unit 11 of packet processing information having a matching condition corresponding to the packet. Based on the packet processing information provided, the DB operation logic unit 11 instructs the nodes 3 in the network 4 to process the packets.
存在以下情况:网络DB 2不具有用于参考与分组有关的信息(例如首部信息)并搜索具有与分组相对应的匹配条件的分组处理信息的DB操作命令。在这些情况下,控制装置1的DB操作逻辑单元11可以使用DB操作命令来从网络DB 2读取必需的分组处理信息并事先存储该信息。以这种方式,DB操作逻辑单元11可以通过简单地参考与分组有关的信息,确定对应的分组处理信息。基于所确定的分组处理信息,DB操作逻辑单元11给出与对网络4中的节点3的分组处理有关的指令。There are cases where the network DB 2 does not have a DB operation command for referring to packet-related information (such as header information) and searching for packet processing information having a matching condition corresponding to the packet. In these cases, the DB operation logic unit 11 of the control device 1 can use a DB operation command to read necessary packet processing information from the network DB 2 and store the information in advance. In this way, the DB operation logic unit 11 can determine the corresponding packet processing information by simply referring to the information on the packet. Based on the determined packet processing information, the DB operation logic unit 11 gives instructions related to packet processing to the nodes 3 in the network 4 .
与标识信息″/flows/[flow_id]″相对应的数据(值)包括:针对与匹配条件相匹配的分组的转发路径(“Path路径”)和要对与匹配条件相匹配的分组执行的处理(“Action动作”)。DB操作逻辑单元11向网络4中的节点3通知用于转发分组的指令,使得沿着分组处理信息中定义的转发路径转发分组。此外,如果要对分组执行的处理(“Action动作”)存在,则DB操作逻辑单元11指示网络4中的节点3执行处理。The data (values) corresponding to the identification information "/flows/[flow_id]" include: a forwarding path ("Path") for a packet matching the matching condition and a process to be performed on the packet matching the matching condition ("Action action"). The DB operation logic unit 11 notifies the node 3 in the network 4 of an instruction for forwarding the packet so that the packet is forwarded along the forwarding path defined in the packet processing information. Furthermore, if a process to be performed on the packet ("Action") exists, the DB operation logic unit 11 instructs the node 3 in the network 4 to perform the process.
图9示出了与向控制装置1转发的分组(作为处理方法未确定的分组)有关的数据库条目。网络DB 2可以将与处理方法未确定的分组有关的信息作为数据库条目进行管理。FIG. 9 shows database entries related to packets forwarded to the control device 1 (packets whose processing method is undetermined). The network DB 2 can manage information on packets whose processing methods are not determined as database entries.
与标识信息″/packets/in″相对应的数据(值)表示向控制装置1转发的分组(作为处理方法未确定的分组)的标识符的列表。例如,通过使用用于将值添加到列表的末尾的DB操作命令″push_tail″和用于从列表的顶部提取值的DB操作命令″pop_head″,标识符列表被用作FIFO(先进先出)的队列。The data (value) corresponding to the identification information "/packets/in" indicates a list of identifiers of packets forwarded to the control device 1 (packets whose processing method is undetermined). For example, by using the DB operation command "push_tail" for adding values to the end of the list and the DB operation command "pop_head" for extracting values from the top of the list, the identifier list is used as a FIFO (first in first out) queue.
例如,标识信息″/packets/in/[packet_id]″的数据(值)包括:分组的标识符、分组的接收时间、已经接收到分组的节点3的标识符和分组接收节点3的通信端口的标识符。For example, the data (value) of the identification information "/packets/in/[packet_id]" includes: the identifier of the packet, the reception time of the packet, the identifier of the node 3 that has received the packet, and the communication port of the packet receiving node 3. identifier.
例如,如果分组被转发到控制装置1,则DB操作逻辑单元11使用DB操作命令来将与分组有关的信息存储到网络DB 2中。For example, if a packet is forwarded to the control device 1 , the DB operation logic unit 11 uses a DB operation command to store information related to the packet into the network DB 2 .
与标识信息″/packets/out″相对应的数据(值)表示已经确定处理方法并需要从控制装置1向网络4返回的分组的标识符列表。例如,在与″/packets/in″相对应的队列中存储的分组中,将已经确定处理方法的分组存储到与″/packets/out″相对应的队列中。例如,与″/packets/out″相对应的数据(值)是列表并用作FIFO类型队列。The data (value) corresponding to the identification information "/packets/out" indicates a list of identifiers of packets whose processing method has been determined and which need to be returned from the control device 1 to the network 4 . For example, among the packets stored in the queue corresponding to "/packets/in", the packet whose processing method has been determined is stored in the queue corresponding to "/packets/out". For example, data (value) corresponding to "/packets/out" is a list and used as a FIFO type queue.
例如,与标识信息″/packets/out/[packet_id]″相对应的数据(值)包括:从控制装置1向其返回分组的节点的标识符、节点的通信端口中向其返回分组的端口的标识符和在分组中存储的数据(即分组自身)。For example, the data (value) corresponding to the identification information "/packets/out/[packet_id]" includes: an identifier of a node to which a packet is returned from the control device 1, an ID of a port to which a packet is returned among the communication ports of the node, The identifier and the data stored in the packet (ie the packet itself).
例如,DB操作逻辑单元11使用通知订阅命令来操作网络DB 2,使得如果分组存储在与″/packets/out″相对应的队列中并且如果操作键″/packets/out″,则通知DB操作逻辑单元11。如果分组存储在队列中(即如果与″/packets/out″和″/packets/out/[packet_id]″相对应的条目被更新),则网络DB 2向DB操作逻辑单元11通知对与″/packets/out/[packet_id]″相对应的数据的更新。For example, the DB operation logic unit 11 operates the network DB 2 using a notification subscription command so that if a packet is stored in a queue corresponding to "/packets/out" and if the key "/packets/out" is operated, the DB operation logic is notified Unit 11. If the packet is stored in the queue (that is, if the entries corresponding to "/packets/out" and "/packets/out/[packet_id]" are updated), the network DB 2 notifies the DB operation logic unit 11 of the pair and "/ packets/out/[packet_id]" corresponding data update.
标识信息″/packets/out/″和标识信息″/packets/out/[packet_id]″中存储的分组可以不对应于与″/packets/in″相对应的队列中存储的分组。以这种方式,控制装置1可以有效地输出分组。The packets stored in the identification information "/packets/out/" and the identification information "/packets/out/[packet_id]" may not correspond to the packets stored in the queue corresponding to "/packets/in". In this way, the control device 1 can efficiently output packets.
图10和11示出了当DB操作逻辑单元11操作网络DB 2时所使用的DB操作命令。如图10和11所示,通过使用push(推)命令和pop(弹)命令,可以执行诸如向列表的任意位置插入数据和从列表的任意位置获取数据的操作。此外,例如,控制装置1使用要通知数据库中具有特定键的条目的改变的订阅命令。此外,例如,使用诸如get(获取)、put(设置)和delete(删除)等的命令来获取、设置和删除与节点、链路、流和分组有关的详细信息或节点、链路、流和分组的值。10 and 11 show DB operation commands used when the DB operation logic unit 11 operates the network DB 2 . As shown in FIGS. 10 and 11, by using a push command and a pop command, operations such as inserting data into and acquiring data from an arbitrary position of the list can be performed. Also, for example, the control device 1 uses a subscribe command to be notified of a change in an entry with a specific key in the database. Also, for example, use commands such as get (get), put (set), and delete (delete), etc. to get, set, and delete details about nodes, links, flows, and packets or nodes, links, flows, and The grouped value.
通过使用在图10和11中所示的DB操作命令并操作如图7至9所示配置的网络DB 2,DB操作逻辑单元11可以以集中方式控制网络4。因此,通过使用DB操作命令并对网络DB 2的操作指令进行合并,运营商可以对控制装置1进行编程。DB操作命令的数量远小于普通编程中所使用的API或与其有关的函数所需的命令的数量。因此,与普通编程相比,运营商可以很容易地对控制装置1进行编程。By using the DB operation commands shown in FIGS. 10 and 11 and operating the network DB 2 configured as shown in FIGS. 7 to 9, the DB operation logic unit 11 can control the network 4 in a centralized manner. Therefore, the operator can program the control device 1 by using the DB operation command and incorporating the operation command of the network DB 2 . The number of DB operation commands is much smaller than the number of commands required by the API used in ordinary programming or functions related thereto. Therefore, the operator can easily program the control device 1 compared to ordinary programming.
<第三示例性实施例><Third Exemplary Embodiment>
接下来,将描述本公开的第三示例性实施例。可以通过具有各种功能的模块实现DB操作逻辑单元11。在第三示例性实施例中,开放流控制单元11A被布置为DB操作逻辑单元11。Next, a third exemplary embodiment of the present disclosure will be described. The DB operation logic unit 11 can be realized by modules having various functions. In the third exemplary embodiment, an OpenFlow control unit 11A is arranged as the DB operation logic unit 11 .
图12示出了根据第三示例性实施例的系统的配置。开放流控制单元11A具有基于开放流协议来控制网络4的功能。将假定由与开放流协议兼容的节点3配置网络4来描述第三示例性实施例。在第三示例性实施例中,如果需要的话,网络4将被称为开放流网络。Fig. 12 shows the configuration of a system according to a third exemplary embodiment. The OpenFlow control unit 11A has a function of controlling the network 4 based on the OpenFlow protocol. The third exemplary embodiment will be described assuming that the network 4 is configured by the nodes 3 compatible with the OpenFlow protocol. In the third exemplary embodiment, the network 4 will be called an OpenFlow network, if necessary.
图13示出了开放流控制单元11A的配置。开放流控制单元11A包括:拓扑处理单元110、流处理单元111和分组处理单元112。FIG. 13 shows the configuration of the OpenFlow control unit 11A. The OpenFlow control unit 11A includes: a topology processing unit 110 , a flow processing unit 111 and a packet processing unit 112 .
拓扑处理单元110使用DB操作命令来经由DB接口单元10对网络DB2进行操作。例如,拓扑处理单元110对网络DB 2进行操作以将拓扑信息设置到网络DB 2中。此外,例如,拓扑处理单元110对网络DB 2进行操作以从网络DB 2获取拓扑信息。The topology processing unit 110 uses DB operation commands to operate the network DB2 via the DB interface unit 10 . For example, the topology processing unit 110 operates on the network DB 2 to set topology information into the network DB 2 . Also, for example, the topology processing unit 110 operates on the network DB 2 to acquire topology information from the network DB 2 .
图14示出了拓扑处理单元110对网络DB 2进行操作的操作示例。拓扑处理单元110使用命令″push_tail(/nodes)″来将添加到开放流网络的节点的标识符添加到条目列表″/nodes″的末尾。此外,拓扑处理单元110使用命令″put(/nodes/[node_id],<node_info>)″来将与″<node_info>″(作为命令的变量)相对应的信息添加到条目″/nodes/[node_id]″([node_id]是添加到条目″/nodes″的节点的标识符)。例如,拓扑处理单元110将第一示例性实施例中描述的信息添加到条目″/nodes/[node_id]″。FIG. 14 shows an operation example in which the topology processing unit 110 operates on the network DB 2 . The topology processing unit 110 uses the command "push_tail(/nodes)" to add identifiers of nodes added to the OpenFlow network to the end of the entry list "/nodes". Furthermore, the topology processing unit 110 uses the command "put(/nodes/[node_id], <node_info>)" to add information corresponding to "<node_info>" (as a variable of the command) to the entry "/nodes/[node_id ]" ([node_id] is the identifier of the node added to the entry "/nodes"). For example, the topology processing unit 110 adds the information described in the first exemplary embodiment to the entry "/nodes/[node_id]".
通过使用命令″push_tail(/nodes,<node_info>)″而不是以上命令″push_tail(/nodes)″,可以共同地执行以上系列操作。在这种情况下,可以省略对命令″put(/nodes/[node_id],<node_info>)″的执行。The above series of operations can be collectively performed by using the command "push_tail(/nodes, <node_info>)" instead of the above command "push_tail(/nodes)". In this case, the execution of the command "put(/nodes/[node_id], <node_info>)" can be omitted.
拓扑处理单元110使用命令″push_tail(/links)″来将添加到开放流网络的节点间链路的标识符添加到条目列表″/links″的末尾。此外,拓扑处理单元110使用命令″put(/links/[link_id],<link_info>)″来将与″<link_info>″(作为命令的变量)相对应的信息添加到条目″/links/[link_id]″([link_id]是添加到条目″/links″的链路的标识符)。例如,拓扑处理单元110将第一示例性实施例中描述的信息添加到条目″/links/[link_id]″。The topology processing unit 110 uses the command "push_tail(/links)" to add identifiers of inter-node links added to the OpenFlow network to the end of the entry list "/links". Furthermore, the topology processing unit 110 uses the command "put(/links/[link_id], <link_info>)" to add information corresponding to "<link_info>" (as a variable of the command) to the entry "/links/[link_id ]" ([link_id] is the identifier of the link added to the entry "/links"). For example, the topology processing unit 110 adds the information described in the first exemplary embodiment to the entry "/links/[link_id]".
通过使用命令″push_tail(/links,<link_info>)″而不是以上命令″push_tail(/links)″,可以共同地执行以上系列操作。在这种情况下,可以省略对命令″put(/links/[link_id],<link_info>)″的执行。The above series of operations can be collectively performed by using the command "push_tail(/links, <link_info>)" instead of the above command "push_tail(/links)". In this case, the execution of the command "put(/links/[link_id], <link_info>)" can be omitted.
如果从开放流网络中删除某一节点或链路,则拓扑处理单元110使用命令″pop_at″来从节点或链路列表中删除已删除的节点或链路的标识符。如果从开放流网络中删除某一节点或链路,则拓扑处理单元110使用命令″delete″来从网络DB 2中删除与已删除的节点或链路相对应的条目。If a certain node or link is deleted from the OpenFlow network, the topology processing unit 110 uses the command "pop_at" to delete the identifier of the deleted node or link from the node or link list. If a certain node or link is deleted from the OpenFlow network, the topology processing unit 110 uses the command "delete" to delete the entry corresponding to the deleted node or link from the network DB 2 .
通过使用命令″pop_at″,可以共同地执行以上系列操作。因此,可以省略对命令″delete″的执行。By using the command "pop_at", the above series of operations can be collectively performed. Therefore, the execution of the command "delete" can be omitted.
通过使用命令″get″,拓扑处理单元110获取与所指定的标识信息(键)相对应的数据(值)。By using the command "get", the topology processing unit 110 acquires data (value) corresponding to the designated identification information (key).
流处理单元111使用DB操作命令来经由DB接口单元10对网络DB 2进行操作。例如,流处理单元111对网络DB 2进行操作以将分组处理信息设置到网络DB 2中。此外,例如,流处理单元111对网络DB 2进行操作来在网络DB 2中搜索与处理方法未知的分组相对应的分组处理信息。The stream processing unit 111 operates the network DB 2 via the DB interface unit 10 using a DB operation command. For example, the stream processing unit 111 operates on the network DB 2 to set packet processing information into the network DB 2 . Also, for example, the stream processing unit 111 operates the network DB 2 to search the network DB 2 for packet processing information corresponding to a packet whose processing method is unknown.
图15示出了流处理单元111对网络DB 2进行操作的操作示例。如果控制装置1从开放流网络接收到处理方法未知的分组,则流处理单元111从分组处理单元112接收到用于搜索针对分组的处理方法的请求。例如,分组处理单元112使用命令″get_matching_flow(<packet_info>)″来请求流处理单元111搜索针对分组的处理方法。作为命令的变量的″<packet_info>″是与处理方法未知的分组有关的信息(例如首部信息或分组自身)。FIG. 15 shows an operation example in which the stream processing unit 111 operates on the network DB 2 . If the control device 1 receives a packet whose processing method is unknown from the OpenFlow network, the stream processing unit 111 receives a request to search for a processing method for the packet from the packet processing unit 112 . For example, the packet processing unit 112 uses the command "get_matching_flow(<packet_info>)" to request the flow processing unit 111 to search for a processing method for the packet. "<packet_info>" which is an argument of the command is information on a packet whose processing method is unknown (for example, header information or the packet itself).
基于来自分组处理单元112的请求,流处理单元111在网络DB 2中搜索具有与″<packet_info>″相对应的匹配条件的分组处理信息。流处理单元111从网络DB 2接收所获取的分组处理信息的标识符(″flow_id″)。例如,基于所接收的标识符并通过使用命令″get(/flows/[flow_id])″,流处理单元111获取分组处理信息。流处理单元111向分组处理单元112提供该分组处理信息。如果不存在与搜索条件匹配的这种分组处理信息,则流处理单元111向分组处理单元112通知该效果。Based on the request from the packet processing unit 112, the flow processing unit 111 searches the network DB 2 for packet processing information having a matching condition corresponding to "<packet_info>". The flow processing unit 111 receives the identifier ("flow_id") of the acquired packet processing information from the network DB 2 . For example, based on the received identifier and by using the command "get(/flows/[flow_id])", the flow processing unit 111 acquires packet processing information. The stream processing unit 111 supplies the packet processing information to the packet processing unit 112 . If there is no such packet processing information matching the search condition, the stream processing unit 111 notifies the packet processing unit 112 of this effect.
如果网络DB 2不具有用于搜索具有与″<packet_info>″相对应的匹配条件的分组处理信息的命令,则流处理单元111可以使用DB操作命令来从网络DB 2读取必需的分组处理信息并事先存储该信息。以这种方式,流处理单元11可以通过参考与分组有关的信息,来确定对应的分组处理信息。If the network DB 2 does not have a command for searching packet processing information having a matching condition corresponding to "<packet_info>", the stream processing unit 111 can use a DB operation command to read necessary packet processing information from the network DB 2 and store that information in advance. In this way, the stream processing unit 11 can determine corresponding packet processing information by referring to information on packets.
如果不存在对应的分组处理信息,则分组处理单元112使用命令″push_tail(/packets/in,<packet_info>)″来将所接收的分组添加到网络DB 2。If there is no corresponding packet processing information, the packet processing unit 112 adds the received packet to the network DB 2 using the command "push_tail(/packets/in, <packet_info>)".
如果存在对应的分组处理信息,则分组处理单元112请求流处理单元111对分组进行处理。If there is corresponding packet processing information, the packet processing unit 112 requests the stream processing unit 111 to process the packet.
基于所获取的分组处理信息,流处理单元111将分组处理操作(即分组处理规则)设置到开放流网络的节点3中,并同时使节点3基于该分组处理信息从节点3的恰当的节点通信端口输出所接收的分组。Based on the acquired packet processing information, the stream processing unit 111 sets a packet processing operation (i.e., a packet processing rule) into the nodes 3 of the OpenFlow network, and at the same time causes the node 3 to communicate from an appropriate node of the node 3 based on the packet processing information The port outputs received packets.
例如,分组处理操作是采取基于开放流协议所定义的格式的信息,并用于使节点3处理分组。分组处理操作包括:用于标识由节点3接收的分组的标识条件和用于对与标识条件相匹配的分组进行处理的方法。流处理单元111将分组处理操作设置到节点3中,并且节点3将所设置的分组处理操作存储在存储器中。节点3在存储器中搜索具有与所接收的分组相匹配的标识条件的分组处理操作。如果节点3基于所检索的分组处理操作,发现具有与所接收的分组相匹配的标识条件的分组处理操作,则节点3对所接收的分组进行处理(例如通过由分组处理操作所指定的通信端口转发分组)。For example, packet processing operations take information based on the format defined by the OpenFlow protocol and are used to cause the node 3 to process packets. The packet processing operations include identification conditions for identifying packets received by the node 3 and methods for processing packets matching the identification conditions. The stream processing unit 111 sets the packet processing operation into the node 3, and the node 3 stores the set packet processing operation in the memory. Node 3 searches the memory for a packet processing operation with an identification condition matching the received packet. If node 3 finds, based on the retrieved packet processing operations, a packet processing operation having an identification condition matching the received packet, node 3 processes the received packet (e.g., through the communication port specified by the packet processing operation forward packets).
例如,流处理单元111基于分组处理信息中包括的匹配条件,将该标识条件设置到分组处理操作中。For example, the stream processing unit 111 sets the identification condition into the packet processing operation based on the matching condition included in the packet processing information.
基于分组处理信息中包括的路径信息(Path路径),流处理单元111识别开放流网络中的分组转发路径。流处理单元111向分组转发路径上的节点3通知分组处理操作。基于分组处理操作,流处理单元111可以指示转发路径上的每个节点3沿着与分组处理信息相对应的转发路径来转发分组。也就是说,当流处理单元111指示节点3转发分组时,每个节点3中设置的分组处理操作包括用于通过与转发路径相对应的通信端口来转发分组的方法。Based on the path information (Path path) included in the packet processing information, the stream processing unit 111 identifies a packet forwarding path in the OpenFlow network. The flow processing unit 111 notifies the node 3 on the packet forwarding path of the packet processing operation. Based on the packet processing operation, the flow processing unit 111 may instruct each node 3 on the forwarding path to forward the packet along the forwarding path corresponding to the packet processing information. That is, when the stream processing unit 111 instructs the node 3 to forward the packet, the packet processing operations set in each node 3 include a method for forwarding the packet through the communication port corresponding to the forwarding path.
如果分组处理信息包括例如需要对分组执行的预定处理(Action动作),则流处理单元111确定需要执行预定处理(Action动作)的节点3。流处理单元111在所确定的节点3中设置分组处理操作,在分组处理操作中定义了被确定为预定处理的处理(例如首部重写或封装/解封装)。If the packet processing information includes, for example, predetermined processing (Action) that needs to be performed on the packet, the stream processing unit 111 determines the node 3 that needs to perform the predetermined processing (Action). The stream processing unit 111 sets a packet processing operation in the determined node 3 in which processing determined as predetermined processing (for example, header rewriting or encapsulation/decapsulation) is defined.
例如,流处理单元111使用命令“subscribe订阅”,使得当在网络DB 2中执行预定更新(分组处理信息或链路信息的更新)时,网络DB 2向流处理单元111通知与更新有关的信息。如果由命令“订阅”指定的信息被更新,则网络DB 2使用命令″publish″来向流处理单元111通知该信息。例如,基于通过使用命令″publish″提供的信息,流处理单元111确定是否改变在开放流网络中的节点3中已经设置的分组处理操作。如果分组处理操作的改变是必需的,则流处理单元111生成新分组处理操作并将该新分组处理操作设置到节点3中。For example, the stream processing unit 111 uses the command "subscribe to subscribe" so that when a predetermined update (update of packet processing information or link information) is performed in the network DB 2, the network DB 2 notifies the stream processing unit 111 of information related to the update . If the information specified by the command "subscribe" is updated, the network DB 2 notifies the stream processing unit 111 of the information using the command "publish". For example, based on information provided by using the command "publish", the stream processing unit 111 determines whether to change the packet processing operation already set in the node 3 in the OpenFlow network. If a change in the packet processing operation is necessary, the stream processing unit 111 generates a new packet processing operation and sets the new packet processing operation into the node 3 .
如果例如开放流网络中的链路或节点被删除,则流处理单元111从网络DB 2中删除与已删除的链路或节点相对应的分组处理信息。例如,流处理单元111从网络DB 2中删除包括已删除的链路或节点布置于其上的转发路径在内的分组处理信息。If, for example, a link or node in the OpenFlow network is deleted, the stream processing unit 111 deletes packet processing information corresponding to the deleted link or node from the network DB 2 . For example, the flow processing unit 111 deletes packet processing information including the deleted link or forwarding path on which the node is arranged from the network DB 2 .
流处理单元111使用命令″pop_at″来删除与需要从分组处理信息的列表中删除的分组处理信息相对应的标识符。流处理单元111使用命令″delete″来删除与分组处理信息相对应的条目(″/flows/[flow_id]″)。例如,流处理单元111生成替代已删除的分组处理信息的新分组处理信息、使用命令″push_at″、并将所生成的分组处理信息存储到网络DB 2中。The stream processing unit 111 uses the command "pop_at" to delete the identifier corresponding to the packet processing information that needs to be deleted from the list of packet processing information. The flow processing unit 111 deletes the entry ("/flows/[flow_id]") corresponding to the packet processing information using the command "delete". For example, the stream processing unit 111 generates new packet processing information replacing the deleted packet processing information, uses the command "push_at", and stores the generated packet processing information into the network DB 2 .
通过使用命令″pop_at″,可以共同地执行以上系列操作。因此,可以省略对命令″delete″的执行。By using the command "pop_at", the above series of operations can be collectively performed. Therefore, the execution of the command "delete" can be omitted.
分组处理单元112使用DB操作命令来经由DB接口单元10对网络DB2进行操作。例如,分组处理单元112对网络DB 2进行操作以将与分组有关的信息设置到网络DB 2中。The packet processing unit 112 uses a DB operation command to operate the network DB2 via the DB interface unit 10 . For example, the packet processing unit 112 operates on the network DB 2 to set packet-related information into the network DB 2 .
图16示出了分组处理单元112对网络DB 2进行操作的操作示例。例如,当从开放流网络接收到处理方法未知的分组时,分组处理单元112向流处理单元111请求与分组相对应的处理方法。如上所述,例如,分组处理单元112使用命令″get_matching_flow(<packet_info>)″来请求流处理单元111搜索分组处理方法。FIG. 16 shows an operation example in which the packet processing unit 112 operates on the network DB 2 . For example, when receiving a packet whose processing method is unknown from the OpenFlow network, the packet processing unit 112 requests the flow processing unit 111 for a processing method corresponding to the packet. As described above, for example, the packet processing unit 112 uses the command "get_matching_flow(<packet_info>)" to request the flow processing unit 111 to search for a packet processing method.
如果流处理单元111向分组处理单元112通知与分组相对应的分组处理信息不存在,则分组处理单元112将与分组有关的信息登记到网络DB 2中。例如,分组处理单元112使用命令″push_tail(/packets/in)″来将分组的标识符登记到条目列表″/packets/in″的末尾。此外,分组处理单元112使用命令″put(/packets/in/[packet_id],<packet_info>)″来将与作为命令的变量的″<packet_info>″相对应的信息添加到条目″/packets/in/[packet_id]″([packet_id]是添加到条目/packets/in的分组的标识符)。If the stream processing unit 111 notifies the packet processing unit 112 that packet processing information corresponding to the packet does not exist, the packet processing unit 112 registers the information on the packet into the network DB 2 . For example, the packet processing unit 112 uses the command "push_tail(/packets/in)" to register the identifier of the packet to the end of the entry list "/packets/in". Furthermore, the packet processing unit 112 uses the command "put(/packets/in/[packet_id], <packet_info>)" to add information corresponding to "<packet_info>" which is a variable of the command to the entry "/packets/in /[packet_id]" ([packet_id] is the identifier of the packet added to the entry /packets/in).
通过使用命令″push_tail(/packets/in,<node_info>)″而不是以上命令″push_tail(/packets/in)″,可以共同地执行以上系列操作。在这种情况下,可以省略对命令″put(/packets/in/[node_id],<packet_info>)″的执行。The above series of operations can be collectively performed by using the command "push_tail(/packets/in, <node_info>)" instead of the above command "push_tail(/packets/in)". In this case, execution of the command "put(/packets/in/[node_id], <packet_info>)" can be omitted.
如果生成了与添加到条目″/packets/in″的分组相对应的分组处理信息,则将分组添加到条目″/packets/out″。例如,分组处理单元112事先设置网络DB 2,使得如果使用了命令″subscribe″并且如果分组被添加到条目″/packets/out″,则网络DB 2向分组处理单元112通知与条目″/packets/out″的更新有关的信息。例如,分组处理单元112使用命令″publish″,使得如果更新了条目″/packets/out″,则分组处理单元112从网络DB 2接收到所改变的键。以这种方式,分组处理单元112可以识别已经在条目″/packets/out″中登记的分组的标识符。例如,如果流处理单元111将分组处理操作设置到开放流网络中的节点中,则分组处理单元112向开放流网络发送与所接收的标识符相对应的分组。此外,分组处理单元112使用命令″pop_at(/packets/out,<packet_id>)″从条目″/packets/out″删除接收的标识符,并使用命令″delete″来删除条目″/packets/out/[packet_id]″。If the packet processing information corresponding to the packet added to the entry "/packets/in" is generated, the packet is added to the entry "/packets/out". For example, the packet processing unit 112 sets the network DB 2 in advance so that if the command "subscribe" is used and if the packet is added to the entry "/packets/out", the network DB 2 notifies the packet processing unit 112 of the entry "/packets/out". out''s updates. For example, the packet processing unit 112 uses the command "publish" so that if the entry "/packets/out" is updated, the packet processing unit 112 receives the changed key from the network DB 2 . In this way, the packet processing unit 112 can recognize the identifier of the packet that has been registered in the entry "/packets/out". For example, if the stream processing unit 111 sets a packet processing operation into a node in the OpenFlow network, the packet processing unit 112 transmits a packet corresponding to the received identifier to the OpenFlow network. Furthermore, the packet processing unit 112 deletes the received identifier from the entry "/packets/out" using the command "pop_at(/packets/out, <packet_id>)", and deletes the entry "/packets/out/ [packet_id]".
如果使用命令″pop_head(/packets/out)″而不是以上命令″pop_at″,则可以从″/packets_out″的顶部接收到分组信息,并可以删除条目″/packets/out/[packet_id]″。因此,可以省略对以上命令″delete″的执行。If the command "pop_head(/packets/out)" is used instead of the above command "pop_at", packet information can be received from the top of "/packets_out", and the entry "/packets/out/[packet_id]" can be deleted. Therefore, execution of the above command "delete" can be omitted.
图17至20是示出了根据第三示例性实施例的操作的时序图。17 to 20 are timing charts showing operations according to the third exemplary embodiment.
图17示出了当节点被添加到网络4时所执行的操作。拓扑处理单元110删除向开放流网络的节点的添加,并收集与所添加的节点有关的信息。FIG. 17 shows the operations performed when a node is added to the network 4 . The topology processing unit 110 deletes addition of nodes to the OpenFlow network, and collects information on the added nodes.
例如,拓扑处理单元110使用命令″push_tail(/nodes)″来将节点添加到网络DB 2中的条目列表″/nodes″中。在将节点添加到列表之后,拓扑处理单元110从网络DB 2接收作为网络DB 2中的节点的标识符的″node_id″。For example, the topology processing unit 110 uses the command "push_tail(/nodes)" to add a node to the entry list "/nodes" in the network DB 2 . After adding the node to the list, the topology processing unit 110 receives “node_id” which is the identifier of the node in the network DB 2 from the network DB 2 .
例如,拓扑处理单元110使用命令″put″来将与节点有关的信息添加到网络DB 2中的条目中。例如,与所添加的节点有关的信息是与节点有关的信息和与节点的通信端口有关的信息。For example, the topology processing unit 110 uses the command "put" to add information on nodes to entries in the network DB 2 . For example, the information on the added node is the information on the node and the information on the communication port of the node.
图18示出了当从网络4删除节点时所执行的操作。拓扑处理单元110检测从开放流网络删除节点,并收集与所删除的节点有关的信息。FIG. 18 shows the operations performed when a node is deleted from the network 4 . The topology processing unit 110 detects deletion of a node from the OpenFlow network, and collects information on the deleted node.
例如,拓扑处理单元110使用命令″pop_at″来从条目列表″/nodes″中删除与所删除的节点相对应的标识符。此外,拓扑处理单元110使用命令″pop_at″来从条目列表″/links″中删除与所删除的节点有关的链路的标识符。For example, the topology processing unit 110 uses the command "pop_at" to delete the identifier corresponding to the deleted node from the entry list "/nodes". Furthermore, the topology processing unit 110 uses the command "pop_at" to delete the identifier of the link related to the deleted node from the entry list "/links".
例如,拓扑处理单元110使用命令″delete″来删除与从开放流网络删除的节点有关的信息和关于与所删除的节点有关的链路的信息。For example, the topology processing unit 110 uses the command "delete" to delete information on a node deleted from the OpenFlow network and information on a link related to the deleted node.
图19示出了当向网络4添加链路时执行的操作和当从网络4删除链路时执行的操作。拓扑处理单元110删除向开放流网络添加链路,并收集与所添加的链路有关的信息。FIG. 19 shows operations performed when a link is added to the network 4 and operations performed when a link is deleted from the network 4 . The topology processing unit 110 deletes adding links to the OpenFlow network, and collects information on the added links.
例如,拓扑处理单元110使用命令″push_tail″来将链路添加到条目″/links″。在将链路添加到条目列表″/links″之后,拓扑处理单元110从网络DB 2接收添加到列表的链路的标识符。基于所接收的标识符,拓扑处理单元110使用命令″put″来将与添加到开放流网络的链路有关的信息登记到条目″/links/[link_id]″。For example, the topology processing unit 110 uses the command "push_tail" to add a link to the entry "/links". After adding the link to the entry list "/links", the topology processing unit 110 receives the identifier of the link added to the list from the network DB 2 . Based on the received identifier, the topology processing unit 110 uses the command "put" to register information on the link added to the OpenFlow network to the entry "/links/[link_id]".
拓扑处理单元110检测从开放流网络删除链路,并收集与所删除的链路有关的信息。The topology processing unit 110 detects deletion of a link from the OpenFlow network, and collects information on the deleted link.
例如,拓扑处理单元110使用命令″delete″来从网络DB 2中删除所删除的链路的条目″/links/[link_id]″。此外,例如,拓扑处理单元110使用命令″pop_at″来从条目列表″/links″中删除所删除的链路的标识符。For example, the topology processing unit 110 uses the command "delete" to delete the entry "/links/[link_id]" of the deleted link from the network DB 2 . Also, for example, the topology processing unit 110 uses the command "pop_at" to delete the identifier of the deleted link from the entry list "/links".
图20是示出了开放流控制单元11A基于网络DB 2中所包括的分组处理信息来控制开放流网络的操作。分组处理单元112从开放流网络接收分组处理方法未知的分组(图20中的″packet_in″)。例如,分组处理单元112使用命令″get_matching_flow(<packet_info>)″来向流处理单元111询问关于与所接收的分组相对应的分组处理信息。FIG. 20 is a diagram showing the operation of the OpenFlow control unit 11A controlling the OpenFlow network based on the packet processing information included in the network DB 2 . The packet processing unit 112 receives a packet ("packet_in" in FIG. 20 ) whose packet processing method is unknown from the OpenFlow network. For example, the packet processing unit 112 uses the command "get_matching_flow(<packet_info>)" to inquire of the flow processing unit 111 about packet processing information corresponding to the received packet.
例如,流处理单元111在网络DB 2中搜索具有与″get_matching_flow(<packet_info>)″中包括的分组信息(″packet_info″)相匹配的匹配条件的条目(″/flows/[flow_id]″)。For example, the flow processing unit 111 searches the network DB 2 for an entry ("/flows/[flow_id]") having a matching condition matching the packet information ("packet_info") included in "get_matching_flow (<packet_info>)".
例如,如果流处理单元111找到与分组处理单元112接收的分组相匹配的分组处理信息,则流处理单元111生成要在网络4中的节点3中设置的分组处理操作(处理规则),并经由分组处理单元112向节点3通知该分组处理操作。除了向节点3通知该分组处理操作之外,分组处理单元112向网络4返回从网络4接收的分组(图20中的″packet_out″)。For example, if the stream processing unit 111 finds packet processing information that matches the packet received by the packet processing unit 112, the stream processing unit 111 generates a packet processing operation (processing rule) to be set in the node 3 in the network 4, and transmits the packet via The packet processing unit 112 notifies the node 3 of the packet processing operation. In addition to notifying the node 3 of the packet processing operation, the packet processing unit 112 returns the packet received from the network 4 to the network 4 ("packet_out" in FIG. 20).
如果流处理单元111未找到与分组处理单元112接收的分组相匹配的分组处理信息,则流处理单元111使用命令″push_tail″来将由分组处理单元112接收的分组添加到条目″/packets/in″。在将分组添加到条目″/packets/in″之后,流处理单元111从网络DB 2接收添加到条目的分组的标识符(图20中的″packet_id″)。基于所接收的标识符,流处理单元111使用命令″put″来将与分组处理单元112接收的分组有关的信息添加到条目″/packets/in/[packet_id]″。If the flow processing unit 111 does not find packet processing information matching the packet received by the packet processing unit 112, the flow processing unit 111 uses the command "push_tail" to add the packet received by the packet processing unit 112 to the entry "/packets/in" . After adding the packet to the entry "/packets/in", the stream processing unit 111 receives the identifier of the packet added to the entry ("packet_id" in FIG. 20 ) from the network DB 2 . Based on the received identifier, the stream processing unit 111 uses the command "put" to add information on the packet received by the packet processing unit 112 to the entry "/packets/in/[packet_id]".
<第四示例性实施例><Fourth Exemplary Embodiment>
接下来,将描述本公开的第四示例性实施例。在第四示例性实施例中,将描述以下示例:控制装置1通过使用可视化DB操作逻辑单元11B来操作网络DB 2。Next, a fourth exemplary embodiment of the present disclosure will be described. In the fourth exemplary embodiment, an example will be described in which the control device 1 operates the network DB 2 by using the visualization DB operation logic unit 11B.
为了支持运营商利用控制装置1来管理网络4,可视化DB操作逻辑单元11B具有以下功能:通过图像显示网络DB 2中存储的信息的至少一部分,使得可以在视觉上掌控该信息。In order to support the operator to manage the network 4 using the control device 1, the visualization DB operation logic unit 11B has the function of displaying at least a part of the information stored in the network DB 2 through an image so that the information can be grasped visually.
图21示出了根据第四示例性实施例的配置。图21中的可视化DB操作逻辑单元11B从网络DB 2获取拓扑信息,并在显示设备上显示节点和链路的连接关系。例如,如图22中所示,可视化DB操作逻辑单元11B通过图像显示网络拓扑。分配给每个节点的数字表示节点的标识符。此外,分配给每个链路的数字表示链路的标识符。当网络DB 2基于该通知向可视化DB操作逻辑单元11B通知拓扑信息的改变时,可视化DB操作逻辑单元11B从网络DB 2获取节点和链路信息,并改变所显示的节点和链路的连接关系。Fig. 21 shows a configuration according to a fourth exemplary embodiment. The visualization DB operation logic unit 11B in FIG. 21 acquires topology information from the network DB 2, and displays the connection relationship between nodes and links on the display device. For example, as shown in FIG. 22 , the visualization DB operation logic unit 11B displays the network topology by an image. The number assigned to each node represents the identifier of the node. In addition, the number assigned to each link represents the identifier of the link. When the network DB 2 notifies the visualization DB operation logic unit 11B of the change of topology information based on the notification, the visualization DB operation logic unit 11B acquires the node and link information from the network DB 2, and changes the connection relationship of the displayed nodes and links .
以这种方式,通过将图21中的可视化DB操作逻辑单元11B连接到网络DB 2,运营商可以获取管理目标网络的配置作为可视化信息。此外,可视化DB操作逻辑单元11B可以通过图像显示网络DB 2中的分组处理信息。例如,可视化DB操作逻辑单元11B将条目″/flows/[flow_id]″中包括的路径信息(路径)附加到通过图像显示的拓扑上。图23示出了通过图像显示的分组处理信息。在图23中,通过图像显示具有标识符″10″的条目″/flows/10″。通过图像显示与分组经过的节点和链路有关的信息以及与转发分组的方向有关的信息。In this way, by connecting the visualization DB operation logic unit 11B in FIG. 21 to the network DB 2, the operator can acquire the configuration of the management target network as visualization information. Furthermore, the visualization DB operation logic unit 11B can display the packet processing information in the network DB 2 by an image. For example, the visualization DB operation logic unit 11B attaches path information (path) included in the entry "/flows/[flow_id]" to the topology displayed by the image. Fig. 23 shows packet processing information displayed by images. In FIG. 23, an entry "/flows/10" having an identifier "10" is displayed by an image. Information about the nodes and links through which the packet passes and information about the direction in which the packet is forwarded are displayed graphically.
如图24所示,可视化DB操作逻辑单元11B通过图像显示条目″/packets/in/[packet_id]″和″/packets/out/[packet_id]″。As shown in FIG. 24, the visualization DB operation logic unit 11B displays the entries "/packets/in/[packet_id]" and "/packets/out/[packet_id]" by images.
<第五示例性实施例><Fifth Exemplary Embodiment>
接下来,将描述本公开的第五示例性实施例。在第五示例性实施例中,控制装置1通过使用切片逻辑单元11C来操作网络DB 2的示例。Next, a fifth exemplary embodiment of the present disclosure will be described. In the fifth exemplary embodiment, the control device 1 operates an instance of the network DB 2 by using the slice logic unit 11C.
图25示出了根据第五示例性实施例的配置。图25的切片逻辑单元11C具有以下功能:复制网络DB 2以执行网络切片(虚拟分割)。切片逻辑单元11C将单个网络DB 2的状态或改变扩展到多个网络DB 2A和2B,并将多个网络DB 2A和2B的状态或改变反馈给原始网络DB2。在图25中,控制装置1包括两个网络DB接口单元10-1和10-2。然而,可以针对每个网络DB布置网络DB接口单元。备选地,单个网络DB接口单元可以连接到多个网络DB 2。Fig. 25 shows a configuration according to a fifth exemplary embodiment. The slicing logic unit 11C of FIG. 25 has a function of duplicating the network DB 2 to perform network slicing (virtual division). The slice logic unit 11C extends the state or change of a single network DB 2 to a plurality of network DBs 2A and 2B, and feeds back the state or change of the plurality of network DBs 2A and 2B to the original network DB2. In FIG. 25, the control device 1 includes two network DB interface units 10-1 and 10-2. However, a network DB interface unit may be arranged for each network DB. Alternatively, a single network DB interface unit may be connected to a plurality of network DBs 2 .
如上所述,通过将切片逻辑单元11C连接到任意网络DB 2,多个网络运营商(网络用户)中的每一个可以作为专用网络来管理切片网络。例如,上级网络运营商可以管理网络DB 2,而上级网络运营商所许可的下级网络运营商可以管理网络DB 2A和2B。As described above, by connecting the slice logic unit 11C to an arbitrary network DB 2, each of a plurality of network operators (network users) can manage a slice network as a dedicated network. For example, an upper-level network operator can manage network DB 2, and a lower-level network operator licensed by the upper-level network operator can manage network DBs 2A and 2B.
<第六示例性实施例><Sixth Exemplary Embodiment>
接下来,将描述本公开的第六示例性实施例。在第六示例性实施例中,将描述以下示例:控制装置1通过使用最短路径逻辑单元11D来操作网络DB 2。最短路径逻辑单元11D具有以下功能:计算在网络4中从分组转发源到目的地的路径之中的最短路径。Next, a sixth exemplary embodiment of the present disclosure will be described. In the sixth exemplary embodiment, an example will be described in which the control device 1 operates the network DB 2 by using the shortest path logic unit 11D. The shortest path logic unit 11D has a function of calculating the shortest path among paths from a packet forwarding source to a destination in the network 4 .
图26示出了根据第六示例性实施例的配置。基于从网络DB 2获取的拓扑信息和从主机信息存储单元21读取的主机信息,图26中的最短路径逻辑单元11D计算任意主机之间的最短转发路径,并将该最短转发路径存储到最短路径存储单元20中。Fig. 26 shows a configuration according to a sixth exemplary embodiment. Based on the topology information obtained from the network DB 2 and the host information read from the host information storage unit 21, the shortest path logic unit 11D in FIG. 26 calculates the shortest forwarding path between arbitrary hosts, and stores the shortest forwarding path to the shortest path storage unit 20.
当网络DB 2基于更新的内容来向最短路径逻辑单元11D通知对与拓扑有关的条目的更新时,最短路径逻辑单元11D重新计算最短路径并更新最短路径存储单元20。例如,最短路径逻辑单元11D使用命令“订阅”,使得如果条目″/nodes″或″/links″被更新,网络DB 2向最短路径逻辑单元11D通知所更新的信息。When the network DB 2 notifies the shortest path logic unit 11D of an update of the topology-related entry based on the updated content, the shortest path logic unit 11D recalculates the shortest path and updates the shortest path storage unit 20 . For example, the shortest path logic unit 11D uses the command "subscribe" so that if the entry "/nodes" or "/links" is updated, the network DB 2 notifies the shortest path logic unit 11D of the updated information.
如果由命令“订阅”指定的条目被更新,则网络DB 2使用命令″publish″来向最短路径逻辑单元11D通知与该条目有关的信息。当从网络DB 2接收到与拓扑信息的更新有关的通知时,最短路径逻辑单元11D重新计算与新拓扑信息相对应的最短路径,并将该最短路径存储到最短路径存储单元20中。当重新计算最短路径时,最短路径逻辑单元11D可以更新分组处理信息。例如,当重新计算最短路径时,可以更新分组处理信息中包括的路径信息(“路径信息”)。例如,最短路径逻辑单元11D使用命令″put″来将已更新的分组处理信息存储到网络DB 2的条目″/flows/[flow_id]″中。If the entry specified by the command "subscribe" is updated, the network DB 2 uses the command "publish" to notify the shortest path logic unit 11D of information on the entry. When receiving a notification from the network DB 2 about an update of the topology information, the shortest path logic unit 11D recalculates the shortest path corresponding to the new topology information, and stores the shortest path in the shortest path storage unit 20 . When recalculating the shortest path, the shortest path logic unit 11D may update the packet processing information. For example, path information ("path information") included in the packet processing information may be updated when the shortest path is recalculated. For example, the shortest path logic unit 11D uses the command "put" to store the updated packet processing information in the entry "/flows/[flow_id]" of the network DB 2 .
如上所述,通过将图26中的具有最短路径逻辑单元11D的控制装置1连接到网络DB2,计算最短路径的功能和更新与该最短路径相对应的分组处理信息的功能被添加到控制装置1中。As described above, by connecting the control device 1 having the shortest path logic unit 11D in FIG. 26 to the network DB2, a function of calculating the shortest path and a function of updating packet processing information corresponding to the shortest path are added to the control device 1 middle.
<第七示例性实施例><Seventh Exemplary Embodiment>
接下来,将描述本公开的第七示例性实施例。在第七示例性实施例中,将描述以下示例:控制装置1通过使用聚合逻辑单元11E来操作网络DB 2。聚合逻辑单元11E具有以下功能:聚合多个节点和多个链路来对网络拓扑进行抽象。Next, a seventh exemplary embodiment of the present disclosure will be described. In the seventh exemplary embodiment, an example will be described in which the control apparatus 1 operates the network DB 2 by using the aggregation logic unit 11E. The aggregation logic unit 11E has the function of: aggregating multiple nodes and multiple links to abstract the network topology.
图27示出了根据第七示例性实施例的配置。例如,图27中的聚合逻辑单元11E对网络DB 2中存储的拓扑信息进行抽象,并将所抽象的拓扑信息存储到网络DB 2C中。Fig. 27 shows a configuration according to a seventh exemplary embodiment. For example, the aggregation logic unit 11E in FIG. 27 abstracts the topology information stored in the network DB 2, and stores the abstracted topology information in the network DB 2C.
例如,聚合逻辑单元11E经由DB接口单元10-3和10-4分别对网络DB2和2C进行操作。For example, the aggregation logic unit 11E operates on the networks DB2 and 2C via the DB interface units 10-3 and 10-4, respectively.
例如,图28概述了聚合逻辑单元11E对网络DB 2中的拓扑信息进行抽象并将所抽象的拓扑信息存储到网络DB 2C中的操作。例如,聚合逻辑单元11E根据运营商的操作对拓扑信息进行抽象。在图28中,在网络DB 2中存储的拓扑信息中,聚合逻辑单元11E对节点1和2进行聚合和抽象,并对节点3和4进行聚合和抽象。通过对节点1和2进行聚合所生成的新节点对应于网络DB 2C中存储的节点1。通过对节点3和4进行聚合所生成的新节点对应于网络DB 2C中存储的节点2。For example, FIG. 28 outlines an operation in which the aggregation logic unit 11E abstracts topology information in the network DB 2 and stores the abstracted topology information in the network DB 2C. For example, the aggregation logic unit 11E abstracts topology information according to operators' operations. In FIG. 28 , in the topology information stored in the network DB 2 , the aggregation logic unit 11E aggregates and abstracts nodes 1 and 2 , and aggregates and abstracts nodes 3 and 4 . A new node generated by aggregating nodes 1 and 2 corresponds to node 1 stored in the network DB 2C. A new node generated by aggregating nodes 3 and 4 corresponds to node 2 stored in the network DB 2C.
图29和30分别示出了网络DB 2和2C中的条目。聚合逻辑单元11E对图29中的条目″/nodes/1″和″/nodes/2″进行聚合。此外,聚合逻辑单元11E对图29中的条目″/nodes/3″和″/nodes/4″进行聚合。通过这些聚合操作,要存储在网络DB 2中的节点的数量被抽象为“3”。29 and 30 show entries in the network DBs 2 and 2C, respectively. The aggregation logic unit 11E aggregates the entries "/nodes/1" and "/nodes/2" in FIG. 29 . Furthermore, the aggregation logic unit 11E aggregates the entries "/nodes/3" and "/nodes/4" in FIG. 29 . Through these aggregation operations, the number of nodes to be stored in the network DB 2 is abstracted as "3".
例如,聚合逻辑单元11E使用命令″push″来将三个抽象节点添加到网络DB 2C中的条目列表″/nodes″中。如图30所示,通过聚合操作,网络DB 2C中的条目″/nodes″的数据(值)被更新为″{1,2,3}″。例如,聚合逻辑单元11E使用命令″put″来将与每一个抽象节点有关的信息添加到网络DB 2C中的条目″/nodes/[node_id]″中。例如,聚合逻辑单元11E将当控制装置1控制节点时所使用的ID(图29和30中的″node ID″)登记到条目″/nodes/[node_id]″中。此外,如果被登记到条目″/nodes/[node_id]″中的节点是抽象节点,则聚合逻辑单元11E将在该节点被抽象之前的ID(图30中的″原始″)登记到条目″/nodes/[node_id]″中。For example, the aggregation logic unit 11E uses the command "push" to add three abstract nodes to the entry list "/nodes" in the network DB 2C. As shown in FIG. 30, the data (value) of the entry "/nodes" in the network DB 2C is updated to "{1, 2, 3}" by the aggregation operation. For example, the aggregation logic unit 11E uses the command "put" to add information on each abstract node to the entry "/nodes/[node_id]" in the network DB 2C. For example, the aggregation logic unit 11E registers the ID ("node ID" in FIGS. 29 and 30) used when the control device 1 controls the node into the entry "/nodes/[node_id]". Also, if the node registered in the entry "/nodes/[node_id]" is an abstract node, the aggregation logic unit 11E registers the ID ("original" in FIG. 30 ) before the node is abstracted in the entry "/nodes/[node_id]" nodes/[node_id]".
在图30中,分配″node ID(a)″和″node ID(b)″作为由抽象生成的两个节点的ID。此外,与网络DB 2中的条目″/nodes/5″相对应的节点被登记到网络DB 2C中的条目″/nodes/3″中。分配″node ID(c)″作为网络DB 2C中与条目″/nodes/3″的节点ID。In FIG. 30, "node ID (a)" and "node ID (b)" are assigned as IDs of two nodes generated by abstraction. Also, a node corresponding to the entry "/nodes/5" in the network DB 2 is registered in the entry "/nodes/3" in the network DB 2C. Assign "node ID (c)" as the node ID associated with the entry "/nodes/3" in the network DB 2C.
例如,当对节点进行聚合时,聚合逻辑单元11E还对对应的链路进行聚合。例如,在图29和30中,聚合逻辑单元11E将与图29中″/links/2″和″/links/4″相对应的链路聚合到图30中的″/links/1″。例如,聚合逻辑单元11E使用命令″put″来将与图29中″/links/2″和″/links/4″相对应的数据(值)存储到网络DB 2C中的条目″/links/1″中。此外,聚合逻辑单元11E不将该链路(图29中的″/links/1″)(图29中的″/nodes/1″和″/nodes/2″的聚合不再需要)登记到网络DB 2C中。例如,在图29中,″{src_node:A,dst_node:B}″表示从具有节点ID(A)的节点向具有节点ID(B)的节点转发分组的链路。For example, when a node is aggregated, the aggregation logic unit 11E also aggregates the corresponding link. For example, in FIGS. 29 and 30 , the aggregation logic unit 11E aggregates the links corresponding to "/links/2" and "/links/4" in FIG. 29 into "/links/1" in FIG. 30 . For example, the aggregation logic unit 11E uses the command "put" to store data (values) corresponding to "/links/2" and "/links/4" in FIG. 29 to the entry "/links/1" in the network DB 2C. "middle. In addition, the aggregation logic unit 11E does not register the link ("/links/1" in FIG. 29) (the aggregation of "/nodes/1" and "/nodes/2" in FIG. 29 is no longer necessary) to the network DB2C. For example, in FIG. 29, "{src_node: A, dst_node: B}" indicates a link for forwarding a packet from a node with node ID (A) to a node with node ID (B).
如上所述,聚合逻辑单元11E可以对拓扑进行抽象。也就是说,运营商可以基于所抽象的拓扑来控制管理目标网络,并可以容易地管理该网络。As mentioned above, the aggregation logic unit 11E can abstract the topology. That is, the operator can control and manage the target network based on the abstracted topology, and can easily manage the network.
<第八示例性实施例><Eighth Exemplary Embodiment>
接下来,将描述本公开的第八示例性实施例。在第八示例性实施例中,将描述以下示例:控制装置1通过使用集成逻辑单元11F来操作网络DB 2。集成逻辑单元11F具有集成多个网络DB中包括的拓扑信息的功能。Next, an eighth exemplary embodiment of the present disclosure will be described. In the eighth exemplary embodiment, an example will be described in which the control device 1 operates the network DB 2 by using the integrated logic unit 11F. The integration logic unit 11F has a function of integrating topology information included in a plurality of network DBs.
图31示出了根据第八示例性实施例的配置。例如,图31中的集成逻辑单元11F集成网络DB 2D和2E中包括的拓扑信息,并将所集成的拓扑信息存储到网络DB 2F中。Fig. 31 shows a configuration according to the eighth exemplary embodiment. For example, the integration logic unit 11F in FIG. 31 integrates topology information included in the network DBs 2D and 2E, and stores the integrated topology information into the network DB 2F.
图32示出了网络DB 2D中存储的拓扑信息和网络DB 2E中存储的信息。网络DB 2D包括由三个节点(节点1-3)和三个链路(链路1-3)配置的拓扑信息。网络DB 2E包括由三个节点(节点1-3)和三个链路(链路1-3)配置的拓扑信息。Fig. 32 shows topology information stored in the network DB 2D and information stored in the network DB 2E. The network DB 2D includes topology information configured by three nodes (nodes 1-3) and three links (links 1-3). The network DB 2E includes topology information configured by three nodes (nodes 1-3) and three links (links 1-3).
图33示出了通过集成网络DB 2D和2E中的拓扑信息来生成的新拓扑信息。FIG. 33 shows new topology information generated by integrating topology information in network DBs 2D and 2E.
如图32和33所示,通过集成两个拓扑,在网络DB 2F中存储六个节点。例如,集成逻辑单元11F使用命令″push″来将节点列表存储到条目″/nodes″中。通过使集成逻辑单元11F利用命令″push″来操作网络DB2F,集成节点的列表(″{1,2,3,4,5,6}″)存储在条目″/nodes″中。此外,例如,集成逻辑单元11F使用命令″put″来将与节点有关的信息存储到条目″/nodes/[node_id]″中。As shown in FIGS. 32 and 33, by integrating two topologies, six nodes are stored in the network DB 2F. For example, the integrated logic unit 11F uses the command "push" to store the node list into the entry "/nodes". By causing the integration logic unit 11F to operate the network DB2F with the command "push", the list of integration nodes ("{1, 2, 3, 4, 5, 6}") is stored in the entry "/nodes". Also, for example, the integrated logic unit 11F uses the command "put" to store information on the node into the entry "/nodes/[node_id]".
如图32和33所示,通过集成两个拓扑,在网络DB 2F中存储七个链路。例如,集成逻辑单元11F使用命令″push″来将链路列表存储到条目″/links″中。通过使集成逻辑单元11F利用命令″push″来操作网络DB2F,集成节点的列表(″{1,2,3,4,5,6,7}″)被存储在条目″/links″中。此外,例如,集成逻辑单元11F使用命令″put″来将与链路有关的信息存储到条目″/links/[link_id]″中。As shown in FIGS. 32 and 33, by integrating the two topologies, seven links are stored in the network DB 2F. For example, the integrated logic unit 11F uses the command "push" to store the link list into the entry "/links". By causing the integrated logic unit 11F to operate the network DB2F with the command "push", a list of integrated nodes ("{1, 2, 3, 4, 5, 6, 7}") is stored in the entry "/links". Also, for example, the integrated logic unit 11F uses the command "put" to store link-related information into the entry "/links/[link_id]".
<第九示例性实施例><Ninth Exemplary Embodiment>
接下来,将描述本公开的第九示例性实施例。运营商可以通过使用组件管理器30的功能来管理网络DB 2或DB操作逻辑单元11(或在第三示例性实施例至第八示例性实施例中描述的组件11A-11F)。将在第九示例性实施例中描述组件管理器30。Next, a ninth exemplary embodiment of the present disclosure will be described. The operator can manage the network DB 2 or the DB operation logic unit 11 (or the components 11A- 11F described in the third to eighth exemplary embodiments) by using the function of the component manager 30 . The component manager 30 will be described in the ninth exemplary embodiment.
图34示出了根据第九示例性实施例的系统的配置。运营商通过使用组件管理器30的功能来管理网络DB 2和DB操作逻辑单元11。此外,如图34中所示,即使当网络DB 2和DB操作逻辑单元11被布置在多个服务器(服务器200至400)中时,组件管理器30可以整体地管理网络DB 2和DB操作逻辑单元11。在图34中,控制装置1由布置在多个服务器中的网络DB 2和DB操作逻辑单元11配置。Fig. 34 shows the configuration of a system according to a ninth exemplary embodiment. The operator manages the network DB 2 and the DB operation logic unit 11 by using the function of the component manager 30 . Furthermore, as shown in FIG. 34, even when the network DB 2 and the DB operation logic unit 11 are arranged in a plurality of servers (servers 200 to 400), the component manager 30 can integrally manage the network DB 2 and the DB operation logic Unit 11. In FIG. 34, the control apparatus 1 is configured by a network DB 2 and a DB operation logic unit 11 arranged in a plurality of servers.
图35示出了组件管理器30的配置。在图35中,组件管理器30包括:组件信息存储单元31、组件管理单元32、外部控制接口单元33和组件控制接口单元34。FIG. 35 shows the configuration of the component manager 30 . In FIG. 35 , the component manager 30 includes: a component information storage unit 31 , a component management unit 32 , an external control interface unit 33 and a component control interface unit 34 .
组件信息存储单元31存储以上示例性实施例中所描述的网络DB和DB操作逻辑单元11(例如第三示例性实施例至第八示例性实施例中描述的组件11A-11F)的配置和连接关系。The component information storage unit 31 stores the configuration and connection of the network DB described in the above exemplary embodiments and the DB operation logic unit 11 (such as the components 11A-11F described in the third exemplary embodiment to the eighth exemplary embodiment) relation.
组件控制接口单元34具有作为用于连接到网络DB 2、DB操作逻辑单元11等的接口的功能。组件管理器30经由组件控制接口单元34访问网络DB 2和DB操作逻辑单元11。The component control interface unit 34 has a function as an interface for connecting to the network DB 2, the DB operation logic unit 11, and the like. The component manager 30 accesses the network DB 2 and the DB operation logic unit 11 via the component control interface unit 34 .
组件管理单元32具有:启动和终止功能320,用于响应于来自运营商的操作来生成和删除网络DB 2并启动和终止DB操作逻辑单元11。组件管理单元32具有:连接功能321,用于响应于来自运营商的操作来经由组件控制接口单元34连接组件。组件管理单元32包括:活动监视功能322,用于监视DB操作逻辑单元11是否正在恰当地运行。此外,组件管理单元32基于来自运营商的操作,更新组件信息存储单元31的内容。The component management unit 32 has an activation and termination function 320 for creating and deleting the network DB 2 and starting and terminating the DB operation logic unit 11 in response to operations from the operator. The component management unit 32 has a connection function 321 for connecting components via the component control interface unit 34 in response to an operation from an operator. The component management unit 32 includes: an activity monitoring function 322 for monitoring whether the DB operation logic unit 11 is running properly. Furthermore, the component management unit 32 updates the content of the component information storage unit 31 based on an operation from the operator.
图34中的处理管理单元9连接到组件控制接口单元34。例如,如果DB操作逻辑单元11被配置在多个服务器上(如图34所示),则处理管理单元9执行管理操作(包括基于来自组件管理单元32的指令,启动、终止和监视在这些服务器上操作的DB操作逻辑单元11)。此外,如图34所示,多个DB操作逻辑单元11可以连接到不同的网络(例如开放流网络和MPLS(多协议标记交换)网络)。The processing management unit 9 in FIG. 34 is connected to the component control interface unit 34 . For example, if the DB operation logic unit 11 is configured on a plurality of servers (as shown in FIG. 34 ), the processing management unit 9 performs management operations (including starting, terminating, and monitoring on these servers based on instructions from the component management unit 32). The DB operation logic unit 11) operated on. Furthermore, as shown in FIG. 34, a plurality of DB operation logic units 11 may be connected to different networks such as an OpenFlow network and an MPLS (Multiprotocol Label Switching) network.
<第十示例性实施例><Tenth Exemplary Embodiment>
接下来,将描述本公开的第十示例性实施例。图36示出了根据本公开的第十示例性实施例的系统的配置。在下文中,参考附图描述图36中的用户界面40。Next, a tenth exemplary embodiment of the present disclosure will be described. FIG. 36 shows the configuration of a system according to a tenth exemplary embodiment of the present disclosure. Hereinafter, the user interface 40 in FIG. 36 is described with reference to the accompanying drawings.
图36中所示的服务器400具有以下功能:基于运营商使用的用户界面40,配置控制装置1。The server 400 shown in FIG. 36 has a function of configuring the control device 1 based on the user interface 40 used by the operator.
服务器(信息处理装置)400包括:显示单元401和管理单元402。显示单元401具有将与网络DB 2和DB操作逻辑单元11相对应的图标(图标被分类为与网络DB 2相对应的第一图标和与DB操作逻辑单元11相对应的第二图标)显示在用户界面40上(例如在显示器上显示的屏幕上)的功能。管理单元402具有基于运营商所操作的图标的连接关系来配置控制装置1的功能。The server (information processing apparatus) 400 includes: a display unit 401 and a management unit 402 . The display unit 401 has a function of displaying icons corresponding to the network DB 2 and the DB operation logic unit 11 (the icons are classified into a first icon corresponding to the network DB 2 and a second icon corresponding to the DB operation logic unit 11) on Functions on the user interface 40, such as on a screen displayed on a display. The management unit 402 has a function of configuring the control device 1 based on the connection relationship of the icons operated by the operator.
图37示出了由显示单元401显示的屏幕。图37的屏幕具有包括模板显示区域和工作区域的布局,模板显示区域显示与以上网络DB 2和DB操作逻辑单元11(例如第三示例性实施例至第八示例性实施例中描述的组件11A-11F)相对应的模板图标。FIG. 37 shows a screen displayed by the display unit 401 . The screen of FIG. 37 has a layout including a template display area and a work area, the template display area displays the above network DB 2 and the DB operation logic unit 11 (such as the components 11A described in the third exemplary embodiment to the eighth exemplary embodiment) -11F) corresponds to the template icon.
例如,如果运营商从图37中的模板显示区域拖放与必需的网络DB2、DB操作逻辑单元11和最短路径逻辑单元11D相对应的模板,则在工作区域中显示对应的图标。如果运营商连接工作区域中显示的图标,则在工作区域的图标之间显示连接线。例如,当显示单元401从运营商接收到显示请求时,使用弹窗等在对象显示区域中显示与网络DB 2或DB操作逻辑单元11或由可视化DB操作逻辑单元11B所生成的网络拓扑有关的详细信息。例如,当显示单元401在工作区域中的图标上检测到点击等(显示请求)时,使用弹窗等在对象显示区域中显示与网络DB 2或DB操作逻辑单元11或由可视化DB操作逻辑单元11B所生成的网络拓扑有关的详细信息。For example, if the operator drags and drops a template corresponding to the necessary network DB2, DB operation logic unit 11, and shortest path logic unit 11D from the template display area in FIG. 37, the corresponding icon is displayed in the work area. If the operator connects the icons displayed in the work area, a connection line is displayed between the icons in the work area. For example, when the display unit 401 receives a display request from the operator, it displays information related to the network DB 2 or the DB operation logic unit 11 or the network topology generated by the visualization DB operation logic unit 11B in the object display area using a pop-up window or the like. details. For example, when the display unit 401 detects a click or the like (display request) on an icon in the work area, it is displayed in the object display area using a pop-up window or the like with the network DB 2 or the DB operation logic unit 11 or by the visualization DB operation logic unit 11B generates detailed information about the network topology.
图38是经由用户界面40执行的操作和由管理单元402配置的控制装置1的配置相互关联的示意图。管理单元402可以由组件管理器30配置。FIG. 38 is a diagram showing that the operations performed via the user interface 40 and the configuration of the control device 1 configured by the management unit 402 are related to each other. The management unit 402 may be configured by the component manager 30 .
例如,显示单元401可以显示由DB操作逻辑单元11对网络DB 2的操作结果。例如,如果与DB操作逻辑单元11相对应的图标和与网络DB 2相对应的图标相互连接,则显示单元401通过DB操作逻辑单元11显示网络DB 2的操作结果。For example, the display unit 401 can display the operation result of the network DB 2 by the DB operation logic unit 11 . For example, if the icon corresponding to the DB operation logic unit 11 and the icon corresponding to the network DB 2 are connected to each other, the display unit 401 displays the operation result of the network DB 2 through the DB operation logic unit 11 .
图38示出了已经从模板显示区域选择图标TP1(NW-DB;与网络DB 2相对应)、图标TP2(OF-NW;与开放流控制单元11A相对应)和图标TP3(最短路径;与最短路径逻辑单元11D相对应)的状态。这些图标被布置在工作区域中并相互连接。以这种方式,网络DB 2、开放流控制单元11A和最短路径逻辑单元11D被添加并连接到控制装置1。与网络DB 2相对应的网络4由开放流协议控制,并在网络4上执行最短路径控制。38 shows that the icon TP1 (NW-DB; corresponding to the network DB 2), the icon TP2 (OF-NW; corresponding to the OpenFlow control unit 11A), and the icon TP3 (the shortest path; corresponding to the OpenFlow control unit 11A) have been selected from the template display area. corresponding to the shortest path logic unit 11D). These icons are arranged in the working area and connected to each other. In this way, the network DB 2 , the OpenFlow control unit 11A, and the shortest path logic unit 11D are added and connected to the control device 1 . A network 4 corresponding to the network DB 2 is controlled by the OpenFlow protocol, and shortest path control is performed on the network 4 .
图39是图38中的图标TP4(可视化;与可视化DB操作逻辑单元11B相对应)连接到图标TP1(NW-DB;与网络DB 2相对应)的示意图。以这种方式,给该控制装置1添加使用图像等的网络拓扑显示功能。FIG. 39 is a diagram showing that the icon TP4 (visualization; corresponding to the visualization DB operation logic unit 11B) in FIG. 38 is connected to the icon TP1 (NW-DB; corresponding to the network DB 2 ). In this way, a network topology display function using images or the like is added to this control device 1 .
图40是图标TP5(聚合;聚合逻辑单元11E)附加地连接到图标TP1(NW-DB)的示意图,其中图标TP2(OF-NW)连接到图标TP1(NW-DB)。与图标TP5(聚合)相对应的聚合逻辑单元11E对网络DB中的拓扑信息进行聚合和抽象,并将该信息存储到另一网络DB 2中。图标TP5(可视化)连接到另一网络DB 2。如图40所示,复杂网络拓扑和抽象网络拓扑两者均可以显示为图像。FIG. 40 is a schematic diagram of the icon TP5 (aggregation; aggregation logic unit 11E) additionally connected to the icon TP1 (NW-DB), where the icon TP2 (OF-NW) is connected to the icon TP1 (NW-DB). The aggregation logic unit 11E corresponding to the icon TP5 (aggregation) aggregates and abstracts the topology information in the network DB, and stores the information in another network DB 2 . Icon TP5 (visualization) is connected to another network DB2. As shown in Figure 40, both complex network topologies and abstract network topologies can be displayed as images.
图41是图标TP6(切片;与切片逻辑单元11C相对应)附加地连接到图标TP1(NW-DB)并生成逻辑上分割的网络DB的示意图,其中图标TP2(OF-NW)连接到图标TP1(NW-DB)。以这种方式,单个网络可以被切片为多个虚拟网络。此外,通过将模板显示区域中的各种图标连接到表示这些切片网络DB的图标(NW-DB;网络DB),可以单独地控制和使用切片网络。FIG. 41 is a schematic diagram of the icon TP6 (slice; corresponding to the slice logic unit 11C) additionally connected to the icon TP1 (NW-DB) and generating a logically divided network DB, wherein the icon TP2 (OF-NW) is connected to the icon TP1 (NW-DB). In this way, a single network can be sliced into multiple virtual networks. Furthermore, by connecting various icons in the template display area to icons representing these slice network DBs (NW-DB; Network DB), slice networks can be individually controlled and used.
图42是图标TP 7(集成;与集成逻辑单元11F相对应)连接到多个图标TP1(NW-DB)并生成集成这些网络的网络DB的示意图,其中图标TP2(OF-NW)连接到图标TP1(NW-DB)。以这种方式,可以将多个网络作为单个网络来控制和使用。Fig. 42 is a schematic diagram of icon TP7 (integrated; corresponding to integrated logic unit 11F) connected to a plurality of icons TP1 (NW-DB) and generating a network DB integrating these networks, wherein icon TP2 (OF-NW) is connected to icon TP1 (NW-DB). In this way, multiple networks can be controlled and used as a single network.
如上所述,通过使用根据本示例性实施例的用户界面,运营商可以定制网络控制装置的初始设置或功能而不需要高级知识和技术。此外,可以允许运营商设置每个网络、参考网络DB的条目并经由该用户界面40来对条目进行操作。例如,优选地允许运营商修改设置值或通过将光标移动到图37中对象显示区域中的字段(field)来添加、改变或删除与控制(流)操作有关的条目。As described above, by using the user interface according to the present exemplary embodiment, the operator can customize the initial settings or functions of the network control device without advanced knowledge and technology. Furthermore, it is possible to allow the operator to set each network, refer to the entries of the network DB, and operate the entries via this user interface 40 . For example, it is preferable to allow the operator to modify setting values or add, change or delete items related to control (flow) operations by moving the cursor to fields in the object display area in FIG. 37 .
虽然已经描述了本公开的示例性实施例,本发明不限于此。在不脱离本发明的基本技术概念的前提下,可以进行各种改变、替换或调整。例如,每个附图中的网络配置或组件配置仅用于促进对本发明的理解。也就是说,本发明不限于附图中的这些配置。Although the exemplary embodiments of the present disclosure have been described, the present invention is not limited thereto. Various changes, substitutions or adjustments can be made without departing from the basic technical concept of the present invention. For example, the network configuration or component configuration in each drawing is only for facilitating understanding of the present invention. That is, the present invention is not limited to these configurations in the drawings.
此外,例如,除了以上示例性实施例中所描述的DB操作逻辑单元11的变体之外,网络提取逻辑是可应用的。利用这种逻辑,通过部分地提取单个网络DB的拓扑并将所提取的拓扑扩展到另一网络DB,网络DB的流可以扩展到原始网络DB的流。通过以这种方式连接两个网络DB,给网络控制装置添加了部分控制网络的功能。例如,可以允许另一网络运营商仅操作网络的一部分,或仅可以改变该部分的路由算法。Also, for example, network extraction logic is applicable in addition to the variation of the DB operation logic unit 11 described in the above exemplary embodiment. With this logic, by partially extracting the topology of a single network DB and extending the extracted topology to another network DB, the flow of the network DB can be extended to the flow of the original network DB. By connecting the two network DBs in this way, a function of partially controlling the network is added to the network control device. For example, another network operator may be allowed to operate only a part of the network, or the routing algorithm may only be changed for that part.
此外,尽管在假定控制真实网络的情况下来描述以上示例性实施例,可以布置与网络仿真器(例如NS3(网络仿真器版本3))链接的网络控制单元。以这种方式,网络控制装置不仅可以控制真实物理网络,还可以控制仿真器上的网络。因此,网络运营商在将控制装置应用到真实物理网络之前,可以在仿真器上测试由此创建的网络控制装置的操作或性能。Furthermore, although the above exemplary embodiments have been described assuming control of a real network, a network control unit linked with a network emulator such as NS3 (Network Emulator Version 3) may be arranged. In this way, the network control device can control not only the real physical network, but also the network on the emulator. Thus, the network operator can test the operation or performance of the thus created network control device on an emulator before applying the control device to a real physical network.
最后,将概括本发明的优选模式。Finally, preferred modes of the present invention will be outlined.
<第一模式><first mode>
(见以上第一方面中的信息处理装置)(See the information processing device in the first aspect above)
<第二模式><second mode>
在第一模式中的所述信息处理装置中,根据所述第一图标上用于显示所述数据库的状态的请求,所述显示单元显示在所述数据库中存储的控制信息。In the information processing apparatus in the first mode, the display unit displays control information stored in the database in response to a request on the first icon for displaying a state of the database.
<第三模式><third mode>
在第一模式或第二模式中的所述信息处理装置中,根据所述第一图标和所述第二图标中的任意一个的连接,所述显示单元显示通过响应于由与所述第二图标相对应的模块发布的数据库操作命令来操作所述控制信息所得到的结果。In the information processing apparatus in the first mode or the second mode, according to connection of any one of the first icon and the second icon, the display unit displays The database operation command issued by the module corresponding to the icon is the result obtained by operating the control information.
<第四模式><Fourth mode>
在第一模式至第三模式中任意一个的所述信息处理装置中,根据所述第一图标和与执行对所述网络的状态的显示的模块相对应的所述第二图标的连接,所述显示单元显示所述网络的状态。In the information processing apparatus in any one of the first mode to the third mode, according to the connection of the first icon and the second icon corresponding to a module performing display of the status of the network, the The display unit displays the status of the network.
<第五模式><Fifth mode>
在第一模式至第四模式中任意一个的所述信息处理装置中,对所述控制信息的操作是响应于由所述多个模块使用的公共数据库操作命令执行的。In the information processing apparatus of any one of the first mode to the fourth mode, the operation on the control information is performed in response to a common database operation command used by the plurality of modules.
<第六模式><sixth mode>
在所述第一模式至第五模式中的任意一个中的所述信息处理装置中,所述数据库包括与所述网络的拓扑有关的第一信息,和与处理所述网络中的分组的方法有关的第二信息。In the information processing apparatus in any one of the first to fifth modes, the database includes first information on the topology of the network, and a method of processing packets in the network related secondary information.
<第七模式><Seventh mode>
在所述第一模式至第六模式中的任意一个中的所述信息处理装置中,所述数据库包括用于管理所述控制装置从所述网络接收的分组的第三信息,和用于管理所述控制装置向所述网络发送的分组的第四信息。In the information processing device in any one of the first to sixth modes, the database includes third information for managing packets received by the control device from the network, and for managing The fourth information of the packet sent by the control device to the network.
<第八模式><eighth mode>
在所述第一模式至第七模式中的任意一个中的所述信息处理装置中,所述第二图标对应于执行从由以下各项构成的组中选择的至少一项的模块:通信终端之间的路径计算、网络拓扑的管理、网络拓扑的聚合、网络的分割和网络的集成。In the information processing apparatus in any one of the first mode to the seventh mode, the second icon corresponds to a module executing at least one selected from the group consisting of: a communication terminal Path calculation, network topology management, network topology aggregation, network segmentation and network integration.
<第九模式><Ninth mode>
(见以上第二方面中的配置方法)(See the configuration method in the second aspect above)
<第十模式><tenth mode>
在第九模式中的所述配制方法中,根据所述第一图标上用于显示所述数据库的状态的请求,在所述显示器上显示所述数据库中存储的控制信息。In said compounding method in a ninth mode, control information stored in said database is displayed on said display in response to a request on said first icon for displaying a status of said database.
<第十一模式><Eleventh mode>
在第九模式或第十模式中的所述配置方法中,根据所述第一图标和所述第二图标中的任意一个的连接,在所述显示器上显示通过响应于由与所述第二图标相对应的模块发布的数据库操作命令来操作所述控制信息所得到的结果。In the configuration method in the ninth mode or the tenth mode, according to the connection of any one of the first icon and the second icon, displaying on the display by responding to the connection with the second icon The database operation command issued by the module corresponding to the icon is the result obtained by operating the control information.
<第十二模式><Twelfth mode>
在所述第九模式至第十一模式中的任意一个中的所述配置方法中,根据所述第一图标和与执行对所述网络的状态的显示的模块相对应的所述第二图标的连接,在所述显示器上显示所述网络的状态。In the configuration method in any one of the ninth mode to the eleventh mode, according to the first icon and the second icon corresponding to a module performing display of the status of the network connection, the status of the network is displayed on the display.
<第十三模式><Thirteenth mode>
在所述第九模式至第十二模式中的任意一个中的所述配置方法中,响应于由所述多个模块使用的公共数据库操作命令,执行对所述控制信息的操作。In the configuration method in any one of the ninth mode to the twelfth mode, an operation on the control information is performed in response to a common database operation command used by the plurality of modules.
<第十四模式><Fourteenth mode>
在所述第九模式至第十三模式中的任意一个中所述的配置方法中,所述数据库包括与所述网络的拓扑有关的第一信息,和与处理所述网络中的分组的方法有关的第二信息。In the configuration method described in any one of the ninth mode to the thirteenth mode, the database includes first information related to the topology of the network, and a method of processing packets in the network related secondary information.
<第十五模式><fifteenth mode>
在所述第九模式至第十四模式中的任意一个中所述的配置方法中,所述数据库包括用于管理所述控制装置从所述网络接收的分组的第三信息,和用于管理所述控制装置向所述网络发送的分组的第四信息。In the configuration method described in any one of the ninth mode to the fourteenth mode, the database includes third information for managing packets received by the control device from the network, and for managing The fourth information of the packet sent by the control device to the network.
<第十六模式><Sixteenth mode>
在所述第九模式至第十五模式中的任意一个中所述的配置方法中,所述第二图标对应于执行从由以下各项构成的组中选择的至少一项的模块:通信终端之间的路径计算、网络拓扑的管理、网络拓扑的聚合、网络的分割和网络的集成。In the configuration method described in any one of the ninth mode to the fifteenth mode, the second icon corresponds to a module that executes at least one item selected from the group consisting of: a communication terminal Path calculation, network topology management, network topology aggregation, network segmentation and network integration.
<第十七模式><Seventeenth mode>
(见以上第三方面中的通信系统)(see communication system in third aspect above)
<第十八模式><Eighteenth mode>
(见以上第四方面中的程序)(See procedures in Section 4 above)
以上NPL的完整公开通过引用方式并入本文。在本发明的全部公开(包括权利要求)的范围中并基于本发明的基本技术概念,示例性实施例和示例的修改和调整是可能的。在本发明的权利要求的范围内,各种公开的要素(包括权利要求、示例性实施例、示例、附图等中每一个中的要素)的各种组合和选择是可能的。即,本发明当然包括本领域技术人员根据包括权利要求和技术概念的整个公开所作出的各种变体和修改。本说明书公开了数值范围。然而,即使说明书未具体地公开任意数值或范围中所包括的小范围,这些数值和范围应当被认为是已经被明确地公开了。The entire disclosure of the above NPL is incorporated herein by reference. Modifications and adjustments of the exemplary embodiments and examples are possible within the scope of the entire disclosure of the present invention (including claims) and based on the basic technical concept of the present invention. Various combinations and selections of various disclosed elements (including elements in each of the claims, exemplary embodiments, examples, drawings, etc.) are possible within the scope of the claims of the present invention. That is, the present invention naturally includes various variations and modifications made by those skilled in the art based on the entire disclosure including claims and technical concepts. Numerical ranges are disclosed in this specification. However, even if the specification does not specifically disclose any numerical values or subranges included in the ranges, such numerical values and ranges should be deemed to have been expressly disclosed.
[附图标记列表][List of Reference Signs]
1 控制装置1 control unit
2、2A至2F 网络数据库(网络DB)2. 2A to 2F network database (network DB)
3 节点3 nodes
4 网络4 network
4A 管理网络4A Management Network
9 处理管理单元9 Processing snap-ins
10、10-1至10-6 DB接口单元10. 10-1 to 10-6 DB interface unit
11、11-1、11-2 DB操作逻辑单元11, 11-1, 11-2 DB operation logic unit
12 网络控制单元12 Network Control Unit
11A 开放流控制单元11A OpenFlow Control Unit
11B 可视化DB操作逻辑单元11B visual DB operation logic unit
11C 切片逻辑单元11C slice logic unit
11D 最短路径逻辑单元11D shortest path logical unit
11E 聚合逻辑单元11E aggregate logic unit
11F 集成逻辑单元11F integrated logic unit
20 最短路径存储单元20 shortest path storage units
21 主机信息存储单元21 host information storage unit
30 组件管理器(配置管理单元)30 Component Manager (Configuration Snap-in)
31 组件信息存储单元31 Component information storage unit
32 组件管理单元32 Component Snap-ins
33 外部控制接口单元33 External Control Interface Unit
34 组件控制接口单元34 component control interface unit
40 用户界面40 user interface
100、200、300、400 服务器100, 200, 300, 400 servers
110 拓扑处理单元110 topology processing unit
111 流处理单元111 stream processing unit
112 分组处理单元112 packet processing unit
320 启动和终止功能320 Start and stop functions
321 连接功能321 connection function
322 活动监视功能322 Activity monitoring function
401 显示单元401 display unit
402 管理单元402 snap-in
TP1至TP6 图标TP1 to TP6 icons
Claims (17)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012202112 | 2012-09-13 | ||
| JP2012-202112 | 2012-09-13 | ||
| PCT/JP2013/005427 WO2014041813A1 (en) | 2012-09-13 | 2013-09-12 | Information processing apparatus, configuration method, communication system, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN104620546A CN104620546A (en) | 2015-05-13 |
| CN104620546B true CN104620546B (en) | 2018-02-09 |
Family
ID=
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0791880A1 (en) * | 1996-02-20 | 1997-08-27 | Compaq Computer Corporation | Method and apparatus for guided configuration of unconfigured network and internetwork devices |
| EP0996253A2 (en) * | 1998-10-22 | 2000-04-26 | Canon Kabushiki Kaisha | Browser-based network management |
| CN1972217A (en) * | 2005-10-04 | 2007-05-30 | 阿尔卡特公司 | Management of tiered communication services in a composite communication service |
| CN101535937A (en) * | 2006-12-11 | 2009-09-16 | 思科技术公司 | Using images and mapping menu controls in alternative navigation of graphical user interfaces |
| WO2012000534A1 (en) * | 2010-06-28 | 2012-01-05 | Telefonaktiebolaget L M Ericsson (Publ) | Network management |
| WO2012090996A1 (en) * | 2010-12-28 | 2012-07-05 | 日本電気株式会社 | Information system, control device, virtual network provision method and program |
| CN102577271A (en) * | 2009-10-07 | 2012-07-11 | 日本电气株式会社 | Information system, control server, virtual network management method, and program |
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0791880A1 (en) * | 1996-02-20 | 1997-08-27 | Compaq Computer Corporation | Method and apparatus for guided configuration of unconfigured network and internetwork devices |
| EP0996253A2 (en) * | 1998-10-22 | 2000-04-26 | Canon Kabushiki Kaisha | Browser-based network management |
| CN1972217A (en) * | 2005-10-04 | 2007-05-30 | 阿尔卡特公司 | Management of tiered communication services in a composite communication service |
| CN101535937A (en) * | 2006-12-11 | 2009-09-16 | 思科技术公司 | Using images and mapping menu controls in alternative navigation of graphical user interfaces |
| CN102577271A (en) * | 2009-10-07 | 2012-07-11 | 日本电气株式会社 | Information system, control server, virtual network management method, and program |
| WO2012000534A1 (en) * | 2010-06-28 | 2012-01-05 | Telefonaktiebolaget L M Ericsson (Publ) | Network management |
| WO2012090996A1 (en) * | 2010-12-28 | 2012-07-05 | 日本電気株式会社 | Information system, control device, virtual network provision method and program |
| EP2661026A1 (en) * | 2010-12-28 | 2013-11-06 | Nec Corporation | Information system, control device, virtual network provision method and program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10097422B2 (en) | Information processing apparatus, configuration method, communication system, and program | |
| KR101703088B1 (en) | Aggregated routing method based on sdn and system thereof | |
| US9385923B2 (en) | Configuration management method of logical topology in virtual network and management server | |
| US9660913B2 (en) | Network packet broker | |
| CN114531944B (en) | Path signature of data flow | |
| CN104704772B (en) | Communication system, virtual network managing device, virtual network management method | |
| US10645006B2 (en) | Information system, control apparatus, communication method, and program | |
| JP6417942B2 (en) | Control device, communication system, tunnel endpoint control method and program | |
| JP5718198B2 (en) | Network management system and apparatus | |
| US9813288B2 (en) | Control apparatus, control method, communication system, and program for issuing database operation command to operate database | |
| US9979594B2 (en) | Methods, apparatuses, and systems for controlling communication networks | |
| KR20180058594A (en) | Software Defined Network/Test Access Port Application | |
| CN104620546B (en) | Information processor, collocation method, communication system and program | |
| CN104917623A (en) | Method and device for realizing SDN network communication management | |
| CN105027502A (en) | Control information management device, control information presentation method, and program | |
| KR20180058593A (en) | Software Defined Network Whitebox Switch | |
| KR20180058592A (en) | Software Defined Network Controller |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20240409 Address after: 80 Mingdi Mia Road, Singapore Patentee after: NEC Asia Pacific Private Ltd. Country or region after: Singapore Address before: Tokyo, Japan Patentee before: NEC Corp. Country or region before: Japan |
|
| TR01 | Transfer of patent right |
Effective date of registration: 20260422 Address after: 3 Phillip Street, Singapore Patentee after: Patent Wave Private Ltd. Country or region after: Singapore Address before: 80 Mingdi Mia Road, Singapore Patentee before: NEC Asia Pacific Private Ltd. Country or region before: Singapore |