计算机系统和虚拟网络可视化方法
【专利摘要】根据本发明的计算机系统包括管理单元,该管理单元用于基于虚拟网络的拓扑数据来以使多个虚拟网络组合的视觉可感知的形式输出由多个控制器管理的多个虚拟网络,拓扑数据是基于通信路由生成的。这使得能够对使用开放流技术的多个控制器所管理的整个虚拟网络的集中式管理。
【专利说明】计算机系统和虚拟网络可视化方法
【技术领域】
[0001] 本发明涉及计算机系统以及计算机系统的可视化方法,更具体地,涉及使用开放 流(OpenFlow)(还称为可编程流)技术的计算机系统的虚拟网络可视化方法。
【背景技术】
[0002] 传统地,从源到目的地的的分组路由确定和分组传输已经通过在该路由上设定的 多个交换机来实现了。在最近的大型网络中,诸如在数据中心中,由于因为故障而产生的设 备停止或者为了扩展规模而添加新的设备而导致不断地修改网络配置。这使得需要对于迅 速地适应网络配置的修改以确定适当路由的灵活性。然而,因为无法在外部修改安装在交 换机上的路由确定程序,所以无法执行对整个网络的集中式控制和管理。
[0003] 另一方面,开放网络基金会已经提出了用于通过使用计算机网络中的外部控制器 来在各个交换机中实现对传输操作等的集中式控制的技术(即开放流技术)(参见非专利 文献1)。适用于该技术的网络交换机(在下文中称为开放流交换机(0FS))将包括协议类 型、端口号等的具体信息保持在流表中,并且允许流控制和统计信息的获得。
[0004] 在使用开放流协议的系统中,通过开放流控制器(在下文中,还称为可编程流控 制器,并且缩写为"0FC")来实现对通信路由的设定、对路由上的0FS的传输操作(中继操 作)等。在该操作中,0FC将流条目设定到由0FS所保持的流表中,该流条目使用于识别流 (分组数据)的规则与定义要对所识别的流执行的操作的动作相关联。通信路由上的0FS 根据0FC所设定的流条目来确定所接收到的分组数据的传输目的地,以实现传输。这允许 客户端终端通过使用0FC所设定的通信路由来另一客户端终端交换分组数据。换句话说, 基于开放流的计算机系统允许对在整个系统上的通信进行集中式控制和管理,在基于开放 流的计算机系统中,设定通信路由的0FC与执行传输的0FS分离。
[0005] 0FC可以以L1至L4的报头数据所定义的流为单元来控制客户端终端之间的传输, 并且因此可以以期望的形式来虚拟化网络。这放松了对物理配置的限制,并且促进虚拟租 户环境的建立,降低了由于向外扩展所产生的初始投资成本。
[0006] 当诸如连接到基于开放流的系统的客户端终端、服务器和存储器的终端的数目增 加时,对流进行管理的0FC所施加的负载增加。因此,可以在单个系统(网络)中布置多个 0FC,以便于降低对每个0FC所施加的负载。而且,在包括多个数据中心的系统中,因为通常 对每个数据中心布置一个0FC,所以在整个系统上所定义的网络通过多个0FC来管理。
[0007] 例如,在JP2011-166692A(参见专利文献1)、JP2011-166384A(参见专利文献2) 以及JP2011-160363A(参见专利文献3)中,公开了通过多个控制器来管理一个网络的系 统。在专利文献1中公开了一种通过共享拓扑数据的多个控制器实现对基于开放流的网络 的流控制的系统。专利文献2中公开了一种系统,该系统包括:多个控制器,其指令通信路 由上的交换机来设定确定其优先级顺序的流条目;以及交换机,其基于优先级的顺序来确 定是否设定流条目,并且根据该流条目来提供对与对其设定的流条目匹配的接收到的分组 的中继。专利文献3中公开了一种系统,该系统包括:多个控制器1,其指令通信路由上的 交换机来设定流条目;以及多个交换机,其将多个控制器1中的一个指定为路由决定实体, 并且根据由该路由决定实体所设定的流条目来执行对所接收到的分组的中继。
[0008] 引用列表
[0009] 专利文献
[0010] [专利文献 1]JP2〇ll_l66692 A
[0011] [专利文献 2]JP2011-166384 A
[0012] [专利文献 3]JP2011_160363 A
[0013] 非专利文献
[0014] [非 专利 文献 1] OpenFlow Switch Specification Versionl. 1. OImplemented(Wire Protocol0x02),2011年 2 月 28 日
【发明内容】
[0015] 当通过多个控制器来管理单个虚拟网络时,无法将由多个控制器管理的整个虚拟 网络作为单个虚拟网络进行监视,但是每个独立的控制器可以监视每个控制器所管理的虚 拟网络的状态等。当一个虚拟租户网络"VTN1"由分别由两个0FC管理的两个虚拟网络 "VNW1"和"VNW2"组成时,例如,两个0FC可以分别监视两个虚拟网络"VNW1"和"VNW2"的 状态。然而,因为两个虚拟网络"VNW1"和"VNW2"无法统合,所以无法执行对整个虚拟租户 网络"VTN1"的状态的集中式监视。
[0016] 因此,本发明的目的在于执行对使用开放流技术的多个控制器所控制的整个虚拟 网络的集中式管理。
[0017] 本发明的一方面中的计算机系统包括多个控制器、交换机以及管理单元。多个控 制器中的每一个计算通信路由,并且对通信路由上的交换机设定流条目。交换机根据在其 流表中所设定的流条目来执行对所接收到的分组的中继。管理单元基于虚拟网络的拓扑数 据来以使多个虚拟网络被组合的视觉可感知的形式输出由多个控制器所管理的多个虚拟 网络,该拓扑数据是基于通信路由来生成的。
[0018] 本发明的另一方面中的虚拟网络可视化方法通过计算机系统来实现,该计算机系 统包括:多个控制器,该多个控制器中的每一个计算通信路由,并且对通信路由上的交换机 设定流条目;以及交换机,该交换机根据其流表中所设定的流条目来执行对所接收到的分 组的中继。根据本发明的虚拟网络可视化方法包括以下步骤:通过管理单元来从多个控制 器获得由多个控制器所管理的多个虚拟网络的拓扑数据;以及通过管理单元,基于各个虚 拟网络的拓扑数据来以使得多个虚拟网络被组合的视觉可感知的形式输出多个虚拟网络。
[0019] 根据本发明的虚拟网络可视化方法优选地通过可由计算机执行的可视化程序来 实现。
[0020] 本发明使得能够对由使用开放流技术的多个控制器所控制的整个虚拟网络进行 集中式管理。
【专利附图】
【附图说明】
[0021] 结合附图,从示例性实施例的描述中,上述本发明的目的、效果和特征将更加显而 易见,在附图中:
[0022] 图1是示出根据本发明的示例性实施例中的计算机系统的配置的示意图;
[0023] 图2是示出根据本发明的示例性实施例中的开放流控制器的配置的示意图;
[0024] 图3是示出根据本发明的由开放流控制器所保持的VN拓扑数据的一个示例的示 意图;
[0025] 图4是根据本发明的由开放流控制器所保持的VN拓扑数据的概念图;
[0026] 图5是示出根据本发明的示例性实施例中的管理单元的配置的示意图;
[0027] 图6是示出根据本发明的由管理单元所保持的虚拟节点数据的一个示例的示意 图;
[0028] 图7是示出根据本发明的由管理单元所保持的虚拟节点数据的另一示例的示意 图;
[0029] 图8是示出在图1中示出的由各个开放流控制器所保持的VN拓扑数据的一个示 例的不意图;以及
[0030] 图9是示出通过对图8中示出的VN拓扑数据进行统合所生成的整个虚拟网络的 VTN拓扑数据的一个示例的示意图。
【具体实施方式】
[0031] 在下文中,参考附图给出对本发明的示例性实施例的描述。在附图中,相同或相似 的附图标记表示相同、相似或等效的组件。
[0032] (计算机系统配置)
[0033] 参考图1来描述根据本发明的计算机系统的配置。图1是示出根据本发明的示例 性实施例中的计算机系统的配置的示意图。根据本发明的计算机系统使用开放流来执行 通信路由的建立以及分组数据的传输控制。根据本发明的计算机系统包括:开放流控制器 1-1至1-5 (在下文中称为0FC 1-1至1-5)、多个开放流交换机2 (在下文中称为0FS 2)、多 个L3路由器3、多个主机4(例如,存储器4-1、服务器4-2和客户端终端4-3)、以及管理单 元100。应该注意,0FC 1-1至1-5在不彼此区分时被统称为0FC1。
[0034] 主机4中的每一个通过执行存储在辅助存储器中的程序来与其他主机4进行通 信,主机4是包括未示出的CPU、主存储器和辅助存储器的计算机装置。主机4之间的通信 经由交换机2和L3路由器3来实现。例如,主机4根据其中执行的程序以及其硬件配置来 实现其本身的存储器4-1、服务器(例如,web服务器、文件服务器和应用服务器)以及客户 端终端4-3的功能。
[0035] 0FC 1中的每一个包括流控制部12,该流控制部12基于开放流技术来控制与该系 统中的分组传输有关的通信路由分组传输处理。开放流技术是下述技术:其中,控制器根据 路由策略(流条目:流和动作)来对0FS 2设定以流为单位的多层路由数据,来实现路由控 制和节点控制(详情参见非专利文献1)。这使路由控制功能与路由器和交换机分离,允许 通过由控制器进行的集中式控制的优化路由和业务管理。与传统路由器和交换机不同,开 放流技术所应用于的0FS 2将通信作为端对端流而不是以分组或帧为单位来处理。
[0036] 0FC 1通过将流条目(规则和动作)设定到0FS 2所保持的流表(未示出)来控 制0FS 2的操作(例如,分组数据的中继)。由0FC 1对0FS2的流条目的设定以及从0FS 2对0FC 13通知第一分组(分组传入)经由控制网络200 (以下称为控制NW 200)来执行。
[0037] 在图1中所示出的一个示例中,OFC 1-1至1-4被布置为控制数据中心DC1中的 网络(0FS 2)的0FC 1,并且0FC1-5被布置为控制数据中心DC2中的网络(0FS 2)的0FC 1。0FC 1-1至1-4经由控制NW200-1连接到数据中心DC1中的0FS 2,并且0FC1-5经由控 制NW200-2连接到数据中心DC2中的0FS 2。应该注意,数据中心DC1的网络(0FS 2)和数 据中心DC2的网络(0FS 2)是经由执行层3路由的L3路由器3连接的不同ID地址范围的 网络(子网络)。
[0038] 参考图2,在下文中描述了 0FC1的配置的细节。图2是示出根据本发明的OFC 1 的配置的示意图。优选地是,OFC 1被实施为包括CPU和存储设备的计算机。在每个OFC 1 中,通过由未示出的CPU执行存储在存储设备中的程序来实现图2中所示出的VN拓扑数据 通知部11和流控制部12的各个功能。而且,每个OFC 1保持存储在存储设备中的VN拓扑 数据13。
[0039] 流控制部12执行对流控制部12自己要管理的0FS 2的流条目(规则和动作)的 设定和删除。在该操作中,流控制部12将流条目(规则和动作数据)设定到0FS 2的流 表,使得流条目与OFC 1的控制器ID相关联。0FS 2参考对其设定的流条目来执行与同所 接收到的分组的报头数据相匹配的规则相关联的动作(例如,分组数据的中继或丢弃)。在 下文中描述规则和动作的细节。
[0040] 在规则中指定例如在0SI (开放系统互连)模型的层1至4中所定义的地址和标 识符的组合,其被包括在TCP/IP分组数据的报头数据中。例如,可以在规则中描述在层1 中所定义的物理端口、在层2中所定义的MAC地址和VLAN标记(VLAN id)、在层3中所定义 的IP地址、以及在层4中所定义的端口号的组合。应该注意,可以对VLAN标记给予优先级 (VLAN优先级)。
[0041] 在规则中所描述的诸如端口号的识别符、地址等可以被指定为特定范围。优选地 是,关于在规则中所描述的地址等来区分源和目的地。例如,可以在规则中描述目的地MAC 地址的范围、表示连接-目的地应用的目的地端口号的范围、表示连接-源应用的源端口号 的范围。此外,可以在规则中描述指定数据传输协议的标识符。
[0042] 在动作中指定例如如何处理TCP/IP分组数据。例如,可以在动作中描述指示是否 中继所接收到的分组数据的数据以及在中继情况下的目的地。而且,可以在动作中描述指 令分组数据的复制或丢弃的数据。
[0043] 每个OFC 1通过流控制来对每个OFC 1构建预定的虚拟网络(VN)。另外,一个虚 拟租户网络(VTN)通过由OFC 1独立管理的至少一个虚拟网络(VN)来构建。例如,一个虚 拟租户网络VTN1通过由控制不同IP网络的0FC 1-1至1-5分别管理的虚拟网络来构建。 替代地,一个虚拟租户网络VTN2可以通过由控制相同IP网络的0FC 1-1至1-4分别管理 的虚拟网络来构建。此外,一个虚拟租户网络VTN3可以由由一个0FC1(例如,0FC 1-5)所 管理的虚拟网络来构成。应该注意,可以在系统中构建多个虚拟租户网络(VTN),如图1中 所示。
[0044] VN拓扑数据通知部11向管理单元100传送由VN拓扑数据通知部11本身所管理 的虚拟网络(VN)的VN拓扑数据13。如在图3和图4中所示,VN拓扑数据13包括与由0FC 1所管理(或控制)的虚拟网络(VN)的拓扑有关的数据。参考图1,在根据本发明的计算 机系统中,通过由多个OFC 1进行的控制来提供多个虚拟租户网络VTNUVTN2…。虚拟租 户网络包括由OFC 1-1至1-5分别管理(或控制)的虚拟网络(VN)。每个OFC 1保持与由 0FC 1本身所管理的虚拟网络(在下文中称为管理对象虚拟网络)的拓扑有关的数据作为 VN拓扑数据13。
[0045] 图3是示出在0FC1中所保持的VN拓扑数据13的一个示例的示意图。图4是在 0FC1中所保持的VN拓扑数据13的概念图。VN拓扑数据13包括与由0FS 2和物理交换机 所实施的虚拟网络中的虚拟节点之间的连接有关的数据,虚拟节点诸如未示出的路由器。 具体地,VN拓扑数据13包括标识属于管理对象虚拟网络的虚拟节点的数据(虚拟节点数 据132)以及指示虚拟节点之间的连接的连接数据133。虚拟节点数据132和连接数据133 被记录为与VTN号131相关联,VTN号131是属于管理对象虚拟网络的虚拟网络(例如,虚 拟租户网络)的标识符。
[0046] 虚拟节点数据132包括,例如,将相应的虚拟网桥、虚拟外部装置和虚拟路由器识 别为虚拟节点的数据。虚拟外部装置是作为虚拟网桥的连接目的地进行操作的终端(主 机)或路由器。例如,可以利用虚拟节点所连接到的VLAN的名称和MAC地址(端口号)的 组合来定义虚拟节点数据132。在一个示例中,利用与MAC地址(或端口号)相关联的虚拟 路由器的标识符来在虚拟节点数据132中描述虚拟路由器的标识符(虚拟路由器名称)。 可以在虚拟节点数据132中定义特定于每个OFC 1的虚拟节点名称,诸如虚拟网桥名称、虚 拟外部装置名称以及虚拟路由器名称;替代地,可以对在系统中的所有OFC 1定义通用名 称。
[0047] 连接数据133与虚拟节点的虚拟节点数据132相关联地包括标识虚拟节点的 连接目的地的数据。参考图4,例如,虚拟路由器(vRouter) "VR11"和虚拟外部装置 (vExternal) "VE11"可以被描述为连接数据133中的虚拟网桥(vBridge) "VB11"的连接 目的地。连接数据133可以包括标识连接对方(网桥/外部装置/路由器/外部网络(L3 路由器))的连接类型或者标识连接目的地(例如,端口号、MAC地址以及VLAN名称)的数 据。具体地,在连接数据133中描述虚拟网桥的标识符(虚拟网桥名称),其中,所描述的标 识符与虚拟网桥所属于的VLAN的名称相关联。此外,在连接数据133中描述虚拟外部装置 的标识符(虚拟外部装置名称),其中,所描述的标识符与VLAN名称和MAC地址(或端口 号)的组合相关联。换句话说,利用VLAN名称和MAC地址(或端口号)来定义虚拟外部装 置。
[0048] 参考图4,在下文中描述基于由OFC 1所保持的VN拓扑数据13所建立的虚拟网 络的一个示例。在图4中所示出的虚拟网络属于虚拟租户网络VTN1,并且由虚拟路由器 " VR11 "、虚拟网桥" VB11 "和" VB12 "、以及虚拟外部装置" VE11 "和" VE12 "组成。虚拟网桥 "VB11"和"VB12"表示经由虚拟路由器"VR11"连接的不同子网络。虚拟网桥"VB11"与 虚拟外部装置"VE11"连接,并且虚拟外部装置"VE11"与由名为"0FC2"的0FC1-2所管理 的虚拟路由器"VR22"的MAC地址相关联。这意味着,可从虚拟网桥"VB11"识别出由名为 "0FC2"的0FC1-2所管理的虚拟路由器"VR22"的MAC地址。类似地,虚拟网桥"VB12"连接 至IJ虚拟外部装置"VE12",并且虚拟外部装置"VE12"与L3路由器相关联。这意味着虚拟网 桥"VB12"经由L3路由器连接到外部网络。
[0049] 参考图1,VN拓扑数据通知部11经由安全管理网络300 (在下文中称为管理NW 300)向管理单元100传送由VN拓扑数据通知部11本身所管理的VN拓扑数据13。管理单 元100基于虚拟节点数据105来组合从OFC 1-1至1-5所获得的VN拓扑数据14,以生成整 个系统的虚拟网络(例如,虚拟租户网络VTN1、VTN2…)
[0050] 参考图5,在下文中描述管理单元100的配置的细节。图5是示出根据本发明的 示例性实施例中的管理单元100的配置的示意图。优选地是,管理单元100被实施为包括 (PU和存储设备的计算机。在管理单元100中,通过由未示出的CPU执行存储在存储设备中 的可视化程序来实现VN数据收集部101、VN拓扑组合部102、以及VTN拓扑输出部103的 相应功能。另外,管理单元100保持存储在存储设备中的VTN拓扑数据104和虚拟节点数 据105。应该注意,在初始状态中不记录VTN拓扑数据104 ;VTN拓扑数据104仅在由VN拓 扑组合部102生成之后被记录。另一方面,优选地是,在初始状态中预先设定虚拟节点数据 105。
[0051] VN数据收集部101经由管理NW 300向OFC 1发出VN拓扑数据收集指令,以从0FC 1获得VN拓扑数据13。将由此获得的VN拓扑数据13临时存储在未示出的存储设备中。
[0052] VN拓扑组合部102基于虚拟节点数据105,以在整个系统上定义的虚拟网络为单 元(例如,以虚拟租户网络为单元)来组合(或统合)所获得的VN拓扑数据13,以生成与 在整个系统上定义的虚拟网络相对应的拓扑数据。将VN拓扑组合部102所生成的拓扑数 据记录为VTN拓扑数据104,并且通过VN拓扑输出部103以视觉可感知的形式输出。例如, VN拓扑输出部103以文本形式或以图形形式在诸如监视器的输出设备(未示出)上显示 VTN拓扑数据104。具有与图3中所示出的VN拓扑数据13类似的配置的VTN拓扑数据104 包括与VTN号相关的虚拟节点数据和连接数据。
[0053] 基于从OFC 1所获得的VN拓扑数据13和虚拟节点数据105, VN拓扑组合部102 识别独立OFC 1的管理对象虚拟网络上的虚拟节点当中的公共(或相同)虚拟节点。VN拓 扑组合部102经由公共虚拟节点来组合公共虚拟节点所属于的虚拟网络。在该操作中,当 组合相同IP地址范围的虚拟网络(子网络)时,VN拓扑组合部102经由即时网络所共享的 公共虚拟网桥来组合虚拟网络。当组合不同IP地址范围的虚拟网络(子网络)时,VN拓 扑组合部102经由该网络所共享的虚拟外部装置来组合虚拟网络。
[0054] 虚拟节点数据105是使在相应OFC 1中分别定义的虚拟节点名称与相同虚拟节点 相关联的数据。图6是示出根据本发明的由管理单元100所保持的虚拟节点数据105的一 个示例的示意图。在图6中所示出的虚拟节点数据105包括控制器名称51、公共虚拟节点 名称52以及相应虚拟节点名称53。具体地,与在各个0FC中分别定义的虚拟节点名称当 中的相同虚拟节点相对应的虚拟节点名称被记录为与公共虚拟节点名称52相关联的相应 虚拟节点名称53。在图6中所示出的示例中,在与公共虚拟节点名称"VB1"相关联的虚拟 节点数据105中描述具有"0FC1"的控制器名称51的OFC 1中定义的虚拟网桥"VBxl"以 及具有"0FC 2"的控制器名称51的在OFC 1中定义的虚拟网桥"VByl"。在该情况下,VN 拓扑组合部102可以通过使用控制器名称51和相应虚拟节点名称53作为关键字(key)参 考虚拟节点数据105,来识别出在从名为"0FC1"的OFC 1所接收到的VN拓扑数据13中所 描述的虚拟网桥"VBxl"以及在从名为"0FC2"的OFC 1所接收到的VN拓扑数据13中所描 述的虚拟网桥"VByl"是相同虚拟网桥"VB1"。类似地,VN拓扑组合部102可以通过参考在 图6中所示出的虚拟节点数据105,来识别出在名为"0FC1"的0FC1中所定义的虚拟网桥 "VBx2"和在名为"0FC2"的OFC 1中所定义的虚拟网桥"VBy2"是相同虚拟网桥"VB2"。另 夕卜,在虚拟节点数据105中与公共虚拟节点名称"VB1"相关联地描述在名为"0FC1"的OFC 1中所定义的虚拟外部装置"VExl"以及在名为"0FC2"的0FC 1中所定义的虚拟外部装置 "VEx2"。在该情况下,VN拓扑组合部102可以通过参考虚拟节点数据105,来认识到在从名 为"0FC1"的OFC 1所接收到的VN拓扑数据13中所描述的虚拟外部装置"VExl"以及在从 名为"0FC2"的OFC 1所接收到的VN拓扑数据13中所描述的虚拟外部装置"VEyl"是相同 虚拟外部装置"VE1"。以相同的方式,VN拓扑组合部102可以通过参考在图6中所示出的 虚拟节点数据105,来将在名为"0FC1"的OFC 1中所定义的虚拟外部装置"VEx2"以及在名 为"0FC2"的OFC 1中所定义的虚拟外部装置"VEy2"识别为相同虚拟网桥"VE2"。
[0055] 图7是示出根据本发明的由管理单元100所保持的虚拟节点数据105的另一示例 的示意图。图7中所示出的虚拟节点数据105包括虚拟节点名称61、VLAN名称62以及MAC 地址63。具体地,虚拟节点所属于的VLAN和属于虚拟节点的MAC地址与该虚拟节点的名称 (虚拟节点名称61)相关联地被描述为虚拟节点数据105。当如图7所示出的已经登记了 虚拟节点数据105时,VN数据收集部101从OFC 1收集包括虚拟节点所属于的VLAN的名 称以及属于该虚拟节点的MAC地址的虚拟节点数据132。VN拓扑组合部102使用包括在从 OFC 1所接收到的虚拟节点数据132中的VLAN名称和MAC地址作为关键字,通过参考虚拟 节点数据105来识别虚拟节点名称61,并且使所识别的虚拟节点名称与包括在虚拟节点数 据132中的虚拟节点名称相关联。这允许即使在从不同0FC获得的虚拟节点名称不同时, VN拓扑组合部102也识别出具有通过VLAN名称和MAC地址所识别的相同虚拟节点名称61 的虚拟节点是相同虚拟节点。
[0056](虚拟网络的组合(统合)操作)
[0057] 接下来,参考图8和图9来描述管理单元100中的虚拟网络的组合操作的细节。图 8是示出属于虚拟租户网络VTN1的虚拟网络的VN拓扑数据13的一个示例的示意图,其中 VN拓扑数据13分别由图1中所示出的0FC 1-1至1-5来保持。
[0058] 参考图8,名为"0FC1"的0FC 1-1保持彼此连接的虚拟网桥"VB11"和虚拟外部 装置"VE11"作为0FC1-1本身的管理对象虚拟网络的VN拓扑数据13。名为"0FC2"的 OFC 1 -2保持虚拟路由器" VR21"、虚拟网桥" VB21"和" VB22 "、以及虚拟外部装置" VE21" 和"VE22"作为0FC 1-2本身的管理对象虚拟网络的VN拓扑数据13。虚拟网桥"VB21"和 "VB22"表示经由虚拟路由器"VR21"连接的不同子网络。虚拟网桥"VB21"连接到虚拟外部 装置"VE21"。虚拟网桥"VB22"连接到虚拟外部装置"VE22",并且虚拟外部装置"VE22"与 L3路由器"SW1"相关联。名为"0FC3"的0FC 1-3保持虚拟网桥"VB31"以及虚拟外部装置 "VE31"和"VE32"作为0FC 1-3本身的管理对象虚拟网络的VN拓扑数据13。名为"0FC4" 的0FC 1-4保持虚拟网桥"VB41"和虚拟外部装置"VE41"作为0FC 1-4本身的管理对象 虚拟网络的VN拓扑数据13。名为"0FC5"的0FC 1-5保持虚拟路由器"VR51"、虚拟网桥 "VB51"和"VB52"以及虚拟外部装置"VE51"和"VE52"作为0FC 1-5本身的管理对象虚拟 网络的VN拓扑数据13。虚拟网桥"VB51"和"VB52"表示经由虚拟路由器"VR51"连接的不 同子网络。虚拟网桥"VB51"连接到虚拟外部装置"VE51",并且虚拟外部装置"VE51"与L3 路由器"SW2"相关联。虚拟网桥"VB52"连接到虚拟外部装置"VE52"。
[0059] 管理单元100的VN数据收集部101向0FC 1-1至1-5发出关于虚拟租户网络 "VTN1"的VN拓扑数据收集指令。0FC 1-1至1-5中的每一个经由管理NW 300向管理单 元100传送与虚拟租户网络"VTN1"有关的VN拓扑数据13。例如,如在图8中所示出的, 这允许管理单元100从各个OFC 1-1至1-5收集VN拓扑数据13。管理单元100的VN拓 扑组合部102通过参考虚拟节点数据105来识别所收集的VN拓扑数据13中的公共虚拟节 点。在该示例性实施例中,假定在虚拟节点数据105中,虚拟网桥"VB11"、"VB21"、"VB31" 和"VB41"被登记并且与虚拟网桥"VB1"相关联,并且虚拟外部装置"VE22"和"VB51"被登 记并且与虚拟外部装置"VE1"相关联。当通过参考虚拟节点数据105发现两个虚拟网络上 的虚拟网桥相关联时,VN拓扑组合部102认识到,两个虚拟网络经由层2连接来进行连接。 在该情况下,VN拓扑组合部102经由相关联的虚拟网桥组合两个虚拟网络。在该示例中,基 于虚拟节点数据105,VN拓扑组合部102将彼此相关联的虚拟网桥"VB11"、"VB21"、"VB31" 和" VB41 "连接到虚拟路由器" VR21 ",将虚拟网桥" VB11 "、" VB21 "、" VB31 "和" VB41 "定义 为相同虚拟网桥"VB1"。而且,当通过参考虚拟节点数据105发现两个虚拟网络上的虚拟 外部装置相关联时,VN拓扑组合部102认识到两个虚拟网络经由层3连接来进行连接。在 该情况下,VN拓扑组合部102经由相关联的虚拟外部装置来组合两个虚拟网络。在该示例 中,因为虚拟外部装置"VE22"和"VE51"彼此相关联,所以VN拓扑组合部102使虚拟网桥 "VB22"和"VB51"彼此连接,将虚拟外部装置"VE22"和"VE51"定义为相同虚拟外部装置 "VE1"。如上所述,VN拓扑组合部102在如图8中所示出的组合(或统合)在各个OFC 1中 定义的VN拓扑数据13,以生成如在图9中所示出的整个虚拟租户网络"VTN1"的拓扑数据 (VTN拓扑数据104)并进行记录。
[0060] 由此生成的VTN拓扑数据104以如图9中所示出的视觉可感知的形式。这允许网 络管理员执行对在图1中所示出的整个系统上所定义的虚拟网络的拓扑的集中式管理。
[0061] 虽然上面对本发明的示例性实施例进行了详细描述,但是具体配置不限于上述示 例性实施例;本发明包含不脱离本发明的范围的修改。例如,虽然在图1中示出了将管理单 元100示出为与OFC 1分开地布置,但是实现不限于该配置;管理单元100可以被安装在 0FC 1-1至1-5的中的任何一个中。虽然在图1中示出了包括五个0FC的计算机系统,但是 连接到网络的OFC 1和主机4的数目不限于图1中所示出的。
[0062] 应该注意,本申请基于日本专利申请No. 2012-027779,并且日本专利申请 No. 2012-027779的公开内容通过引用合并于此。
【权利要求】
1. 一种计算机系统,包括: 多个控制器,所述多个控制器中的每一个计算通信路由,并且对所述通信路由上的交 换机设定流条目; 交换机,所述交换机根据在所述交换机的流表中所设定的所述流条目来执行对所接收 到的分组的中继;以及 管理单元,所述管理单元基于虚拟网络的拓扑数据来在使由所述多个控制器管理的多 个虚拟网络被组合的情况下以视觉可感知的形式输出所述多个虚拟网络,所述拓扑数据是 基于所述通信路由来生成的。
2. 根据权利要求1所述的计算机系统,其中,所述管理单元保持标识构成所述虚拟网 络的虚拟节点的虚拟节点数据,并且基于所述拓扑数据和所述虚拟节点数据来识别由所述 多个虚拟网络共享的公共虚拟节点,以经由所述公共虚拟节点组合所述多个虚拟网络。
3. 根据权利要求2所述的计算机系统,其中,所述虚拟节点包括虚拟网桥, 其中,在所述虚拟节点数据中描述所述多个虚拟网桥的相应虚拟网桥的组合,并且 其中,所述管理单元基于所述拓扑数据和所述虚拟节点数据来识别由所述多个虚拟网 络共享的公共虚拟网桥,以经由所述公共虚拟节点组合所述多个虚拟网络。
4. 根据权利要求3所述的计算机系统,其中,所述虚拟节点包括虚拟外部装置,所述虚 拟外部装置被识别为所述虚拟网桥的连接目的地, 其中,在所述虚拟节点数据中描述所述多个虚拟外部装置的相应虚拟外部装置的组 合,并且 其中,所述管理单元基于所述拓扑数据和所述虚拟节点数据来识别由所述多个虚拟网 络共享的公共虚拟外部装置,以经由所述公共虚拟外部装置组合所述多个虚拟网络。
5. 根据权利要求2所述的计算机系统, 其中,虚拟节点和VLAN名称在所述虚拟节点数据中被描述为相关联,并且 其中,所述管理单元基于所述虚拟节点数据和所述拓扑数据中所包括的VLAN名称来 识别由所述多个虚拟网络共享的公共虚拟节点,以经由所述公共虚拟节点组合所述多个虚 拟网络。
6. 根据权利要求1至5中的任何一项所述的计算机系统,其中,所述管理单元被安装在 所述多个控制器中的任何一个上。
7. -种在计算机系统上实现的虚拟网络可视化方法,所述计算机系统包括: 多个控制器,所述多个控制器中的每一个计算通信路由,并且对所述通信路由上的交 换机设定流条目;以及 交换机,所述交换机根据在所述交换机的流表中所设定的所述流条目来执行对所接收 到的分组的中继,所述方法包括以下步骤: 通过管理单元,从所述多个控制器获得由所述多个控制器所管理的所述多个虚拟网络 的拓扑数据;以及 通过所述管理单元,基于各个所述虚拟网络的拓扑数据,来在使所述多个虚拟网络被 组合的情况下以视觉可感知的形式输出所述多个虚拟网络。
8. 根据权利要求7所述的可视化方法,其中,所述管理单元保持标识构成所述虚拟网 络的虚拟节点的虚拟节点数据,并且 其中,在使所述多个虚拟网络被组合的情况下以视觉可感知的形式输出所述多个虚拟 网络的步骤包括以下步骤: 通过所述管理单元,基于所述拓扑数据和所述虚拟节点数据来识别由所述多个虚拟网 络共享的公共虚拟节点;以及 通过所述管理单元,经由所述公共虚拟节点组合所述多个虚拟网络。
9. 根据权利要求8所述的可视化方法,其中,所述虚拟节点包括虚拟网桥, 其中,在所述虚拟节点数据中描述所述多个虚拟网桥的相应虚拟网桥的组合,并且 其中,在使所述多个虚拟网络被组合的情况下以视觉可感知的形式输出所述多个虚拟 网络的步骤包括以下步骤: 通过所述管理单元,基于所述拓扑数据和所述虚拟节点数据来识别由所述多个虚拟网 络共享的公共虚拟网桥;以及 通过所述管理单元,经由所述公共虚拟节点组合所述多个虚拟网络。
10. 根据权利要求9所述的可视化方法,其中,所述虚拟节点包括虚拟外部装置,所述 虚拟外部装置被识别为所述虚拟网桥的连接目的地, 其中,在所述虚拟节点数据中描述所述多个虚拟外部装置的相应虚拟外部装置的组 合,并且 其中,在使所述多个虚拟网络被组合的情况下以视觉可感知的形式输出所述多个虚拟 网络的步骤包括以下步骤: 通过所述管理单元,基于所述拓扑数据和所述虚拟节点数据来识别由所述多个虚拟网 络共享的公共虚拟外部装置;以及 通过所述管理单元,经由所述公共虚拟外部装置组合所述多个虚拟网络。
11. 根据权利要求8所述的可视化方法,其中,虚拟节点和VLAN名称在所述虚拟节点数 据中被描述为相关联, 其中,在使所述多个虚拟网络被组合的情况下以视觉可感知的形式输出所述多个虚拟 网络的步骤包括以下步骤: 通过所述管理单元,基于所述虚拟节点数据和所述拓扑数据中所包括的VLAN名称来 识别由所述多个虚拟网络共享的公共虚拟节点;以及 通过所述管理单元,经由所述公共虚拟节点组合所述多个虚拟网络。
12. -种记录有可视化程序的记录设备,所述可视化程序使得计算机执行在权利要求 7至11中的任何一项所述的可视化方法。
【文档编号】H04L12/24GK104106237SQ201380008655
【公开日】2014年10月15日 申请日期:2013年2月5日 优先权日:2012年2月10日
【发明者】增田刚久 申请人:日本电气株式会社