掌桥专利:专业的专利平台
掌桥专利
首页

云实例迁移后的网关更新方法及装置和电子设备

文献发布时间:2023-06-19 19:35:22


云实例迁移后的网关更新方法及装置和电子设备

技术领域

本说明书实施例涉及云计算领域,尤其涉及一种云实例迁移后的网关更新方法及装置和电子设备。

背景技术

随着云计算的不断发展,对云计算中的虚拟化网络的要求越来越高,例如弹性(scalability)、安全性(security)、可靠性(reliability)和私密性(privacy),并且还有极高的互联性能(performance)需求,因此催生了多种多样的虚拟化技术。

虚拟化技术促进了云实例的发展,使得资源得到合理利用。当进行云实例创建、销毁、迁移、停用等操作时,需要虚拟化网络快速收敛,从而减少业务中断时间,让用户察觉不到差异。云计算的广泛应用促使云实例迁移的不断优化,迁移后提高网络的收敛能力也成为急于突破的瓶颈。但是云实例迁移为工作负载管理带来灵活性的同时也面临一些问题;例如当一个云实例从一个宿主机迁移到另一个宿主机时,云实例上与外网通信的原有的socket(套接字)应用连接中断,应用程序无法对外提供服务;再例如当外部客户端与该迁移云实例有业务连接,且云实例迁移至其他宿主机时,客户端仍然使用云实例迁移前的网络寻找宿主机,从而会导致业务中断。

由于云实例迁移后网络无法快速收敛将会对业务造成很大影响,因此如何保障云实例迁移后网络能够快速收敛、进而使得迁移后的云实例能够尽快提供服务是一个亟待解决的问题。

发明内容

本说明书实施例提供的一种云实例迁移后的网关更新方法及装置和电子设备。用以解决云实例迁移后网络无法快速收敛的问题。

根据本说明书实施例的第一方面,提供一种云实例迁移后的网关更新方法,应用于云实例迁移的可用区,所述可用区由汇总器集群、网关集群和若干宿主机构成;其中,每个宿主机由虚拟交换机和若干云实例构成;所述宿主机通过所述汇总器集群与所述网关集群连接,以使所述宿主机中的云实例基于所述网关集群与互联网通信;所述方法包括:

在所述可用区中的第一宿主机中的目标云实例完成迁移到所述可用区中的第二宿主机时,所述第一宿主机将所述目标云实例的相关信息通知给所述可用区所在的地域内的所有可用区的汇总器集群;

每个可用区中的汇总器集群基于接收到的所述目标云实例的相关信息,生成迁移变更消息和快转变更消息,并将所述迁移变更消息转发给本可用区中的网关集群,以及将所述快转变更消息转发给本可用区中的所有宿主机内的虚拟交换机;

每个可用区中的网关集群基于接收到的迁移变更消息更新本地维护的公网IP路由表和Nat网关转发表;

每个可用区中的每个宿主机内的虚拟交换机基于接收到的快转变更消息更新本地维护的快速转发表。

可选的,所述目标云实例的相关信息包括验证信息、迁移变更信息和快转变更信息;其中,所述验证信息包括到所述目标云实例的网卡类型、网卡IP类型和迁移后可用区;

所述汇总器集群基于接收到所述目标云实例的相关信息,生成迁移变更消息和快转变更消息,包括:

确定所述目标云实例的网卡类型是否是公网类型;

如果所述目标云实例的网卡类型是公网类型,进一步确定所述迁移后可用区是否与汇总器集群所在可用区为同一可用区,如果为同一可用区,基于所述迁移变更信息生成迁移变更消息;

如果不为同一可用区,进一步确定所述网卡IP类型是否是IPV4,如果是,基于所述快转变更信息生成快转变更消息。

可选的,所述迁移变更信息包括网卡迁移标志、网卡IP、第二宿主机的私网管理IP,以及所述验证信息中的网卡类型;

所述网关集群基于接收到的迁移变更消息更新本地维护的公网IP路由表和Nat网关转发表,包括:

网关集群解析所述迁移变更消息中的迁移变更信息,确定所述迁移变更信息中的网卡类型是否是公网类型、且网卡迁移标志是否正确;

如果是公网类型、且网卡迁移标志正确,则根据所述迁移变更信息中的网卡IP,查询本地维护的公网IP路由表中与所述网卡IP对应的所述目标云实例的第一网卡,进一步将所述第一网卡中的网卡所属宿主机的私网管理IP更新为所述迁移变更信息中的第二宿主机的私网管理IP。

可选的,所述迁移变更信息还包括所述验证信息中的网卡IP类型;

所述网关集群基于接收到的迁移变更消息更新本地维护的Nat网关转发表,包括:

网关集群解析所述迁移变更消息中的迁移变更信息,确定所述迁移变更信息中的网卡类型是否是公网类型、网卡IP类型是否是IPV4、且网卡迁移标志是否正确;

如果是公网类型、网卡IP类型是IPV4、且网卡迁移标志正确,则根据所述迁移变更信息中的网卡IP,查询本地维护的Nat网关转发表中的Dnat网关转发表中与所述网卡IP对应的所述目标云实例的第二网卡,以及所述Nat网关转发表中的Snat网关转发表中与所述网卡IP对应的所述目标云实例的第三网卡;

进一步将所述第二网卡中的网卡所属宿主机的私网管理IP更新为所述迁移变更信息中的第二宿主机的私网管理IP,并修改Dnat Arp缓存;

以及,将所述第三网卡中的网卡所属宿主机的私网管理IP更新为所述迁移变更信息中的第二宿主机的私网管理IP,并修改Snat七元组。

可选的,所述快转变更信息包括网卡IP、第二宿主机的私网管理IP,以及所述验证信息中的网卡类型、网卡IP类型;

所述虚拟交换机基于接收到的快转变更消息更新本地维护的快速转发表,包括:

虚拟交换机解析所述的快转变更消息中的快转变更信息,确定所述快转变更信息中的网卡类型是否是公网类型、且网卡IP类型是否是IPV4;

如果是公网类型、且网卡迁移标志正确,根据所述快转变更信息中的网卡IP查询本地维护的快速转发表,确定与所述网卡IP对应的创建条目标志是否为FALSE;如果是,进一步将所述快速转发表中的网卡所属宿主机的私网管理IP更新为所述快转变更信息中的第二宿主机的私网管理IP,并更新最后活跃时间。

可选的,所述将所述迁移变更消息转发给本可用区中的网关集群,以及将所述快转变更消息转发给本可用区中的所有宿主机内的虚拟交换机,包括:

汇总器集群获取本可用区的网络集群对应的组播地址,并以组播方式将所述迁移变更消息发送给所述本可用区中的网关集群对应的管理组播地址;

获取本可用区的所有宿主机对应的组播地址,并以组播方式将所述快转变更消息发送给所述本可用区的所有宿主机对应的组播地址。

可选的,所述第一宿主机将所述目标云实例的相关信息通知给所述可用区所在的地域内的所有可用区的汇总器集群,包括:

第一宿主机获取所在地域内的所有可用区的汇总器集群对应的地址,并以单播方式将所述目标云实例的相关信息通知给与所述可用区所在的地域内的所有可用区的汇总器集群。

可选的,同一地域内的所有可用区之间通过专线互通;

所述第一宿主机将所述目标云实例的相关信息通知给所述可用区所在的地域内的所有可用区的汇总器集群,包括:

所述第一宿主机通过专线将所述目标云实例的相关信息通知给所述可用区所在的地域内的所有可用区的汇总器集群。

根据本说明书实施例的第二方面,提供一种云实例迁移后的网关更新装置,应用于云实例迁移的可用区,所述可用区由汇总器集群、网关集群和若干宿主机构成;其中,每个宿主机由虚拟交换机和若干云实例构成;所述宿主机通过所述汇总器集群与所述网关集群连接,以使所述宿主机中的云实例基于所述网关集群与互联网通信;所述装置包括:

网络更新通知模块,在所述可用区中的第一宿主机中的目标云实例完成迁移到所述可用区中的第二宿主机时,所述第一宿主机将所述目标云实例的相关信息通知给所述可用区所在的地域内的所有可用区的汇总器集群;

汇总器集群通知模块,每个可用区中的汇总器集群基于接收到的所述目标云实例的相关信息,生成迁移变更消息和快转变更消息,并将所述迁移变更消息转发给本可用区中的网关集群,以及将所述快转变更消息转发给本可用区中的所有宿主机内的虚拟交换机;

网关集群网络更新模块,每个可用区中的网关集群基于接收到的迁移变更消息更新本地维护的公网IP路由表和Nat网关转发表;

虚拟交换机网络更新模块,每个可用区中的每个宿主机内的虚拟交换机基于接收到的快转变更消息更新本地维护的快速转发表。

根据本说明书实施例的第三方面,提供一种电子设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为上述任一项云实例迁移后的网关更新方法。

本说明书实施例,提供了一种云实例迁移后的网关更新方案,当目标云实例迁移完成后,迁移前的第一宿主机向所在可用区的汇总器集群发送目标云实例的相关信息,汇总器集群基于目标云实例的相关信息生成迁移变更消息和快转变更消息,并将迁移变更消息转发给网关集群,以使网关集群根据迁移变更消息及时更新网络;以及将快转变更消息转发给虚拟交换,以使虚拟交换机根据快转变更消息及时更新网络。如此,当目标云实例迁移完成后,由于网关集群和虚拟交换机能够及时更新网络,因此可以快速实现云实例迁移后的网络收敛,进而使得迁移后的云实例能够尽快提供服务。

附图说明

图1是本说明书一实施例提供的云实例迁移后的网关更新的系统架构图;

图2是本说明书一实施例提供的云实例迁移后的网关更新方法的流程图;

图3是本说明书一实施例提供的网络更新部分的示意图;

图4是本说明书一实施例提供的汇总器集群通知部分的示意图;

图5a是本说明书一实施例提供的网关集群网络更新部分中的公网IP路由表更新的示意图;

图5b是本说明书一实施例提供的网关集群网络更新部分中的Nat网关转发表更新的示意图;

图6是本说明书一实施例提供的虚拟交换机网络更新部分的示意图;

图7是本说明书一实施例提供的云实例迁移后的网关更新装置的硬件结构图;

图8是本说明书一实施例提供的云实例迁移后的网关更新装置的模块。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

为了更为方便的理解本说明书中记载的技术方案,以下将对说明书中涉及的技术术语以及技术概念进行名称解释:

地域(Region),可以是从地理位置和网络时延维度划分的区域;同一个地域内可以共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。

可用区(Availability Zone,AZ),可以是指同一地域内,电力和网络独立的物理区域。

云实例(Cloud Instance)可以是指虚拟计算环境,其中可以包括CPU、内存、硬盘、系统、网络等基础的计算机组件。云实例可以是云计算的租户根据自身业务需要部署在可用区中,以虚拟机的形式提供基于云计算的业务服务或应用的服务器。

宿主机(Host)可以是指运行虚拟机的容器,例如KVM(Kernel-based VirtualMachine)、Xen、Hyper-V等虚拟机。

虚拟交换机可以是指在云计算中,为虚拟机或其它类型虚拟设备提供以太网报文转发的设备,虚拟交换机运行在宿主机上。

随着云计算技术的不断发展,对云计算中的虚拟化网络的要求越来越高,例如对弹性(scalability)、安全性(security)、可靠性(reliability)和私密性(privacy)的要求,另外还有对互联性能(performance)的较高需求;因此出现了多种多样的网络虚拟化技术。

虚拟化技术促进了云实例的发展,使得资源得到合理利用。当进行云实例创建、销毁、迁移、停用等操作时,需要虚拟化网络快速收敛,从而减少业务中断时间,让用户察觉不到差异。云计算的广泛应用促使云实例迁移的不断优化,迁移后提高网络的收敛能力也成为急于突破的瓶颈。但是云实例迁移为工作负载管理带来灵活性的同时也面临一些问题;例如当一个云实例从一个宿主机迁移到另一个宿主机时,云实例上与外网通信的原有的socket(套接字)应用连接中断,应用程序无法对外提供服务;再例如当外部客户端与该迁移云实例有业务连接,且云实例迁移至其他宿主机时,客户端仍然使用云实例迁移前的网络寻找宿主机,从而会导致业务中断。

在相关技术中,当云实例从一台宿主机迁移到另一台宿主机后,常用的网关更新方式为发送免费ARP(Gratuitous ARP),迁移后的云实例发送免费ARP广播以宣告自己的IP地址和MAC地址;网关等设备收到ARP更新请求后,将迁移后的云实例所在的宿主机物理地址与到云实例的路由形成映射关系。ARP(Address Resolution Protocol,地址解析协议)。

然而,由于使用免费ARP协议,任何云实例都可以发起免费ARP攻击,因此容易导致网关或者内部网络瘫痪。

本说明书旨在提供一种更为安全的云实例迁移后的网关更新方式,并且还能够快速实现云实例迁移后的网络收敛,进而使得迁移后的云实例能够尽快提供服务。具体地,当目标云实例迁移完成后,可以快速更新可用区内的网关集群和虚拟交换机网络,其中,网关集群网络更新主要包括Nat网关转发表和公网IP路由表更新,虚拟交换机网络更新主要指快速转发表的更新。

以下请参考图1所示的云实例迁移后的网关更新的系统架构图;如图1所示,可用区可以由汇总器集群、网关集群和若干宿主机构成。

其中,汇总器集群作为可用区中的管理节点,可以由主汇总器和备用汇总器构成;汇总器集群可以用于汇总可用区中的管理消息,如完成迁移的云实例的相关消息,宿主机上云实例的相关消息、网关管理IP等,收到这些消息后可以做进一步处理和通知。

网关集群(Virtual Gateway,VG)是一种用于在基于IP的网络上建立通信信道的软/硬件设备;位于相同或不同的NAT或者防火墙之后的多个端点之间,根据网关集群上的转发规则能够实现可用区网络与互联网通信。

每个宿主机可以由虚拟交换机和若干云实例构成;所述宿主机通过所述汇总器集群与所述网关集群连接,以使所述宿主机中的云实例基于所述网关集群与互联网通信。

本说明书涉及的云实例迁移后的网关更新过程可以包括:

首先,如图1所示,针对可用区A中的宿主机1中的云实例2向相同的可用区A中的宿主机2进行迁移,在该云实例2迁移完成后,由于同一地域内可用区之间通过专线互通,如图1中的箭头1所示宿主机1将迁移的云实例2的相关信息通知地域内所有可用区(图1中除了宿主机1所在的可用区A外,还包括可用区B)的汇总器集群;接着,收到消息的汇总器集群根据通知的云实例2的相关信息生成迁移变更消息和快转变更消息,如图1中的箭头2所示将迁移变更消息转发给本可用区网关集群的管理组播地址,以及如图1中的箭头3所示将快转变更消息转发给本可用区虚拟交换机组播地址;然后,网关集群根据收到的迁移变更消息更新公网IP路由表和Nat网关转发表;最后,虚拟交换机根据接收到的快转变更消息更新快速转发表。

在本说明书中,云实例迁移后的网关更新方案主要包括4个部分,即网络更新部分、汇总器集群通知部分、网关集群网络更新部分和虚拟交换机网络更新部分。

以下进一步结合图2所示的云实例迁移后的网关更新方法的流程图对上述4个部分进行介绍,首先该方法可以应用于云实例迁移的可用区。如前述图1所示:所述可用区由若干宿主机、汇总器和网关集群构成;其中,每个宿主机由虚拟交换机和若干云实例构成;所述宿主机通过所述汇总器与所述网关集群连接,以使所述宿主机中的云实例基于所述网关集群与互联网通信。

一般的,在部署可用区之前,需要进行以下操作:

第一,在可用区的部署配置中增加需要通信的可用区ID(Identity document,身份标识),该可用区ID可以唯一标识对应的可用区,可用区与可用区ID之间可以是一一对应的关系。多个可用区之间额可以用特殊符号如*(星号)连接。

第二,部署可用区的汇总器列表,所述汇总器列表用于记录同地域内的所有可用区中的汇总器集群的相关信息如汇总器集群IP。多个汇总器列表之间同样可以用特殊符号如*(星号)连接。

通过上述操作,宿主机可以根据上面信息获取地域内可以通信的可用区及汇总器集群IP,从而通过专线将消息通知给其它可用区。

继续参考图2,所述云实例迁移后的网关更新方法可以包括以下步骤:

步骤210,在所述可用区中的第一宿主机中的目标云实例完成迁移到所述可用区中的第二宿主机时,所述第一宿主机将所述目标云实例的相关信息通知给所述可用区所在的地域内的所有可用区的汇总器集群。

本说明书中的第一宿主机可以是指迁出云实例的宿主机,如图1中的可用区A的宿主机1;相应地,第二宿主机可以是指嵌入云实例的宿主机,如图1中的可用区A的宿主机2;目标宿主机可以是指进行迁移的云实例,如图1中的可用区A的宿主机1中的云实例2。

当云实例完成迁移后,将触发网络更新部分,进一步结合图3所示的网络更新部分的示意图。

如图3所示,在云实例完成后,第一宿主机会收集目标宿主机的相关信息,并根据前述部署可用区之前部署的可用区ID和汇总器列表,获取同地域中所有可用区的汇总器集群地址;根据这获取到的汇总器集群地址,将目标云实例的相关信息发送给同地域内的可用区的汇总器集群。

可选的,第一宿主机获取所在地域内的所有可用区的汇总器集群对应的地址之后,可以以单播方式将所述目标云实例的相关信息通知给与所述可用区所在的地域内的所有可用区的汇总器集群。

这里采用单播方式是因为使用组播方式会导致其它宿主机也收到不必要的更新报文(即通知目标云实例的相关信息的报文),且由于更新报文可以根据需要跨可用区,可用区其它宿主机也收到该迁移通知,导致网络中不必要报文传输。

另外,网关集群数量根据需求和业务的不同而改变,虚拟网关具体数量和网关集群管理地址只有汇总器集群知道,故第一宿主机无法直接通知网关,即宿主机与网关集群只有业务报文交互,无管理报文交互;同理宿主机与宿主机之间也只有业务报文交互,无管理报文的交互。如此提高了网络安全。

在一示例性的实施例中,同一地域内的所有可用区之间可以通过专线互通;

相应地,所述步骤210中的第一宿主机将所述目标云实例的相关信息通知给所述可用区所在的地域内的所有可用区的汇总器集群,可以包括:

所述第一宿主机通过专线将所述目标云实例的相关信息通知给所述可用区所在的地域内的所有可用区的汇总器集群。

步骤220,每个可用区中的汇总器集群基于接收到的所述目标云实例的相关信息,生成迁移变更消息和快转变更消息,并将所述迁移变更消息转发给本可用区中的网关集群,以及将所述快转变更消息转发给本可用区中的所有宿主机内的虚拟交换机。

其中,迁移变更消息是本说明书中汇总器集群通知网关集群更新网络的一种消息通知;类似的,快转变更消息是汇总器集群通知虚拟交换机更新网络的一种消息通知。

本说明书中,汇总器集群接收到目标云实例的相关信息后,将触发汇总器集群通知部分。

其中,所述目标云实例的相关信息包括验证信息、迁移变更信息和快转变更信息;所述验证信息包括到所述目标云实例的网卡类型、网卡IP类型和迁移后可用区;

以下请结合图4所示的汇总器集群通知部分的示意图,所述步骤220中的汇总器集群基于接收到所述目标云实例的相关信息,生成迁移变更消息和快转变更消息,可以包括:

汇总器集群确定所述目标云实例的网卡类型是否是公网类型;如果不是公网类型,则结束处理;

如果所述目标云实例的网卡类型是公网类型,进一步确定所述迁移后可用区是否与汇总器集群所在可用区为同一可用区;

如果为同一可用区,基于所述迁移变更信息生成迁移变更消息;

如果不为同一可用区,进一步确定所述网卡IP类型是否是IPV4;如果不是IPV4,则结束处理;

如果是IPV4,基于所述快转变更信息生成快转变更消息。

在本说明书中,与前述第一宿主机不同的是,汇总器集群在生成了迁移变更消息和快转变更消息之后,可以采用组播方式将所述迁移变更消息转发给本可用区中的网关集群,以及将所述快转变更消息转发给本可用区中的所有宿主机内的虚拟交换机。

同样参考图4中所示,汇总器集群获取本可用区的网络集群对应的组播地址,并以组播方式将所述迁移变更消息发送给所述本可用区中的网关集群对应的管理组播地址;

获取本可用区的所有宿主机对应的组播地址,并以组播方式将所述快转变更消息发送给所述本可用区的所有宿主机对应的组播地址。

本说明书中汇总器集群发送消息使用组播的原因是:汇总器集群与网关集群在同一管理网络,汇总器集群向网关集群发送组播不会影响其它可用区及宿主机。汇总器集群与宿主机也在同一管理网络,同样、汇总器集群向宿主机发送组播不会影响其它可用区及网关集群。

步骤230,每个可用区中的网关集群基于接收到的迁移变更消息更新本地维护的公网IP路由表和Nat网关转发表;

本说明书中,网关集群接收到迁移变更消息后,将触发网关集群网络更新部分。

网关集群网络更新进一步分为2个子部分,分别是公网IP路由表更新和Nat网关转发表更新。

针对公网IP路由表的更新,所述迁移变更信息包括网卡迁移标志、网卡IP、第二宿主机的私网管理IP,以及所述验证信息中的网卡类型;

进一步结合图5a所示的网关集群网络更新部分中的公网IP路由表更新的示意图,所述步骤230中的网关集群基于接收到的迁移变更消息更新本地维护的公网IP路由表,可以包括:

网关集群解析所述迁移变更消息中的迁移变更信息,确定所述迁移变更信息中的网卡类型是否是公网类型、且网卡迁移标志是否正确;

如果是公网类型、且网卡迁移标志正确,则变更本地维护的公网IP路由表;

如果不是公网类型,或者网卡迁移标志不正确,则结束处理。

本说明书中,所述公网IP路由表是网关集群转发表的一种,用于与互联网通信。

在一示例性的实施例中,所述变更本地维护的公网IP路由表,具体可以包括:

网关集群根据所述迁移变更信息中的网卡IP,查询本地维护的公网IP路由表中与所述网卡IP对应的所述目标云实例的第一网卡,进一步将所述第一网卡中的网卡所属宿主机的私网管理IP更新为所述迁移变更信息中的第二宿主机的私网管理IP。

针对Nat网关转发表的更新,所述迁移变更信息除了包括网卡迁移标志、网卡IP、第二宿主机的私网管理IP、网卡类型之外,还包括所述验证信息中的网卡IP类型;

进一步结合图5b所示的网关集群网络更新部分中的Nat网关转发表更新的示意图,所述步骤230中的网关集群基于接收到的迁移变更消息更新本地维护的Nat网关转发表,可以包括:

网关集群解析所述迁移变更消息中的迁移变更信息,确定所述迁移变更信息中的网卡类型是否是公网类型、网卡IP类型是否是IPV4、且网卡迁移标志是否正确;

如果是公网类型、网卡IP类型是IPV4、且网卡迁移标志正确,则变更Dnat的Arp学习结果和变更Snat七元组;

如果不是公网类型、或者网卡IP类型不是IPV4、或者网卡迁移标志不正确,则结束处理。

本说明书中,所述Nat网关转发表包括Snat网关转发表和Dnat网关转发表,是网关集群转发表中的一种,用于与互联网通信。

Nat(Network Address Translation)是将IP数据包头中的IP地址转换为另一个IP地址的过程,分为Snat和Dnat两种。

Snat(Source Network Address Translation)是内部地址要访问公网上的服务时(如wdb访问),内部地址会主动发起连接,由网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,主要用于内部共享IP访问外部。

Dnat(Destination Network Address Translation)是当内部需要提供对外服务时(如对外发布web网站),外部地址主动发起连接,由网关接收这个连接,然后将连接转换到内部,即带有公网IP的网关替代内部服务来接受外部的连接,然后在内部做地址转换,主要用于内部服务对外发布。

在一示例性的实施例中,所述变更Dnat的Arp学习结果和变更Snat七元组,具体可以包括:

网关集群根据所述迁移变更信息中的网卡IP,查询本地维护的Nat网关转发表中的Dnat网关转发表中与所述网卡IP对应的所述目标云实例的第二网卡,以及所述Nat网关转发表中的Snat网关转发表中与所述网卡IP对应的所述目标云实例的第三网卡;

进一步将所述第二网卡中的网卡所属宿主机的私网管理IP更新为所述迁移变更信息中的第二宿主机的私网管理IP,并修改Dnat Arp缓存;

以及,将所述第三网卡中的网卡所属宿主机的私网管理IP更新为所述迁移变更信息中的第二宿主机的私网管理IP,并修改Snat七元组。

步骤240,每个可用区中的每个宿主机内的虚拟交换机基于接收到的快转变更消息更新本地维护的快速转发表。

本说明书中,虚拟交换机接收到快转变更消息后,将触发虚拟交换机网络更新部分。

其中,所述快转变更信息包括网卡IP、第二宿主机的私网管理IP,以及所述验证信息中的网卡类型、网卡IP类型;

进一步结合图6所示的虚拟交换机网络更新部分的示意图,所述步骤240中的虚拟交换机基于接收到的快转变更消息更新本地维护的快速转发表,可以包括:

虚拟交换机解析所述的快转变更消息中的快转变更信息,确定所述快转变更信息中的网卡类型是否是公网类型、且网卡IP类型是否是IPV4;

如果不是公网类型、或者网卡迁移标志不正确,结束处理;

如果是公网类型、且网卡迁移标志正确,根据所述快转变更信息中的网卡IP查询本地维护的快速转发表,确定与所述网卡IP对应的创建条目标志是否为FALSE;

如果不是FALSE,结束处理;如果是FALSE,更新快速转发表。

本说明书中,所述快速转发表是地域内部间公网IP通信的流量重定向,同一地域具有公网ip的网卡互相通信时,公网通信要经过网关,网关再进行转发。使用快速转发表,查询快速转发表之后可以将流量直接转发到属于同一地域的目的宿主机,省去了网关转发环节。

在一示例性的实施例中,所述更新快速转发表,具体可以包括:

虚拟交换机将所述快速转发表中的网卡所属宿主机的私网管理IP更新为所述快转变更信息中的第二宿主机的私网管理IP,并更新最后活跃时间。

另外,当快速转发表中没有网卡与迁移云实例网卡在相同网络中时,或者迁移云实例的网卡为私网网卡,则快速转发表中没有该网卡的快速转发条目。当网卡为公网类型且网卡ip为ipv4也没有快速转发条目时,则需要查看创建标志,为TRUE则可以插入快速创建条目,为FALSE则不需要创建表项,即就算有云实例与迁移云实例在同一个网络,但可能从没有通信或者通信频率很低没有高速缓存,则此时也不需要创建,做到高速缓存精简化。

综上所述,本说明书提供了一种云实例迁移后的网关更新方案,当目标云实例迁移完成后,迁移前的第一宿主机向所在可用区的汇总器集群发送目标云实例的相关信息,汇总器集群基于目标云实例的相关信息生成迁移变更消息和快转变更消息,并将迁移变更消息转发给网关集群,以使网关集群根据迁移变更消息及时更新网络;以及将快转变更消息转发给虚拟交换,以使虚拟交换机根据快转变更消息及时更新网络。

如此,一方面,当目标云实例迁移完成后,实现云实例迁移后网关IP路由表和网关Nat转发表快速更新,从而可以快速实现云实例迁移后的网络收敛,进而使得迁移后的云实例能够尽快提供服务。

另一方面,由于迁移后云实例与地域内具有公网IP网卡的云实例通信仍能够直接查看快速转发表,不用再经过网关处理转发、更新,缓解了网关工作压力。

再一方面,本说明书提供的方案不使用免费Arp,避免了免费Arp攻击造成的安全风险,使得系统更加安全。

与前述云实例迁移后的网关更新方法实施例相对应,本说明书还提供了云实例迁移后的网关更新装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序读取到内存中运行形成的。从硬件层面而言,如图7所示,为本说明书云实例迁移后的网关更新装置所在设备的一种硬件结构图,除了图7所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据通信实际功能,还可以包括其他硬件,对此不再赘述。

请参见图8,为本说明书一实施例提供的云实例迁移后的网关更新装置的模块图,所述装置对应了图2所示实施例,应用于云实例迁移的可用区,所述可用区由若干宿主机、汇总器集群和网关集群构成;其中,每个宿主机由虚拟交换机和若干云实例构成;所述宿主机通过所述汇总器集群与所述网关集群连接,以使所述宿主机中的云实例基于所述网关集群与互联网通信;所述装置包括:

网络更新通知模块810,在所述可用区中的第一宿主机中的目标云实例完成迁移到所述可用区中的第二宿主机时,所述第一宿主机将所述目标云实例的相关信息通知给所述可用区所在的地域内的所有可用区的汇总器集群;

汇总器集群通知模块820,每个可用区中的汇总器集群基于接收到的所述目标云实例的相关信息,生成迁移变更消息和快转变更消息,并将所述迁移变更消息转发给本可用区中的网关集群,以及将所述快转变更消息转发给本可用区中的所有宿主机内的虚拟交换机;

网关集群网络更新模块830,每个可用区中的网关集群基于接收到的迁移变更消息更新本地维护的公网IP路由表和Nat网关转发表;

虚拟交换机网络更新模块840,每个可用区中的每个宿主机内的虚拟交换机基于接收到的快转变更消息更新本地维护的快速转发表。

可选的,所述目标云实例的相关信息包括验证信息、迁移变更信息和快转变更信息;其中,所述验证信息包括到所述目标云实例的网卡类型、网卡IP类型和迁移后可用区;

所述汇总器集群通知模块820,进一步用于确定所述目标云实例的网卡类型是否是公网类型;如果所述目标云实例的网卡类型是公网类型,进一步确定所述迁移后可用区是否与汇总器集群所在可用区为同一可用区,如果为同一可用区,基于所述迁移变更信息生成迁移变更消息;如果不为同一可用区,进一步确定所述网卡IP类型是否是IPV4,如果是,基于所述快转变更信息生成快转变更消息。

可选的,所述迁移变更信息包括网卡迁移标志、网卡IP、第二宿主机的私网管理IP,以及所述验证信息中的网卡类型;

所述网关集群网络更新模块830,进一步用于网关集群解析所述迁移变更消息中的迁移变更信息,确定所述迁移变更信息中的网卡类型是否是公网类型、且网卡迁移标志是否正确;如果是公网类型、且网卡迁移标志正确,则根据所述迁移变更信息中的网卡IP,查询本地维护的公网IP路由表中与所述网卡IP对应的所述目标云实例的第一网卡,进一步将所述第一网卡中的网卡所属宿主机的私网管理IP更新为所述迁移变更信息中的第二宿主机的私网管理IP。

可选的,所述迁移变更信息还包括所述验证信息中的网卡IP类型;

所述网关集群网络更新模块830,还用于网关集群解析所述迁移变更消息中的迁移变更信息,确定所述迁移变更信息中的网卡类型是否是公网类型、网卡IP类型是否是IPV4、且网卡迁移标志是否正确;如果是公网类型、网卡IP类型是IPV4、且网卡迁移标志正确,则根据所述迁移变更信息中的网卡IP,查询本地维护的Nat网关转发表中的Dnat网关转发表中与所述网卡IP对应的所述目标云实例的第二网卡,以及所述Nat网关转发表中的Snat网关转发表中与所述网卡IP对应的所述目标云实例的第三网卡;进一步将所述第二网卡中的网卡所属宿主机的私网管理IP更新为所述迁移变更信息中的第二宿主机的私网管理IP,并修改Dnat Arp缓存;以及,将所述第三网卡中的网卡所属宿主机的私网管理IP更新为所述迁移变更信息中的第二宿主机的私网管理IP,并修改Snat七元组。

可选的,所述快转变更信息包括网卡IP、第二宿主机的私网管理IP,以及所述验证信息中的网卡类型、网卡IP类型;

所述虚拟交换机网络更新模块840,进一步用于虚拟交换机解析所述的快转变更消息中的快转变更信息,确定所述快转变更信息中的网卡类型是否是公网类型、且网卡IP类型是否是IPV4;如果是公网类型、且网卡迁移标志正确,根据所述快转变更信息中的网卡IP查询本地维护的快速转发表,确定与所述网卡IP对应的创建条目标志是否为FALSE;如果是,进一步将所述快速转发表中的网卡所属宿主机的私网管理IP更新为所述快转变更信息中的第二宿主机的私网管理IP,并更新最后活跃时间。

可选的,所述汇总器集群通知模块820,进一步用于汇总器集群获取本可用区的网络集群对应的组播地址,并以组播方式将所述迁移变更消息发送给所述本可用区中的网关集群对应的管理组播地址;获取本可用区的所有宿主机对应的组播地址,并以组播方式将所述快转变更消息发送给所述本可用区的所有宿主机对应的组播地址。

可选的,所述网络更新通知模块810,进一步用于第一宿主机获取所在地域内的所有可用区的汇总器集群对应的地址,并以单播方式将所述目标云实例的相关信息通知给与所述可用区所在的地域内的所有可用区的汇总器集群。

可选的,同一地域内的所有可用区之间通过专线互通;

所述网络更新通知模块810,进一步用于所述第一宿主机通过专线将所述目标云实例的相关信息通知给所述可用区所在的地域内的所有可用区的汇总器集群。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上图8描述了云实例迁移后的网关更新装置的内部功能模块和结构示意,其实质上的执行主体可以为一种电子设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行上述任一云实例迁移后的网关更新方法的实施例。

在上述电子设备的实施例中,应理解,该处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,而前述的存储器可以是只读存储器(英文:read-only memory,缩写:ROM)、随机存取存储器(英文:random access memory,简称:RAM)、快闪存储器、硬盘或者固态硬盘。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。

应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。

相关技术
  • 神经网络的更新方法、更新装置和电子设备
  • 无人机迁移轨迹生成方法、装置、电子设备和存储介质
  • 一种容量迁移方法、装置、电子设备及存储介质
  • 数据迁移方法、装置、介质及电子设备
  • 一种数据的更新方法、装置、电子设备及可读介质
  • 实例迁移方法和装置以及电子设备
  • 云实例跨可用区的通信方法及装置和电子设备
技术分类

06120115962866