CN107547242A - Vm配置信息的获取方法及装置 - Google Patents
Vm配置信息的获取方法及装置 Download PDFInfo
- Publication number
- CN107547242A CN107547242A CN201710371663.8A CN201710371663A CN107547242A CN 107547242 A CN107547242 A CN 107547242A CN 201710371663 A CN201710371663 A CN 201710371663A CN 107547242 A CN107547242 A CN 107547242A
- Authority
- CN
- China
- Prior art keywords
- mac address
- address
- network node
- sent
- access switch
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供一种VM配置信息的获取方法及装置,其中,该方法包括:接收VM发送的地址申请报文,向VM发送为VM分配的IP地址及用于获取配置信息的路由,该路由的下一跳信息为网络节点的DHCP port IP地址;向VM发送DHCP port IP地址对应的特定MAC地址,以使VM根据该路由和分配的IP地址,发送目的MAC地址为特定MAC地址的配置信息获取请求报文;向除网络节点所连接的第二接入交换机以外的第一接入交换机发送第一MAC表项,用于指示将目的MAC地址为特定MAC地址的报文转发给第二接入交换机;向第二接入交换机发送第二MAC表项,用于指示将目的MAC地址为特定MAC地址的报文转发给网络节点。
Description
技术领域
本申请涉及网络通信技术领域,特别涉及一种VM配置信息的获取方法及装置。
背景技术
SDN(Software Defined Network,软件定义网络)是一种新型网络架构,其核心思想是分离网络设备的控制层面和转发层面,通过SDN控制器对网络流量进行集中和灵活控制,从而为核心网络及应用的创新提供良好的平台。
OpenStack云平台是一个开源的云计算管理平台,其可以让任何人自行建立和提供云端的计算和存储服务。OpenStack云平台可以向虚拟机(Virtual Machine,VM)提供配置信息,VM获取到这些配置信息后即可对自身进行相应配置。VM的配置信息主要可以分成两类:metadata(元数据)和user data(用户数据),其中,metadata主要包括VM自身的常用属性,如hostname(主机名)、网络配置信息、SSH(Secure Shell,安全外壳)登陆密钥等,metadata的主要表示形式为键值对;而user data主要包括一些命令和脚本等,user data以文件形式存储。
目前,为了利用计算和存储虚拟化技术,来共同构建数据中心网络的虚拟化,可以将OpenStack云平台应用到SDN中。在应用了OpenStack云平台的SDN中,SDN控制器与OpenStack云平台对接,接受OpenStack云平台的统一编排和部署;并且,SDN控制器可以通过Openflow(开放流)、NETCONF(网络配置)、OVSDB(Open VSwitch Data Base,虚拟交换机数据库)协议等网络管理协议,对网络中的软硬件设备进行统一管理和自动部署。
但是,在将OpenStack云平台应用到SDN中后,目前还没有VM如何通过网络节点向OpenStack云平台获取配置信息的相关技术方案,从而导致VM无法正常运行。
发明内容
有鉴于此,本申请提供一种VM配置信息的获取方法及装置。
具体地,本申请是通过如下技术方案实现的:
一方面,提供了一种VM配置信息的获取方法,该方法应用于SDN控制器,SDN控制器分别连接OpenStack云平台和接入交换机,接入交换机连接网络节点或计算节点,计算节点中创建有VM,该方法包括:
在接收到VM发送的地址申请报文后,向VM发送为VM分配的IP地址及用于获取配置信息的路由,该路由包括的下一跳信息为网络节点上的DHCP port IP地址;
向VM发送与DHCP port IP地址对应的特定MAC地址,以使VM根据该路由和分配的IP地址,发送目的MAC地址为特定MAC地址的配置信息获取请求报文;
向除网络节点所连接的第二接入交换机以外的第一接入交换机发送第一MAC表项,第一MAC表项用于指示将目的MAC地址为特定MAC地址的报文转发给第二接入交换机;
向第二接入交换机发送第二MAC表项,第二MAC表项用于指示将目的MAC地址为特定MAC地址的报文转发给网络节点,以使网络节点将配置信息获取请求报文通过DHCP port转发给OpenStack云平台来获取配置信息。
另一方面,还提供了一种VM配置信息的获取装置,该装置应用于SDN控制器上,SDN控制器分别连接OpenStack云平台和接入交换机,接入交换机连接网络节点或计算节点,计算节点中创建有VM,该装置包括:
接收单元,用于接收VM发送的地址申请报文;
发送单元,用于在接收单元接收到VM发送的地址申请报文后,向VM发送为VM分配的IP地址及用于获取配置信息的路由,该路由包括的下一跳信息为网络节点上的DHCPport IP地址;还用于向VM发送与DHCP port IP地址对应的特定MAC地址,以使VM根据该路由和分配的IP地址,发送目的MAC地址为特定MAC地址的配置信息获取请求报文;还用于向除网络节点所连接的第二接入交换机以外的第一接入交换机发送第一MAC表项,第一MAC表项用于指示将目的MAC地址为特定MAC地址的报文转发给第二接入交换机;还用于向第二接入交换机发送第二MAC表项,第二MAC表项用于指示将目的MAC地址为特定MAC地址的报文转发给网络节点,以使网络节点将配置信息获取请求报文通过DHCP port转发给OpenStack云平台来获取配置信息。
通过本申请的以上技术方案,在结合了OpenStack云平台的SDN网络环境下,通过SDN控制器的控制和指导,VM能够申请IP地址,并获取到用于获取配置信息的路由,根据分配的IP地址和该路由发送配置信息获取请求报文;各个接入交换机根据SDN控制器发送的MAC表项,可以对该配置信息获取请求报文进行转发,从而最终到达网络节点,由网络节点通过DHCP接口转发到OpenStack云平台来获取配置信息,从而,完成了VM通过网络节点向OpenStack云平台获取配置信息的技术方案,使得VM可以根据获取到的配置信息正常运行。
附图说明
图1是本申请实施例示出的SDN控制器执行的VM配置信息的获取方法的流程图;
图2是本申请实施例示出的结合了OpenStack云平台的SDN的网络结构示意图;
图3是本申请实施例示出的VM获取配置信息的流程图;
图4是本申请实施例示出的VM配置信息的获取装置的一种结构示意图;
图5是本申请实施例示出的VM配置信息的获取装置的另一种结构示意图;
图6是本申请实施例示出的VM配置信息的获取装置所在SDN控制器的硬件架构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了解决上述问题,本申请以下实施例中提供了一种VM配置信息的获取方法,以及一种可以应用该方法的VM配置信息的获取装置。本申请实施例的VM配置信息的获取方法由SDN控制器来执行,如图1所示,该方法包括以下步骤:
步骤S101,在接收到VM发送的地址申请报文后,向VM发送为VM分配的IP地址及用于获取配置信息的路由,该路由包括的下一跳信息为网络节点上的DHCP port(接口)IP地址。
其中,该路由中包括的目的IP地址是OpenStack云平台提供的RESTful服务的IP地址,并且,该路由可以由OpenStack云平台发送给SDN控制器,因此,SDN控制器还需要接收OpenStack云平台发送的用于获取配置信息的路由。
步骤S102,向VM发送与DHCP port IP地址对应的特定MAC地址,以使VM根据该路由和分配的IP地址,发出目的MAC地址为特定MAC地址的配置信息获取请求报文。
VM接收到SDN控制器发来的IP地址和用于获取配置信息的路由后,会设置本设备的IP地址为接收到的IP地址,然后根据该路由发送配置信息获取请求报文。但是,在发送配置信息获取请求报文之前,VM需要获取该路由中作为下一跳信息的DHCP port IP地址对应的MAC地址,因此,会发出用于请求DHCP port IP地址对应的MAC地址的ARP请求报文。
这样,在步骤S102中,SDN控制器在接收到VM发送的用于请求DHCP port IP地址对应的MAC地址的ARP请求报文后,向VM发送携带特定MAC地址的ARP应答报文,从而将与DHCPport IP地址对应的特定MAC地址发送给了VM。
VM获取到与DHCP port IP地址对应的特定MAC地址后,发送配置信息获取请求报文,其中,该配置信息获取请求报文的源MAC地址为VM的MAC地址、源IP地址为VM的IP地址、目的MAC地址为特定MAC地址、目的IP地址为RESTful服务的IP地址。
其中,与DHCP port IP地址对应的特定MAC地址可以由OpenStack云平台发送给SDN控制器,因此,SDN控制器还需要接收OpenStack云平台发送的特定MAC地址。
步骤S103,向除网络节点所连接的第二接入交换机以外的第一接入交换机发送第一MAC表项,第一MAC表项用于指示将目的MAC地址为特定MAC地址的报文转发给第二接入交换机。
VM连接的第一接入交换机接收到VM发出的配置信息获取请求报文后,可以根据本设备上的第一MAC表项,将该配置信息获取请求报文转发给第二接入交换机。其中,第一MAC表项中的MAC地址为特定MAC地址,第二MAC表项中的出接口为第一接入交换机与第二接入交换机之间的隧道。
步骤S104,向第二接入交换机发送第二MAC表项,第二MAC表项用于指示将目的MAC地址为特定MAC地址的报文转发给网络节点,以使网络节点将配置信息获取请求报文通过DHCP port转发给OpenStack云平台来获取配置信息。
网络节点所连接的第二接入交换机接收到第一接入交换机转发来的配置信息获取请求报文后,会将该配置信息获取请求报文转发给网络节点,进而由网络节点通过DHCPport转发给OpenStack云平台。
在实际实施过程中,为了向第二接入交换机发送第二MAC表项,SDN控制器需要预先获取网络节点的主机名与第一接口标识的对应关系,其中,第一接口标识为第二接入交换机上的与网络节点相连的接口的标识。这样,SDN控制器可以通过以下方式向第二接入交换机发送第二MAC表项:确定特定MAC地址对应的网络节点的主机名,根据该对应关系确定网络节点的主机名对应的第一接口标识,向第二接入交换机发送第二MAC表项,其中,第二MAC表项中的MAC地址为特定MAC地址,第二MAC表项中的出接口为第一接口标识。
OpenStack云平台接收到配置信息获取请求报文后,会回复携带VM的配置信息的配置信息获取应答报文,网络节点接收到该配置信息获取应答报文后,需要先获取VM的IP地址对应的MAC地址,此时,网络节点会发出用于请求VM的IP地址对应的MAC地址的ARP请求报文,第二接入交换机接收到该ARP请求报文后上送给SDN控制器。
SDN控制器接收到网络节点发出的用于请求VM的IP地址对应的MAC地址的ARP请求报文后,将该ARP请求报文转发给VM,由VM进行应答;SDN控制器接收VM应答的携带VM的MAC地址的ARP应答报文,将该ARP应答报文转发给网络节点,以使网络节点根据VM的MAC地址,将OpenStack云平台回复的携带有VM的配置信息的配置信息获取应答报文转发给VM,VM根据该配置信息获取应答报文中携带的配置信息进行配置即可。
本申请上述实施例的方法,在结合了OpenStack云平台的SDN网络环境下,通过SDN控制器的控制和指导,VM能够申请IP地址,并获取到用于获取配置信息的路由,根据分配的IP地址和该路由发送配置信息获取请求报文;各个接入交换机根据SDN控制器发送的MAC表项,可以对该配置信息获取请求报文进行转发,从而最终到达网络节点,由网络节点通过DHCP接口转发到OpenStack云平台来获取配置信息,从而,完成了VM通过网络节点向OpenStack云平台获取配置信息的技术方案,使得VM可以根据获取到的配置信息正常运行。
以如图2所示的SDN组网为例进行说明。在如图2所示的SDN中,SDN控制器与OpenStack云平台对接;SDN控制器与各个接入交换机和核心交换机建立Openflow(开放流)通道,通过Openflow协议进行通信。接入交换机1_1连接网络节点,接入交换机1_2连接计算节点。在实际实施过程中,OpenStack云平台可以由Linux服务器来实现。上述网络节点和计算节点均为服务器主机。
网络节点通过运行Neutron-metadata-agent组件和Neutron-ns-metadata-proxy组件,可以将VM发来的配置信息获取请求报文转发给Openstack云平台,以及,将Openstack云平台返回的携带有VM的配置信息的配置信息获取应答报文转发给VM;Openstack云平台上运行nova-api-metadata组件,该nova-api-metadata组件启动了RESTful服务,能够在接收到网络节点转发来的配置信息获取请求报文后,从数据库中读取VM的配置信息,然后将携带有VM的配置信息的应答报文转发给网络节点,再由网络节点转发给VM。
其中,规定的RESTful服务的IP地址为169.254.169.254/32,因此,VM会向该IP地址发送配置信息获取请求报文。
本申请实施例的VM配置信息的获取方法包括以下内容:
SDN控制器上保存有网络节点的主机名与接入交换机1_1上连接网络节点的接口之间的对应关系,如表1所示。
表1
主机名 | 接入交换机的接口ID |
网络节点的主机名:Host2_1 | 接入交换机1_1上连接网络节点的接口P_A |
具体的,可以采用手动静态配置的方式将网络节点的主机名与接入交换机1_1上连接网络节点的接口之间的对应关系配置到SDN控制器上,或者,也可以由SDN控制器采用动态获取的方式来获取该对应关系,本申请对此不做限定。
其中,SDN控制器动态获取网络节点的主机名与接入交换机1_1上连接网络节点的接口之间的对应关系的方式具体如下:
在网络节点上使能LLDP(Link Layer Discovery Protocol,链路层发现协议),这样,网络节点就会发出LLDP报文,其中,该LLDP报文中携带有网络节点的主机名(HostName)Host2_1。网络节点所连接的接入交换机1_1接收到LLDP报文后,将该LLDP报文通过Openflow通道中的packet-in报文上送给SDN控制器。具体的,在上送时,会将LLDP报文和接入交换机1_1接收到该LLDP报文的接口标识P_A通过packet-in报文一起进行上送。这样,SDN控制器从该LLDP报文中解析出网络节点的主机名Host2_1后,即可获取到网络节点的主机名Host2_1与接入交换机1_1上连接网络节点的接口P_A之间的对应关系。
在实际实施过程中,为了使得接入交换机1_1将LLDP报文上送给SDN控制器,SDN控制器可以预先向接入交换机1_1发送如表2所示的流表项,该流表项用于指示将LLDP报文上送给SDN控制器。
表2
这样,接入交换机1_1在接收到网络节点发来的LLDP报文后,将该LLDP报文与如表2所示的流表项进行匹配,命中该流表项后,按照该流表项的动作域,将该LLDP报文上送给SDN控制器。
另外,SDN控制器上还保存有用于获取配置信息的路由,网络节点上的DHCP PortIP地址与MAC地址的对应关系,以及网络节点上的DHCP Port MAC地址与网络节点的主机名的对应关系,这些均是由Openstack云平台发送给SDN控制器的。
基于此,VM获取配置信息的过程如图3所示,包括以下步骤:
步骤S302,VM申请IP地址,并获取用于获取配置信息的路由,其中,该路由包括的目的IP地址是RESTful服务的IP地址,下一跳信息为网络节点上的DHCP port(DHCP接口)的IP地址。
具体的,Openstack云平台在计算节点中创建VM,该VM启动后发出地址申请报文,用于申请IP地址。接入交换机1_2接收到该地址申请报文后,根据本地的流表项将该地址申请报文上送给SDN控制器。其中,该流表项是SDN控制器发来的,该流表项用于指示将地址申请报文上送给SDN控制器。
SDN控制器在接收到该地址申请报文后,会为VM分配一个IP地址,记为VM-IP,并将VM-IP以及用于获取配置信息的路由通过接入交换机1_2发送给VM。VM接收到VM-IP以及用于获取配置信息的路由后,设置自身的IP地址为VM-IP,并且,在本设备上配置用于获取配置信息的路由。
其中,上述路由包括的目的IP地址是RESTful服务的IP地址,记为IP3_3,例如,规定的RESTful服务的IP地址为169.254.169.254/32;该路由包括的下一跳信息是网络节点上的DHCP port的IP地址,记为IP3_4。在现有技术中,VM需要将配置信息获取请求报文发送给网络节点上的DHCP Port,网络节点才能将该配置信息获取请求报文转发给Openstack云平台上启动了RESTful服务的nova-api-metadata组件,所以用于获取配置信息的路由包括的目的IP地址是RESTful服务的IP地址,下一跳信息为网络节点上的DHCP port的IP地址。
步骤S304,VM获取DHCP port的IP地址对应的MAC地址。
在按照用于获取配置信息的路由发送配置信息获取请求报文之前,VM首先需要获取该路由中作为下一跳信息的DHCP port IP地址IP3_4对应的MAC地址,该MAC地址即为DHCP port的MAC地址。此时,VM会发出用于请求IP3_4对应的MAC地址的ARP请求报文,接入交换机1_2接收到该ARP请求报文后,根据本地的流表项将该ARP请求报文上送给SDN控制器。其中,该流表项是SDN控制器发来的,该流表项用于指示将ARP报文上送给SDN控制器。
SDN控制器在接收到该ARP请求报文后,若确定该ARP请求报文不是网络节点发出的,则会对该ARP请求报文进行代答,在查找到与DHCP port IP地址IP3_4对应的MAC地址后,假设查找到的MAC地址记为MAC4_1,将携带有MAC4_1的ARP应答报文通过接入交换机1_2发送给VM。或者,另一种情况下,SDN控制器对接收到的任何ARP请求报文均会进行代答,此时,SDN控制器接收到该ARP请求报文后对该ARP请求报文进行代答,在查找到与DHCP portIP地址IP3_4对应的MAC地址MAC4_1后,将携带有MAC4_1的ARP应答报文通过接入交换机1_2发送给VM。从而,VM获取到了与IP3_4对应的MAC地址MAC4_1。
另外,SDN控制器在查找到与IP3_4对应的MAC地址MAC4_1后,还会向各个接入交换机发送包含MAC4_1的MAC表项,用于指导目的MAC地址为MAC4_1的报文转发。其中,发送给网络节点所连接的接入交换机1_1的MAC表项,如表3-1所示;发送给接入交换机1_2的MAC表项,如表3-2所示。
表3-1
MAC地址 | 出接口 |
MAC4_1 | 接入交换机1_1上的接口P_A |
在如表3-1所示的MAC表项中,P_A可以是VXLAN隧道接口,也可以是物理端口,例如,当网络节点与接入交换机1_1之间建立有VXLAN隧道时,P_A为VXLAN隧道接口,当网络节点通过VLAN(Virtual Local Area Network,虚拟局域网)方式连接接入交换机1_1时,P_A为物理端口。由表3-1可见,对于网络节点所连接的接入交换机1_1,发送给该交换机的MAC表项中的出接口为该交换机上连接该网络节点的接口。
表3-2
MAC地址 | 出接口 |
MAC4_1 | 接入交换机1_2与接入交换机1_1之间的VXLAN隧道 |
由表3-2可见,对于除网络节点所连接的接入交换机1_1以外的其它交换机,例如其它交换机为接入交换机1_2,发送给接入交换机1_2的MAC表项中的出接口为:接入交换机1_2与接入交换机1_1之间的VXLAN隧道,即,接入交换机1_2与网络节点所连接的接入交换机1_1之间的VXLAN隧道。
另外,SDN控制器在向接入交换机1_1发送如表3-1所示的MAC表项之前,需要先确定接入交换机1_1上连接网络节点的接口。具体的,SDN控制器可以根据网络节点上的DHCPPort的MAC地址MAC4_1确定网络节点的主机名Host2_1,然后,根据该主机名Host2_1在表1中查找对应的接入交换机接口,查找到的接口即为接入交换机1_1上连接网络节点的接口P_A。后续将接口P_A设置为如表3-1所示的MAC表项中的出接口。
步骤S306,在获取到DHCP port的IP地址对应的MAC地址后,VM按照用于获取配置信息的路由,发送目的MAC地址为该MAC地址的配置信息获取请求报文给网络节点上的DHCP接口。
VM发出用于获取配置信息的配置信息获取请求报文,其中,该报文的源MAC地址是VM的MAC地址VM-MAC、源IP地址是VM的IP地址VM-IP、目的MAC地址是MAC4_1、目的IP地址是IP3_3。接入交换机1_2接收到该配置信息获取请求报文后,根据该报文的目的MAC地址MAC4_1,在如表3-2所示的MAC表项中查找对应的出接口为接入交换机1_2与接入交换机1_1之间的VXLAN隧道,于是,通过该VXLAN隧道将配置信息获取请求报文发送给接入交换机1_1。接入交换机1_1通过VXLAN隧道接收到该配置信息获取请求报文后,根据该报文的目的MAC地址MAC4_1,在如表3-1所示的MAC表项中查找对应的出接口为接口P_A,于是,通过接口P_A将该配置信息获取请求报文发送给网络节点。
步骤S308,网络节点接收到VM发来的配置信息请求报文后,由于该配置信息请求报文的目的IP地址是RESTful服务的IP地址,因此通过DHCP接口将该配置信息请求报文转发给OpenStack云平台,在接收到OpenStack云平台返回的携带有VM配置信息的配置信息获取应答报文后,获取VM的MAC地址,将配置信息获取应答报文发送给VM。
在实际实施过程中,上述配置信息获取请求报文和配置信息获取应答报文具体为TCP报文。
在将配置信息获取应答报文转发给VM之前,网络节点需要根据VM的IP地址VM-IP获取VM的MAC地址,此时,网络节点会发出用于获取VM-IP对应的MAC地址的ARP请求报文,接入交换机1_1接收到该ARP请求报文后,会根据本地的用于指示将ARP报文上送给SDN控制器的流表项,将该ARP请求报文上送给SDN控制器。
SDN控制器接收到该ARP请求报文后,若确定该ARP请求报文是网络节点发出的,则会根据该ARP请求报文中携带的VM的IP地址VM-IP,确定VM所连接的接入交换机为接入交换机1_2,然后将该ARP请求报文发送给接入交换机1_2,由接入交换机1_2将该ARP请求报文转发给VM进行应答。VM接收到该ARP请求报文后,会回复携带有该VM的MAC地址VM-MAC的ARP应答报文。接入交换机1_2接收到该ARP应答报文后,根据本地的用于指示将ARP报文上送给SDN控制器的流表项,将该ARP应答报文上送给SDN控制器。SDN控制器在接收到该ARP应答报文后,根据该ARP应答报文的目的MAC地址MAC4_1确定网络节点的主机名Host2_1,然后,根据该主机名Host2_1在表1中查找对应的接入交换机接口为接入交换机1_1上的接口P_A,然后,将该ARP应答报文通过OpenFlow通道中的packet-out报文发送至接入交换机1_1,从而由接入交换机1_1从接口P_A转发给网络节点。
或者,另一种情况下,SDN控制器对接收到的任何ARP请求报文均会进行代答,此时,SDN控制器接收到该ARP请求报文后进行代答,生成携带有VM的MAC地址VM-MAC的ARP应答报文,根据该ARP应答报文的目的MAC地址MAC4_1确定网络节点的主机名Host2_1,然后,根据该主机名Host2_1在表1中查找对应的接入交换机接口为接入交换机1_1上的接口P_A,然后,将该ARP应答报文通过OpenFlow通道中的packet-out报文发送至接入交换机1_1,从而由接入交换机1_1从接口P_A转发给网络节点。
网络节点接收到该ARP应答报文后,可以获取到VM的ARP信息,即,VM的IP地址VM-IP与VM的MAC地址VM-MAC之间的对应关系,然后,根据该ARP信息将OpenStack云平台发来的配置信息获取应答报文转发给VM,其中,该配置信息获取应答报文的目的MAC地址是VM的MAC地址VM-MAC,目的IP地址是VM的IP地址VM-IP,源MAC地址是DHCP Port MAC地址MAC4_1,源IP地址是RESTful服务的IP地址IP3_3。
由此,完成了VM配置信息的获取过程,VM获取到配置信息后进行相应配置。
与前述VM配置信息的获取方法的实施例相对应,本申请实施例中还提供了一种VM配置信息的获取装置,该VM配置信息的获取装置可以应用在SDN控制器上。如图4所示,本申请实施例的VM配置信息的获取装置中包括:接收单元401和发送单元402,其中:
接收单元401,用于接收VM发送的地址申请报文;
发送单元402,用于在接收单元401接收到VM发送的地址申请报文后,向VM发送为VM分配的IP地址及用于获取配置信息的路由,该路由包括的下一跳信息为网络节点上的DHCP port IP地址;还用于向VM发送与DHCP port IP地址对应的特定MAC地址,以使VM根据该路由和分配的IP地址,发送目的MAC地址为特定MAC地址的配置信息获取请求报文;还用于向除网络节点所连接的第二接入交换机以外的第一接入交换机发送第一MAC表项,第一MAC表项用于指示将目的MAC地址为特定MAC地址的报文转发给第二接入交换机;还用于向第二接入交换机发送第二MAC表项,第二MAC表项用于指示将目的MAC地址为特定MAC地址的报文转发给网络节点,以使网络节点将配置信息获取请求报文通过DHCP port转发给OpenStack云平台来获取配置信息。
其中,接收单元401,还用于接收VM发送的用于请求DHCP port IP地址对应的MAC地址的ARP请求报文;
则,发送单元402具体用于通过以下方式向VM发送与DHCP port IP地址对应的特定MAC地址:在接收单元401接收到VM发送的用于请求DHCP port IP地址对应的MAC地址的ARP请求报文后,向VM发送携带特定MAC地址的ARP应答报文。
如图5所示,本申请实施例中的VM配置信息的获取装置中还可以包括:获取单元403,其中:
获取单元403,用于获取网络节点的主机名与第一接口标识的对应关系,第一接口标识为第二接入交换机上的与网络节点相连的接口的标识;
发送单元402具体用于通过以下方式向第二接入交换机发送第二MAC表项:确定特定MAC地址对应的网络节点的主机名,根据获取单元403获取到的对应关系确定网络节点的主机名对应的第一接口标识,向第二接入交换机发送第二MAC表项,第二MAC表项中的MAC地址为特定MAC地址,第二MAC表项中的出接口为第一接口标识。
其中,获取单元403具体用于通过以下方式获取网络节点的主机名与第一接口标识的对应关系:
接收第二接入交换机上送的由网络节点发出的链路层发现协议LLDP报文、以及第一接口标识,其中,LLDP报文中携带网络节点的主机名;或,接收OpenStack云平台发送的网络节点的主机名与第一接口标识的对应关系;
保存网络节点的主机名与第一接口标识之间的对应关系。
其中,接收单元401,还用于接收网络节点发出的用于请求VM的IP地址对应的MAC地址的ARP请求报文;还用于接收VM应答的携带VM的MAC地址的ARP应答报文;
发送单元402,还用于将接收单元401接收到的用于请求VM的IP地址对应的MAC地址的ARP请求报文转发给VM;还用于将携带VM的MAC地址的ARP应答报文转发给网络节点,以使网络节点根据VM的MAC地址,将OpenStack云平台针对配置信息获取请求报文回复的携带有VM的配置信息的配置信息获取应答报文转发给VM。
其中,接收单元401,还用于接收OpenStack云平台发送的路由、特定MAC地址。
图6为本申请实施例中VM配置信息的获取装置所在SDN控制器的硬件架构示意图,如图6所示,该SDN控制器中可包括处理器601、存储有机器可执行指令的机器可读存储介质602。处理器601与机器可读存储介质602可经由系统总线603通信。并且,通过读取并执行机器可读存储介质602中存储的机器可执行指令,处理器601可实现上述实施例中公开的VM配置信息的获取方法。
这里提到的机器可读存储介质602可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种虚拟机VM配置信息的获取方法,其特征在于,所述方法应用于SDN控制器,所述SDN控制器分别连接OpenStack云平台和接入交换机,所述接入交换机连接网络节点或计算节点,所述计算节点中创建有VM,所述方法包括:
在接收到所述VM发送的地址申请报文后,向所述VM发送为所述VM分配的IP地址及用于获取配置信息的路由,所述路由包括的下一跳信息为所述网络节点上的DHCP接口port IP地址;
向所述VM发送与所述DHCP port IP地址对应的特定MAC地址,以使所述VM根据所述路由和所述分配的IP地址,发送目的MAC地址为所述特定MAC地址的配置信息获取请求报文;
向除所述网络节点所连接的第二接入交换机以外的第一接入交换机发送第一MAC表项,所述第一MAC表项用于指示将目的MAC地址为所述特定MAC地址的报文转发给所述第二接入交换机;
向所述第二接入交换机发送第二MAC表项,所述第二MAC表项用于指示将目的MAC地址为所述特定MAC地址的报文转发给所述网络节点,以使所述网络节点将所述配置信息获取请求报文通过所述DHCP port转发给所述OpenStack云平台来获取配置信息。
2.根据权利要求1所述的方法,其特征在于,所述向所述VM发送与所述DHCP port IP地址对应的特定MAC地址,包括:
在接收到所述VM发送的用于请求所述DHCP port IP地址对应的MAC地址的ARP请求报文后,向所述VM发送携带所述特定MAC地址的ARP应答报文。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述网络节点的主机名与第一接口标识的对应关系,所述第一接口标识为所述第二接入交换机上的与所述网络节点相连的接口的标识;
所述向所述第二接入交换机发送第二MAC表项,包括:
确定所述特定MAC地址对应的所述网络节点的主机名,根据所述对应关系确定所述网络节点的主机名对应的所述第一接口标识,向所述第二接入交换机发送所述第二MAC表项,所述第二MAC表项中的MAC地址为所述特定MAC地址,所述第二MAC表项中的出接口为所述第一接口标识。
4.根据权利要求3所述的方法,其特征在于,所述获取所述网络节点的主机名与第一接口标识的对应关系,包括:
接收所述第二接入交换机上送的由所述网络节点发出的链路层发现协议LLDP报文、以及所述第一接口标识,其中,所述LLDP报文中携带所述网络节点的主机名;或,接收所述OpenStack云平台发送的所述网络节点的主机名与所述第一接口标识的对应关系;
保存所述网络节点的主机名与所述第一接口标识之间的对应关系。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述网络节点发出的用于请求所述VM的IP地址对应的MAC地址的ARP请求报文,将所述ARP请求报文转发给所述VM;
接收所述VM应答的携带所述VM的MAC地址的ARP应答报文,将所述ARP应答报文转发给所述网络节点,以使所述网络节点根据所述VM的MAC地址,将所述OpenStack云平台针对所述配置信息获取请求报文回复的携带有所述VM的配置信息的配置信息获取应答报文转发给所述VM。
6.根据权利要求1所述的方法,其特征在于,所述方法包括:
接收所述OpenStack云平台发送的所述路由、所述特定MAC地址。
7.一种虚拟机VM配置信息的获取装置,其特征在于,所述装置应用于SDN控制器上,所述SDN控制器分别连接OpenStack云平台和接入交换机,所述接入交换机连接网络节点或计算节点,所述计算节点中创建有VM,所述装置包括:
接收单元,用于接收所述VM发送的地址申请报文;
发送单元,用于在所述接收单元接收到所述VM发送的地址申请报文后,向所述VM发送为所述VM分配的IP地址及用于获取配置信息的路由,所述路由包括的下一跳信息为所述网络节点上的DHCP接口port IP地址;还用于向所述VM发送与所述DHCP port IP地址对应的特定MAC地址,以使所述VM根据所述路由和所述分配的IP地址,发送目的MAC地址为所述特定MAC地址的配置信息获取请求报文;还用于向除所述网络节点所连接的第二接入交换机以外的第一接入交换机发送第一MAC表项,所述第一MAC表项用于指示将目的MAC地址为所述特定MAC地址的报文转发给所述第二接入交换机;还用于向所述第二接入交换机发送第二MAC表项,所述第二MAC表项用于指示将目的MAC地址为所述特定MAC地址的报文转发给所述网络节点,以使所述网络节点将所述配置信息获取请求报文通过所述DHCP port转发给所述OpenStack云平台来获取配置信息。
8.根据权利要求7所述的装置,其特征在于,所述接收单元,还用于接收所述VM发送的用于请求所述DHCP port IP地址对应的MAC地址的ARP请求报文;
所述发送单元具体用于通过以下方式向所述VM发送与所述DHCP port IP地址对应的特定MAC地址:在所述接收单元接收到所述VM发送的用于请求所述DHCP port IP地址对应的MAC地址的ARP请求报文后,向所述VM发送携带所述特定MAC地址的ARP应答报文。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:获取单元,其中:
所述获取单元,用于获取所述网络节点的主机名与第一接口标识的对应关系,所述第一接口标识为所述第二接入交换机上的与所述网络节点相连的接口的标识;
所述发送单元具体用于通过以下方式向所述第二接入交换机发送第二MAC表项:确定所述特定MAC地址对应的所述网络节点的主机名,根据所述获取单元获取到的所述对应关系确定所述网络节点的主机名对应的所述第一接口标识,向所述第二接入交换机发送所述第二MAC表项,所述第二MAC表项中的MAC地址为所述特定MAC地址,所述第二MAC表项中的出接口为所述第一接口标识。
10.根据权利要求9所述的装置,其特征在于,所述获取单元具体用于通过以下方式获取所述网络节点的主机名与第一接口标识的对应关系:
接收所述第二接入交换机上送的由所述网络节点发出的链路层发现协议LLDP报文、以及所述第一接口标识,其中,所述LLDP报文中携带所述网络节点的主机名;或,接收所述OpenStack云平台发送的所述网络节点的主机名与所述第一接口标识的对应关系;
保存所述网络节点的主机名与所述第一接口标识之间的对应关系。
11.根据权利要求7所述的装置,其特征在于,
所述接收单元,还用于接收所述网络节点发出的用于请求所述VM的IP地址对应的MAC地址的ARP请求报文;还用于接收所述VM应答的携带所述VM的MAC地址的ARP应答报文;
所述发送单元,还用于将所述接收单元接收到的所述用于请求所述VM的IP地址对应的MAC地址的ARP请求报文转发给所述VM;还用于将所述携带所述VM的MAC地址的ARP应答报文转发给所述网络节点,以使所述网络节点根据所述VM的MAC地址,将所述OpenStack云平台针对所述配置信息获取请求报文回复的携带有所述VM的配置信息的配置信息获取应答报文转发给所述VM。
12.根据权利要求7所述的装置,其特征在于,
所述接收单元,还用于接收所述OpenStack云平台发送的所述路由、所述特定MAC地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710371663.8A CN107547242B (zh) | 2017-05-24 | 2017-05-24 | Vm配置信息的获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710371663.8A CN107547242B (zh) | 2017-05-24 | 2017-05-24 | Vm配置信息的获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107547242A true CN107547242A (zh) | 2018-01-05 |
CN107547242B CN107547242B (zh) | 2019-11-12 |
Family
ID=60966912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710371663.8A Active CN107547242B (zh) | 2017-05-24 | 2017-05-24 | Vm配置信息的获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547242B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109510777A (zh) * | 2018-11-09 | 2019-03-22 | 迈普通信技术股份有限公司 | 流表编排方法、装置及sdn控制器 |
CN110061921A (zh) * | 2019-04-17 | 2019-07-26 | 北京云杉世纪网络科技有限公司 | 一种云平台数据包分发方法及系统 |
CN110233799A (zh) * | 2018-03-05 | 2019-09-13 | 华为技术有限公司 | 一种端口配置的方法和通信设备 |
CN110445841A (zh) * | 2019-07-12 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 一种云物理机挂载云盘的方法、设备以及存储介质 |
CN110855488A (zh) * | 2019-11-13 | 2020-02-28 | 迈普通信技术股份有限公司 | 一种虚拟机接入方法及装置 |
CN111182085A (zh) * | 2018-11-12 | 2020-05-19 | 中移(杭州)信息技术有限公司 | 基于多级流表控制报文转发方法、系统、装置及存储介质 |
CN112236981A (zh) * | 2018-06-07 | 2021-01-15 | 瑞典爱立信有限公司 | 在sdn中配置网络路径 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103812930A (zh) * | 2014-01-16 | 2014-05-21 | 华为技术有限公司 | 一种资源调度的方法及装置 |
CN104486103A (zh) * | 2014-12-03 | 2015-04-01 | 杭州华三通信技术有限公司 | 一种报文传输的方法和设备 |
CN104539743A (zh) * | 2015-01-26 | 2015-04-22 | 中国联合网络通信集团有限公司 | 一种云计算系统及其控制方法 |
CN104780071A (zh) * | 2015-04-21 | 2015-07-15 | 杭州华三通信技术有限公司 | 虚拟交换机的升级方法及装置 |
CN105227344A (zh) * | 2015-08-21 | 2016-01-06 | 武汉烽火网络有限责任公司 | 基于OpenStack的软件定义网络模拟系统及方法 |
CN105429811A (zh) * | 2016-01-11 | 2016-03-23 | 刘昱 | 网络管理系统及方法 |
CN105577417A (zh) * | 2014-11-06 | 2016-05-11 | 杭州华三通信技术有限公司 | 基于vxlan网络的报文转发方法及装置 |
CN105656796A (zh) * | 2014-11-25 | 2016-06-08 | 杭州华三通信技术有限公司 | 实现虚拟扩展局域网三层转发的方法和装置 |
EP3091696A1 (en) * | 2013-12-31 | 2016-11-09 | Huawei Technologies Co., Ltd. | Method and device for implementing virtual machine communication |
-
2017
- 2017-05-24 CN CN201710371663.8A patent/CN107547242B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3091696A1 (en) * | 2013-12-31 | 2016-11-09 | Huawei Technologies Co., Ltd. | Method and device for implementing virtual machine communication |
CN103812930A (zh) * | 2014-01-16 | 2014-05-21 | 华为技术有限公司 | 一种资源调度的方法及装置 |
CN105577417A (zh) * | 2014-11-06 | 2016-05-11 | 杭州华三通信技术有限公司 | 基于vxlan网络的报文转发方法及装置 |
CN105656796A (zh) * | 2014-11-25 | 2016-06-08 | 杭州华三通信技术有限公司 | 实现虚拟扩展局域网三层转发的方法和装置 |
CN104486103A (zh) * | 2014-12-03 | 2015-04-01 | 杭州华三通信技术有限公司 | 一种报文传输的方法和设备 |
CN104539743A (zh) * | 2015-01-26 | 2015-04-22 | 中国联合网络通信集团有限公司 | 一种云计算系统及其控制方法 |
CN104780071A (zh) * | 2015-04-21 | 2015-07-15 | 杭州华三通信技术有限公司 | 虚拟交换机的升级方法及装置 |
CN105227344A (zh) * | 2015-08-21 | 2016-01-06 | 武汉烽火网络有限责任公司 | 基于OpenStack的软件定义网络模拟系统及方法 |
CN105429811A (zh) * | 2016-01-11 | 2016-03-23 | 刘昱 | 网络管理系统及方法 |
Non-Patent Citations (1)
Title |
---|
李莉等: "基于OpenStack云平台Neutron关键技术研究", 《长春理工大学学报(自然科学版)》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233799A (zh) * | 2018-03-05 | 2019-09-13 | 华为技术有限公司 | 一种端口配置的方法和通信设备 |
US11757794B2 (en) | 2018-03-05 | 2023-09-12 | Huawei Technologies Co., Ltd. | Port configuration method and communications device |
CN112236981A (zh) * | 2018-06-07 | 2021-01-15 | 瑞典爱立信有限公司 | 在sdn中配置网络路径 |
US11502944B2 (en) | 2018-06-07 | 2022-11-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Configuring a network path in an SDN |
CN109510777A (zh) * | 2018-11-09 | 2019-03-22 | 迈普通信技术股份有限公司 | 流表编排方法、装置及sdn控制器 |
CN109510777B (zh) * | 2018-11-09 | 2022-02-22 | 迈普通信技术股份有限公司 | 流表编排方法、装置及sdn控制器 |
CN111182085A (zh) * | 2018-11-12 | 2020-05-19 | 中移(杭州)信息技术有限公司 | 基于多级流表控制报文转发方法、系统、装置及存储介质 |
CN111182085B (zh) * | 2018-11-12 | 2022-06-28 | 中移(杭州)信息技术有限公司 | 基于多级流表控制报文转发方法、系统、装置及存储介质 |
CN110061921A (zh) * | 2019-04-17 | 2019-07-26 | 北京云杉世纪网络科技有限公司 | 一种云平台数据包分发方法及系统 |
CN110061921B (zh) * | 2019-04-17 | 2021-07-06 | 北京云杉世纪网络科技有限公司 | 一种云平台数据包分发方法及系统 |
CN110445841A (zh) * | 2019-07-12 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 一种云物理机挂载云盘的方法、设备以及存储介质 |
CN110855488A (zh) * | 2019-11-13 | 2020-02-28 | 迈普通信技术股份有限公司 | 一种虚拟机接入方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107547242B (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107547242A (zh) | Vm配置信息的获取方法及装置 | |
US10298538B2 (en) | Address resolution | |
CN103595648B (zh) | 用于在服务器的接收侧进行负载均衡的方法和系统 | |
US20140250220A1 (en) | Optimizing Handling of Virtual Machine Mobility in Data Center Environments | |
CN106712988B (zh) | 一种虚拟网络管理方法及装置 | |
CN109802985A (zh) | 数据传输方法、装置、设备及可读取存储介质 | |
CN108965092B (zh) | 一种数据报文传输方法和装置 | |
CN104350467A (zh) | 用于使用sdn的云安全性的弹性实行层 | |
CN109428749A (zh) | 网络管理方法及相关设备 | |
CN106412142A (zh) | 一种资源设备地址获取方法及装置 | |
US10257086B2 (en) | Source imposition of network routes in computing networks | |
CN104468368B (zh) | 配置bgp邻居的方法及装置 | |
CN108768692A (zh) | 一种网络创建方法、相关设备及系统 | |
JP6633775B2 (ja) | パケット伝送 | |
CN105721306A (zh) | 一种配置信息的传输方法和装置 | |
CN106464564A (zh) | 网络分组封装和路由 | |
CN107547391A (zh) | 一种报文传输方法和装置 | |
CN109067784A (zh) | 一种vxlan中防欺骗的方法和设备 | |
CN107547346B (zh) | 一种报文传输方法和装置 | |
JP2019521619A (ja) | パケット転送 | |
CN106878136A (zh) | 一种报文转发方法及装置 | |
CN101616029A (zh) | 一种实现网络拓扑发现的方法及系统 | |
CN108259218A (zh) | 一种ip地址分配方法和装置 | |
CN106209648A (zh) | 跨虚拟可扩展局域网的组播数据报文转发方法和设备 | |
CN109379241A (zh) | 一种路径信息确定方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |