CN111988223A - 虚拟机迁移方法与网络系统 - Google Patents
虚拟机迁移方法与网络系统 Download PDFInfo
- Publication number
- CN111988223A CN111988223A CN202010836290.9A CN202010836290A CN111988223A CN 111988223 A CN111988223 A CN 111988223A CN 202010836290 A CN202010836290 A CN 202010836290A CN 111988223 A CN111988223 A CN 111988223A
- Authority
- CN
- China
- Prior art keywords
- routing
- migration
- virtual machine
- protocol
- information
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种虚拟机迁移方法与网络系统。虚拟机迁移方法包括:响应虚拟机待迁移指令,第一路由设备根据目标虚拟机的第一地址解析协议信息生成第一主机路由,并根据第一主机路由与目标虚拟机的第一MAC迁移扩展团体属性生成第一路由信息;第一路由设备使用迁移范围对应的预设协议封装并发送第一路由信息至第三路由设备;响应虚拟机已迁移指令,第二路由设备根据目标虚拟机的第二地址解析协议生成第二主机路由,并根据第二主机路由与目标虚拟机的第二MAC迁移扩展团体属性生成第二路由信息;第二路由设备使用预设协议封装并发送第二路由信息至第三路由设备。本公开实施例可以降低虚拟机迁移成本。
Description
技术领域
本公开涉及互联网技术领域,具体而言,涉及一种虚拟机迁移方法与应用该虚拟机迁移方法的网络系统。
背景技术
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机迁移是指将虚拟机从其接入的网关设备迁到数据中心网络的另一台网关设备下。
传统的虚拟机迁移方案通常使用EVPN-VXLAN方式实现。虚拟机迁移前,VXLAN(Virtual Extensible Local Area Network,虚拟扩展局域网)检测到虚拟机迁移消息时,通过MP-BGP(Multi Protocol-Border Gateway Protocol,多协议扩展边界网关协议)中的EVPN(Ethernet Virtual Private Network,以太网虚拟专用网)封装根据待迁移虚拟机的ARP(Address Resolution Protocol,地址解析协议)生成的MAC/IP路由,在封装后的路由中携带MAC迁移扩展团体属性后,将封装后的路由与其对应的MAC迁移扩展团体属性一起通过BGP(Border Gateway Protocol,边界网关协议)路由设备发送到远端的VXLAN隧道端点设备,例如本网关的交换机。虚拟机迁移后,虚拟机当前所在的VXLAN使用同样方式将新迁入虚拟机的MAC/IP路由和对应的MAC迁移扩展团体属性封装并发送到隧道端点设备,以使隧道端点设备根据MAC迁移扩展团体属性的大小判断虚拟机的当前位置。
由于需要支持VXLAN功能,这种虚拟机迁移技术的使用范围受限,且由于VXLAN和EVPN的开启会占用更多资源,VXLAN的配置复杂、维护难度高,因此现有的虚拟机迁移技术的稳定性、抗压性均较低,成本较高。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种虚拟机迁移方法与虚拟机迁移装置,用于至少在一定程度上克服由于相关技术的限制和缺陷而导致的虚拟机迁移成本较高的问题。
根据本公开实施例的第一方面,提供一种虚拟机迁移方法,包括:响应虚拟机待迁移指令,第一路由设备根据目标虚拟机的第一地址解析协议信息生成第一主机路由,并根据所述第一主机路由与所述目标虚拟机的第一MAC迁移扩展团体属性生成第一路由信息;所述第一路由设备使用迁移范围对应的预设协议封装并发送所述第一路由信息至第三路由设备;响应虚拟机已迁移指令,第二路由设备根据所述目标虚拟机的第二地址解析协议生成第二主机路由,并根据所述第二主机路由与所述目标虚拟机的第二MAC迁移扩展团体属性生成第二路由信息;所述第二路由设备使用所述预设协议封装并发送所述第二路由信息至所述第三路由设备;根据所述第二主机路由与所述目标虚拟机的第二MAC迁移扩展团体属性生成第二路由信息。
在本公开的一种示例性实施例中,在所述迁移范围为域间迁移时,所述预设协议为外部边界网关协议,所述第一路由设备使用迁移范围对应的预设协议封装并发送所述第一路由信息至第三路由设备包括:
所述第一路由设备将所述第一路由信息写入外部边界网关协议路由表,以通过边界网关协议设备的状态更新报文发送所述第一路由信息至所述第三路由设备。
在本公开的一种示例性实施例中,在所述迁移范围为域内迁移时,所述预设协议为内部边界网关路由协议,所述第一路由设备使用迁移范围对应的预设协议封装并发送所述第一路由信息至第三路由设备包括:
所述第一路由设备将所述第一路由信息写入内部边界网关协议路由表,以通过边界网关协议设备的状态更新报文发送所述第一路由信息至所述第三路由设备。
在本公开的一种示例性实施例中,还包括:
所述第三路由设备在根据接收到的第一状态更新报文识别到所述第一路由信息时,解析所述第一路由信息以记录所述第一主机路由与所述第一MAC迁移扩展团体属性的对应关系;
所述第三路由设备在根据接收到的第二状态更新报文识别到所述第二路由信息时,解析所述第二路由信息以记录所述第二主机路由与所述第二MAC迁移扩展团体属性的对应关系;
在所述第二MAC迁移扩展团体属性大于所述第一MAC迁移扩展团体属性时,所述第三路由设备删除所述第一MAC迁移扩展团体属性与所述第一主机路由的对应关系纪录。
在本公开的一种示例性实施例中,在所述迁移范围为域内迁移时,所述预设协议为中间系统到中间系统路由协议,所述第一路由设备使用迁移范围对应的预设协议封装并发送所述第一路由信息至第三路由设备包括:
所述第一路由设备将所述第一路由信息写入中间系统到中间系统协议路由表;
所述第一路由设备根据预设TLV格式封装所述第一路由信息,以使中间系统到中间系统协议路由设备通过发送TLV信息将所述第一路由信息发送至所述第三路由设备。
在本公开的一种示例性实施例中,所述预设TLV格式包括:
类型识别符-长度信息-IP地址-MAC迁移扩展团体属性-备用字节。
在本公开的一种示例性实施例中,还包括:
所述第三路由设备在根据接收到的第一TLV信息识别到所述第一路由信息时,解析所述第一路由信息以记录所述第一主机路由与所述第一MAC迁移扩展团体属性的对应关系;
所述第三路由设备在根据接收到的第二TLV信息识别到所述第二路由信息时,解析所述第二路由信息以记录所述第二主机路由与所述第二MAC迁移扩展团体属性的对应关系;
在所述第二MAC迁移扩展团体属性大于所述第一MAC迁移扩展团体属性时,所述第三路由设备删除所述第一MAC迁移扩展团体属性与所述第一主机路由的对应关系纪录。
根据本公开实施例的第二方面,提供一种网络系统,包括:
第一路由设备,用于响应虚拟机待迁移指令根据目标虚拟机的第一地址解析协议信息生成第一主机路由,并根据所述第一主机路由与所述目标虚拟机的第一MAC迁移扩展团体属性生成第一路由信息,使用迁移范围对应的预设协议封装并发送所述第一路由信息至第三路由设备;
第二路由设备,用于响应虚拟机已迁移指令根据所述目标虚拟机的第二地址解析协议生成第二主机路由,并根据所述第二主机路由与所述目标虚拟机的第二MAC迁移扩展团体属性生成第二路由信息,使用所述预设协议封装并发送所述第二路由信息至所述第三路由设备;
第三路由设备,与所述第一路由设备和所述第三路由设备通讯连接,用于接收并解析所述第一路由信息和所述第二路由信息,以在所述第二MAC迁移扩展团体属性大于所述第一MAC迁移扩展团体属性时删除所述第一路由信息。
在本公开的一种示例性实施例中,在所述迁移范围为域间迁移时,所述预设协议为外部边界网关协议,所述第一路由设备设置为:将所述第一路由信息写入外部边界网关协议路由表,以通过边界网关协议设备的状态更新报文发送所述第一路由信息至所述第三路由设备。
在本公开的一种示例性实施例中,在所述迁移范围为域内迁移时,所述预设协议为中间系统到中间系统路由协议,所述第一路由设备设置为:所述第一路由设备将所述第一路由信息写入中间系统到中间系统协议路由表并根据预设TLV格式封装所述第一路由信息,以使中间系统到中间系统协议路由设备通过发送TLV信息将所述第一路由信息发送至所述第三路由设备。
在本公开的一种示例性实施例中,在所述迁移范围为域内迁移时,所述预设协议为内部边界网关协议,所述第一路由设备设置为:将所述第一路由信息写入内部边界网关协议路由表,以通过边界网关协议设备的状态更新报文发送所述第一路由信息至所述第三路由设备。
本公开实施例通过直接根据虚拟机的ARP信息生成虚拟机的主机路由,并在主机路由中携带虚拟机的MAC迁移扩展团体属性以生成路由信息,可以在迁移前和迁移后仅通过迁移范围对应的预设协议的常规信息发送流程向网关路由设备传播该路由信息,不要求网络设备支持VXLAN协议,无需对网络设备进行大规模改造,也无需新增或开启新的路由协议,能够极大降低设备内存压力、提高路由设备的CPU使用效率、降低虚拟机迁移的成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是应用于本公开实施例的网络系统的示意图。
图2是本公开实施例中一种虚拟机迁移方法的流程图。
图3是本公开一个实施例中路由设备的交互示意图。
图4是本公开另一个实施例中路由设备的交互示意图。
图5是本公开再一个实施例中路由设备的交互示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参照附图描述示例性实施方式。在任何方便的地方,在整个附图中使用相同的附图标记来表示相同或相似的部分。虽然本文描述了所公开原理的示例和特征,但是在不脱离所公开实施方式的精神和范围的情况下,修改、适应性改编和其他实现方式是可以的。
在此阐述了所示出的部件和步骤以说明所示出的示例性实施方式,并且应该预期,正在进行的技术开发将改变执行特定功能的方式。这些示例呈现在本文中用于说明的目的而非限制的目的。此外,为了便于描述,本文中任意限定了功能构建块的边界。可以限定可替选边界,只要适当地执行指定的功能及其关系即可。基于本文中包含的教导,可替选方案(包括本文中描述的那些的等同物、扩展、变型、偏差等)对相关领域的技术人员而言将是明显的。这些可替选方案落入所公开实施方式的范围和精神内。
下面结合附图对本公开示例实施方式进行详细说明。
图1是应用于本公开实施例的网络系统的示意图。
参考图1,网络系统100可以包括:
第一路由设备11,连接迁移前的虚拟机VMn_A;
第二路由设备12,连接迁移后的虚拟机VMn_A;
第三路由设备13,与第一路由设备11和第二路由设备12通讯连接,用于记录并识别虚拟机迁移前后的路由地址,并根据虚拟机迁移后的路由地址转发报文。
其中,VMn_A和VMn_B均指代同一虚拟机,是对同一虚拟机迁移前后的区别命名。
在本公开实施例中,第三路由设备13例如可以为交换机,第一路由设备11和第二路由设备12均在交换机13对应的网段下。
当虚拟机从第一路由设备11连接的局域网中迁移到第二路由设备12连接的局域网中时,第一路由设备11可以响应虚拟机待迁移指令根据目标虚拟机的第一地址解析协议信息生成第一主机路由,并根据第一主机路由与目标虚拟机的第一MAC迁移扩展团体属性生成第一路由信息,使用迁移范围对应的预设协议封装并发送第一路由信息至第三路由设备。第二路由设备12可以响应虚拟机已迁移指令根据目标虚拟机的第二地址解析协议生成第二主机路由,并根据第二主机路由与目标虚拟机的第二MAC迁移扩展团体属性生成第二路由信息,使用预设协议封装并发送第二路由信息至第三路由设备。第三路由设备13可以接收并解析第一路由信息和第二路由信息,以在第二MAC迁移扩展团体属性大于第一MAC迁移扩展团体属性时删除第一路由信息,并在接收到发送到目标虚拟机的报文时,根据第二路由信息转发该报文。
下面对网络系统100的运行方式进行详细说明。
图2是本公开实施例中一种虚拟机迁移方法的流程图。图2所示方法可以应用于网络系统100,以实现虚拟机从第一路由设备11连接的局域网迁移到第二路由设备12连接的局域网。
参考图2,虚拟机迁移方法200可以包括:
步骤S21,响应虚拟机待迁移指令,第一路由设备根据目标虚拟机的第一地址解析协议信息生成第一主机路由,并根据所述第一主机路由与所述目标虚拟机的第一MAC迁移扩展团体属性生成第一路由信息;
步骤S22,所述第一路由设备使用迁移范围对应的预设协议封装并发送所述第一路由信息至第三路由设备;
步骤S23,响应虚拟机已迁移指令,第二路由设备根据所述目标虚拟机的第二地址解析协议生成第二主机路由,并根据所述第二主机路由与所述目标虚拟机的第二MAC迁移扩展团体属性生成第二路由信息;
步骤S24,所述第二路由设备使用所述预设协议封装并发送所述第二路由信息至所述第三路由设备。
图2所示实施例通过直接根据虚拟机的ARP信息生成虚拟机的主机路由,并在主机路由中携带虚拟机的MAC迁移扩展团体属性以生成路由信息,可以在迁移前和迁移后仅通过迁移范围对应的预设协议的常规信息发送流程向网关路由设备传播该路由信息,不要求网络设备支持VXLAN协议,无需对网络设备进行大规模改造,也无需新增或开启新的路由协议,能够极大降低设备内存压力、提高路由设备的CPU使用效率、降低虚拟机迁移的成本。
下面,对图2所示实施例中的各步骤进行详细说明。
在步骤S21,响应虚拟机待迁移指令,第一路由设备根据目标虚拟机的第一地址解析协议信息生成第一主机路由,并根据所述第一主机路由与所述目标虚拟机的第一MAC迁移扩展团体属性生成第一路由信息。
与相关技术不同的是,本申请实施例无需使用MAC/IP地址标识目标虚拟机的路由信息,而是直接使用虚拟机的主机路由(即32位掩码长度的地址)标识虚拟机的路由信息。虚拟机的主机路由与虚拟机的ARP表项对应,能够指示满足本路由的流量的转发方式。由于主机路由仅指示对应主机,因此可以在三层实现对目标虚拟机的唯一定位。
在图1所示网络系统100中,可以首先对第一路由设备11和第二路由设备12开启主机路由功能。虚拟机迁移前,第一路由设备11根据虚拟机VMn_A的ARP信息生成第一主机路由;虚拟机迁移后,虚拟机VMn_B的ARP信息变更,第二路由设备12根据虚拟机VMn_B的ARP信息生成第二主机路由。各路由设备生成主机路由后,将主机路由下发给本路由设备的路由进程等选优处理后下发内核。
在步骤S22,所述第一路由设备使用迁移范围对应的预设协议封装并发送所述第一路由信息至第三路由设备。
由于组网不同,路由设备之间的路由交互协议可能不同,因此,在本公开实施例中,根据虚拟机的迁移范围(域内迁移或域间迁移)来确定发送路由信息的路由协议。
图3是本公开一个实施例中路由设备的交互示意图。
参考图3,当迁移范围为域间迁移时,可以使用EBGP(外部边界网关协议)发送路由信息。即,第一路由设备11将第一路由信息写入EBGP路由表,以通过EBGP设备的UPDATE报文发送第一路由信息至第三路由设备13。
首先,第一路由设备11可以将第一主机路由重定向到EBGP路由表中,在此处为此BGP路由指定MAC迁移扩展团体属性(即第一MAC迁移扩展团体属性),即为此路由挂载第一MAC迁移额的扩展团体属性。在本步骤中,MAC迁移扩展团体属性的封装格式和使用方法与VXLAN实现的MAC迁移方式相同。
在EBGP路由设备通过BGP邻居向域外对端发布该第一路由信息时,第一路由设备11将第一扩展团体属性添加到EBGP路由设备的UPDATE报文中发布到第三路由设备13。第三路由设备13通过常规方式接收该UPDATE报文,解析该包括第一扩展团体属性和第一主机路由的第一路由信息,获得第一MAC迁移扩展团体属性和第一主机路由并保存,将第一MAC迁移扩展团体属性与第一主机路由绑定。
图4是本公开另一个实施例中路由设备的交互示意图。
参考图4,在另一个实施例中,当迁移范围为域内迁移时,可以使用IBGP(内部边界网关协议)发送路由信息。即,第一路由设备11将第一路由信息写入IBGP路由表,以通过IBGP设备的UPDATE报文发送第一路由信息至第三路由设备13。
与上个实施例相似,第一路由设备11将第一主机路由重定向到IBGP路由表中,并为此BGP路由指定MAC迁移扩展团体属性(即第一MAC迁移扩展团体属性)。在IBGP路由设备通过BGP邻居向域内对端发布该第一路由信息时,第一路由设备11将第一扩展团体属性添加到IBGP路由设备的UPDATE报文中发布到第三路由设备13。第三路由设备13通过常规方式接收该UPDATE报文,解析该包括第一扩展团体属性和第一主机路由的第一路由信息,获得第一MAC迁移扩展团体属性和第一主机路由并保存,将第一MAC迁移扩展团体属性与第一主机路由绑定。
通过为BGP重新定义路由通告格式,在BGP的单播路由中添加MAC迁移扩展团体属性以发向对端设备(第三路由设备13),可以利用现有BGP的通讯链路实现第一路由信息的发送,无需开启额外的通讯协议,也无需改造网络以支持更多通讯协议,可以极大降低成本。
图5是本公开再一个实施例中路由设备的交互示意图。
参考图5,在本公开的再一个实施例中,在迁移范围为域内迁移时,预设协议为中间系统到中间系统(Intermediate System-to-Intermediate System,IS-IS)路由协议,第一路由设备11将第一路由信息写入IS-IS协议路由表,并根据预设TLV(Type-Length-Value)格式封装第一路由信息,以使IS-IS协议路由设备通过发送TLV信息将第一路由信息发送至第三路由设备13。
在IS-IS部署的域内网络设备中,重定向第一主机路由到IS-IS协议中,并为此第一主机路由绑定MAC迁移扩展团体属性,即第一MAC迁移扩展团体属性(此属性的赋值方式和规则与VXLAN网络部署中的迁移属性规则相同)。在IS-IS邻居关系建立后,为IS-IS定义并封装新的TLV类型(在添加VXLAN头之后,在VXLAN头中的报文和未加VXLAN封装时的报文相同),将报文送出。
在一个实施例中,预设TLV格式例如可以为“类型识别符-长度信息-IP地址-MAC迁移扩展团体属性-备用字节”。比如,可以设置类型识别符的编号为200,长度依据协栈(IPv4或者IPv6)不同而不同。
在IP地址使用IPv4标准时,设置长度为10,预设TLV格式例如可以为:
TLV类型编号(200)+长度(10)+IPv4地址(4字节)+MAC迁移扩展团体属性值(4字节)+备用字节(2字节)。
在IP地址使用Ipv6标准时,设置长度为22,预设TLV格式例如可以为:
TLV类型编号(200)+长度(22)+IPv6地址(16字节)+MAC迁移扩展团体属性值(4字节)+备用字节(2字节)。
以上TLV信息的格式仅为示例,本公开不以此为限。
IS-IS路由设备将此TLV信息通过常规方式发布给第三路由设备13。第三路由设备13通过常规方式接收该TLV信息,解析该包括第一扩展团体属性和第一主机路由的第一路由信息,获得第一MAC迁移扩展团体属性和第一主机路由并保存,将第一MAC迁移扩展团体属性与第一主机路由绑定。
通过在IS-IS发布路由中引入新的TLV类型封装,可以利用现有IS-IS的通讯链路实现第一路由信息的发送,无需开启额外的通讯协议,也无需改造网络以支持更多通讯协议,可以极大降低成本。
在步骤S23和步骤S24,第二路由设备12发送第二路由信息至第三路由设备13的方式与第一路由设备11发送第一路由信息至第三路由设备13的方式相同,本公开于此不再赘述。
第三路由设备13接收到第二路由信息并解析后,记录有得到第一主机路由与所述第一MAC迁移扩展团体属性的对应关系、第二主机路由与所述第二MAC迁移扩展团体属性的对应关系,此时,第三路由设备13可以在第二MAC迁移扩展团体属性大于第一MAC迁移扩展团体属性时,删除第一MAC迁移扩展团体属性与第一主机路由的对应关系纪录。
虚拟机的MAC迁移扩展团体属性(MAC Mobility Extended Communities)里面包含一个序列号,每次迁移,序列号均递增,远端(第三路由设备13)在收到一个比当前序列号更大的消息时更新路由表,将下一跳指向迁移后的路由(即第二主机路由),并撤销之前的路由。
由此,第三路由设备13识别到迁移后的虚拟机的最新路由地址,后续按照第二路由地址转发目的地为该虚拟机的报文,成功实现虚拟机迁移。
综上所述,本公开针对网络部署中的虚拟机的迁移范围,先在设备第一路由设备、第二路由设备中开启主机路由功能。主机路由功能针对设备学到的arp生成主机路由,也就是32位掩码长度的路由。生成主机路由之后,主机路由下发给路由进程等选优处理之后下发内核。在生成主机路由之后,此主机路由和本机的arp表象对应,能够指示满足本路由的流量应当怎样转发。由于组网不同,路由设备之间的路由交互协议可能不同,本公开在域间协议中使用BGP,在域内协议中使用IS-IS。首先,如果虚拟机迁移发生在域间,使用EBGP协议完成支持。配置命令,将主机路由重定向到BGP的路由表中,在此处为此BGP路由指定MAC迁移属性,即为此路由挂载MAC迁移额的扩展团体属性(MAC迁移扩展团体属性的封装格式和使用方法与VXLAN实现的MAC迁移方式中的相同),在路由通过BGP邻居向对端发布此路由时候,将此扩展团体属性添加到UPDATE报文中发布。由于不需要开启MPBGP,为BGP重新定义一种路由通告格式,即在单播路由中添加MAC迁移扩展团体属性,并发向对端设备。在第三路由设备收到此路由之后同样解析MAC迁移属性,并保存,此属性和本路由绑定。在虚拟机发生迁移之后,第三路由设备从第一路由设备收到相同的主机路由(带有相同的MAC迁移属性的相同网段路由),之后会使用现有VXLAN虚拟机迁移实现方式中的优选方式选优,此处不在赘述,通过优选之后实现域间网络部署的虚拟机迁移。另一方面,在域内网络中使用IBGP或者IS-IS网络部署实现。IBGP的部署与上述方案相同不再描述。在IS-IS部署的域内网络设备中,重定向主机路由到IS-IS协议中,并为此主机路由绑定MAC迁移属性(此属性的赋值方式和规则与VXLAN网络部署中的迁移属性规则相同),在邻居建立之后,为IS-IS定义并封装新的TLV类型,将报文送出。新的TLV类型,比如,编号为200,长度依据协栈(IPv4或者IPv6)不同,IPv4长度为10,格式为TLV类型+长度+4字节IPv4地址+4字节迁移属性值+2字节备用。IPv6长度为22,格式为TLV类型+长度+16字节IPv6地址+4字节迁移属性值+2字节备用。将此TLV发布给RT_3,RT_3收到此路由之后解析这种TLV,并解析内部的MAC迁移属性,将此MAC迁移属性与路由绑定。在虚拟机发生迁移之后,第三路由设备从第一路由设备收到相同的主机路由(带有相同的MAC迁移属性的相同网段路由),之后会使用现有VXLAN虚拟机迁移实现方式中的优选方式选优,此处不在赘述,通过优选之后实现域间网络部署的虚拟机迁移。
本公开实施例通过使用主机路由携带MAC迁移属性实现虚拟机迁移,在BGP单播路由发布时引入MAC迁移扩展团体属性,并支持解析,在IS-IS发布路由中引入包含MAC迁移扩展团体属性以及对应的网段的TLV类型封装,并支持解析,可以无需改动现有设备的组网结构,对现有网络设备简单升级即可实现部署,省去网络改造成本,很大程度减小了维护压力;由于没有新增和开启新的路由协议,还可以提高设备内存、CPU使用效率,进而降低网络运营成本。
上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和构思由权利要求指出。
Claims (10)
1.一种虚拟机迁移方法,其中包括:
响应虚拟机待迁移指令,第一路由设备根据目标虚拟机的第一地址解析协议信息生成第一主机路由,并根据所述第一主机路由与所述目标虚拟机的第一MAC迁移扩展团体属性生成第一路由信息;
所述第一路由设备使用迁移范围对应的预设协议封装并发送所述第一路由信息至第三路由设备;
响应虚拟机已迁移指令,第二路由设备根据所述目标虚拟机的第二地址解析协议生成第二主机路由,并根据所述第二主机路由与所述目标虚拟机的第二MAC迁移扩展团体属性生成第二路由信息;
所述第二路由设备使用所述预设协议封装并发送所述第二路由信息至所述第三路由设备。
2.如权利要求1所述的虚拟机迁移方法,其中在所述迁移范围为域间迁移时,所述预设协议为外部边界网关协议,所述第一路由设备使用迁移范围对应的预设协议封装并发送所述第一路由信息至第三路由设备包括:
所述第一路由设备将所述第一路由信息写入外部边界网关协议路由表,以通过边界网关协议设备的状态更新报文发送所述第一路由信息至所述第三路由设备。
3.如权利要求1所述的虚拟机迁移方法,其中在所述迁移范围为域内迁移时,所述预设协议为内部边界网关路由协议,所述第一路由设备使用迁移范围对应的预设协议封装并发送所述第一路由信息至第三路由设备包括:
所述第一路由设备将所述第一路由信息写入内部边界网关协议路由表,以通过边界网关协议设备的状态更新报文发送所述第一路由信息至所述第三路由设备。
4.如权利要求2或3所述的虚拟机迁移方法,其中还包括:
所述第三路由设备在根据接收到的第一状态更新报文识别到所述第一路由信息时,解析所述第一路由信息以记录所述第一主机路由与所述第一MAC迁移扩展团体属性的对应关系;
所述第三路由设备在根据接收到的第二状态更新报文识别到所述第二路由信息时,解析所述第二路由信息以记录所述第二主机路由与所述第二MAC迁移扩展团体属性的对应关系;
在所述第二MAC迁移扩展团体属性大于所述第一MAC迁移扩展团体属性时,所述第三路由设备删除所述第一MAC迁移扩展团体属性与所述第一主机路由的对应关系纪录。
5.如权利要求1所述的虚拟机迁移方法,其中在所述迁移范围为域内迁移时,所述预设协议为中间系统到中间系统路由协议,所述第一路由设备使用迁移范围对应的预设协议封装并发送所述第一路由信息至第三路由设备包括:
所述第一路由设备将所述第一路由信息写入中间系统到中间系统协议路由表;
所述第一路由设备根据预设TLV格式封装所述第一路由信息,以使中间系统到中间系统协议路由设备通过发送TLV信息将所述第一路由信息发送至所述第三路由设备。
6.如权利要求5所述的虚拟机迁移方法,其中所述预设TLV格式包括:
类型识别符-长度信息-IP地址-MAC迁移扩展团体属性-备用字节。
7.如权利要求5或6所述的虚拟机迁移方法,其中还包括:
所述第三路由设备在根据接收到的第一TLV信息识别到所述第一路由信息时,解析所述第一路由信息以记录所述第一主机路由与所述第一MAC迁移扩展团体属性的对应关系;
所述第三路由设备在根据接收到的第二TLV信息识别到所述第二路由信息时,解析所述第二路由信息以记录所述第二主机路由与所述第二MAC迁移扩展团体属性的对应关系;
在所述第二MAC迁移扩展团体属性大于所述第一MAC迁移扩展团体属性时,所述第三路由设备删除所述第一MAC迁移扩展团体属性与所述第一主机路由的对应关系纪录。
8.一种网络系统,其中包括:
第一路由设备,用于响应虚拟机待迁移指令根据目标虚拟机的第一地址解析协议信息生成第一主机路由,并根据所述第一主机路由与所述目标虚拟机的第一MAC迁移扩展团体属性生成第一路由信息,使用迁移范围对应的预设协议封装并发送所述第一路由信息至第三路由设备;
第二路由设备,用于响应虚拟机已迁移指令根据所述目标虚拟机的第二地址解析协议生成第二主机路由,并根据所述第二主机路由与所述目标虚拟机的第二MAC迁移扩展团体属性生成第二路由信息,使用所述预设协议封装并发送所述第二路由信息至所述第三路由设备;
第三路由设备,与所述第一路由设备和所述第三路由设备通讯连接,用于接收并解析所述第一路由信息和所述第二路由信息,以在所述第二MAC迁移扩展团体属性大于所述第一MAC迁移扩展团体属性时删除所述第一路由信息。
9.如权利要求8所述的网络系统,其中在所述迁移范围为域间迁移时,所述预设协议为外部边界网关协议,所述第一路由设备设置为:将所述第一路由信息写入外部边界网关协议路由表,以通过边界网关协议设备的状态更新报文发送所述第一路由信息至所述第三路由设备。
10.如权利要求8所述的网络系统,其中在所述迁移范围为域内迁移时,所述预设协议为中间系统到中间系统路由协议,所述第一路由设备设置为:所述第一路由设备将所述第一路由信息写入中间系统到中间系统协议路由表并根据预设TLV格式封装所述第一路由信息,以使中间系统到中间系统协议路由设备通过发送TLV信息将所述第一路由信息发送至所述第三路由设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010836290.9A CN111988223B (zh) | 2020-08-19 | 2020-08-19 | 虚拟机迁移方法与网络系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010836290.9A CN111988223B (zh) | 2020-08-19 | 2020-08-19 | 虚拟机迁移方法与网络系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111988223A true CN111988223A (zh) | 2020-11-24 |
CN111988223B CN111988223B (zh) | 2022-04-08 |
Family
ID=73434698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010836290.9A Active CN111988223B (zh) | 2020-08-19 | 2020-08-19 | 虚拟机迁移方法与网络系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111988223B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326101A (zh) * | 2021-08-02 | 2021-08-31 | 阿里云计算有限公司 | 基于远程直接数据存储的热迁移方法、装置及设备 |
CN114003349A (zh) * | 2021-12-30 | 2022-02-01 | 杭州优云科技有限公司 | 一种虚拟机迁移方法及设备 |
CN115065630A (zh) * | 2022-05-10 | 2022-09-16 | 深信服科技股份有限公司 | 虚拟路由器的迁移方法、装置、电子设备及存储介质 |
CN116170364A (zh) * | 2022-12-09 | 2023-05-26 | 山东有人物联网股份有限公司 | 一种vpn连接方法、装置、设备及存储介质 |
WO2024159860A1 (zh) * | 2023-01-30 | 2024-08-08 | 华为技术有限公司 | Mac迁移的方法和设备 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010034244A1 (zh) * | 2008-09-28 | 2010-04-01 | 华为技术有限公司 | 路由发布、安装方法及网络节点设备 |
CN103430149A (zh) * | 2011-08-15 | 2013-12-04 | 华为技术有限公司 | 虚拟机迁移通知方法和系统 |
CN103534994A (zh) * | 2011-12-26 | 2014-01-22 | 华为技术有限公司 | 一种虚拟机迁移后实现通信的方法、设备和系统 |
CN104052666A (zh) * | 2013-03-14 | 2014-09-17 | 杭州华三通信技术有限公司 | 实现主机路由可达的方法和装置 |
CN104219142A (zh) * | 2013-05-30 | 2014-12-17 | 中国电信股份有限公司 | 访问跨idc迁移的虚拟机的方法、系统与dcbr |
CN104780109A (zh) * | 2015-04-27 | 2015-07-15 | 杭州华三通信技术有限公司 | 虚拟机迁移方法及装置 |
CN104796338A (zh) * | 2015-04-24 | 2015-07-22 | 杭州华三通信技术有限公司 | 虚拟机迁移方法及装置 |
US20150215384A1 (en) * | 2014-01-27 | 2015-07-30 | Alaxala Networks Corporation | Communication device migration method of extension function and communication system |
CN107783815A (zh) * | 2016-08-30 | 2018-03-09 | 华为技术有限公司 | 一种确定虚拟机迁移的方法和装置 |
CN108418740A (zh) * | 2018-02-28 | 2018-08-17 | 新华三技术有限公司 | 报文处理方法及装置 |
CN109088767A (zh) * | 2018-08-16 | 2018-12-25 | 新华三技术有限公司 | 路由更新方法及装置 |
CN109189549A (zh) * | 2018-08-01 | 2019-01-11 | 新华三技术有限公司 | 虚拟机迁移方法及装置 |
CN110768901A (zh) * | 2019-10-24 | 2020-02-07 | 新华三技术有限公司 | 路由发布方法、路由选择方法、相关装置及系统 |
-
2020
- 2020-08-19 CN CN202010836290.9A patent/CN111988223B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010034244A1 (zh) * | 2008-09-28 | 2010-04-01 | 华为技术有限公司 | 路由发布、安装方法及网络节点设备 |
CN103430149A (zh) * | 2011-08-15 | 2013-12-04 | 华为技术有限公司 | 虚拟机迁移通知方法和系统 |
CN103534994A (zh) * | 2011-12-26 | 2014-01-22 | 华为技术有限公司 | 一种虚拟机迁移后实现通信的方法、设备和系统 |
CN104052666A (zh) * | 2013-03-14 | 2014-09-17 | 杭州华三通信技术有限公司 | 实现主机路由可达的方法和装置 |
US20160014025A1 (en) * | 2013-03-14 | 2016-01-14 | Hangzhou H3C Technologies Co., Ltd. | Generating a host route |
CN104219142A (zh) * | 2013-05-30 | 2014-12-17 | 中国电信股份有限公司 | 访问跨idc迁移的虚拟机的方法、系统与dcbr |
US20150215384A1 (en) * | 2014-01-27 | 2015-07-30 | Alaxala Networks Corporation | Communication device migration method of extension function and communication system |
CN104796338A (zh) * | 2015-04-24 | 2015-07-22 | 杭州华三通信技术有限公司 | 虚拟机迁移方法及装置 |
CN104780109A (zh) * | 2015-04-27 | 2015-07-15 | 杭州华三通信技术有限公司 | 虚拟机迁移方法及装置 |
CN107783815A (zh) * | 2016-08-30 | 2018-03-09 | 华为技术有限公司 | 一种确定虚拟机迁移的方法和装置 |
US20190034226A1 (en) * | 2016-08-30 | 2019-01-31 | Huawei Technologies Co., Ltd. | Method and apparatus for determining virtual machine migration |
CN108418740A (zh) * | 2018-02-28 | 2018-08-17 | 新华三技术有限公司 | 报文处理方法及装置 |
CN109189549A (zh) * | 2018-08-01 | 2019-01-11 | 新华三技术有限公司 | 虚拟机迁移方法及装置 |
CN109088767A (zh) * | 2018-08-16 | 2018-12-25 | 新华三技术有限公司 | 路由更新方法及装置 |
CN110768901A (zh) * | 2019-10-24 | 2020-02-07 | 新华三技术有限公司 | 路由发布方法、路由选择方法、相关装置及系统 |
Non-Patent Citations (1)
Title |
---|
常德成等: "虚拟机动态迁移方法", 《计算机应用研究》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326101A (zh) * | 2021-08-02 | 2021-08-31 | 阿里云计算有限公司 | 基于远程直接数据存储的热迁移方法、装置及设备 |
CN113326101B (zh) * | 2021-08-02 | 2022-04-12 | 阿里云计算有限公司 | 基于远程直接数据存储的热迁移方法、装置及设备 |
CN114003349A (zh) * | 2021-12-30 | 2022-02-01 | 杭州优云科技有限公司 | 一种虚拟机迁移方法及设备 |
CN114003349B (zh) * | 2021-12-30 | 2022-07-12 | 杭州优云科技有限公司 | 一种虚拟机迁移方法及设备 |
CN115065630A (zh) * | 2022-05-10 | 2022-09-16 | 深信服科技股份有限公司 | 虚拟路由器的迁移方法、装置、电子设备及存储介质 |
CN115065630B (zh) * | 2022-05-10 | 2024-04-09 | 深信服科技股份有限公司 | 虚拟路由器的迁移方法、装置、电子设备及存储介质 |
CN116170364A (zh) * | 2022-12-09 | 2023-05-26 | 山东有人物联网股份有限公司 | 一种vpn连接方法、装置、设备及存储介质 |
CN116170364B (zh) * | 2022-12-09 | 2024-04-05 | 山东有人物联网股份有限公司 | 一种vpn连接方法、装置、设备及存储介质 |
WO2024159860A1 (zh) * | 2023-01-30 | 2024-08-08 | 华为技术有限公司 | Mac迁移的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111988223B (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111988223B (zh) | 虚拟机迁移方法与网络系统 | |
CN111541613B (zh) | 一种基于SRv6的数据处理方法及相关设备 | |
CN109257265B (zh) | 一种泛洪抑制方法、vxlan网桥、网关及系统 | |
US6574214B1 (en) | Reduced overhead tunneling techniques in a communications network having mobile foreign agents | |
TWI744359B (zh) | 一種資料傳輸的方法及網路設備 | |
US6915325B1 (en) | Method and program code for communicating with a mobile node through tunnels | |
US7257104B2 (en) | Communication processing system, communication processing method, communication terminal device, and program | |
KR100900007B1 (ko) | 로컬 어드레싱 도메인을 이용한 효율적인 vpn 서버 인터페이스, 어드레스 할당, 및 시그널링을 위한 방법 및 장치 | |
EP1032178B1 (en) | Non-encapsulation mobile IP | |
CN112953831A (zh) | 一种报文转发方法及装置 | |
US20020054584A1 (en) | Mobile network and IP packet transferring method | |
CN105009544A (zh) | 报文的隧道处理方法、交换设备及控制设备 | |
RU2528149C1 (ru) | Способ коммутации туннеля и система сервисов многопротокольной коммутации по меткам | |
US7224695B2 (en) | Router and communication network system | |
JP6098192B2 (ja) | アドレス生成装置 | |
WO2022184169A1 (zh) | 报文转发方法、系统、存储介质及电子装置 | |
EP3425860B1 (en) | Tunnel type selection methods and apparatuses | |
WO2022206667A1 (zh) | 一种路由方法及设备 | |
WO2024001701A1 (zh) | 数据处理方法、装置及系统 | |
CN114285907B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN115499888A (zh) | 通信方法及装置 | |
CN115277529A (zh) | 通信方法及装置 | |
CN115277530B (zh) | 基于SRv6协议的数据处理方法、装置、设备及介质 | |
US20240283738A1 (en) | Packet Processing Method, Apparatus, and System | |
JP6256110B2 (ja) | パケット処理システム及びパケット処理方法 |
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 |