为热备系统处理报文的代理网关及通信方法技术方案

技术编号:21719426 阅读:89 留言:0更新日期:2019-07-27 21:55
本发明专利技术实施例公开一种基于代理网关的通信方法和代理网关,该方法包括:接收第一主机向代理网关发送的第一叠加overlay报文,第一overlay报文携带有第一ARP请求报文,第一ARP请求报文由第一主机的第一虚拟机产生并用于请求与虚拟互联网协议VIP地址对应MAC地址,从第一overlay报文获取第一ARP请求报文,发送第一ARP请求报文至第二主机和第三主机,接收第二主机发送的第二overlay报文,第二overlay报文携带有主虚拟机根据第一ARP请求报文产生的针对第一虚拟机的第一ARP应答报文,第一ARP应答报文携带有主虚拟机的MAC地址,从第二overlay报文获取第一ARP应答报文,向第一主机发送第三overlay报文,第三overlay报文携带有第一ARP应答报文。通过以上方式,可降低VPC网络的报文数量,从而减轻数据负载。

Proxy Gateway and Communication Method for Packet Processing in Hot Standby System

【技术实现步骤摘要】
为热备系统处理报文的代理网关及通信方法
本申请涉及网络通信
,特别涉及一种为热备系统处理报文的代理网关和基于代理网关的通信方法。
技术介绍
在虚拟机私有云(VirtualPrivateCloud,VPC)的场景中,为提高应用服务的可靠性,提供双机热备系统,双机热备系统包括主虚拟机和备虚拟机,为主虚拟机和备虚拟机分配一个虚拟互联网协议(VirtualInternetProtocol,VIP)地址,并根据主虚拟机的工作状态将VIP绑定到主虚拟机或备虚拟机,其中,主虚拟机和备虚拟机设置有不同的媒体访问控制(MediaAccessControlAddress,MAC)地址,并且,主虚拟机和备虚拟机分别设置有相同的应用服务。当主虚拟机处于正常工作状态时,由主虚拟机绑定VIP地址并以VIP地址提供应用服务,当主虚拟机处于故障状态时,备虚拟机替换主虚拟机绑定VIP地址,备虚拟机以该VIP地址提供相同的应用服务,从而保证应用服务的可靠性,使得在主虚拟机不能正常工作的情况下,也可以利用备虚拟机提供应用服务,且用户对主虚拟机发生故障无感知,可提升用户体验。在主虚拟机处于正常工作状态时,主虚拟机与VIP地址绑定,VPC内的虚拟机在首次与主虚拟机进行通信时,该虚拟机没有记录主虚拟机的MAC地址的,这时需要发送地址解析协议(AddressResolutionProtocol,ARP)请求报文以请求主虚拟机的MAC地址,具体地,会通过与该虚拟机连接的虚拟扩展局域网隧道端点(VirtualExtensibleLANTunnelEndpoints,VTEP)在VPC网络广播发送携带有ARP请求报文的VXLAN报文,以查询VIP地址对应的主虚拟机的MAC地址。在现有技术中,在VPC规模较大,如有上万个虚拟机时,需在VPC内进行广播需要复制上万份VXLAN报文,从而使得数据负载过高,导致出现报文时延大、丢包问题。
技术实现思路
为解决现有技术的问题,本专利技术实施例提供一种为热备系统处理报文的代理网关和基于代理网关的通信方法,通过代理网关接收第一主机发送的携带有ARP请求报文的第一overlay报文,可避免在VPC网络广播发送携带有ARP请求报文的VXLAN报文,从而降低网络数据负载。第一方面,本专利技术实施例提供一种基于代理网关的通信方法,该方法用于为热备系统处理报文,热备系统包括主虚拟机和备虚拟机,该方法包括以下步骤:代理网关接收第一主机向代理网关发送的第一叠加overlay报文,第一overlay报文携带有第一地址解析协议ARP请求报文,第一ARP请求报文由第一主机的第一虚拟机产生并用于请求与虚拟互联网协议VIP地址对应MAC地址,代理网关从第一overlay报文获取第一ARP请求报文,发送第一ARP请求报文至第二主机和第三主机,第二主机设置有主虚拟机,第三主机设置有备虚拟机,代理网关接收第二主机向代理网关发送的第二overlay报文,第二overlay报文携带有主虚拟机根据第一ARP请求报文产生的针对第一虚拟机的第一ARP应答报文,第一ARP应答报文携带有主虚拟机的MAC地址,代理网关从第二overlay报文获取第一ARP应答报文,向第一主机发送第三overlay报文,第三overlay报文携带有第一ARP应答报文。第一主机仅需发送第一overlay报文至代理网关,代理网关发送第一ARP请求报文至第二主机和第三主机,可避免第一主机在VPC网络中直接发送广播报文,因此可降低VPC网络的报文数量,从而减轻数据负载。在第一方面的第一种可能的实现方式中,第一overlay报文的目的地址是代理网关的网络地址,源地址是第一主机的网络地址,第一overlay报文携带有第一虚拟机产生的第一地址解析协议ARP请求报文,第一ARP报文的源MAC地址是第一虚拟机的MAC地址,源IP地址是第一虚拟机的IP地址,目的IP地址是VIP地址,VIP地址与主虚拟机绑定,发送第一ARP请求报文至第二主机和第三主机,包括:代理网关发送第四overlay报文和第五overlay报文,第四overlay报文和第五overlay报文分别携带有第一ARP请求报文,第四overlay报文的源地址是代理网关的网络地址,目的地址是第二主机的网络地址,第五overlay报文的源地址是代理网关的网络地址,目的地址是第三主机的网络地址。由于代理网关单播发送第四overlay报文和第五overlay报文,因此可极大地降低VPC网络的报文数量,从而提高报文传输速度。根据第一方面的第一种可能的实现方式,在第二种可能的实现方式中,第二overlay报文的目的地址是代理网关的网络地址,源地址是第二主机的网络地址,第一ARP应答报文的源MAC地址是主虚拟机的MAC地址,目的MAC地址是第一虚拟机的MAC地址,源IP地址是VIP地址,目的IP地址是第一虚拟机的IP地址,第三overlay报文的目的地址是第一主机的网络地址,源地址是代理网关的网络地址。通过限定目的MAC地址实现单播发送,可极大地降低VPC网络的报文数量,从而提高报文传输速度。在第一方面的第三种可能的实现方式中,发送第一ARP请求报文至第二主机和第三主机,通过以下方式实现:代理网关将第一ARP请求报文设置于组播报文并发送组播报文,其中第二主机和第三主机设置在组播组中,组播报文的源地址是代理网关的网络地址,目的地址是组播组的组播地址,组播报文携带有第一ARP请求报文。通过组播报文来通知热备系统,在热备系统中不只设置有一个备虚拟机的情况下尤为适用,当多个备虚拟机时,代理网关无需分别记录主虚拟机和各个备虚拟机的所在主机的网络地址,仅需记录组播地址即可,可降低管理员的工作负担。根据第一方面、第一方面的第一至第三种可能的实现方式中的任一者,在第四种可能的实现方式中,代理网关接收第一主机向代理网关发送的第一overlay报文之后,该方法还包括:代理网关从第一ARP请求报文获取VIP地址,代理网关接收第二主机向代理网关发送的第二overlay报文之后,该方法还包括:代理网关从第二overlay报文携带的第一ARP应答报文获取主虚拟机的MAC地址,代理网关记录VIP地址与主虚拟机的MAC地址的第一对应关系。代理网关可学习到第一对应关系,根据第一对应关系对后续接收到的ARP请求报文进行代答,从而实现代理功能。根据第一方面的第四种可能的实现方式,在第五种可能的实现方式中,在向第一主机发送第三overlay报文之后,该方法还包括:代理网关接收第三主机发送的第六overlay报文,第六overlay报文的目的地址是代理网关的网络地址,源地址是第三主机的网络地址,第六overlay报文携带有备虚拟机在主虚拟机发生异常的情况下与VIP绑定之后产生的通用属性注册协议GARP请求报文,GARP请求报文的源IP地址和目的IP地址是VIP地址,源MAC地址是备虚拟机的MAC地址,目的MAC地址是MAC广播地址,代理网关根据GARP请求报文将第一对应关系更新为第二对应关系,第二对应关系为VIP地址与备虚拟机的MAC地址的对应关系,代理网关发送第七overlay报文,第七overlay报文的目的地址是第一主机的网络地址,源地址是代理网关的网络地址,第七overlay本文档来自技高网
...

【技术保护点】
1.一种基于代理网关的通信方法,其特征在于,所述方法用于为热备系统处理报文,所述热备系统包括主虚拟机和备虚拟机,所述方法包括:代理网关接收第一主机向所述代理网关发送的第一叠加overlay报文,所述第一overlay报文携带有第一地址解析协议ARP请求报文,所述第一ARP请求报文由所述第一主机的第一虚拟机产生并用于请求与虚拟互联网协议VIP地址对应MAC地址;所述代理网关从所述第一overlay报文获取所述第一ARP请求报文,发送所述第一ARP请求报文至第二主机和第三主机,所述第二主机设置有所述主虚拟机,所述第三主机设置有所述备虚拟机;所述代理网关接收所述第二主机向所述代理网关发送的第二overlay报文,所述第二overlay报文携带有所述主虚拟机根据所述第一ARP请求报文产生的针对所述第一虚拟机的第一ARP应答报文,所述第一ARP应答报文携带有所述主虚拟机的MAC地址;所述代理网关从所述第二overlay报文获取所述第一ARP应答报文,向所述第一主机发送第三overlay报文,所述第三overlay报文携带有所述第一ARP应答报文。

【技术特征摘要】
1.一种基于代理网关的通信方法,其特征在于,所述方法用于为热备系统处理报文,所述热备系统包括主虚拟机和备虚拟机,所述方法包括:代理网关接收第一主机向所述代理网关发送的第一叠加overlay报文,所述第一overlay报文携带有第一地址解析协议ARP请求报文,所述第一ARP请求报文由所述第一主机的第一虚拟机产生并用于请求与虚拟互联网协议VIP地址对应MAC地址;所述代理网关从所述第一overlay报文获取所述第一ARP请求报文,发送所述第一ARP请求报文至第二主机和第三主机,所述第二主机设置有所述主虚拟机,所述第三主机设置有所述备虚拟机;所述代理网关接收所述第二主机向所述代理网关发送的第二overlay报文,所述第二overlay报文携带有所述主虚拟机根据所述第一ARP请求报文产生的针对所述第一虚拟机的第一ARP应答报文,所述第一ARP应答报文携带有所述主虚拟机的MAC地址;所述代理网关从所述第二overlay报文获取所述第一ARP应答报文,向所述第一主机发送第三overlay报文,所述第三overlay报文携带有所述第一ARP应答报文。2.根据权利要求1所述的方法,其特征在于,所述第一overlay报文的目的地址是所述代理网关的网络地址,源地址是所述第一主机的网络地址,所述第一overlay报文携带有第一虚拟机产生的第一地址解析协议ARP请求报文,所述第一ARP报文的源MAC地址是所述第一虚拟机的MAC地址,源IP地址是所述第一虚拟机的IP地址,目的IP地址是所述VIP地址,所述VIP地址与所述主虚拟机绑定;所述发送所述第一ARP请求报文至第二主机和第三主机,包括:所述代理网关发送第四overlay报文和第五overlay报文,所述第四overlay报文和所述第五overlay报文分别携带有所述第一ARP请求报文,所述第四overlay报文的源地址是所述代理网关的网络地址,目的地址是所述第二主机的网络地址,所述第五overlay报文的源地址是所述代理网关的网络地址,目的地址是所述第三主机的网络地址。3.根据权利要求2所述的方法,其特征在于,所述第二overlay报文的目的地址是所述代理网关的网络地址,源地址是所述第二主机的网络地址,所述第一ARP应答报文的源MAC地址是所述主虚拟机的MAC地址,目的MAC地址是所述第一虚拟机的MAC地址,源IP地址是所述VIP地址,目的IP地址是所述第一虚拟机的IP地址;所述第三overlay报文的目的地址是所述第一主机的网络地址,源地址是所述代理网关的网络地址。4.根据权利要求1所述的方法,其特征在于,所述发送所述第一ARP请求报文至第二主机和第三主机,包括:所述代理网关将所述第一ARP请求报文设置于组播报文并发送所述组播报文,其中所述第二主机和所述第三主机设置在组播组中,所述组播报文的源地址是所述代理网关的网络地址,目的地址是所述组播组的组播地址,所述组播报文携带有所述第一ARP请求报文。5.根据权利要求1至4任一项所述的方法,其特征在于,所述代理网关接收第一主机向所述代理网关发送的第一overlay报文之后,所述方法还包括:所述代理网关从所述第一ARP请求报文获取所述VIP地址;所述代理网关接收所述第二主机向所述代理网关发送的第二overlay报文之后,所述方法还包括:所述代理网关从所述第二overlay报文携带的所述第一ARP应答报文获取所述主虚拟机的MAC地址;所述代理网关记录所述VIP地址与所述主虚拟机的MAC地址的第一对应关系。6.根据权利要求5所述的方法,其特征在于,所述向所述第一主机发送第三overlay报文之后,所述方法还包括:所述代理网关接收所述第三主机发送的第六overlay报文,所述第六overlay报文的目的地址是所述代理网关的网络地址,源地址是所述第三主机的网络地址,所述第六overlay报文携带有所述备虚拟机在所述主虚拟机发生异常的情况下与所述VIP绑定之后产生的通用属性注册协议GARP请求报文,所述GARP请求报文的源IP地址和目的IP地址是所述VIP地址,源MAC地址是所述备虚拟机的MAC地址,目的MAC地址是MAC广播地址;所述代理网关根据所述GARP请求报文将所述第一对应关系更新为第二对应关系,所述第二对应关系为所述VIP地址与所述备虚拟机的MAC地址的对应关系;所述代理网关发送第七overlay报文,所述第七overlay报文的目的地址是所述第一主机的网络地址,源地址是所述代理网关的网络地址,所述第七overlay报文携带有所述GARP请求报文。7.根据权利要求6所述的方法,其特征在于,所述代理网关接收第一主机发送的第一overlay报文还包括:所述代理网关记录接收到所述第一overlay报文的第一时间;所述代理网关发送第七overlay报文,包括:所述代理网关在当前时间与所述第一时间的差值小于时间阈值时,发送所述第七overlay报文。8.根据权利要求6或7所述的方法,其特征在于,所述代理网关将所述第一对应关系更新为第二对应关系之后,所述方法还包括:所述代理网关接收所述第一主机发送的第八overlay报文,所述第八overlay报文的目的地址是所述代理网关的网络地址,源地址是所述第一主机的网络地址,所述第八overlay报文携带有第二ARP请求报文,所述第二ARP请求报文的源MAC地址是所述第一虚拟机的MAC地址,源IP地址是所述第一虚拟机的IP地址,目的IP地址是所述VIP地址;所述代理网关根据所述VIP地址从所述第二对应关系获取所述备虚拟机的MAC地址;所述代理网关发送第九overlay报文,所述第九overlay报文的目的地址是所述第一主机的网络地址,源IP地址是所述代理网关的网络地址,所述第九overlay报文携带有第二ARP应答报文,所述第二ARP应答报文的源MAC地址是所述备虚拟机的MAC地址,目的MAC地址是所述第一虚拟机的MAC地址,源IP地址是所述VIP地址,目的IP地址是所述第一虚拟机的IP地址。9.根据权利要求5所述的方法,其特征在于,所述代理网关记录所述VIP地址与所述主虚拟机的MAC地址的第一对应关系之后,所述方法还包括:所述代理网关接收所述第一主机发送的第十overlay报文,所述第十overlay报文的目的地址是所述代理网关的网络地址,源地址是所述第一主机的网络地址,所述第八overlay报文携带有第三ARP请求报文,所述第三ARP请求报文的源MAC地址是设置在所述第一主机的第四虚拟机的MAC地址,源IP地址是所述第四虚拟机的IP地址,目的IP地址是所述VIP地址;所述代理网关根据所述VIP地址从所述第一对应关系获取所述主虚拟机的MAC地址;所述代理网关发送第十一overlay报文,所述第十一overlay报文的目的地址是所述第一主机的网络地址,源地址是所述代理网关的网络地址,所述第十overlay报文携带有第三ARP应答报文,所述第三ARP应答报文的源MAC地址是所述主虚拟机的MAC地址,目的MAC地址是所述第四虚拟机的MAC地址,源IP地址是所述VIP地址,目的IP地址是所述第四虚拟机的IP地址。10.根据权利要求1至9任一项所述的方法,其特征在于,所述第一overlay报文、所述第二overlay报文、所述第三overlay报文、所述第四overlay报文以及所述第五overlay报文为虚拟扩展局域网VXLAN报文。11.一种代理网关,其特征在于,所述代理网关用于为热备系统处理报文,所述热备系统包括主虚拟机和备虚拟机,所述代理网关包括:接收模块,用于接收第一主机向所述代理网关发送的第一叠加overlay报文,所述第一overlay报文携带有第一地址解析协议ARP请求报文,所述第一ARP请求报文由所述第一主机的第一虚拟机产生并用于请求与虚拟互联网协议VIP地址对应MAC地址;处理模块,用于从所述第一overlay报文获取所述第一ARP请求报文;发送模块,用于发送所述第一ARP请求报文至第二主机和第三主机,所述第二主机设置有所述主虚拟机,所述第三主机设置有所述备虚拟机;所述接收模块,用于接收所述第二主机向所述代理网关发送的第二overlay报文,所述第二overlay报文携带有所述主虚拟机根据所述第一ARP请求报文产生的针对所述第一虚拟机的第一ARP应答报文,所述第一ARP应答报文携带有所述主虚拟机的MAC地址;所述处理模块,用于从所述第二overlay报文获取所述第一ARP应答报文;所述发送模块,用于向所述第一主机发送第三overlay报文,所述第三overlay报文携带有所述第一ARP应答报文。12.根据权利要求11所述的代理网关,其特征在于,所述第一overlay报文的目的地址是所述代理网关的网络地址,源地址是所述第一主机的网络地址,所述第一overlay报文携带有第一虚拟机产生的第一地址解析协议ARP请求报文,所述第一ARP报文的源MAC地址是所述第一虚拟机的MAC地址...

【专利技术属性】
技术研发人员:王睿陈帅
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1