一种控制虚拟机之间互访的方法及装置的制造方法

文档序号:8530300阅读:281来源:国知局
一种控制虚拟机之间互访的方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种控制虚拟机之间互访的方法及装置。
【背景技术】
[0002]现有技术中有一种叠加在虚拟可扩展局域网(Virtual Extensible Local AreaNetwork,VxLAN)之上的逻辑网络,称为虚拟可扩展局域网叠加网络(VxLAN Overlay网络),由软件定义网络(Software Defined Network, SDN)控制器对其进行规划部署,并向其下发网络转发策略。
[0003]租户是VxLAN Overlay网络资源的使用者。SDN控制器为租户创建虚拟路由器(Virtual Router,vRouter),并将创建的 vRouter 映射到同一 VxLAN 网关(Gateway,Gff)。VxLAN GW为每个 vRouter 创建虚拟专用网(Virtual Private Network,VPN),不同 vRouter对应不同的VPN。通过VPN隔离,VxLAN GW将租户A的虚拟机(Virtual Machine,VM)通过虚拟交换机(Virtual Switch,vSwitch)向租户B的VM发送的报文丢弃,从而实现租户A的VM到租户B的VM的隔离(即不允许租户A的VM访问租户B的VM);如果使VxLAN Gff支持租户A的VM访问租户B的VM,可以在VxLAN Gff上配置策略,使得租户A的VM向租户B的VM发送的报文经过VxLAN Overlay网络的外部设备(如防火墙)的处理后返回到租户B的VM所在的VPN中,进而到达租户B的VM,从而实现租户A的VM到租户B的VM的访问。
[0004]但是,报文需要到达VxLAN Gff才会被丢弃,从而浪费了 vSwitch到VxLAN Gff的网络带宽。

【发明内容】

[0005]有鉴于此,本发明提供一种控制虚拟机之间互访的方法及装置,以节约VxLANOverlay网络中vSwitch到VxLAN Gff的网络带宽。
[0006]具体地,本发明是通过如下技术方案实现的:
[0007]根据本发明实施例的第一方面,提供一种控制虚拟机之间互访的方法,用于虚拟可扩展局域网叠加Vxlan overlay网络中的控制器,所述Vxlan overlay网络中包括第一虚拟机和第二虚拟机,所述方法包括:
[0008]接收第一虚拟交换机发送的第一报文,其中,所述第一报文的源因特网协议IP地址和目的IP地址分别为所述第一虚拟机的IP地址和目的设备的IP地址;
[0009]当所述目的设备的IP地址为所述第二虚拟机的IP地址时,根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,判断是否允许所述第一虚拟机访问所述第二虚拟机;
[0010]当不允许所述第一虚拟机访问所述第二虚拟机时,向所述第一虚拟交换机发送第一流表,使得所述第一虚拟交换机根据所述第一流表,丢弃接收到的所述第一虚拟机向所述第二虚拟机发送的第二报文。
[0011]根据本发明实施例的第二方面,提供另一种控制虚拟机之间互访的装置,其特征在于,用于虚拟可扩展局域网叠加Vxlan overlay网络中的控制器,所述Vxlan overlay网络中包括第一虚拟机和第二虚拟机,所述装置包括:
[0012]接收单元,用于接收第一虚拟交换机发送的第一报文,其中,所述第一报文的源因特网协议IP地址和目的IP地址分别为所述第一虚拟机的IP地址和目的设备的IP地址;
[0013]第一判断单元,用于当所述目的设备的IP地址为所述第二虚拟机的IP地址时,根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,判断是否允许所述第一虚拟机访问所述第二虚拟机;
[0014]第一发送单元,用于当不允许所述第一虚拟机访问所述第二虚拟机时,向所述第一虚拟交换机发送第一流表,使得所述第一虚拟交换机根据所述第一流表,丢弃接收到的所述第一虚拟机向所述第二虚拟机发送的第二报文。
[0015]通过本发明实施例,VxLAN Overlay网络的控制器在判定不允许某虚拟机访问另一虚拟机时,向该虚拟机的虚拟交换机发送流表,使得该虚拟交换机将接收到的该虚拟机向该另一虚拟机发送的报文丢弃,从而不需要将报文转发到网关处也能实现第一虚拟机到第二虚拟机的隔离,节约了虚拟交换机到网关的网络带宽。
【附图说明】
[0016]图1是本发明一种应用场景的示意图;
[0017]图2是本发明控制虚拟机之间互访的方法的一个实施例流程图;
[0018]图3是本发明控制虚拟机之间互访的方法的另一个实施例流程图;
[0019]图4是本发明控制虚拟机之间互访的装置所在设备的一种硬件结构图;
[0020]图5是本发明控制虚拟机之间互访的装置的一个实施例框图。
【具体实施方式】
[0021]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0022]在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0023]应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0024]参照图1所示的应用场景,SDN控制器可以为租户A、租户B和租户C分别分配VxLAN Overlay网络资源。具体地,SDN控制器可以为租户A创建网络(Network-Α)、子网(SUBNET-A)和虚拟路由器(vRouter-A);为租户B创建网络(Network-B)、子网(SUBNET-B)和虚拟路由器(vRouter-B);以及,为租户C创建网络(Network-C)、子网(SUBNET-C)和虚拟路由器(vRouter-C)。SDN 控制器还可以将 VM_A、VM_B 和 VM-C,与 vRouter_A、vRouter-B
和 vRouter-C--关联,并将 vRouter-A、vRouter-B 和 vRouter-C 分别映射到 VxLAN GW。
如果同一租户多个VM,则SDN控制器可以为每个VM创建一个vRouter来与该VM关联,并将创建的vRouter映射到VxLAN GW,例如,可以将图1中的VM-B替换为租户A的另一个VM,将vRouter-B替换为SDN控制器为租户A创建的另一个vRouter,则租户A有2个VM和2个 vRouter。
[0025]现有技术中,如果要实现VM-A到VM-B的访问以及VM-A到VM-C的隔离,SDN控制器可以为vRouter-A、vRouter_B和vRouter-C分别创建不同的VPN,并为VxLAN Gff配置针对VM-A和VM-B之间报文的策略。这样,VxLAN Gff在接收到VM-A经由vSwitch_A发送给VM-B的报文时,可以根据配置的策略,将报文引导到外部设备(例如防火墙)上,经过外部设备的处理再返回到VxLAN Gff上VM-B所在的VPN中,然后VxLAN Gff再将报文经由vSwitch_B转发给VM-B。VxLAN Gff在接收到VM-A经由vSwitch_A发送给VM-C的报文时,由于VM-A和VM-C所在VPN不同,VxLAN Gff通过VPN隔离就可以将报文丢弃。
[0026]可见,现有技术中VM之间的隔离,是通过报文到达VxLAN GW后被丢弃来实现的,不必要地占用了 vSwitch-A到VxLAN GW的网络带宽。通过应用本发明,可以对vSwitch_A进行控制,使得VM-A向VM-C发送的报文在vSwitch-A处即被丢弃,从而避免了 vSwitch-A到VxLAN Gff的网络带宽的不必要浪费。
[0027]图2是本发明控制虚拟机之间互访的方法的一个实施例流程图,参照图2,本实施例中的控制虚拟机之间互访的方法用于虚拟可扩展局域网叠加Vxlan overlay网络中的控制器,所述Vxlan overlay网络中包括第一虚拟机和第二虚拟机,所述方法包括如下步骤:
[0028]步骤S201,接收第一虚拟交换机发送的第一报文,其中,所述第一报
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1