信息处理装置、配置方法、通信系统和程序的制作方法_2

文档序号:8303660阅读:来源:国知局
组合来配置信息。也就是说,运营商可以通过改变连接到DB接口单元10的多个DB操作逻辑单元11的组合来容易地改变网络DB 2的配置。因此,运营商可以容易地将控制装置I配置为适合于网络4的类型或适合于网络4中使用的通信协议。
[0074]以下将列出用于操作网络DB 2的命令的示例。然而,因为以下命令是示例,根据本公开的DB操作命令不限于以下示例。
[0075]信息输入/输出命令
[0076]信息删除命令
[0077]通知订阅命令
[0078]信息输入/输出命令用于向网络DB 2输入信息。此外,信息输入/输出命令用于从网络DB 2获取信息。例如,DB接口单元10使用命令“get (获取)(键)”来从网络DB 2获取与标识信息(键)相对应的数据(值)。此外,DB接口单元10使用命令“put(设置)(键、值)”来将与标识信息(键)相对应的数据(值)输入到网络DB 2。如果列出了数据(值),则DB接口单元10可以使用命令“push (推)(键、值)”或命令“pop (弹)(键、值)”来执行数据(值)的输入或输出。也就是说,数据可以用作队列或栈。
[0079]信息删除命令用于从网络DB 2删除信息。例如,DB接口单元10使用命令“delete (删除)(键)”来从网络DB 2删除与标识信息(键)相对应的数据(值)。
[0080]例如,通知订阅命令用于订阅。利用该命令,如果在网络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可以识别与标识信息相对应的键的添加、获取或删除。
[0081]多个DB操作逻辑单元11可以共享公共的DB操作命令。通过允许多个DB操作逻辑单元11用公共命令来操作网络DB 2,网络运营商可以容易地扩展DB操作逻辑单元11。也即是说,当将具有新功能的DB操作逻辑单元11添加到控制装置I时,运营商不需要新设计DB操作逻辑单元11和网络DB 2之间的接口。
[0082]DB操作逻辑单元11具有基于根据DB操作逻辑单元11的类型定义的预定算法来对存储在网络DB 2中的信息进行操作的功能。例如,DB操作逻辑单元11具有将从网络4获取的信息经由DB接口单元10输入到网络DB 2的功能。
[0083]网络控制单元12具有基于通过DB操作逻辑单元11的操作所配置的网络DB 2来控制网络4的功能。例如,网络控制单元12可以根据网络4中所使用的通信协议来改变控制网络4的方法。
[0084]图3示出了网络DB 2的配置。图3的该配置是一个示例,因此网络DB 2的配置不限于图3中的配置。
[0085]例如,网络DB 2包括关于网络4的拓扑的信息(拓扑信息;第一信息)、关于分组处理方法的信息(分组处理信息;第二信息)和关于分组的信息(分组信息;第三、第四信息)。
[0086]例如,拓扑信息包括关于网络4中存在的每个节点3的信息(节点信息)和关于每个节点对之间的链路的信息(链路信息)。例如,节点信息包括关于节点3的标识符和通信端口的信息。例如,链路信息包括:链路的标识符、连接到链路的节点3的标识符、以及连接到链路的节点3的通信端口的标识符。
[0087]分组处理信息包括流信息。流信息是关于分组所属的流的信息。流表示具有预定属性(基于通信目的地、源等所能够标识的属性)的通信分组组。例如,流信息包括匹配条件、路径信息和处理信息。例如,匹配条件表示用于标识与流信息相对应的分组的条件。例如,路径信息表示属于与匹配条件相匹配的流的分组经过的路径。例如,处理信息表示要对经过与路径信息相对应的路径的分组执行的处理(例如重写首部信息)。
[0088]分组信息包括输入分组信息和输出分组信息。输入分组信息是从网络4接收的分组中与任意流信息中的匹配条件都不匹配的分组。输出分组信息是需要从网络4输出的分组。
[0089]例如,网络DB 2中存储的拓扑信息、分组处理信息和输入分组信息可以以预定格式标准化。通过对网络DB 2中存储的信息进行标准化,网络DB 2可以与符合各种协议的网络具有兼容性。
[0090]图4至6示出了根据第一示例性实施例的操作。因为图4至6的操作是示例,根据本公开的操作不限于在这些附图中所示的操作。
[0091]图4至6示出了由多个DB操作逻辑单元11 ( “DB操作逻辑单元11_1和11-2”)对网络DB 2进行操作的示例。DB操作逻辑单元11-1具有对网络DB 2进行操作并输入/输出关于拓扑的信息的功能。DB操作逻辑单元11-2具有基于在网络DB 2中存储的信息来生成分组处理信息的功能。
[0092]图4示出了 DB操作逻辑单元11-1通过对网络DB 2进行操作来管理网络4的拓扑的操作。
[0093]控制装置I的DB操作逻辑单元11-1经由网络控制单元12从网络4收集关于拓扑的信息(SlO)。关于拓扑的信息是通过使用例如LLDP(链路层发现协议)收集的。LLDP是网络上的装置利用其与相邻装置交换信息并收集关于连接到装置的通信端口的相邻装置的信息。例如,网络控制单元12从每个节点3收集已经由网络4中的每个节点3通过LLDP所收集的信息。
[0094]例如,DB操作逻辑单元11-1基于经由网络控制单元12收集的信息,以与网络DB2相对应的预定格式生成拓扑信息(Sll)。
[0095]通过使用DB操作命令(信息输入/输出命令),DB操作逻辑单元11_1经由DB接口单元10将所生成的拓扑信息存储到网络DB 2中(S12)。
[0096]图5示出了 DB操作逻辑单元11-2通过对网络DB 2进行操作来生成与对网络4中流动的分组进行处理的方法有关的信息。
[0097]通过使用DB操作命令(信息输入/输出命令),控制装置I的DB操作逻辑单元11-2经由DB接口单元10从网络DB 2获取拓扑信息(S13)。
[0098]DB操作逻辑单元11-2可以通过使用通知订阅命令来预设网络DB2,使得当拓扑信息改变时,网络DB 2向DB操作逻辑单元11-2通知拓扑信息的改变。当拓扑信息改变时,网络DB 2经由DB接口单元10向DB操作逻辑单元11_2通知拓扑信息的改变。
[0099]基于从网络DB 2获取的拓扑信息,DB操作逻辑单元11-2以与网络DB 2相对应的预定格式,生成分组处理信息(S14)。例如,DB操作逻辑单元11-2计算分组转发路径(图3中的“路径信息”)并将所计算的转发路径存储到分组处理信息中。例如,DB操作逻辑单元11-2通过使用预定的计算逻辑来计算转发路径。例如,DB操作逻辑单元11-2将从源到目的地的最短路径设置到分组转发路径。
[0100]此外,DB操作逻辑单元11-2将分组匹配条件和处理信息(例如重写首部)存储到分组处理信息中。
[0101]通过使用DB操作命令(信息输入/输出命令),DB操作逻辑单元11-2经由DB接口单元10将所生成的分组处理信息存储到网络DB 2中(S15)。
[0102]图6示出了控制装置I通过对网络DB 2进行操作来控制网络4中的节点3的操作。
[0103]通过使用DB操作命令(信息输入/输出命令),控制装置I的DB操作逻辑单元11-1经由DB接口单元10从网络DB 2获取分组处理信息(S16)。
[0104]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通知分组处理信息的改变。
[0105]基于分组处理信息,DB操作逻辑单元11-1生成要在网络4的节点3中设置的处理指令(定义由节点3执行的分组处理方法的信息)并经由网络控制单元12将该处理指令设置在节点3中。
[0106]例如,DB操作逻辑单元11-1参考分组处理信息中的路径信息,并将处理指令设置到与该路径(Path)信息相对应的转发路径上的每个节点3中。例如,DB操作逻辑单元11-1将定义对来自与转发路径相对应的通信端口的分组进行转发的处理指令设置到每个节点3中,使得沿着与路径信息相对应的转发路径转发分组。
[0107]如在以上图4至6中所示的操作中,通过对网络DB 2进行操作,控制装置I可以以集中方式控制网络4中的分组处理。
[0108]如上所述,通过利用DB操作命令来操作网络DB 2,控制装置I可以控制网络4。因此,网络4的运营商可以通过合并网络DB 2的操作命令来对控制装置I进行编程。DB操作命令的数量远小于API或与其有关的函数所需的命令的数量。因此,网络4的运营商可以容易地对控制装置I进行编程,而不需要学习高级知识和技术。
[0109]〈第二示例性实施例〉
[0110]接下来,将描述本公开的第二示例性实施例。在第二示例性实施例中,将详细描述网络DB 2的配置示例和DB操作命令的示例。
[0111]图7至9示出了网络DB 2的配置。图7至9的配置是一个示例,因此网络DB 2的配置不限于图7至9中的配置。
[0112]此外,在第二示例性实施例中,网络DB 2是通过键-值存储配置的。然而,可以通过与键-值存储不同的方式来配置网络DB 2。
[0113]图7示出了网络DB 2中存储的拓扑信息。通过与网络4中的节点3有关的标识信息(键)和与节点3之间的链路有关的标识信息(键)来配置拓扑信息。每个标识信息(键)与数据(值)相关联。
[0114]例如,与标识信息"/nodes"相对应的数据(值)表示网络4中存在的节点3的标识符(节点ID)。图7中的"{1,2,3,4,...}"表示节点标识符列表。
[0115]标识信息"/nodes/[node_id]"的"[node_id]"表示网络4中存在的节点3之一的标识符。例如,与标识信息"/nodes/[node_id]"相对应的数据(值)表示与当控制装置I控制网络4中的节点3时所使用的标识符有关的信息或与节点3的制造商有关的信息。当控制装置I控制网络4中的节点3时所使用的标识符与以上标识信息"/nodes"相关联的标识符不同。在开放流协议中,当控制装置I控制网络4中的节点3时所使用的标识符被称为例如DPID (数据路径ID)。
[0116]例如,与标识信息"/nodes/[node_id]/ports "相对应的数据(值)表示与"[node_id]"相对应的节点3的通信端口的标识符的列表。图7中的"{1,2,3,4,...}"表示通信端口的标识符的列表。
[0117]标识信息"/nodes/[node_id]/ports/[port_id]"的"[port_id]"表示指示与"[node_id]"相对应的节点3的通信端口之一的标识符。例如,标识信息"/nodes/[node_id]/ports/[port_id]"的数据(值)包括端口状态(例如链路上行状态或链路下行状态)、端口的通信带宽等。
[0118]例如,与标识信息"/links"相对应的数据(值)表示网络4中存在的节点3之间的链路的标识符。图7中的"{1,2,3,4,...}"表示链路标识符的列表。
[0119]标识信息"/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"相对应的节点的通信端口中与链路相对应的端口的标识符。
[0120]网络DB 2通过使用图7中所示的这些数据库条目,管理网络4的拓扑。通过使用DB操作命令并操作图7中所示的条目,DB操作逻辑单元11可以管理并操作网络4的拓扑。
[0121]图8示出了网络DB 2中存储的分组处理信息。例如,分组处理信息包括:匹配条件(Filter过滤器),该匹配条件用于标识与分组处理信息相对应的分组;转发路径(Path路径),该转发路径针对与匹配条件相匹配的分组;以及预定处理(Act1n动作),该预定处理要应用于与匹配条件相匹配的分组。
[0122]与标识信息("/flows")相对应的数据(值)表示分组处理信息的标识符。图8中的"{1,2,3,4,...}"表示分组处理信息的标识符的列表。
[0123]标识信息("/flows/[flow_id
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1