CN104852840A - 一种控制虚拟机之间互访的方法及装置 - Google Patents

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

Info

Publication number
CN104852840A
CN104852840A CN201510282888.7A CN201510282888A CN104852840A CN 104852840 A CN104852840 A CN 104852840A CN 201510282888 A CN201510282888 A CN 201510282888A CN 104852840 A CN104852840 A CN 104852840A
Authority
CN
China
Prior art keywords
virtual machine
address
virtual
message
access
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.)
Granted
Application number
CN201510282888.7A
Other languages
English (en)
Other versions
CN104852840B (zh
Inventor
刘峰
程锦平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201510282888.7A priority Critical patent/CN104852840B/zh
Publication of CN104852840A publication Critical patent/CN104852840A/zh
Application granted granted Critical
Publication of CN104852840B publication Critical patent/CN104852840B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种控制虚拟机之间互访的方法及装置。方法用于虚拟可扩展局域网叠加Vxlan overlay网络中的控制器,所述Vxlan overlay网络中包括第一虚拟机和第二虚拟机,所述方法包括:接收第一虚拟交换机发送的第一报文;当所述目的设备的IP地址为所述第二虚拟机的IP地址时,根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,判断是否允许所述第一虚拟机访问所述第二虚拟机;当不允许所述第一虚拟机访问所述第二虚拟机时,向所述第一虚拟交换机发送第一流表,使得所述第一虚拟交换机根据所述第一流表,丢弃接收到的所述第一虚拟机向所述第二虚拟机发送的第二报文。本发明实施例能够节约VxLAN Overlay网络中vSwitch到VxLAN GW的网络带宽。

Description

一种控制虚拟机之间互访的方法及装置
技术领域
本发明涉及通信领域,尤其涉及一种控制虚拟机之间互访的方法及装置。
背景技术
现有技术中有一种叠加在虚拟可扩展局域网(Virtual Extensible Local AreaNetwork,VxLAN)之上的逻辑网络,称为虚拟可扩展局域网叠加网络(VxLANOverlay网络),由软件定义网络(Software Defined Network,SDN)控制器对其进行规划部署,并向其下发网络转发策略。
租户是VxLAN Overlay网络资源的使用者。SDN控制器为租户创建虚拟路由器(Virtual Router,vRouter),并将创建的vRouter映射到同一VxLAN网关(Gateway,GW)。VxLAN GW为每个vRouter创建虚拟专用网(Virtual PrivateNetwork,VPN),不同vRouter对应不同的VPN。通过VPN隔离,VxLAN GW将租户A的虚拟机(Virtual Machine,VM)通过虚拟交换机(Virtual Switch,vSwitch)向租户B的VM发送的报文丢弃,从而实现租户A的VM到租户B的VM的隔离(即不允许租户A的VM访问租户B的VM);如果使VxLAN GW支持租户A的VM访问租户B的VM,可以在VxLAN GW上配置策略,使得租户A的VM向租户B的VM发送的报文经过VxLAN Overlay网络的外部设备(如防火墙)的处理后返回到租户B的VM所在的VPN中,进而到达租户B的VM,从而实现租户A的VM到租户B的VM的访问。
但是,报文需要到达VxLAN GW才会被丢弃,从而浪费了vSwitch到VxLANGW的网络带宽。
发明内容
有鉴于此,本发明提供一种控制虚拟机之间互访的方法及装置,以节约VxLAN Overlay网络中vSwitch到VxLAN GW的网络带宽。
具体地,本发明是通过如下技术方案实现的:
根据本发明实施例的第一方面,提供一种控制虚拟机之间互访的方法,用于虚拟可扩展局域网叠加Vxlan overlay网络中的控制器,所述Vxlanoverlay网络中包括第一虚拟机和第二虚拟机,所述方法包括:
接收第一虚拟交换机发送的第一报文,其中,所述第一报文的源因特网协议IP地址和目的IP地址分别为所述第一虚拟机的IP地址和目的设备的IP地址;
当所述目的设备的IP地址为所述第二虚拟机的IP地址时,根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,判断是否允许所述第一虚拟机访问所述第二虚拟机;
当不允许所述第一虚拟机访问所述第二虚拟机时,向所述第一虚拟交换机发送第一流表,使得所述第一虚拟交换机根据所述第一流表,丢弃接收到的所述第一虚拟机向所述第二虚拟机发送的第二报文。
根据本发明实施例的第二方面,提供另一种控制虚拟机之间互访的装置,其特征在于,用于虚拟可扩展局域网叠加Vxlan overlay网络中的控制器,所述Vxlan overlay网络中包括第一虚拟机和第二虚拟机,所述装置包括:
接收单元,用于接收第一虚拟交换机发送的第一报文,其中,所述第一报文的源因特网协议IP地址和目的IP地址分别为所述第一虚拟机的IP地址和目的设备的IP地址;
第一判断单元,用于当所述目的设备的IP地址为所述第二虚拟机的IP地址时,根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,判断是否允许所述第一虚拟机访问所述第二虚拟机;
第一发送单元,用于当不允许所述第一虚拟机访问所述第二虚拟机时,向所述第一虚拟交换机发送第一流表,使得所述第一虚拟交换机根据所述第一流表,丢弃接收到的所述第一虚拟机向所述第二虚拟机发送的第二报文。
通过本发明实施例,VxLAN Overlay网络的控制器在判定不允许某虚拟机访问另一虚拟机时,向该虚拟机的虚拟交换机发送流表,使得该虚拟交换机将接收到的该虚拟机向该另一虚拟机发送的报文丢弃,从而不需要将报文转发到网关处也能实现第一虚拟机到第二虚拟机的隔离,节约了虚拟交换机到网关的网络带宽。
附图说明
图1是本发明一种应用场景的示意图;
图2是本发明控制虚拟机之间互访的方法的一个实施例流程图;
图3是本发明控制虚拟机之间互访的方法的另一个实施例流程图;
图4是本发明控制虚拟机之间互访的装置所在设备的一种硬件结构图;
图5是本发明控制虚拟机之间互访的装置的一个实施例框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参照图1所示的应用场景,SDN控制器可以为租户A、租户B和租户C分别分配VxLAN Overlay网络资源。具体地,SDN控制器可以为租户A创建网络(Network-A)、子网(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。
现有技术中,如果要实现VM-A到VM-B的访问以及VM-A到VM-C的隔离,SDN控制器可以为vRouter-A、vRouter-B和vRouter-C分别创建不同的VPN,并为VxLAN GW配置针对VM-A和VM-B之间报文的策略。这样,VxLAN GW在接收到VM-A经由vSwitch-A发送给VM-B的报文时,可以根据配置的策略,将报文引导到外部设备(例如防火墙)上,经过外部设备的处理再返回到VxLAN GW上VM-B所在的VPN中,然后VxLAN GW再将报文经由vSwitch-B转发给VM-B。VxLAN GW在接收到VM-A经由vSwitch-A发送给VM-C的报文时,由于VM-A和VM-C所在VPN不同,VxLAN GW通过VPN隔离就可以将报文丢弃。
可见,现有技术中VM之间的隔离,是通过报文到达VxLAN GW后被丢弃来实现的,不必要地占用了vSwitch-A到VxLAN GW的网络带宽。通过应用本发明,可以对vSwitch-A进行控制,使得VM-A向VM-C发送的报文在vSwitch-A处即被丢弃,从而避免了vSwitch-A到VxLAN GW的网络带宽的不必要浪费。
图2是本发明控制虚拟机之间互访的方法的一个实施例流程图,参照图2,本实施例中的控制虚拟机之间互访的方法用于虚拟可扩展局域网叠加Vxlan overlay网络中的控制器,所述Vxlan overlay网络中包括第一虚拟机和第二虚拟机,所述方法包括如下步骤:
步骤S201,接收第一虚拟交换机发送的第一报文,其中,所述第一报文的源因特网协议IP地址和目的IP地址分别为所述第一虚拟机的IP地址和目的设备的IP地址。
本实施例中,控制器,例如SDN控制器,将VxLAN Overlay网络中的VM与vRouter一一关联之后,可以根据管理人员通过配置界面的配置操作,生成一个或多个安全域列表。其中,配置界面例如用户界面(User Interface,UI)或者应用程序北向接口(Application Interface,API)的配置界面。安全域列表中可以包括一个或多个安全域,每个安全域中可以包括一个或多个虚拟路由器中每个虚拟路由器的标识(Identifier,ID)。
以允许图1中VM-A访问VM-B、不允许VM-A访问VM-C的情况为例,控制器可以将vRouter-A的ID和vRouter-B的ID添加到安全域A。
本步骤中,第一虚拟机的第一虚拟交换机在接收到第一虚拟机向目的设备发送的首个报文时,可以将该首个报文发送给控制器并缓存该首个报文的备份。控制器可以从该首个报文中解析出源IP地址和目的IP地址,分别得到第一虚拟机的IP地址和目的设备的IP地址。
步骤S202,当所述目的设备的IP地址为所述第二虚拟机的IP地址时,根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,判断是否允许所述第一虚拟机访问所述第二虚拟机。
本步骤中,控制器可以判断目的设备的IP地址是否属于该VxLANOverlay网络的外部设备的IP地址集合,如果属于,则可以生成并向第一虚拟交换机发送第五流表,该第五流表用于控制第一虚拟交换机将接收到的源IP地址和目的IP地址分别为第一虚拟机的IP地址和目的设备的IP地址的报文转发给该VxLAN Overlay网络中的网关,由该网关将该报文转发给该VxLAN Overlay网络之外的目的设备。如果不属于该IP地址集合,则可以根据第一虚拟机的IP地址和目的设备(也就是该VxLAN Overlay网络中另一虚拟机,不妨表述为第二虚拟机)的IP地址,确定与第一虚拟机关联的第一虚拟路由器的ID和与第二虚拟机关联的第二虚拟路由器的ID。
控制器可以判断第一虚拟路由器和第二虚拟路由器的ID是否属于相同的安全域,如果属于,则确定允许第一虚拟机访问第二虚拟机;否则确定不允许第一虚拟机访问第二虚拟机。仍然以允许图1中VM-A访问VM-B、不允许VM-A访问VM-C的情况为例,控制器通过查找安全域列表,发现vRouter-A的ID和vRouter-B的ID在安全域A中,则确定允许VM-A访问VM-B;控制器通过查找安全域列表,发现vRouter-A的ID所属的安全域A中不包括vRouter-C的ID,则确定不允许VM-A访问VM-C。
当允许第一虚拟机访问第二虚拟机时,控制器可以生成并向所述第一虚拟交换机发送第二流表,使得所述第一虚拟交换机根据该第二流表,将接收到的第一虚拟机向第二虚拟机发送的报文转发给该VxLAN Overlay网络中的网关,其中,第一虚拟机向第二虚拟机发送的报文除了在步骤S201中首个报文之后到达第一虚拟交换机的报文之外,还可以包括该首个报文的备份;
控制器可以生成并向该网关发送第三流表,使得该网关根据该第三流表,将接收到的第一虚拟机向第二虚拟机发送的报文转发给第二虚拟机的虚拟交换机;以及,
控制器可以生成并向第二虚拟机的虚拟交换机发送第四流表,使得该虚拟交换机根据该第四流表,将接收到的第一虚拟机向第二虚拟机发送的报文转发给第二虚拟机。
第一虚拟机和第二虚拟机可以为该VxLAN Overlay网络的相同租户的虚拟机,也可以为该VxLAN Overlay网络的不同租户的虚拟机。
步骤S203,当不允许所述第一虚拟机访问所述第二虚拟机时,向所述第一虚拟交换机发送第一流表,使得所述第一虚拟交换机根据所述第一流表,丢弃接收到的所述第一虚拟机向所述第二虚拟机发送的第二报文。
本步骤中,当不允许第一虚拟机访问第二虚拟机时,控制器可以生成并向第一虚拟交换机发送第一流表,使得第一虚拟交换机根据该第一流表,丢弃接收到的第一虚拟机向第二虚拟机发送的报文。其中,第一虚拟机向第二虚拟机发送的报文除了在步骤S201中首个报文之后到达第一虚拟交换机的报文之外,还可以包括该首个报文的备份。
应用上述实施例,VxLAN Overlay网络的控制器在判定不允许某虚拟机访问另一虚拟机时,向该虚拟机的虚拟交换机发送流表,使得该虚拟交换机将接收到的该虚拟机向该另一虚拟机发送的报文丢弃,从而不需要将报文转发到网关处也能实现第一虚拟机到第二虚拟机的隔离,节约了虚拟交换机到网关的网络带宽。
图3是本发明控制虚拟机之间互访的方法的另一个实施例流程图,参照图3,本实施例中的控制虚拟机之间互访的方法用于SDN VxLAN Overlay网络中的SDN控制器,包括如下步骤:
步骤S301,配置安全域。
本实施例以允许图1中VM-A访问VM-B、不允许VM-A访问VM-C的情况为例,对本发明作详细描述。
管理人员可以通过UI或者API为SDN控制器配置安全域。例如,通过UI新建一个安全域A,在安全域A的候选vRouter ID集合中选择vRouter-A的ID和vRouter-B的ID,然后点击完成按钮,从而SDN控制器可以将vRouter-A的ID和vRouter-B的ID添加到安全域A。SDN控制器可以将生成的安全域A添加到安全域列表中。管理人员还可以通过UI新建一个安全域B,在安全域B的候选vRouter ID集合中选择vRouter-C的ID,然后点击完成按钮,从而SDN控制器可以将vRouter-C的ID添加到安全域B。SDN控制器可以将生成的安全域B添加到安全域列表中。如果管理人员不允许vRouter-C与SDN VxLAN Overlay网络中的任何vRouter互访,则可以不将vRouter-C的ID配置到任何安全域中。
SDN控制器可以将VM-A与vRouter-A、VM-B与vRouter-B和VM-C与vRouter-C分别关联起来。
步骤S302,接收SDN VxLAN Overlay网络中某虚拟机的虚拟交换机发送的该虚拟机向某目的设备发送的首个报文。
VM-A可以将向VM-B发送的报文发送给vSwitch-A。vSwitch-A可以将接收到的VM-A向VM-B发送的首个报文发送给SDN控制器并将该首个报文备份到vSwitch-A自身的缓存中。SDN控制器可以接收到该首个报文时,从中解析出源IP地址和目的IP地址,分别得到VM-A的IP地址和VM-B的IP地址。
VM-A可以将向VM-C发送的报文发送给vSwitch-A。vSwitch-A可以将接收到的VM-A向VM-C发送的首个报文发送给SDN控制器并将该首个报文备份到vSwitch-A自身的缓存中。SDN控制器可以接收到该首个报文时,从中解析出源IP地址和目的IP地址,分别得到VM-A的IP地址和VM-C的IP地址。
VM-A可以将向该SDN VxLAN Overlay网络的某外部设备发送的报文发送给vSwitch-A。vSwitch-A可以将接收到的VM-A向该外部设备发送的首个报文发送给SDN控制器并将该首个报文备份到vSwitch-A自身的缓存中。SDN控制器可以接收到该首个报文时,从中解析出源IP地址和目的IP地址,分别得到VM-A的IP地址和该外部设备的IP地址。其中,该外部设备例如该SDN VxLAN Overlay网络的物理承载网络(Underlay网络)中的物理主机(Physical Machine,PM)主机。
步骤S303,判断该目的设备的IP地址是否属于网络外部设备的IP地址集合,如果是,执行步骤S305;否则,执行步骤S306。
SDN控制器可以检查VM-B的IP地址是否属于该SDN VxLAN Overlay网络的外部设备的IP地址集合,确定不属于。
SDN控制器可以检查VM-C的IP地址是否属于该SDN VxLAN Overlay网络的外部设备的IP地址集合,确定不属于。
SDN控制器可以检查该外部设备的IP地址是否属于该SDN VxLANOverlay网络的外部设备的IP地址集合,确定属于。
步骤S304,向该虚拟交换机发送转发流表,使得该虚拟交换机将该虚拟机向该目的设备发送的报文转发给网关。
对于该目的设备为该外部设备的情况,SDN控制器可以生成并向vSwitch-A发送转发流表,流表匹配(match)项为源IP地址为VM-A的IP地址,源MAC地址为VM-A的MAC地址,目的IP地址为该外部设备的IP地址,目的MAC地址为VM-A的网关VxLAN GW的MAC地址,流表动作为输出(output),出口为去VxLAN GW的隧道。
vSwitch-A可以按照该转发流表,将缓存的该首个报文的备份发送给VxLAN GW。后续vSwitch-A接收到VM-A向该外部设备发送的报文之后,可以按照该转发流表,将接收到的报文发送给VxLAN GW。
步骤S305,在该目的设备的IP地址为SDN VxLAN Overlay网络中另一虚拟机的IP地址时,根据该虚拟机的IP地址和该另一虚拟机的IP地址,确定与该虚拟机关联的虚拟路由器的ID和与该另一虚拟机关联的虚拟路由器的ID。
SDN控制器可以根据VM-A、VM-B和VM-C的IP地址,分别确定vRouter-A、vRouter-B和vRouter-C的ID。
SDN控制器可以判断vRouter-A和vRouter-B是否相同,如果相同,则执行步骤S307;否则,执行步骤S306。
步骤S306,判断与该虚拟机关联的虚拟路由器的ID和与该另一虚拟机关联的虚拟路由器的ID是否属于相同的安全域,如果是,则执行步骤S307;否则,执行步骤S308。
SDN控制器可以从安全域列表中查看vRouter-A的ID所属的安全域,得到安全域A,然后可以查看安全域A中是否包括vRouter-B的ID,发现包括,则确定vRouter-A的ID和vRouter-B的ID属于相同的安全域。SDN控制器可以查看安全域A中是否包括vRouter-C的ID,发现不包括,则确定vRouter-A的ID和vRouter-C的ID不属于相同的安全域。
步骤S307,确定允许该虚拟机访问该另一虚拟机,向该虚拟机的虚拟交换机、网关和该另一虚拟机的虚拟交换机发送转发流表,指导转发该虚拟机的报文到该另一虚拟机。
对于该目的设备为VM-B的情况,SDN控制器可以生成并向vSwitch-A发送转发流表T1,流表match项为源IP地址为VM-A的IP地址,源MAC地址为VM-A的MAC地址,目的IP地址为VM-B的IP地址,目的MAC地址为VxLAN GW的MAC地址,流表动作为output,出口为去VxLAN GW的隧道;
SDN控制器可以生成并向VxLAN GW发送转发流表T2,流表match项为源IP地址为VM-A的IP地址,源MAC地址为VM-A的MAC地址,目的IP地址为VM-B的IP地址,目的MAC地址为VxLAN GW的MAC地址,流表动作为output,出口为去vSwitch-B的隧道;
SDN控制器可以生成并向vSwitch-B发送转发流表T3,流表match项为源IP地址为VM-A的IP地址,源MAC地址为VxLAN GW的MAC地址,目的IP地址为VM-B的IP地址,目的MAC地址为VM-B的MAC地址,流表动作为output,出口为去VM-B的隧道。
vSwitch-A可以按照转发流表T1,将缓存的该首个报文的备份发送给VxLAN GW。后续vSwitch-A接收到VM-A向VM-B发送的报文之后,可以按照该转发流表,将接收到的报文转发给VxLAN GW。VxLAN GW接收到VM-A向VM-B发送的报文之后,可以按照转发流表T2,将接收到的报文转发给vSwitch-B。vSwitch-B接收到VM-A向VM-B发送的报文之后,可以按照转发流表T3,将接收到的报文转发给VM-B。
步骤S308,确定不允许该虚拟机访问该另一虚拟机,向该虚拟机的虚拟交换机发送丢弃流表,使得该虚拟交换机丢弃该虚拟机向该另一虚拟机发送的报文。
对于该目的设备为VM-C的情况,SDN控制器可以生成并向vSwitch-A发送转发流表T4,流表match项为源IP地址为VM-A的IP地址,源MAC地址为VM-A的MAC地址,目的IP地址为VM-C的IP地址,目的MAC地址为VxLAN GW的MAC地址,流表动作为丢弃(Drop),出口为去VxLANGW的隧道。
vSwitch-A可以按照转发流表T4,丢弃缓存的该首个报文的备份。后续vSwitch-A接收到VM-A向VM-C发送的报文之后,可以按照转发流表T4,将接收到的报文丢弃。
通过本实施例,SDN控制器在判定不允许某虚拟机访问另一虚拟机时,向该虚拟机的虚拟交换机发送流表,使得该虚拟交换机将接收到的该虚拟机向该另一虚拟机发送的报文丢弃,从而不需要将报文转发到VxLAN GW处也能实现第一虚拟机到第二虚拟机的隔离,节约了虚拟交换机到VxLAN GW的网络带宽。此外,不需要VxLAN GW上的VPN隔离,vRouter的创建规模不会受到VPN规格的限制。此外,当与不同vRouter关联的VM之间有访问需求时,只需要加入到同一个安全域中即可,不需要在VxLAN Overlay网络叠加于的物理网络上进行配置更改,配置简单。
与前述控制虚拟机之间互访的方法的实施例相对应,本发明还提供了控制虚拟机之间互访的装置的实施例。
本发明提供的控制虚拟机之间互访的装置的实施例可以应用在具有硬件结构的设备上,该设备可以为网络设备或管理服务器。该装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明控制虚拟机之间互访的装置所在设备的一种硬件结构图,除了图4所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中控制虚拟机之间互访的装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等,对此图4中不再详细示出。
图5是本发明控制虚拟机之间互访的装置的一个实施例框图,参照图5,本实施例中的控制虚拟机之间互访的装置,用于虚拟可扩展局域网叠加Vxlan overlay网络中的控制器,所述Vxlan overlay网络中包括第一虚拟机和第二虚拟机,所述装置包括接收单元501、第一判断单元502和第一发送单元503;
其中,接收单元501,用于接收第一虚拟交换机发送的第一报文,其中,所述第一报文的源因特网协议IP地址和目的IP地址分别为所述第一虚拟机的IP地址和目的设备的IP地址;
第一判断单元502,用于当所述目的设备的IP地址为所述第二虚拟机的IP地址时,根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,判断是否允许所述第一虚拟机访问所述第二虚拟机;
第一发送单元503,用于当不允许所述第一虚拟机访问所述第二虚拟机时,向所述第一虚拟交换机发送第一流表,使得所述第一虚拟交换机根据所述第一流表,丢弃接收到的所述第一虚拟机向所述第二虚拟机发送的第二报文。
在一个可选的实现方式中,所述第一判断单元502具体可以包括:
确定子单元,用于根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,确定第一虚拟路由器的标识和第二虚拟路由器的标识,所述第一虚拟路由器与所述第一虚拟机关联,所述第二虚拟路由器与所述第二虚拟机关联;
判断子单元,用于判断所述第一虚拟路由器的标识与所述第二虚拟路由器的标识是否属于同一安全域,如果属于,则允许访问;否则,不允许访问。
在另一个可选的实现方式中,所述装置还可以包括:
获取单元,用于所述接收单元501接收所述第一报文之前,将所述第一虚拟路由器的标识和所述第二虚拟路由器的标识添加到对应的安全域。
在另一个可选的实现方式中,所述装置还可以包括:
第二发送单元,用于当允许所述第一虚拟机访问所述第二虚拟机时,向所述第一虚拟交换机发送第二流表,使得所述第一虚拟交换机根据所述第二流表,将所述第二报文转发给所述Vxlan overlay网络中的网关;向所述网关发送第三流表,使得所述网关根据所述第三流表,将接收到的所述第二报文转发给所述第二虚拟机的第二虚拟交换机;以及,向所述第二虚拟交换机发送第四流表,使得所述第二虚拟交换机根据所述第四流表,将接收到的所述第二报文转发给所述第二虚拟机。
在另一个可选的实现方式中,所述装置还可以包括:
第二判断单元,用于判断所述目的设备的IP地址是否属于所述Vxlanoverlay网络的外部设备的IP地址集合,并将判断结果发送给第三发送单元和所述第一判断单元502;
所述第三发送单元用于当属于所述外部设备的IP地址集合时,向所述第一虚拟交换机发送第五流表,使得所述第一虚拟交换机根据所述第五流表,将接收到的第三报文转发给所述Vxlan overlay网络中的网关,其中,所述第三报文的源IP地址和目的IP地址分别为所述第一虚拟机的IP地址和所述目的设备的IP地址;
所述第一判断单元502具体用于当不属于所述外部设备的IP地址集合时,执行所述当所述目的设备的IP地址为所述第二虚拟机的IP地址时,根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,判断是否允许所述第一虚拟机访问所述第二虚拟机。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,VxLAN Overlay网络的控制器在判定不允许某虚拟机访问另一虚拟机时,向该虚拟机的虚拟交换机发送流表,使得该虚拟交换机将接收到的该虚拟机向该另一虚拟机发送的报文丢弃,从而不需要将报文转发到网关处也能实现第一虚拟机到第二虚拟机的隔离,节约了虚拟交换机到网关的网络带宽。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种控制虚拟机之间互访的方法,其特征在于,用于虚拟可扩展局域网叠加Vxlan overlay网络中的控制器,所述Vxlan overlay网络中包括第一虚拟机和第二虚拟机,所述方法包括:
接收第一虚拟交换机发送的第一报文,其中,所述第一报文的源因特网协议IP地址和目的IP地址分别为所述第一虚拟机的IP地址和目的设备的IP地址;
当所述目的设备的IP地址为所述第二虚拟机的IP地址时,根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,判断是否允许所述第一虚拟机访问所述第二虚拟机;
当不允许所述第一虚拟机访问所述第二虚拟机时,向所述第一虚拟交换机发送第一流表,使得所述第一虚拟交换机根据所述第一流表,丢弃接收到的所述第一虚拟机向所述第二虚拟机发送的第二报文。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,判断是否允许所述第一虚拟机访问所述第二虚拟机包括:
根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,确定第一虚拟路由器的标识和第二虚拟路由器的标识,所述第一虚拟路由器与所述第一虚拟机关联,所述第二虚拟路由器与所述第二虚拟机关联;
判断所述第一虚拟路由器的标识与所述第二虚拟路由器的标识是否属于同一安全域,如果属于,则允许访问;否则,不允许访问。
3.根据权利要求2所述的方法,其特征在于,所述接收第一报文之前,还包括:
将所述第一虚拟路由器的标识和所述第二虚拟路由器的标识添加到对应的安全域。
4.根据权利要求1所述的方法,其特征在于,当允许所述第一虚拟机访问所述第二虚拟机时,还包括:
向所述第一虚拟交换机发送第二流表,使得所述第一虚拟交换机根据所述第二流表,将所述第二报文转发给所述Vxlan overlay网络中的网关;
向所述网关发送第三流表,使得所述网关根据所述第三流表,将接收到的所述第二报文转发给所述第二虚拟机的第二虚拟交换机;以及,
向所述第二虚拟交换机发送第四流表,使得所述第二虚拟交换机根据所述第四流表,将接收到的所述第二报文转发给所述第二虚拟机。
5.根据权利要求1所述的方法,其特征在于,还包括:
判断所述目的设备的IP地址是否属于所述Vxlan overlay网络的外部设备的IP地址集合;
当属于所述外部设备的IP地址集合时,向所述第一虚拟交换机发送第五流表,使得所述第一虚拟交换机根据所述第五流表,将接收到的第三报文转发给所述Vxlan overlay网络中的网关,其中,所述第三报文的源IP地址和目的IP地址分别为所述第一虚拟机的IP地址和所述目的设备的IP地址;
当不属于所述外部设备的IP地址集合时,执行所述当所述目的设备的IP地址为所述Vxlan overlay网络中的第二虚拟机的IP地址时,根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,判断是否允许所述第一虚拟机访问所述第二虚拟机。
6.一种控制虚拟机之间互访的装置,其特征在于,用于虚拟可扩展局域网叠加Vxlan overlay网络中的控制器,所述Vxlan overlay网络中包括第一虚拟机和第二虚拟机,所述装置包括:
接收单元,用于接收第一虚拟交换机发送的第一报文,其中,所述第一报文的源因特网协议IP地址和目的IP地址分别为所述第一虚拟机的IP地址和目的设备的IP地址;
第一判断单元,用于当所述目的设备的IP地址为所述第二虚拟机的IP地址时,根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,判断是否允许所述第一虚拟机访问所述第二虚拟机;
第一发送单元,用于当不允许所述第一虚拟机访问所述第二虚拟机时,向所述第一虚拟交换机发送第一流表,使得所述第一虚拟交换机根据所述第一流表,丢弃接收到的所述第一虚拟机向所述第二虚拟机发送的第二报文。
7.根据权利要求6所述的装置,其特征在于,所述第一判断单元具体包括:
确定子单元,用于根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,确定第一虚拟路由器的标识和第二虚拟路由器的标识,所述第一虚拟路由器与所述第一虚拟机关联,所述第二虚拟路由器与所述第二虚拟机关联;
判断子单元,用于判断所述第一虚拟路由器的标识与所述第二虚拟路由器的标识是否属于同一安全域,如果属于,则允许访问;否则,不允许访问。
8.根据权利要求7所述的装置,其特征在于,还包括:
获取单元,用于所述接收单元接收所述第一报文之前,将所述第一虚拟路由器的标识和所述第二虚拟路由器的标识添加到对应的安全域。
9.根据权利要求6所述的装置,其特征在于,还包括:
第二发送单元,用于当允许所述第一虚拟机访问所述第二虚拟机时,向所述第一虚拟交换机发送第二流表,使得所述第一虚拟交换机根据所述第二流表,将所述第二报文转发给所述Vxlan overlay网络中的网关;向所述网关发送第三流表,使得所述网关根据所述第三流表,将接收到的所述第二报文转发给所述第二虚拟机的第二虚拟交换机;以及,向所述第二虚拟交换机发送第四流表,使得所述第二虚拟交换机根据所述第四流表,将接收到的所述第二报文转发给所述第二虚拟机。
10.根据权利要求6所述的装置,其特征在于,还包括:
第二判断单元,用于判断所述目的设备的IP地址是否属于所述Vxlanoverlay网络的外部设备的IP地址集合,并将判断结果发送给第三发送单元和所述第一判断单元;
所述第三发送单元用于当属于所述外部设备的IP地址集合时,向所述第一虚拟交换机发送第五流表,使得所述第一虚拟交换机根据所述第五流表,将接收到的第三报文转发给所述Vxlan overlay网络中的网关,其中,所述第三报文的源IP地址和目的IP地址分别为所述第一虚拟机的IP地址和所述目的设备的IP地址;
所述第一判断单元具体用于当不属于所述外部设备的IP地址集合时,执行所述当所述目的设备的IP地址为所述第二虚拟机的IP地址时,根据所述第一虚拟机的IP地址和所述第二虚拟机的IP地址,判断是否允许所述第一虚拟机访问所述第二虚拟机。
CN201510282888.7A 2015-05-28 2015-05-28 一种控制虚拟机之间互访的方法及装置 Active CN104852840B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510282888.7A CN104852840B (zh) 2015-05-28 2015-05-28 一种控制虚拟机之间互访的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510282888.7A CN104852840B (zh) 2015-05-28 2015-05-28 一种控制虚拟机之间互访的方法及装置

Publications (2)

Publication Number Publication Date
CN104852840A true CN104852840A (zh) 2015-08-19
CN104852840B CN104852840B (zh) 2018-08-24

Family

ID=53852206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510282888.7A Active CN104852840B (zh) 2015-05-28 2015-05-28 一种控制虚拟机之间互访的方法及装置

Country Status (1)

Country Link
CN (1) CN104852840B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516129A (zh) * 2015-12-04 2016-04-20 重庆邮电大学 基于sdn技术实现僵尸网络控制信道阻断的方法和装置
CN105721487A (zh) * 2016-03-07 2016-06-29 联想(北京)有限公司 信息处理方法及电子设备
CN105933235A (zh) * 2016-07-07 2016-09-07 北京邮电大学 数据通信方法及装置
CN106059915A (zh) * 2016-07-20 2016-10-26 赛特斯信息科技股份有限公司 基于sdn控制器实现租户南北向流量限速的系统及方法
CN107888597A (zh) * 2017-11-16 2018-04-06 杭州迪普科技股份有限公司 一种FWaaS安全域配置方法及装置
CN107925616A (zh) * 2015-08-20 2018-04-17 英特尔公司 用于在虚拟机之间路由分组的技术
CN107995083A (zh) * 2016-10-27 2018-05-04 中国电信股份有限公司 实现L2VPN与VxLAN互通的方法、系统及设备
CN108111471A (zh) * 2016-11-25 2018-06-01 中国电信股份有限公司 报文的处理方法、系统及vtep
CN110928646A (zh) * 2019-11-22 2020-03-27 海光信息技术有限公司 一种访问共享内存的方法、装置、处理器和计算机系统
CN111464341A (zh) * 2020-03-19 2020-07-28 烽火通信科技股份有限公司 一种Overlay业务配置方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546351A (zh) * 2012-03-15 2012-07-04 北京邮电大学 openflow网络和现有IP网络互联的系统和方法
CN103973676A (zh) * 2014-04-21 2014-08-06 蓝盾信息安全技术股份有限公司 一种基于sdn的云计算安全保护系统及方法
CN104022960A (zh) * 2013-02-28 2014-09-03 杭州华三通信技术有限公司 基于OpenFlow协议实现PVLAN的方法和装置
CN104034023A (zh) * 2013-03-06 2014-09-10 托宽和 一种节能环保酒精锅炉
CN104283756A (zh) * 2013-07-02 2015-01-14 杭州华三通信技术有限公司 一种实现分布式多租户虚拟网络的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546351A (zh) * 2012-03-15 2012-07-04 北京邮电大学 openflow网络和现有IP网络互联的系统和方法
CN104022960A (zh) * 2013-02-28 2014-09-03 杭州华三通信技术有限公司 基于OpenFlow协议实现PVLAN的方法和装置
CN104034023A (zh) * 2013-03-06 2014-09-10 托宽和 一种节能环保酒精锅炉
CN104283756A (zh) * 2013-07-02 2015-01-14 杭州华三通信技术有限公司 一种实现分布式多租户虚拟网络的方法和装置
CN103973676A (zh) * 2014-04-21 2014-08-06 蓝盾信息安全技术股份有限公司 一种基于sdn的云计算安全保护系统及方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107925616B (zh) * 2015-08-20 2021-01-26 英特尔公司 用于控制通信的方法、装置和计算机可读介质
CN107925616A (zh) * 2015-08-20 2018-04-17 英特尔公司 用于在虚拟机之间路由分组的技术
CN105516129A (zh) * 2015-12-04 2016-04-20 重庆邮电大学 基于sdn技术实现僵尸网络控制信道阻断的方法和装置
CN105721487A (zh) * 2016-03-07 2016-06-29 联想(北京)有限公司 信息处理方法及电子设备
CN105721487B (zh) * 2016-03-07 2019-07-26 联想(北京)有限公司 信息处理方法及电子设备
CN105933235B (zh) * 2016-07-07 2019-02-19 北京邮电大学 数据通信方法及装置
CN105933235A (zh) * 2016-07-07 2016-09-07 北京邮电大学 数据通信方法及装置
CN106059915A (zh) * 2016-07-20 2016-10-26 赛特斯信息科技股份有限公司 基于sdn控制器实现租户南北向流量限速的系统及方法
CN107995083A (zh) * 2016-10-27 2018-05-04 中国电信股份有限公司 实现L2VPN与VxLAN互通的方法、系统及设备
CN107995083B (zh) * 2016-10-27 2020-10-27 中国电信股份有限公司 实现L2VPN与VxLAN互通的方法、系统及设备
CN108111471A (zh) * 2016-11-25 2018-06-01 中国电信股份有限公司 报文的处理方法、系统及vtep
CN107888597A (zh) * 2017-11-16 2018-04-06 杭州迪普科技股份有限公司 一种FWaaS安全域配置方法及装置
CN110928646A (zh) * 2019-11-22 2020-03-27 海光信息技术有限公司 一种访问共享内存的方法、装置、处理器和计算机系统
CN111464341A (zh) * 2020-03-19 2020-07-28 烽火通信科技股份有限公司 一种Overlay业务配置方法及装置
CN111464341B (zh) * 2020-03-19 2022-11-18 烽火通信科技股份有限公司 一种Overlay业务配置方法及装置

Also Published As

Publication number Publication date
CN104852840B (zh) 2018-08-24

Similar Documents

Publication Publication Date Title
CN104852840A (zh) 一种控制虚拟机之间互访的方法及装置
US10581700B2 (en) Service flow processing method, apparatus, and device
TWI821463B (zh) 具有分解式網路元件的邏輯路由器
US10263808B2 (en) Deployment of virtual extensible local area network
CN103997414B (zh) 生成配置信息的方法和网络控制单元
TW202026896A (zh) 在網路路由環境中的非同步物件管理機制
CN107770062A (zh) 一种数据包发送方法、装置及网络架构
CN105577548A (zh) 一种软件定义网络中报文处理方法和装置
CN107547349A (zh) 一种虚拟机迁移的方法及装置
US10574570B2 (en) Communication processing method and apparatus
US10050859B2 (en) Apparatus for processing network packet using service function chaining and method for controlling the same
JP5993817B2 (ja) キャリア網における経路制御システム及び方法
JP2006262193A (ja) 制御装置、パケット転送方法およびパケット処理装置
CN111614505B (zh) 报文处理的方法和网关设备
US20190215191A1 (en) Deployment Of Virtual Extensible Local Area Network
US9553764B2 (en) Migration of guest bridge
Rodriguez-Natal et al. Programmable overlays via openoverlayrouter
JP6211975B2 (ja) ネットワーク延伸システム、制御装置、およびネットワーク延伸方法
JP6036506B2 (ja) 障害影響範囲を特定するためのプログラム及び情報処理装置
US20170048103A1 (en) Communication apparatus, communication method, and communication system
US9912592B2 (en) Troubleshooting openflow networks
CN107454132B (zh) 支持多租户的网络传输的方法和设备
JP4623317B2 (ja) 通信装置、ルーティング方法及びプログラム
JP2020113836A (ja) 情報処理装置、情報処理システム、および設定プログラム
WO2016188222A1 (zh) 一种业务报文转发方法、装置及通信系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant