多租户系统、交换机、控制器和分组传输方法

文档序号:7793086阅读:237来源:国知局
多租户系统、交换机、控制器和分组传输方法
【专利摘要】通过隧道协议来实现根据本发明的多租户系统。该多租户系统包括:服务器装置,具有租户标识数据的VM在其中运行;无法识别租户标识数据的单元;多个交换机,被配置为基于流条目传输分组;以及控制器,被配置为在交换机中设定流条目。多个交换机包括与服务器装置连接的第一交换机和与无法识别其租户标识数据的单元连接的第二交换机。第二交换机基于地址转换表来重写从无法识别其租户标识数据的单元发送并且由该设备接收的分组的报头。结果,无法识别其租户标识数据的单元变为可用的。
【专利说明】多租户系统、交换机、控制器和分组传输方法

【技术领域】
[0001]本发明涉及多租户系统,具体地涉及连接无法识别其租户标识数据的设备的多租户系统。

【背景技术】
[0002]在云计算中,在多个用户之间共享诸如交换机和存储单元的服务器装置和硬件设备的多租户系统是已知的。图1是示出在多租户系统中的资源共享级别的图。根据资源共享级别,在多租户系统中存在诸如IaaS (基础设施作为服务)、PaaS (平台作为服务)和SaaS(软件作为服务)的使用形式。在传统系统(单个租户系统)中,硬件、OS/中间件和应用软件都由用户来管理。在IaaS中,系统供应商管理硬件,而用户管理应用软件和OS/中间件。在PaaS中,系统供应商管理硬件和OS/中间件,而用户管理应用软件。在SaaS中,系统供应商管理硬件、OS/中间件和应用软件。
[0003]多租户系统通常通过使用诸如GRE(通用路由封装)的隧道协议来实现。原因在于,当封装分组时,可以添加租户标识数据。而且,当使用隧道协议时,存在下述优点:与通过使用VLAN来实现多租户系统相比,允许产生的租户的数量不被限制。图2是示出使用隧道协议的多租户系统的图。在图2中,在DC(数据中心)I中构建租户A网络和租户B网络。以相同的方式,在DC 2中构建租户A网络和租户B网络。通过使用隧道协议来连接DC I中的租户A网络和DC 2中的租户A网络。DC I的网关和DC 2的网关通过报头数据的添加(下文称为“添加数据”)来执行封装分组的产生并且通过移除添加数据来执行被封装分组的解封装。此时,除了 L3报头,租户标识数据被包含在封装分组的添加数据中。
[0004]在如图2中的DC I或DC 2的多租户系统环境中,还需要使用SAN(存储区域网络)作为租户A网络和租户B网络的共享存储。然而,无法识别其租户标识数据的任何设备(例如,系统供应商和用户作为现有资产所拥有的SAN)不被设计为通过隧道协议接收封装分组。为此,无法识别其现有租户标识数据的设备无法读取封装分组中的租户标识数据,并且无法用于多租户系统。
[0005]另一方面,由交换机对分组的传输处理和交换机的控制处理是分离的开放流(open flow)网络系统是已知的。开放流网络系统包括一个或多个交换机以及指令交换机的分组传输控制的控制器。控制器将流条目设定到交换机的流表。交换机基于流条目来传输分组。当在接收分组之后用于该分组的处理的流条目不在流表中时,交换机将分组传输到控制器(下文称为“分组进入”)。控制器基于经历分组进入的分组来产生流条目,并且对传输分组的交换机设定流条目。在对作出分组的交换机设定流条目之后,控制器向已经执行了分组进入的交换机答复分组(下文称为分组外出)。
[0006]作为与本发明领域相关的专利文献1,已知JP 2009-152953A。该专利文献I公开了一种网关装置和分组传输方法,该网关装置和分组传输方法可以通过重写应用报头来在实现多租户系统时使用。
[0007]引用列表
[0008][专利文献 I] JP 2OO9-152953A


【发明内容】

[0009]本发明的目的在于提供一种多租户系统,该多租户系统能够使用无法实现其租户标识数据的设备。
[0010]本发明的多租户系统包括:服务器装置,具有租户标识数据的虚拟机(VM)在该服务器装置上进行操作;无法识别其租户标识数据的设备;多个交换机,被配置为基于流条目来传输分组;以及控制器,被配置为对多个交换机设定流条目。多个交换机包括与服务器装置连接的第一交换机以及与无法识别其租户标识数据的设备连接的第二交换机。
[0011]第一交换机包括:处理部,该处理器部通过添加包含虚拟机(VM)的租户标识数据的添加数据来封装从虚拟机(VM)传送到无法识别其租户标识数据的设备的分组,以产生封装分组;以及传输处理部,该传输处理部基于流条目来对封装分组执行到控制器中的分组进入,并且传输经历从控制器分组外出的封装分组。
[0012]控制器包括:路由计算部,该路由计算部计算经历分组进入的封装分组的外出路由;以及流条目设定部,该流条目设定部对外出路由上的交换机中的每一个设定流条目。控制器对第二交换机设定流条目,该流条目规定从封装分组中移除添加数据的操作。
[0013]第二交换机包括:接收封装分组的传输处理部;处理部,该处理部基于流条目来移除封装分组的添加数据;以及地址转换部,该地址转换部基于地址转换表来将分组的源IP地址转换为由第二交换机管理的IP地址。传输处理部向无法识别其租户标识信息的设备传送源IP地址已经被转换的分组。
[0014]本发明的分组传输方法是一种由多租户系统执行的分组传输方法。本发明的分组传输方法包括:从虚拟机(VM)向无法识别其租户标识数据的设备传送分组;由第一交换机对分组执行到控制器中的分组进入;由控制器计算分组的外出路由;以及由控制器向外出路由上的交换机设定用于传输分组的流条目。在设定中,对第一交换机设定流条目,该流条目规定通过对分组添加包括虚拟机(VM)的租户标识数据的添加数据来封装分组的操作。而且,对第二交换机设定流条目,该流条目描述了从封装分组中移除添加数据的操作。本发明的分组传输方法进一步包括:由第一交换机基于流条目,通过添加包含虚拟机(VM)的租户标识数据的添加数据来封装分组;由第二交换机接收封装分组;由第二交换机基于流条目来从封装分组中删除添加数据;由第二交换机基于地址转换表来将已经移除了添加数据的分组的源IP地址转换为由第二交换机管理的IP地址;以及向无法识别其租户标识数据的设备传送源IP地址已被转换的所转换的分组。
[0015]根据本发明,能够提供可以使用无法识别其租户标识数据的设备的多租户系统。

【专利附图】

【附图说明】
[0016]从结合附图的示例性实施例的描述中,以上发明的目的、效果、特征将变得更加清
λ.Μ
/E.ο
[0017]图1是示出多租户系统中的资源共享级别的图。
[0018]图2是示出使用隧道协议的多租户系统的图。
[0019]图3是示出根据本发明的第一示例性实施例的多租户系统的整体配置的图。
[0020]图4是根据本发明的第一示例性实施例的多租户系统中的开放流控制器(OFC) I的框图。
[0021]图5是根据本发明的第一示例性实施例的多租户系统中的开放流交换机(0FS)2的框图。
[0022]图6是在本发明的第一示例性实施例中的流表25的示例。
[0023]图7是在本发明的第一示例性实施例中的MAC地址表26的示例。
[0024]图8是在本发明的第一示例性实施例中的租户管理表27的示例。
[0025]图9是在本发明的第一示例性实施例中的网关管理表28的示例。
[0026]图10是在本发明的第一示例性实施例中的地址转换表29的示例。
[0027]图11是根据本发明的第一示例性实施例的多租户系统中的分组传输方法(出站)的流程图。
[0028]图12是示意性示出图11的分组传输方法(出站)中的外出路由(虚拟机(VM) 4-1 — SAN 6)上的分组的图。
[0029]图13是根据本发明的第一示例性实施例的多租户系统中的分组传输方法(入站)的流程图。
[0030]图14是示意性示出图13的分组传输方法(入站)中的入站路由(SAN 6 —虚拟机(VM) 4-1)上的分组的图。
[0031]图15是根据本发明的第二示例性实施例的多租户系统中的开放流控制器(OFC) I的框图。
[0032]图16是根据本发明的第二示例性实施例的多租户系统中的开放流交换机(OFS) 2的框图。
[0033]图17是根据本发明的第二示例性实施例的多租户系统中的分组传输方法(外出)的流程图。

【具体实施方式】
[0034]下面将参考附图来描述根据本发明的示例性实施例的多租户系统。
[0035][第一示例性实施例]
[0036](配置)
[0037]首先,将描述示例性实施例的多租户系统的配置。图3是示出根据本发明的第一示例性实施例的多租户系统的整体配置的图。本示例性实施例的多租户系统包括开放流控制器(OFC) 1、第一开放流交换机(OFS) 2-1、第二开放流交换机(OFS) 2-2、服务器装置3、桥5和SAN 6。服务器装置3包括虚拟机(VM) 4-1和虚拟机(VM) 4_2。图3的配置示例具有用于描述的简单配置,但是可选数目的装置可以与多租户系统连接。而且,在本示例性实施例中,当分配给用户的资源是在服务器装置上操作的虚拟机(VM)时进行描述,但是可以是诸如个人计算机的物理终端。
[0038]下文中,在不对二者进行区分的情况下,第一开放流交换机(0FS)2_1和第二开放流交换机(OFS) 2-2被统称为开放流交换机(0FS)2。而且,在不在其之间进行区分的情况下,虚拟机(VM) 4-1和虚拟机(VM) 4-2被统称为虚拟机(VM) 4。
[0039]图4是示出根据本发明的第一示例性实施例的多租户系统中的开放流控制器(OFC) I的图。本示例性实施例的开放流控制器(OFC) I包括路由计算部11和流条目设定部12。路由计算部11基于所接收到的经历分组进入的分组来计算开放流交换机(OFS) 2的传输路由。路由计算部11基于分组中的目的地地址和源地址来指定目的地设备、传输源设备和与各个设备相连的交换机,并且基于系统的拓扑数据(未示出)来计算设备之间的路由作为传输路由。流条目设定部12对由路由计算部11计算的传输路由上的开放流交换机(OFS) 2设定分组的传输控制所需要的流条目。
[0040]图5是根据本发明的第一示例性实施例的多租户系统中的开放流交换机(0FS)2的框图。本示例性实施例的开放流交换机(OFS) 2包括传输处理部21、隧道确定部22、处理部23、地址转换部24和存储部30。在存储部30中存储流表25、MAC地址表26、租户管理表27、网关管理表28和地址转换表29。
[0041]传输处理部21向基于存储部30中存储的表而确定的目的地传输分组。隧道确定部22确定由开放流交换机(0FS)2接收到的分组是否已经被封装。而且,隧道确定部22确定由开放流交换机(OFS) 2接收到的分组是否必须被封装。处理部23执行由开放流交换机(OFS) 2接收到的分组的封装以及对封装分组的解封装。地址转换部24基于地址转换表29来转换包含在分组中IP地址和端口号。注意,该转换可以仅对IP地址或端口号中任何一个执行。
[0042]接下来,将描述存储在存储部30中的表。
[0043]图6是根据本发明的第一示例性实施例的流表25的示例。流表25管理流条目,该流条目包含基于“规则”、“动作”和“统计”定义的对接收到的分组的操作规则。用于识别分组的数据被设定为“规则”。例如,该数据是VLAN ID和分组传输源IP地址等的组合。“动作”定义了开放流交换机(OFS) 2应该如何处理符合“规则”中所包含的数据的分组。例如,在“动作”中定义了从开放流交换机(OFS) 2的预定端口向具有预定IP地址的节点进行传送的处理以及丢弃分组的处理等。例如,通过组合“规则”和“动作”,当协议号为“ I ” (ICMP)时,可以对开放流交换机(OFS) 2设定丢弃分组的操作。“统计”是每个流条目的统计数据。例如,这是传输分组的数目和传输字节的数目。
[0044]图7是根据本发明的第一示例性实施例的MAC地址表26的示例。MAC地址表26管理与开放流交换机(OFS) 2连接的设备的MAC地址、以及具有MAC地址的设备所连接的开放流交换机(0FS)2的交换机端口号。注意,MAC地址可以是分配给虚拟机(VM)等的虚拟MAC地址。
[0045]图8是根据本发明的第一示例性实施例的租户管理表27的示例。租户管理表27管理与开放流交换机(OFS) 2连接的设备的MAC地址以及具有该MAC地址的设备所属于的租户系统的租户标识(ID)数据。注意,MAC地址可以是分配给虚拟机(VM)的虚拟MAC地址。而且,虚拟机(VM)不必具有租户标识数据,并且虚拟机(VM)所属于的租户可以由向虚拟机(VM)给出租户标识数据的开放流交换机(OFS)来管理。例如,租户标识数据可以在管理程序(Hyper-Visor)层中被管理。在该情况下,接收从虚拟机(VM)传送的分组的开放流交换机(0FS)2向管理程序询问虚拟机(VM)所属于的租户,并且将租户标识数据添加到分组。
[0046]图9是根据本发明的第一示例性实施例的网关管理表28的示例。网关管理表28针对每个网关ID管理网关的IP地址。网关ID是唯一地标识网关的标识符,并且被分配以从以“I ”和“ O ”表示的可选号码递增。
[0047]图10是根据本发明的第一示例性实施例的地址转换表29的示例。地址转换表29管理目的地IP地址、目的地端口号、目的地租户、分配的IP地址、分配的端口号、源网关和源虚拟机(VM)。目的地IP地址和目的地端口号指示与多租户系统连接并且无法识别其租户标识数据的设备(下文称为“无法识别单元”)的端口号和IP地址。目的地租户是与多租户系统连接并且分配给无法识别单元的租户。通过向一个无法识别单元分配多个租户,多个租户系统可以共享无法识别单元。分配的IP地址和分配的端口号是当从开放流交换机(OFS)2向无法识别单元传送分组时对无法识别单元设定的源IP地址和源端口号。源网关是用于基于地址转换表29识别具有要被重写的报头数据的分组的源开放流交换机(OFS) 2的数据。源虚拟机(VM)是用于基于地址转换表29识别具有要被重写的报头数据的分组的源虚拟机(VM)4的数据。注意,当不使用目的地端口号和分配的端口号时,地址转换表29可以仅管理目的地IP地址和分配的IP地址。
[0048](操作)
[0049]接下来,将描述本示例性实施例的多租户系统中的分组传输方法。
[0050]首先,将描述分组传输方法(出站)。图11是根据本发明的第一示例性实施例的多租户系统中的分组传输方法(出站)的流程图。图12是示意性示出图11的分组传输方法(出站)中的出站路由(虚拟机(VM)4-1 — SAN 6)上的分组的图。下面将描述当第一开放流交换机(OFS) 2-1第一次接收从虚拟机(VM) 4-1传送到作为无法识别单元的SAN 6的分组时的操作。
[0051](步骤SI)
[0052]属于租户A系统的虚拟机(VM)4_1向作为无法识别单元的SAN6传送分组。注意,在图12中,从服务器装置3传送到第一开放流交换机(OFS) 2-1的分组(源:虚拟机(VM) 4-1,目的地:SN 6)对应于上述分组。这里,“源:VM 4_1”指示了源IP地址是分配给虚拟机(VM) 4-1的IP地址。以同样的方式,“目的地:SAN 6”示出了传输目的地IP地址是分配给SAN 6的IP地址。
[0053](步骤S2)
[0054]第一开放流交换机(OFS) 2-1接收在步骤SI处传送的分组。第一开放流交换机(OFS) 2-1将与分组的目的地IP地址相对应的MAC地址与MAC地址表26作比较。当在MAC地址表26中没有管理MAC地址时,第一开放流交换机(OFS) 2-1确定与MAC地址相对应的设备与另一开放流交换机(OFS) 2连接(或者,与MAC地址相对应的单元没有与第一开放流交换机(OFS) 2-1连接)。在该情况下,第一开放流交换机(OFS) 2-1确定有必要封装该分组。在该示例中,第一开放流交换机(OFS) 2-1参考分组来确定与接收到的分组的目的地IP地址相对应的设备(本示例中是SAN 6)没有与第一开放流交换机(OFS) 2-1连接。
[0055](步骤S3)
[0056]第一开放流交换机(OFS) 2-1对分组执行到开放流控制器(OFC) I中的分组进入,以便于向开放流控制(OFC)I询问接收到的分组的传输路由以及在封装该分组时的目的地IP地址。在该示例中,第一开放流交换机(OFS) 2-1在步骤S2基于MAC地址表26来确定是否应当执行封装,并且确定是否有必要向开放流控制器(OFC) I询问封装所需要的数据(步骤S3)。注意,当流表25不具有用于传输接收到的分组的任何流条目时,第一开放流交换机(OFS) 2-1可以确定,在不参考MAC地址表26的情况下,需要对开放流控制器(OFC)I的询问。
[0057](步骤S4)
[0058]开放流控制器(OFC) I指定与作为经历分组进入的分组的目的地的SAN 6连接的开放流交换机(OFS) 2是第二开放流交换机(OFS) 2-2。开放流控制器(OFC) I计算用于向第二开放流交换机(OFS) 2-2传送分组进入分组的出站路由。
[0059](步骤S5)
[0060]开放流控制器(OFC) I设定用于向在步骤S4出计算的出站路由上的交换机中的每一个传输分组的流条目。注意,在图12中,为了简化描述仅示出了第一开放流交换机(OFS) 2-1和第二开放流交换机(OFS) 2-2。然而,在第一开放流交换机(OFS) 2_1和第二开放流交换机(OFS) 2-2之间可以存在多个开放流交换机(0FS)2。在这样的情况下,对在第一开放流交换机(OFS) 2-1和第二开放流交换机(OFS) 2-2之间的开放流交换机(OFS) 2中的每一个设定流条目。
[0061]而且,开放流控制器(OFC) I对作为分组进入源的第一开放流交换机(OFS) 2-1设定规定通过添加数据的添加来封装分组的操作的流条目。
[0062]而且,开放流控制器(OFC) I对作为与无法识别单元连接的终端边缘的第二开放流交换机(OFS) 2-2设定规定移除添加数据的操作(解封装)的流条目。
[0063](步骤S6)
[0064]开放流控制器(OFC) I执行对第一开放流交换机(OFS) 2-1的经历步骤S3处的分组进入的分组的分组外出。
[0065](步骤S7)
[0066]第一开放流交换机(OFS) 2-1通过使用添加数据给予由开放流控制器(OFC) I设定的流条目来封装经历分组进入的分组(在步骤S2处接收到的分组)而产生封装分组。例如,添加数据包含L3报头(源IP地址:开放流交换机(OFS) 2-1,目的地IP地址:开放流交换机(OFS) 2-2)以及租户标识数据(租户A)。这里,“源IP地址:开放流交换机(OFS) 2-1”是指封装分组的源IP地址是第一开放流交换机(OFS) 2-1的IP地址。以同样方式,“目的地IP地址:开放流交换机(OFS) 2-2”是指封装分组的目的地IP地址是第二开放流交换机(OFS) 2-2 的 IP 地址。
[0067](步骤S8)
[0068]第二开放流交换机(OFS) 2-2从第一开放流交换机(OFS) 2-1接收封装分组。第二开放流交换机(OFS) 2-2从包含在封装分组中的添加数据中提取作为源网关的第一开放流交换机(OFS) 2-1的IP地址和租户标识数据,并且从除了添加数据的分组的报头数据中提取作为目的地设备的SAN 6的IP地址以及源虚拟机(VM) 4-1的IP地址,并且将其记录在地址转换表29中。而且,第二开放流交换机(OFS) 2-2向用于包含在封装分组中的数据的传输的源IP地址(地址转换表29的分配IP地址)分配DUM。在该示例中,与封装分组相对应的地址转换表29的记录被设定为如图12中所示。
[0069](步骤S9)
[0070]第二开放流交换机(OFS) 2-2基于在步骤S5设定的流条目来移除在步骤S7给出的添加数据,即对封装分组进行解封装。
[0071](步骤S10)
[0072]第二开放流交换机(OFS) 2-2基于图12的地址转换表29来将传输源IP地址转换为DUM。注意,在图12中所示的第二开放流交换机(OFS) 2-2的地址转换表29中,没有使用目的地端口号和分配的端口号。以该方式,可以通过仅使用目的地IP地址、目的地租户、分配的IP地址和源网关来重写分组。即,第二开放流交换机(OFS) 2-2通过使用NAT功能或者IP伪装(masquerade)功能来重写分组。例如,当使用NAT功能时,第二开放流交换机(OFS) 2-2从由第二开放流交换机(OFS) 2-2管理的多个IP地址输出唯一 IP地址作为用于每个源虚拟机(VM)的DUM。或者,当使用IP伪装功能时,第二开放流交换机(OFS) 2-2从由第二开放流交换机(OFS) 2-2管理的多个端口和多个IP地址输出IP地址和端口号的唯一集合作为用于每个源虚拟机(VM)的DUM。
[0073](步骤Sll)
[0074]第二开放流交换机(OFS) 2-2向SAN 6传送已经在步骤S9重写了源IP地址的分组。
[0075](步骤S12)
[0076]SAN 6通过桥5接收重写的分组。注意,SAN 6可以在不通过桥5的情况下与第二开放流交换机(OFS) 2-2连接。
[0077]这是本示例性实施例的分组传输方法(出站)。注意,上述描述是对于当第一开放流交换机(OFS) 2-1接收从虚拟机(VM) 4-1第一次传送到SAN 6的分组(第一分组)时的操作而进行的。第一开放流交换机(OFS)接收的第二和后续分组由开放流交换机(OFS) 2基于在步骤S5设定的流条目而在传输路由上被传输。
[0078]接下来,将描述分组传输方法(入站)。图13是根据本发明的第一示例性实施例的多租户系统中的分组传输方法(入站)的流程图。图14是示意性示出在图13的分组传输方法(入站)中在入站路由(SAN6—虚拟机(VM)4-1)上的分组的图。下面将描述当第二开放流交换机(OFS) 2-2第一次从SAN 6接收目的地为虚拟机(VM) 4_1的分组时的操作。
[0079](步骤S21)
[0080]作为无法识别单元的SAN 6传送向虚拟机(VM) 4-1传送对在步骤S12接收到的分组的回复分组。注意,通过桥5从SAN 6向第二开放流交换机(OFS) 2-2传送的分组(源:SAN 6,目的地:DUM)对应于图14中的分组。
[0081](步骤S22)
[0082]因为接收到的分组的目的地IP地址是DUM,所以第二开放流交换机(OFS) 2-2参考地址转换表29来转换目的地IP地址。在该情况下,第二开放流交换机(OFS) 2-2参考图14的地址转换表29的源虚拟机(VM)来将目的地IP地址从DUM转换为虚拟机(VM) 4-1。
[0083](步骤S23)
[0084]第二开放流交换机(OFS) 2-2封装具有在步骤S22转换的地址的分组。具体地,第二开放流交换机(OFS) 2-2通过添加数据的添加来封装在步骤S21处传送的分组,以产生封装分组。在该情况下,第二开放流交换机(OFS) 2-2参考地址转换表29的源网关来指定源网关是第一开放流交换机(OFS) 2-1。第二开放流交换机(OFS) 2-2参考地址转换表29的目的地租户来指定要被包括在添加数据中的租户数据。第二开放流交换机(OFS) 2-2使得该添加数据包括L3报头(源IP地址:开放流交换机(OFS) 2-2,目的地IP地址:开放流交换机(OFS) 2-1)和租户标识数据(租户A)。
[0085](步骤S24)
[0086]因为封装分组是第一分组,所以第一开放流交换机(0FS)2_1对封装分组执行到开放流控制器(OFC)I中的分组进入。
[0087](步骤S25)
[0088]开放流控制器(OFC) I基于经历分组进入的封装分组来计算入站路由。在该情况下,开放流控制器(OFC)I从通过对经历分组进入的封装分组进行解封装所获得的分组的源IP地址和目的地IP地址来指定源设备和目的地虚拟机(VM),并且通过使用拓扑数据(未示出)来指定与目的地虚拟机(VM)连接的端边缘(网关)并且计算入站路由。
[0089](步骤S26)
[0090]开放流控制器(OFC) I设定用于将封装分组传输到在步骤S25处计算的入站路由上的交换机的流条目。注意,图14中仅示出了第一开放流交换机(OFS) 2-1和第二开放流交换机(OFS) 2-2以简化描述,但是在第一开放流交换机(OFS) 2-1和第二开放流交换机(OFS) 2-2之间可以存在多个开放流交换机(OFS) 2。在这样的情况下,分别对在第一开放流交换机(OFS) 2-1和第二开放流交换机(OFS) 2-2之间的开放流交换机(OFS) 2设定流条目。
[0091]而且,开放流控制器(OFC) I对入站路由上的最后的开放流交换机(OFS) 2 (与虚拟机(VM) 4-1连接的第一开放流交换机(OFS) 2-1)设定规定移除添加数据的解封装操作的流条目。
[0092](步骤S27)
[0093]开放流控制器(OFC) I对在步骤S24经历分组进入的封装分组执行到第二开放流交换机(OFS) 2-2的分组外出。
[0094](步骤S28)
[0095]根据在步骤S26设定的流条目,第二开放流交换机(OFS) 2-2向第一开放流交换机(OFS) 2-1传送封装分组。
[0096](步骤S29)
[0097]第一开放流交换机(OFS) 2-1基于在步骤S26处设定的流条目来从封装分组中移除在步骤S23处添加的添加数据。而且,第一开放流交换机(OFS) 2-1参考包含在添加数据中的租户数据来检查解封装分组的传输目的地,即添加数据已经被删除的分组的传输目的地。
[0098](步骤S30)
[0099]第一开放流交换机(OFS) 2-1向虚拟机(VM) 4-1传送解封装分组。虚拟机(VM) 4-1接收解封装分组。
[0100]根据本示例性实施例,提供了能够使用无法识别其租户标识数据的设备的多租户系统。
[0101]接下来,作为改变了根据本发明的第一示例性实施例的多租户系统的一部分配置的多租户系统的示例,将描述第二示例性实施例。
[0102][第二示例性实施例]
[0103](配置)
[0104]首先,将描述第二示例性实施例的多租户系统的配置。因为本示例性实施例的多租户系统的整体配置与图3中所示的第一示例性实施例的多租户系统相同,详细描述被省略。
[0105]图15是本发明的第二示例性实施例的多租户系统中的开放流控制器(OFC) I的框图。本示例性实施例的开放流控制器(OFC) I包括路由计算部11、流条目设定部12、隧道确定部13和存储部16。存储部16存储租户管理表27和网关管理表28。路由计算部11基于来自开放流交换机(OFS) 2经历分组进入的分组来计算传输路由。流条目设定部12对由路由计算部11计算的传输路由上的开放流交换机(OFS) 2设定分组传输控制所需要的流条目。隧道确定部13确定从开放流交换机(0FS)2接收到的分组是否已经被封装。而且,隧道确定部22确定从开放流交换机(OFS) 2接收到的分组是否必须被封装。
[0106]图16是根据本发明的第二示例性实施例的多租户系统中的开放流交换机(OFS) 2的框图。本示例性实施例的开放流交换机(OFS) 2包括传输处理部21、处理部23、地址转换部24和存储部30。存储部30存储流表25、MAC地址表26和地址转换表29。
[0107]因为传输处理部21向基于存储在存储部30中的各个表确定的目的地传输分组。处理部23执行对从开放流交换机(0FS)2接收到的分组的封装以及对封装分组的解封装。地址转换部24基于地址转换表29来转换包含在分组中的IP地址和端口号。注意,转换可以仅仅是IP地址或端口号中的任何一个。
[0108]存储在开放流控制器(OFC) I的存储部16和开放流交换机(OFS) 2的存储部30中的每个表的配置与第一示例性实施例中的每个表相同,并且因此详细描述被省略。
[0109](操作)
[0110]接下来,将描述本示例性实施例的多租户系统中的分组传输方法。因为本示例性实施例中的分组传输方法(入站)与第一不例性实施例相同,所以仅描述分组传输方法(出站)。
[0111]首先,将描述分组传输方法(出站)。图17是根据本发明的第二示例性实施例的多租户系统中的分组传输方法(出站)的流程图。对于示意性示出在出站由(虚拟机(VM)4-1 — SAN 6)上的分组的图,图17与图12相同。
[0112](步骤S31)
[0113]属于租户系统的虚拟机(VM) 4-1向作为无法识别单元的SAN 6传送分组。注意,在图12中,从服务器装置3传送到第一开放流交换机(OFS) 2-1的分组(源:虚拟机(VM) 4-1,目的地:SAN 6)对应于该分组。这里,“源:虚拟机(VM) 4-1”是指源IP地址是分配给虚拟机(VM) 4-1的IP地址。以同样方式,“目的地:SAN 6”是指目的地IP地址是分配给SAN 6的IP地址。
[0114](步骤S32)
[0115]第一开放流交换机(OFS) 2-1接收在步骤S31传送的分组。
[0116](步骤S33)
[0117]因为不存在规定接收该分组的操作的流条目(因为接收第一分组),所以第一开放流交换机(OFS) 2-1对分组执行到开放流控制器(OFC)I中的分组进入。
[0118](步骤S34)
[0119]开放流控制器(OFC) I基于在步骤S33处经历分组进入的分组的目的地MAC地址来确定分组是否必须被封装。当目的地MAC地址不是第一开放流交换机(OFS) 2-1所管理的MAC地址之一时,开放流控制器(OFC) I确定必须通过其他开放流交换机(OFS) 2来传送分组。当开放流控制器(OFC) I确定必须通过其他开放流交换机(OFS) 2来传送分组时,开放流控制器(OFC) I确定分组必须被封装。
[0120](步骤S35)
[0121]开放流控制器(OFC) I基于拓扑数据(未示出)来规定与作为经历分组进入的分组的目的地的SAN 6连接的开放流交换机(OFS) 2是第二开放流交换机(OFS) 2-2。开放流控制器(OFC) I计算用于向第二开放流交换机(OFS) 2-2传送经历分组进入的分组的出站路由。
[0122](步骤S36)
[0123]开放流控制器(OFC) I对在步骤S35处计算的出站路由上的交换机设定用于传输分组的流条目。注意,图12中仅示出了第一开放流交换机(OFS) 2-1和第二开放流交换机(OFS) 2-2以简化描述。然而,在第一开放流交换机(OFS) 2-1和第二开放流交换机(OFS) 2_2之间可以存在多个开放流交换机(0FS)2。在该情况下,对在第一开放流交换机(OFS) 2-1和第二开放流交换机(OFS) 2-2之间的开放流交换机(OFS) 2设定流条目。
[0124]而且,开放流控制器(OFC) I对作为分组进入源的第一开放流交换机(OFS) 2-1设定规定通过添加数据的添加来封装分组的操作的流条目。
[0125]而且,开放流控制器(OFC) I对作为与无法识别单元连接的终端边缘的第二开放流交换机(OFS) 2-2设定规定移添加数据的解封装操作的流条目。
[0126](步骤S37)
[0127]开放流控制器(OFC) I对经历步骤S32处的分组进入的分组执行到第一开放流交换机(OFS) 2-1的分组外出。当开放流控制器(OFC) I在步骤S34确定了第一开放流交换机(OFS) 2-1必须封装经历分组进入的分组,并且必须传输封装分组时,开放流控制器(OFC) I使分组外出消息包括该分组和该分组的租户标识数据。
[0128](步骤S38)
[0129]第一开放流交换机(OFS) 2-1基于开放流控制器(OFC) I设定的流条目,通过添加数据的添加来封装经历分组进入的分组(在步骤S2处接收到的分组),以产生封装分组。例如,添加数据包含L3报头(源IP地址:开放流交换机(OFS) 2-1,目的地IP地址:开放流交换机(OFS) 2-2)和租户标识数据(租户A)。这里,“源IP地址:开放流交换机(OFS) 2-1”是指封装分组的源IP地址是第一开放流交换机(OFS) 2-1的IP地址。以同样方式,“目的地IP地址:开放流交换机(OFS) 2-2”是指封装分组的目的地IP地址是第二开放流交换机(OFS) 2-2 的 IP 地址。
[0130](步骤S39)
[0131]第二开放流交换机(OFS) 2-2从第一开放流交换机(OFS) 2-1接收封装分组。
[0132](步骤S40)
[0133]第二开放流交换机(OFS) 2-2基于在步骤S36设定的流条目来移除在步骤S37添加的添加数据。
[0134](步骤S41)
[0135]类似于第一示例性实施例,第二开放流交换机(OFS) 2-2基于图12的地址转换表29将源IP地址转换为DUM。
[0136](步骤S42)
[0137]第二开放流交换机(OFS) 2-2向SAN 6传送源IP地址已经在步骤S40被重写的分组。
[0138](步骤S43)
[0139]SAN 6通过桥5接收重写的分组。注意,SAN 6可以在不通过桥5的情况下与第二开放流交换机(OFS) 2-2连接。
[0140]根据本示例性实施例,提供了能够使用现有无法识别单元的多租户系统。注意,已经通过使用SAN作为无法识别单元的示例进行了对本发明的示例性实施例的描述。然而,无法识别单元不限于SAN,并且本发明可以适用于其他单元(设备)。
[0141]以上,参考附图描述了本发明的示例性实施例。然而,本发明不限于上述示例性实施例,并且可以在不背离本发明的范围的范围中由本领域技术人员适当地修改。
[0142]注意,本申请按公约要求基于日本专利申请N0.JP 2012-111881的优先权。其公开内容通过引用合并于此。
【权利要求】
1.一种多租户系统,包括: 服务器装置,具有给定租户标识数据的虚拟机在所述服务器装置上进行操作; 多个交换机,所述多个交换机中的每一个包括处理部,所述处理部基于对所述交换机设定的流条目来处理分组;以及 控制器,所述控制器被配置为对所述多个交换机中的每一个设定流条目, 其中,所述多个交换机包括与所述服务器装置连接的第一交换机以及与无法识别其租户标识数据的设备连接的第二交换机, 其中,所述控制器包括流条目设定部,所述流条目设定部被配置为对所述第一交换机设定下述流条目:该流条目规定了通过添加包括所述租户标识数据的添加数据来封装从所述服务器装置上的所述虚拟机传送的分组的操作,并且所述流条目设定部被配置为对所述第二交换机设定下述流条目:该流条目规定了从所封装的分组中移除所述添加数据的解封装操作,并且 其中,所述第二交换机包括: 地址转换部,所述地址转换部被配置为由所述处理部将所解封装的分组的源地址转换为由所述第二交换机管理的IP地址;以及 传输处理部,所述传输处理部被配置为对所述设备传输其源地址已经被转换的所述分组。
2.根据权利要求1所述的多租户系统,其中,所述控制器执行分组外出消息的分组外出,所述分组外出消息包括所述分组和所述分组的租户标识数据,并且 其中,所述第一交换机的所述处理部基于所述分组外出消息来封装分组。
3.根据权利要求1或2所述的多租户系统,其中,当接收到所封装的分组时,所述第二交换机在所述地址转换表中存储包含在所封装的分组中的所述第一交换机的IP地址、作为传输源的所述虚拟机的IP地址和所述租户标识数据, 其中,所述控制器的所述流条目设定部对所述第二交换机设定下述流条目:该流条目规定了通过添加包含所述租户标识数据的所述添加数据来封装从所述设备传送的分组的操作,并且所述控制器的所述流条目设定部对所述第一交换机设定下述流条目:该流条目规定了从所封装的分组中移除所述添加数据的解封装操作, 其中,所述第二交换机的所述传输处理部接收从所述设备传送到所述虚拟机的回复分组, 其中,所述第二交换机的所述地址转换部基于所述地址转换表来将所述回复分组的目的地IP地址转换为所述虚拟机的IP地址, 其中,所述第二交换机的所述处理部将经历了源IP地址的所述转换的所述回复分组封装为封装回复分组,其中,已经添加了包含所述虚拟机的租户标识数据的添加数据,其中,所述地址转换表的所述第一交换机的IP地址被设定为所述添加数据的L3报头的目的地IP地址, 其中,所述第一交换机的所述处理部从所述封装回复分组中移除所述添加数据,并且其中,所述第一交换机的所述传输处理部将已经移除了所述添加数据的所述回复分组传送到所述虚拟机。
4.根据权利要求1至3中的任何一项所述的多租户系统,其中,所述第二交换机的所述地址转换部将所述分组的源端口号转换为由所述第二交换机管理的端口号,并且将所述回复分组的目的地端口号转换为所述转换之前的源端口号。
5.一种在根据权利要求1至4中的任何一项所述的多租户系统中使用的控制器。
6.一种在根据权利要求1至4中的任何一项所述的多租户系统中使用的交换机。
7.一种在多租户系统中的分组传输方法,包括: 从虚拟机(VM)向无法识别其租户标识数据的设备传送分组; 由第一交换机执行所述分组到控制器中的分组进入; 由所述控制器计算所述分组的出站路由; 由所述控制器对所述出站路由上的交换机设定用于分组传输的流条目; 其中,所述设定包括对所述第一交换机设定下述流条目:该流条目规定了通过对所述分组添加包含所述虚拟机(VM)的租户标识数据的添加数据来封装所述分组的操作;以及在所述第二交换机中设定下述流条目:该流条目规定了从所封装的分组中移除所述添加数据的解封装操作; 由所述第一交换机基于所设定的流条目,通过添加包含所述虚拟机(VM)的租户标识数据的所述添加数据来封装所述分组; 由所述第二交换机接收所封装的分组; 由所述第二交换机基于在所述第二交换机中设定的所述流条目来从所封装的分组中移除所述添加数据; 基于地址转换表,已经移除了所述添加数据的解封装的分组的传输IP地址转换为由所述第二交换机管理的IP地址;以及 由所述第二交换机将所转换的分组传送到所述设备。
8.根据权利要求7所述的分组传输方法,进一步包括: 由所述控制器执行分组外出消息的分组外出,所述分组外出消息包含所述分组和所述分组的租户标识数据。
9.根据权利要求7或8所述的分组传输方法,进一步包括: 由已经接收到所封装的分组的所述第二交换机在所述地址转换表中记录包含在所封装的分组中的所述第一交换机的IP地址、源虚拟机(VM)的IP地址和所述租户标识数据;将回复分组从所述设备传送到所述虚拟机(VM); 由所述第二交换机基于所述地址转换表来将目的地IP地址转换为所述源虚拟机(VM)的IP地址; 由所述第二交换机通过添加包含所述虚拟机(VM)的所述租户标识数据的所述添加数据来封装所述回复分组以产生封装回复分组; 对所述地址转换表设定所述第一交换机的IP地址作为所述添加数据中的L3报头的目的地IP地址; 由所述第二交换机执行所述封装回复分组到所述控制器中的分组进入; 由所述控制器计算所述封装回复分组的入站路由; 由所述控制器对所述入站路由上的所述交换机设定用于传输所述封装回复分组的流条目; 其中,对所述第一交换机设定规定了移除所述添加数据的操作的流条目; 由所述控制器执行所述封装回复分组到所述第二交换机的分组外出; 将所述封装回复分组从所述第二交换机传送到所述第一交换机; 由所述第一交换机接收所述封装回复分组; 由所述第一交换机基于所述流条目来移除所述添加数据;以及 由所述第一交换机向所述虚拟机(VM)传送已经移除了所述添加数据的所述回复分组。
10.根据权利要求7至9中的任何一项所述的分组传输方法,其中,所述对分组进行封装包括封装下述分组:在该分组中,所述分组的源端口号被转换为由所述第二交换机管理的端口号;并且 其中,对所述回复分组进行封装包括封装下述回复分组:在所述回复分组中,所述回复分组的目的地端口号被转换为所述转换之前的源端口号。
【文档编号】H04L12/70GK104322022SQ201380025327
【公开日】2015年1月28日 申请日期:2013年5月15日 优先权日:2012年5月15日
【发明者】河合亮佑 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1