CN111988223B - 虚拟机迁移方法与网络系统 - Google Patents

虚拟机迁移方法与网络系统 Download PDF

Info

Publication number
CN111988223B
CN111988223B CN202010836290.9A CN202010836290A CN111988223B CN 111988223 B CN111988223 B CN 111988223B CN 202010836290 A CN202010836290 A CN 202010836290A CN 111988223 B CN111988223 B CN 111988223B
Authority
CN
China
Prior art keywords
routing
migration
virtual machine
information
protocol
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.)
Active
Application number
CN202010836290.9A
Other languages
English (en)
Other versions
CN111988223A (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 DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech 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 DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202010836290.9A priority Critical patent/CN111988223B/zh
Publication of CN111988223A publication Critical patent/CN111988223A/zh
Application granted granted Critical
Publication of CN111988223B publication Critical patent/CN111988223B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

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 (7)

1.一种虚拟机迁移方法,其中包括:
响应虚拟机待迁移指令,第一路由设备根据目标虚拟机的第一地址解析协议信息生成第一主机路由,并根据所述第一主机路由与所述目标虚拟机的第一MAC迁移扩展团体属性生成第一路由信息;
所述第一路由设备在迁移范围为域内迁移时使用该迁移范围对应的中间系统到中间系统路由协议作为预设协议封装并发送所述第一路由信息至第三路由设备,包括将所述第一路由信息写入中间系统到中间系统协议路由表以及根据包括类型识别符-长度信息-IP地址-MAC迁移扩展团体属性-备用字节的预设TLV格式封装所述第一路由信息,以使中间系统到中间系统协议路由设备通过发送TLV信息将所述第一路由信息发送至所述第三路由设备;
响应虚拟机已迁移指令,第二路由设备根据所述目标虚拟机的第二地址解析协议生成第二主机路由,并根据所述第二主机路由与所述目标虚拟机的第二MAC迁移扩展团体属性生成第二路由信息;
所述第二路由设备使用所述预设协议封装并发送所述第二路由信息至所述第三路由设备。
2.如权利要求1所述的虚拟机迁移方法,其中在所述迁移范围为域间迁移时,所述预设协议为外部边界网关协议,所述第一路由设备使用迁移范围对应的预设协议封装并发送所述第一路由信息至第三路由设备包括:
所述第一路由设备将所述第一路由信息写入外部边界网关协议路由表,以通过边界网关协议设备的状态更新报文发送所述第一路由信息至所述第三路由设备。
3.如权利要求1所述的虚拟机迁移方法,其中在所述迁移范围为域内迁移时,所述预设协议为内部边界网关路由协议,所述第一路由设备使用迁移范围对应的预设协议封装并发送所述第一路由信息至第三路由设备包括:
所述第一路由设备将所述第一路由信息写入内部边界网关协议路由表,以通过边界网关协议设备的状态更新报文发送所述第一路由信息至所述第三路由设备。
4.如权利要求2或3所述的虚拟机迁移方法,其中还包括:
所述第三路由设备在根据接收到的第一状态更新报文识别到所述第一路由信息时,解析所述第一路由信息以记录所述第一主机路由与所述第一MAC迁移扩展团体属性的对应关系;
所述第三路由设备在根据接收到的第二状态更新报文识别到所述第二路由信息时,解析所述第二路由信息以记录所述第二主机路由与所述第二MAC迁移扩展团体属性的对应关系;
在所述第二MAC迁移扩展团体属性大于所述第一MAC迁移扩展团体属性时,所述第三路由设备删除所述第一MAC迁移扩展团体属性与所述第一主机路由的对应关系纪录。
5.如权利要求1所述的虚拟机迁移方法,其中还包括:
所述第三路由设备在根据接收到的第一TLV信息识别到所述第一路由信息时,解析所述第一路由信息以记录所述第一主机路由与所述第一MAC迁移扩展团体属性的对应关系;
所述第三路由设备在根据接收到的第二TLV信息识别到所述第二路由信息时,解析所述第二路由信息以记录所述第二主机路由与所述第二MAC迁移扩展团体属性的对应关系;
在所述第二MAC迁移扩展团体属性大于所述第一MAC迁移扩展团体属性时,所述第三路由设备删除所述第一MAC迁移扩展团体属性与所述第一主机路由的对应关系纪录。
6.一种网络系统,其中包括:
第一路由设备,用于响应虚拟机待迁移指令根据目标虚拟机的第一地址解析协议信息生成第一主机路由,并根据所述第一主机路由与所述目标虚拟机的第一MAC迁移扩展团体属性生成第一路由信息,在迁移范围为域内迁移时使用该迁移范围对应的中间系统到中间系统路由协议作为预设协议封装并发送所述第一路由信息至第三路由设备,包括将所述第一路由信息写入中间系统到中间系统协议路由表以及根据包括类型识别符-长度信息-IP地址-MAC迁移扩展团体属性-备用字节的预设TLV格式封装所述第一路由信息,以使中间系统到中间系统协议路由设备通过发送TLV信息将所述第一路由信息发送至所述第三路由设备;
第二路由设备,用于响应虚拟机已迁移指令根据所述目标虚拟机的第二地址解析协议生成第二主机路由,并根据所述第二主机路由与所述目标虚拟机的第二MAC迁移扩展团体属性生成第二路由信息,使用所述预设协议封装并发送所述第二路由信息至所述第三路由设备;
第三路由设备,与所述第一路由设备和所述第三路由设备通讯连接,用于接收并解析所述第一路由信息和所述第二路由信息,以在所述第二MAC迁移扩展团体属性大于所述第一MAC迁移扩展团体属性时删除所述第一路由信息。
7.如权利要求6所述的网络系统,其中在所述迁移范围为域间迁移时,所述预设协议为外部边界网关协议,所述第一路由设备设置为:将所述第一路由信息写入外部边界网关协议路由表,以通过边界网关协议设备的状态更新报文发送所述第一路由信息至所述第三路由设备。
CN202010836290.9A 2020-08-19 2020-08-19 虚拟机迁移方法与网络系统 Active CN111988223B (zh)

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 CN111988223A (zh) 2020-11-24
CN111988223B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113326101B (zh) * 2021-08-02 2022-04-12 阿里云计算有限公司 基于远程直接数据存储的热迁移方法、装置及设备
CN114003349B (zh) * 2021-12-30 2022-07-12 杭州优云科技有限公司 一种虚拟机迁移方法及设备
CN115065630B (zh) * 2022-05-10 2024-04-09 深信服科技股份有限公司 虚拟路由器的迁移方法、装置、电子设备及存储介质
CN116170364B (zh) * 2022-12-09 2024-04-05 山东有人物联网股份有限公司 一种vpn连接方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103534994A (zh) * 2011-12-26 2014-01-22 华为技术有限公司 一种虚拟机迁移后实现通信的方法、设备和系统
CN104780109A (zh) * 2015-04-27 2015-07-15 杭州华三通信技术有限公司 虚拟机迁移方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101686181B (zh) * 2008-09-28 2013-06-05 华为技术有限公司 路由发布、安装方法及网络节点设备
WO2012119390A1 (zh) * 2011-08-15 2012-09-13 华为技术有限公司 虚拟机迁移通知方法和系统
CN104052666B (zh) * 2013-03-14 2018-05-11 新华三技术有限公司 实现主机路由可达的方法和装置
CN104219142B (zh) * 2013-05-30 2017-06-16 中国电信股份有限公司 访问跨idc迁移的虚拟机的方法、系统与dcbr
JP6345604B2 (ja) * 2014-01-27 2018-06-20 アラクサラネットワークス株式会社 通信装置、拡張機能の移動方法、及び通信システム
CN104796338B (zh) * 2015-04-24 2018-08-24 新华三技术有限公司 虚拟机迁移方法及装置
CN113946416A (zh) * 2016-08-30 2022-01-18 华为技术有限公司 一种确定虚拟机迁移的方法和装置
CN108418740B (zh) * 2018-02-28 2020-09-08 新华三技术有限公司 报文处理方法及装置
CN109189549A (zh) * 2018-08-01 2019-01-11 新华三技术有限公司 虚拟机迁移方法及装置
CN109088767B (zh) * 2018-08-16 2022-02-22 新华三技术有限公司 路由更新方法及装置
CN110768901B (zh) * 2019-10-24 2022-02-25 新华三技术有限公司 路由发布方法、路由选择方法、相关装置及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103534994A (zh) * 2011-12-26 2014-01-22 华为技术有限公司 一种虚拟机迁移后实现通信的方法、设备和系统
CN104780109A (zh) * 2015-04-27 2015-07-15 杭州华三通信技术有限公司 虚拟机迁移方法及装置

Also Published As

Publication number Publication date
CN111988223A (zh) 2020-11-24

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) Способ коммутации туннеля и система сервисов многопротокольной коммутации по меткам
WO2020073685A1 (zh) 转发路径确定方法、装置、系统、计算机设备及存储介质
US7224695B2 (en) Router and communication network system
JP6098192B2 (ja) アドレス生成装置
EP3425860B1 (en) Tunnel type selection methods and apparatuses
CN109246016B (zh) 跨vxlan的报文处理方法和装置
CN114448861A (zh) 一种实现业务功能处理的方法及装置
CN114285907B (zh) 数据传输方法、装置、电子设备及存储介质
CN115277530B (zh) 基于SRv6协议的数据处理方法、装置、设备及介质
CN115150312B (zh) 一种路由方法及设备
JP3926495B2 (ja) 移動体通信ネットワークシステム及び移動ノードの管理方法
WO2024094082A1 (zh) 一种信息传输方法、装置、节点及存储介质
WO2022206667A1 (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