CN115208888B - 云实例跨可用区的通信方法及装置和电子设备 - Google Patents
云实例跨可用区的通信方法及装置和电子设备 Download PDFInfo
- Publication number
- CN115208888B CN115208888B CN202211110546.3A CN202211110546A CN115208888B CN 115208888 B CN115208888 B CN 115208888B CN 202211110546 A CN202211110546 A CN 202211110546A CN 115208888 B CN115208888 B CN 115208888B
- Authority
- CN
- China
- Prior art keywords
- lan
- cloud
- cloud instance
- message
- vlan
- 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
Links
- 230000006854 communication Effects 0.000 title claims abstract description 86
- 238000004891 communication Methods 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000000977 initiatory effect Effects 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000002955 isolation Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书提供有云实例跨可用区的通信方法及装置和电子设备。应用于云实例的宿主机,宿主机部署有跨可用区通信和本可用区通信的邻居表;方法包括:发送端宿主机在接收到云实例发送的报文后,解析与报文对应的LAN ID、VLAN ID和目的MAC;查询本地维护的邻居表,确定邻居表中是否存在与目的MAC对应的跨可用区的目的云实例信息;如果是,确定LAN ID、VLAN ID与目的云实例信息是否匹配;如果是,在报文中添加隧道头和外层头,并将LAN ID、VLAN ID填充到隧道头,将目的云实例信息中的跨可用区的目的宿主机IP填充到外层头;将处理后的报文通过跨可用区专线发送给与目的宿主机IP对应的接收端宿主机。
Description
技术领域
本说明书实施例涉及云计算领域,尤其涉及一种云实例跨可用区的通信方法及装置和电子设备。
背景技术
在云计算中,由于某些业务需要较高的容灾能力,所以租户的灾备业务会分布在与生产业务不同的可用区(Availability Zone,AZ),每个可用区可以是具有电力和网络独立的物理区域;如此,当生产业务所在的可用区发生异常导致服务不可用时,就可以切换到灾备业务所在的可用区保证服务的可用性。
在正常情况下,灾备业务与生产业务之间需要保持互相通信以实现数据同步,所以两个可用区中的云实例之间有通信的需求。
在相关技术中,在两个不同的可用区中的云实例之间进行通信需要经过专线转发控制器进行转发,这种需要经过专线转发控制器的通信方式,转发路径长,报文在跨可用区传输过程中至少需要经过两次专线转发控制器,从而会多至少两跳的传输路径。因此,现有云实例跨可用区的通信存在传输路径长,通信传输效率较低的问题。
发明内容
本说明书实施例提供的一种云实例跨可用区的通信方法及装置和电子设备。用以解决跨可用区的通信存在传输路径长,通信传输效率较低的问题。
根据本说明书实施例的第一方面,提供一种云实例跨可用区的通信方法,应用于发送收端宿主机,所述发送端宿主机中部署有跨可用区通信的邻居表以及本可用区通信的邻居表,所述邻居表中维护有跨可用区的云实例的云实例信息;所述方法包括:
发送端宿主机在接收到云实例发送的报文后,解析与所述报文对应的LAN ID、VLAN ID和目的MAC;
查询本地维护的邻居表,确定所述邻居表中是否存在与所述目的MAC对应的跨可用区的目的云实例信息;
如果存在,进一步确定所述LAN ID、VLAN ID与所述目的云实例信息是否匹配;
如果匹配,在所述报文中添加隧道头和外层头,并将所述LAN ID、VLAN ID填充到所述隧道头,以及将目的云实例信息中的跨可用区的目的宿主机IP填充到所述外层头,得到处理后的报文;
将所述处理后的报文通过跨可用区专线发送给与所述目的宿主机IP对应的接收端宿主机;以使所述接收端宿主机根据所述报文的隧道头中的LAN ID、VLAN ID将所述报文转发给目的云实例。
可选的,所述发送端宿主机所在的可用区中部署有汇总器,所述汇总器中维护有流表,所述流表包含有各个可用区中所有云实例的云实例信息;所述方法还包括:
向所述汇总器发起查询请求;其中,所述查询请求携带有所述发送端宿主机中的云实例的LAN ID列表;
接收所述汇总器返回的查询结果,所述查询结果为所述LAN ID列表与所述流表存在相同LAN ID对应的云实例信息;
将查询结果中云实例信息的LAN ID和VLAN MASK与所述发送端宿主机上云实例的网卡的LAN ID和VLAN MASK进行比对;
在任一云实例信息中的LAN ID与云实例的网卡的LAN ID相同,且该云实例信息中的VLAN MASK与该网卡VLAN MASK具有相同VLAN ID时,将该云实例信息作为一条邻居表信息加入到邻居表中。
可选的,所述云实例信息包括云实例所在的宿主机信息、云实例详细信息、云实例网卡信息;
其中,所述宿主机信息可以包括宿主机IP;
所述云实例详细信息可以包括云实例的ID、云实例所处的可用区ID;
所述云实例网卡信息可以包括网卡ID、网卡所在的LAN ID、VLAN MASK、网卡IP。
可选的,所述将所述处理后的报文通过跨可用区专线发送给与所述目的宿主机IP对应的接收端宿主机,包括:
确定所述目的宿主机IP是否位于所述发送端宿主机所在的可用区;
如果是,将所述可用区的可用区IP填充到所述报文的外层以太网头,并以二层方式将所述报文通过跨可用区专线发送给所述接收端宿主机;
如果否,根据所述目的宿主机IP从部署在所述发送端宿主机中的专线路由中路由到接收端宿主机,将所述目的宿主机IP填充到所述报文的二层以太网头,并以三层方式将所述报文通过跨可用区专线发送给所述接收端宿主机。
可选的,所述方法包括:
接收端宿主机接收到发送端宿主机发送的报文后,解析所述报文的隧道头,获取所述隧道头中的LAN ID、VLAN ID;
解析所述报文的内层以太网头,获取目的网卡ID;
查询本地维护的邻居表,确定是否存在与所述目的网卡ID对应的LAN ID和VLANMASK;
如果存在,进一步确定所述目的网卡ID的LAN ID与所述隧道头中的LAN ID是否相同,且所述网卡ID的VLAN MASK是否包含所述隧道头中的VLAN ID;
如果是,则将所述报文转发给目的云实例。
根据本说明书实施例的第二方面,提供一种云实例跨可用区的通信方法,应用于接收端宿主机,所述接收端宿主机中部署有跨可用区通信的邻居表以及本可用区通信的邻居表,所述邻居表中维护有跨可用区的云实例的云实例信息;所述方法包括:
接收端宿主机接收到发送端宿主机通过跨可用区专线发送的报文后,解析所述报文的隧道头,获取所述隧道头中的LAN ID、VLAN ID;
解析所述报文的内层以太网头,获取目的网卡ID;
查询本地维护的邻居表,确定是否存在与所述目的网卡ID对应的LAN ID和VLANMASK;
如果存在,进一步确定所述目的网卡ID的LAN ID与所述隧道头中的LAN ID是否相同,且所述网卡ID的VLAN MASK是否包含所述隧道头中的VLAN ID;
如果是,则将所述报文转发给目的云实例。
可选的,所述接收端宿主机所在的可用区中部署有汇总器,所述汇总器中维护有流表,所述流表包含有各个可用区中所有云实例的云实例信息;所述方法还包括:
向所述汇总器发起查询请求;其中,所述查询请求携带有所述接收端宿主机中的云实例的LAN ID列表;
接收所述汇总器返回的查询结果,所述查询结果为所述LAN ID列表与所述流表存在相同LAN ID对应的云实例信息;
将查询结果中云实例信息的LAN ID和VLAN MASK与所述接收端宿主机上云实例的网卡的LAN ID和VLAN MASK进行比对;
在任一云实例信息中的LAN ID与云实例的网卡的LAN ID相同,且该云实例信息中的VLAN MASK与该网卡VLAN MASK具有相同VLAN ID时,将该云实例信息作为一条邻居表信息加入到邻居表中。
可选的,所述云实例信息包括云实例所在的宿主机信息、云实例详细信息、云实例网卡信息;
其中,所述宿主机信息可以包括宿主机IP;
所述云实例详细信息可以包括云实例的ID、云实例所处的可用区ID;
所述云实例网卡信息可以包括网卡ID、网卡所在的LAN ID、VLAN MASK、网卡IP。
根据本说明书实施例的第三方面,提供一种云实例跨可用区的通信装置,应用于发送收端宿主机,所述发送端宿主机中部署有跨可用区通信的邻居表以及本可用区通信的邻居表,所述邻居表中维护有跨可用区的云实例的云实例信息;所述装置包括:
解析单元,发送端宿主机在接收到云实例发送的报文后,解析与所述报文对应的LAN ID、VLAN ID和目的MAC;
查询单元,查询本地维护的邻居表,确定所述邻居表中是否存在与所述目的MAC对应的跨可用区的目的云实例信息;
确定单元,如果存在,进一步确定所述LAN ID、VLAN ID与所述目的云实例信息是否匹配;
处理单元,如果匹配,在所述报文中添加隧道头和外层头,并将所述LAN ID、VLANID填充到所述隧道头,以及将目的云实例信息中的跨可用区的目的宿主机IP填充到所述外层头,得到处理后的报文;
发送单元,将所述处理后的报文通过跨可用区专线发送给与所述目的宿主机IP对应的接收端宿主机;以使所述接收端宿主机根据所述报文的隧道头中的LAN ID、VLAN ID将所述报文转发给目的云实例。
根据本说明书实施例的第四方面,提供一种云实例跨可用区的通信装置,应用于接收端宿主机,所述接收端宿主机中部署有跨可用区通信的邻居表以及本可用区通信的邻居表,所述邻居表中维护有跨可用区的云实例的云实例信息;所述装置包括:
接收单元,接收端宿主机接收到发送端宿主机通过跨可用区专线发送的报文后,解析所述报文的隧道头,获取所述隧道头中的LAN ID、VLAN ID;
解析单元,解析所述报文的内层以太网头,获取目的网卡ID;
查询单元,查询本地维护的邻居表,确定是否存在与所述目的网卡ID对应的LANID和VLAN MASK;
确定单元,如果存在,进一步确定所述目的网卡ID的LAN ID与所述隧道头中的LANID是否相同,且所述网卡ID的VLAN MASK是否包含所述隧道头中的VLAN ID;
转发单元,如果是,则将所述报文转发给目的云实例。
根据本说明书实施例的第五方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为上述任一项云实例跨可用区的通信方法。
本说明书实施例,提供了一种通信方案,将周期性更新的跨可用区的云实例对应的云实例信息构成的邻居表分布式分布在各个宿主机上(以代替专线转发控制器功能);如此,宿主机收到云实例下发的跨可用区的报文后,通过查询邻居表来确定目的云实例是否可通信,并在可通信的情况下将报文直接转发到跨可用区的目的云实例(而无需经过专线转发控制器的跳转);如此通过减少专线转发控制器的跳转,从而缩短传输路径,提高通信传输效率。
附图说明
图1是本说明书一实施例提供的现有云实例跨可用区的通信方式的示意图;
图2是本说明书一实施例提供的汇总器生成邻居表的方法的流程图;
图3是本说明书一实施例提供的改进后的云实例跨可用区的通信方式的示意图;
图4是本说明书一实施例提供的以发送端宿主机为执行主体的云实例跨可用区的通信方法的流程图;
图5是本说明书一实施例提供的以接收端宿主机为执行主体的云实例跨可用区的通信方法的流程图;
图6是本说明书一实施例提供的处理后报文的结构示意图;
图7是本说明书一实施例提供的云实例跨可用区的通信装置的硬件结构图;
图8是本说明书一实施例提供的云实例跨可用区的通信装置的模块;
图9是本说明书一实施例提供的云实例跨可用区的通信装置的模块。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了更为方便的理解本说明书中记载的技术方案,以下将对说明书中涉及的技术术语以及技术概念进行名称解释:
地域(Region),可以是从地理位置和网络时延维度划分的区域;同一个地域内可以共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。
可用区(Availability Zone,AZ),可以是指同一地域内,电力和网络独立的物理区域。
云实例(Cloud Instance)可以是指虚拟计算环境,其中可以包括CPU、内存、硬盘、***、网络等基础的计算机组件。云实例可以是云计算的租户根据自身业务需要部署在可用区中,以虚拟机的形式提供基于云计算的业务服务或应用的服务器。
宿主机(Host)可以是指运行虚拟机的容器,例如KVM(Kernel-based VirtualMachine)、Xen、Hyper-V等虚拟机。
虚拟交换机可以是指在云计算中,为虚拟机或其它类型虚拟设备提供以太网报文转发的设备,虚拟交换机运行在宿主机上。
LAN ID是云计算中虚拟交换机端口的属性之一,虚拟机网卡对应虚拟交换机的设备ID,一个租户只有一个LAN ID。
VLAN MASK是云计算虚拟交换机端口的属性之一,为一个512Bytes的无符号变量,每个bit对应一个VLAN,因此一个虚拟交换机端口最多可以有4096个VLAN。
VLAN(Virtual Local Area Network),虚拟局域网。
VxLAN(Virtual eXtensible Local Area Network),虚拟可扩展的局域网。
租户(tenant),在云计算中,使用云计算的用户需要租用云计算的资源,因此将使用云计算的用户称为租户。这里的用户可以是个人也可以组织或者机构。
同一个租户的多个云实例需要处在同一个LAN中,因此这些云实例具有相同的LANID。这里的多个可以是两个或两个以上,即至少两个。
随着云计算技术的不断发展,对云计算中的虚拟化网络的要求越来越高,例如对弹性(scalability)、安全性(security)、可靠性(reliability)和私密性(privacy)的要求,另外还有对互联性能(performance)的较高需求;因此出现了多种多样的网络虚拟化技术。
较早出现的网络虚拟化的方案通常是将虚拟机的网络和物理网络进行融合,形成一个扁平的网络架构,例如大二层网络。然而,随着虚拟化网络规模的扩大,面临的ARP欺骗、广播风暴、主机扫描等网络攻击越来越严重,而这种网络虚拟化方案下难以有效应对上述网络攻击。为此又出现了网络隔离技术,该网络隔离技术可以用于将物理网络和虚拟网络彻底隔开,这样就可以有效避免网络攻击造成的影响。
在相关的网络隔离技术中,有一种技术是使用VLAN对云计算中的租户之间进行隔离;但是传统的VLAN只能隔离2^12个虚拟数据中心,无法支撑云计算特别是公有云的巨大用户量。随着VxLAN技术越来愈成熟,各大云计算厂商纷纷选用VxLAN进行隔离,最大的隔离数量也提高到了2^24个。
在云计算中,不同地域的可用区之间是完全隔离的,但一个地域内的可用区可以使用低时延链路(如专线)相连。云计算中部分应用需要较高的容灾能力,这些应用的租户会将云实例部署在同一地域的不同可用区内,因此就出现了前述的同一地域中的跨可用区的通信的需求。
在相关技术中,云实例跨可用区的通信方式如图1所示,在两个不同的可用区上的云实例之间进行通信需要经过专线转发控制器进行转发:例如,可用区A中云实例的报文需要先发送给对应的专线转发控制器(图1中所示的ZonA专线转发控制器),然后由ZonA专线转发控制器将该报文转发给可用区B对应的专线转发控制器(图1中所示的ZonB专线转发控制器),再由ZonB专线转发控制器将该报文转发给可用区B中的云实例。
由此可见,这种需要经过专线转发控制器的通信方式,转发路径长,报文在跨可用区传输过程中至少需要经过两次专线转发控制器,从而会多至少两跳的传输路径。因此,现有云实例跨可用区的通信存在传输路径长,通信传输效率较低的问题。
为了解决上述问题,本说明书旨在提供一种传输路径短,通信传输效果高的云实例跨可用区的通信方案,具体将周期性更新的跨可用区的云实例对应的云实例信息构成的邻居表分布式分布在各个宿主机上(以代替专线转发控制器功能);如此,宿主机收到云实例下发的跨可用区的报文后,通过查询邻居表来确定目的云实例是否可通信,并在可通信的情况下将报文直接转发到跨可用区的目的云实例(而无需经过专线转发控制器的跳转);如此通过减少专线转发控制器的跳转,从而缩短传输路径,提高通信传输效率。
另一方面,由于邻居表是分布式存储在各个宿主机上,个别链路出现异常也不影响其它链路的正常通信,从而增强了云计算整体的稳定性和健壮性。
再一方面,同样是由于邻居表是分布式存储在各个宿主机上,多台宿主机可以同时并行转发报文,相比于专线转发控制器只能串行转发报文,转发报文的效率更高。
在本说明书中,跨可用区的传输过程主要涉及三个模块,分别为部署及汇总器模块、发送端宿主机处理报文模块以及接收端宿主机处理报文模块;以下分别对这三个模块进行介绍。
首先是部署及汇总器模块,其作用是用于保证跨可用区之间的相互通信,是报文可以跨可用区传输的基础。
一般的,在部署可用区之前,需要进行以下操作:
第一,在可用区的部署配置中增加需要通信的可用区ID(Identity document,身份标识),该可用区ID可以唯一标识对应的可用区,可用区与可用区ID之间可以是一一对应的关系。多个可用区之间额可以用特殊符号如*(星号)连接。
第二,部署跨可用区的汇总列表,所述汇总列表用于记录需要通信的可用区的相关信息如可用区ID。多个汇总列表之间同样可以用特殊符号如*(星号)连接。
在完成上述操作之后,还需要在宿主机和汇总器上部署需要通信的可用区的路由,汇总器可以定期汇总所在可用区信息形成流表,并将流表发送给需求通信的其它可用区,以使其它可用区中的汇总器完善流表;该汇总器也同样可以接收其它可用区的汇总器发送过来的流表,并基于其它可用区的流表完善自身的流表,从而形成部署在宿主机上的邻居表。也就是说,各个宿主机上即可以包含跨可用区通信的邻居表,也可以包含本可用区通信的邻居表。在有的实施例中,跨可用区通信的邻居表和本可用区通信的邻居表可以合并为一张邻居表。
以下结合图2所示的汇总器生成邻居表的方法流程示意图,可以应用于部署在可用区中的汇总器,该方法可以包括以下步骤:
步骤210:汇总器获取所在可用区中的宿主机上报的云实例信息。
在实现时,可用区中的所有宿主机可以周期性(例如4秒)将各自宿主机上的云实例信息上报给汇总器,即图3所示改进后的跨可用区的通信方式的示意图中的信息汇总流量。
其中,所述云实例信息可以包括云实例所在的宿主机信息、云实例详细信息、云实例网卡信息。在实际应用中,上述云实例信息可以是以结构体的形式上报的。
所述宿主机信息可以包括宿主机的IP(Internet Protocol,网际互连协议);
所述云实例详细信息可以包括云实例的ID、云实例所处的可用区ID;
所述云实例网卡信息可以包括网卡ID、网卡所在的LAN ID、VLAN MASK、网卡IP。
步骤220:根据所述云实例信息生成流表,并与其它可用区的汇总器交换各自的流表。
如图3所示,可用区A中的汇总器可以基于可用区A中所有宿主机上传的云实例信息生成可用区A的流表,并将可用区A的流表转发给可用区B中的汇总器;同时也可以接收可用区B中的汇总器发送过来的可用区B的流表;即图3中所示的跨可用区流量。
所述流表是云实例信息的集合;在汇总器接收到其它区的流表后可以将本可用区的流表与其它区的流表合并为一个流表,这样合并后的流表中不仅有本可用区中云实例信息也包含其它可用区中云实例信息。
步骤230:获取所在可用区中的宿主机发起的查询请求;其中,所述查询请求携带有所述宿主机中云实例的LAN ID列表。
在实现时,可用区中的所有宿主机可以周期性(例如4秒)收集各自宿主机上所有的云实例的LAN id以形成LAN id列表,并向汇总器发起查询请求;这一过程即为图3所示的邻居表流量。
步骤240:响应于所述查询请求,将LAN ID列表中的LAN ID与所述流表中的云实例信息包含的LAN ID进行比对;如果存在相同的LAN ID,将该相同的LAN ID对应的云实例信息作为查询结果发送给发起查询请求的宿主机;以使所述宿主机将查询结果中云实例信息的LAN ID和VLAN MASK与本宿主机上云实例的网卡的LAN ID和VLAN MASK进行比对;在任一云实例信息中的LAN ID与云实例的网卡的LAN ID相同,且该云实例信息中的VLAN MASK与该网卡VLAN MASK具有相同VLAN ID时,将云实例信息作为一条邻居表信息加入到邻居表中。
在实现时,可以将LAN ID列表换算成位图值形成位图(bitmap),将步骤220中的流表分解为单条表项,并将每条表项的LAN ID换算成位图值与前述的位图做对比,如果任一LAN ID为真,则表示该LAN ID同时存在于LAN ID列表和流表中,说明这个LAN ID对应的云实例是可以通信的。因此,需要将这个LAN id及其相关的云实例信息发送给发起查询请求的宿主机,否则不发送方宿主机。需要说明的是,这里采用位图转换的目的在于减少LAN ID的比对时间,以提高比对效率。在有的实施例中也可以不采用这种方式,而是直接比对LANID本身。
进一步的,汇总器在将查询结果返回给宿主机后,宿主机就可以将查询结果分解为单条的表项,将所述表项中的LAN ID和VLAN MASK与本宿主机上云实例的网卡的LAN ID和VLAN MASK进行比对;如果表项中的LAN ID与云实例的网卡的LAN ID相同,且该表项中的VLAN MASK与该网卡VLAN MASK具有相同VLAN ID,则说明该表项是本宿主机的一条邻居表信息,否则不是邻居表信息。
对所有表项处理后形成的邻居表,可以用于转发图3中所示的业务流量(也称隧道报文),即各个宿主机可以基于邻居表进行跨可用区的通信。
在介绍完前述的部署及汇总器模块以及相关的邻居表的生成过程之后,接下来将进一步介绍发送端宿主机处理报文模块以及接收端宿主机处理报文模块。在跨可用区的通信过程中可以将发起报文的云实例所在的宿主机称之为发送端宿主机;相应地,将接收报文的云实例所在的宿主机称之为接收端宿主机。
发送端宿主机处理报文模块的作用是对发送端宿主机发送的报文进行处理,以及将处理后的报文发送给接收端宿主机;接收端宿主机处理报文模块的作用是对接收到的报文进行处理。
以下请先参考图4所示的以发送端宿主机为执行主体介绍的云实例跨可用区的通信方法的实施例,可以应用在云计算中云实例跨可用区通信的发送端宿主机;所述发送端宿主机中部署有跨可用区专线路由,跨可用区通信的邻居表以及本可用区通信的邻居表,所述邻居表中维护有跨可用区的云实例以及本可用区的云实例的云实例信息;该方法可以包括:
步骤410:发送端宿主机在接收到云实例发送的报文后,解析与所述报文对应的LAN ID、VLAN ID和目的MAC。
在一实施例中,所述解析与所述报文对应的LAN ID、VLAN ID和目的MAC,包括:
解析发送所述报文的云实例的网卡的LAN ID;
解析所述报文中的VLAN ID和目的MAC。
在实现时,发送端宿主机的虚拟交换机可以根据接收报文线程的私有信息解析发送报文的云实例的网卡的LAN ID。
其中,所述目的MAC是指报文的目的地MAC,该目的MAC由发起报文的云实例在生成报文时确定。
步骤420:查询本地维护的邻居表,确定所述邻居表中是否存在与所述目的MAC对应的跨可用区的目的云实例信息。
在实现时,如果所述邻居表中存在与所述目的MAC对应的目的云实例信息,则说明该报文在逻辑上是可以发送的;而如果所述邻居表中不存在与所述目的MAC对应的目的云实例信息,则需要将该报文丢弃,且本次通信流程也会结束。
其中,所述云实例信息在前面的实施例中已经介绍过,这里不再进行赘述。
在一实施例中,所述发送端宿主机所在的可用区中部署有汇总器,所述汇总器中维护有流表,所述流表包含有各个可用区中所有云实例的云实例信息;相应地,所述方法还包括:
向所述汇总器发起查询请求;其中,所述查询请求携带有所述发送端宿主机中的云实例的LAN ID列表;
接收所述汇总器返回的查询结果,所述查询结果为所述LAN ID列表与所述流表存在相同LAN ID对应的云实例信息;
将查询结果中云实例信息的LAN ID和VLAN MASK与所述发送端宿主机上云实例的网卡的LAN ID和VLAN MASK进行比对;
在任一云实例信息中的LAN ID与云实例的网卡的LAN ID相同,且该云实例信息中的VLAN MASK与该网卡VLAN MASK具有相同VLAN ID时,将该云实例信息作为一条邻居表信息加入到邻居表中。
该实施例描述的是发送端宿主机生成邻居表的过程,与该过程相关的内容在前述实施例中已经详细介绍过,这里不再进行赘述。
步骤430:如果存在,进一步确定所述LAN ID、VLAN ID与所述目的云实例信息是否匹配。
在实现时,如果所述LAN ID、VLAN ID与所述目的云实例信息匹配,则继续执行步骤440;而如果所述LAN ID、VLAN ID与所述目的云实例信息不匹配,则需要将该报文丢弃,且本次通信流程也会结束。
步骤440:如果匹配,在所述报文中添加隧道头和外层头,并所述LAN ID、VLAN ID填充到所述隧道(Tunnel)头,以及将目的云实例信息中的跨可用区的目的宿主机IP填充到所述外层头,得到处理后的报文。
在一实施例中,所述外层头可以报包括外层UDP头、外层IP头,也就是说发送端宿主机可以在所述报文中添加外层UDP头、外层IP头,并将目的宿主机IP填充到所述外层UDP头、外层IP头中。
需要说明的是,添加隧道头和外层头的操作可以同时进行,也可以分开进行;例如,在步骤410之后步骤420之前也可以执行隧道头的操作。对此本说明书不对其进行具体限定。
以下请结合图6所示的处理后报文的结构示意图,其中内层以太网及其以后的部分为虚拟机产生的报文部分。外层Tunnel头中含有LAN ID、VLAN ID等标志。外层以太网头、外层IP头、外层UDP头则用于报文在隧道和跨可用区专线中传输,通过这种方式可以将LANID和VLAN ID带到目的宿主机,目的宿主机再根据报文的LAN ID和VLAN ID和邻居表决定是否将报文转发给目的云实例。
步骤450:将所述处理后的报文通过跨可用区专线发送给与所述目的宿主机IP对应的接收端宿主机;以使所述接收端宿主机根据所述报文的隧道头中的LAN ID、VLAN ID将所述报文转发给目的云实例。
在一实施例中,所述将所述处理后的报文通过跨可用区专线发送给与所述目的宿主机IP对应的接收端宿主机,包括:
确定所述目的宿主机IP是否位于所述发送端宿主机所在的可用区;
如果是,将所述可用区的可用区IP填充到所述报文的外层以太网头,并以二层方式将所述报文通过跨可用区专线发送给所述接收端宿主机;
如果否,根据所述目的宿主机IP从部署在所述发送端宿主机中的专线路由中路由到接收端宿主机,将所述目的宿主机IP填充到所述报文的二层以太网头,并以三层方式将所述报文通过跨可用区专线发送给所述接收端宿主机。
通过该实施例针对接收端宿主机是否与发送端宿主机同处同一可用区,针对性的提供两种不同的报文发送方式。
接着简要介绍接收端宿主机将要做的步骤,包括接收到发送端宿主机发送的报文后,解析所述报文的隧道头,获取所述隧道头中的LAN ID、VLAN ID;解析所述报文的内层以太网头,获取目的网卡ID;查询本地维护的邻居表,确定是否存在与所述目的网卡ID对应的LAN ID和VLAN MASK;如果存在,进一步确定所述目的网卡ID的LAN ID与所述隧道头中的LAN ID是否相同,且所述网卡ID的VLAN MASK是否包含所述隧道头中的VLAN ID;如果是,则将所述报文转发给目的云实例。关于这部分内容将在后面实施例中详细进行介绍,这里仅进行简要描述。
在本说明书中通过外层头(如外层UDP头、外层IP头等)可以使得报文在隧道和跨可用区专线中进行传输,从而将隧道头中的LAN ID、VLAN ID传输到目的宿主机;并由目的宿主机根据隧道头中的LAN ID、VLAN ID将报文转发给目的云实例。如此,无需专线转发控制器的跳转也可以实现跨可用区的通信传输,并且通过减少专线转发控制器的跳转(至少减少了两跳),从而缩短传输路径,提高通信传输效率。
最后请先参考图5所示的以接收端宿主机为执行主体介绍的云实例跨可用区的通信方法的实施例,可以应用在云计算中云实例跨可用区通信的接收端宿主机;所述接收端宿主机中部署有跨可用区专线路由,跨可用区通信的邻居表以及本可用区通信的邻居表,所述邻居表中维护有跨可用区的云实例的云实例信息以及本可用区的云实例;该方法可以包括:
步骤510:接收端宿主机接收到发送端宿主机通过跨可用区专线发送的报文后,解析所述报文的隧道头,获取所述隧道头中的LAN ID、VLAN ID。
在一实施例中,接收端宿主机可以先去掉报文的外层头,包括外层以太网头、外层IP头和外层UDP头,然而再解析隧道头。
步骤520:解析所述报文的内层以太网头,获取目的网卡ID。
步骤530:查询本地维护的邻居表,确定是否存在与所述目的网卡ID对应的LAN ID和VLAN MASK。
其中,所述云实例信息在前面的实施例中已经介绍过,这里不再进行赘述。
在一实施例中,所述接收端宿主机所在的可用区中部署有汇总器,所述汇总器中维护有流表,所述流表包含有各个可用区中所有云实例的云实例信息;所述方法还包括:
向所述汇总器发起查询请求;其中,所述查询请求携带有所述接收端宿主机中的云实例的LAN ID列表;
接收所述汇总器返回的查询结果,所述查询结果为所述LAN ID列表与所述流表存在相同LAN ID对应的云实例信息;
将查询结果中云实例信息的LAN ID和VLAN MASK与所述接收端宿主机上云实例的网卡的LAN ID和VLAN MASK进行比对;
在任一云实例信息中的LAN ID与云实例的网卡的LAN ID相同,且该云实例信息中的VLAN MASK与该网卡VLAN MASK具有相同VLAN ID时,将该云实例信息作为一条邻居表信息加入到邻居表中。
该实施例描述的是接收端宿主机生成邻居表的过程,与该过程相关的内容在前述实施例中已经详细介绍过,这里不再进行赘述。
步骤540:如果存在,进一步确定所述目的网卡ID的LAN ID与所述隧道头中的LANID是否相同,且所述网卡ID的VLAN MASK是否包含所述隧道头中的VLAN ID。
步骤550:如果是,则将所述报文转发给目的云实例。
如果邻居表中存在与所述目的网卡ID对应的LAN ID和VLAN MASK,则说明目的云实例是可通信,允许转发报文;否则丢弃报文,且本次通信流程也将结束。
进一步的,如果所述目的网卡ID的LAN ID与所述隧道头中的LAN ID相同,且所述网卡ID的VLAN MASK包含所述隧道头中的VLAN ID,则说明目的云实例的确位于接收端宿主机中,即满足条件可以将报文转发给本宿主机中的目的云实例。
在本说明书中通过外层头(如外层UDP头、外层IP头等)可以使得报文在隧道和跨可用区专线中进行传输,从而将隧道头中的LAN ID、VLAN ID传输到目的宿主机;并由目的宿主机根据隧道头中的LAN ID、VLAN ID将报文转发给目的云实例。如此,无需专线转发控制器的跳转也可以实现跨可用区的通信传输,并且通过减少专线转发控制器的跳转(至少减少了两跳),从而缩短传输路径,提高通信传输效率。
与前述云实例跨可用区的通信方法实施例相对应,本说明书还提供了云实例跨可用区的通信装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序读取到内存中运行形成的。从硬件层面而言,如图7所示,为本说明书云实例跨可用区的通信装置所在设备的一种硬件结构图,除了图7所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据通信实际功能,还可以包括其他硬件,对此不再赘述。
请参见图8,为本说明书一实施例提供的云实例跨可用区的通信装置的模块图,所述装置对应了图4所示实施例,所述装置包括:
解析单元810,发送端宿主机在接收到云实例发送的报文后,解析与所述报文对应的LAN ID、VLAN ID和目的MAC;
查询单元820,查询本地维护的邻居表,确定所述邻居表中是否存在与所述目的MAC对应的跨可用区的目的云实例信息;
确定单元830,如果存在,进一步确定所述LAN ID、VLAN ID与所述目的云实例信息是否匹配;
处理单元840,如果匹配,在所述报文中添加隧道头和外层头,并将所述LAN ID、VLAN ID填充到所述隧道头,以及将目的云实例信息中的跨可用区的目的宿主机IP填充到所述外层头,得到处理后的报文;
发送单元850,将所述处理后的报文通过跨可用区专线发送给与所述目的宿主机IP对应的接收端宿主机;以使所述接收端宿主机根据所述报文的隧道头中的LAN ID、VLANID将所述报文转发给目的云实例。
在一可选的实施例中,所述发送端宿主机所在的可用区中部署有汇总器,所述汇总器中维护有流表,所述流表包含有各个可用区中所有云实例的云实例信息;所述装置还包括:
请求单元,向所述汇总器发起查询请求;其中,所述查询请求携带有所述发送端宿主机中的云实例的LAN ID列表;
比对单元,接收所述汇总器返回的查询结果,所述查询结果为所述LAN ID列表与所述流表存在相同LAN ID对应的云实例信息;将查询结果中云实例信息的LAN ID和VLANMASK与所述发送端宿主机上云实例的网卡的LAN ID和VLAN MASK进行比对;
生成单元,在任一云实例信息中的LAN ID与云实例的网卡的LAN ID相同,且该云实例信息中的VLAN MASK与该网卡VLAN MASK具有相同VLAN ID时,将该云实例信息作为一条邻居表信息加入到邻居表中。
在一可选的实施例中,所述云实例信息包括云实例所在的宿主机信息、云实例详细信息、云实例网卡信息;
其中,所述宿主机信息可以包括宿主机IP;
所述云实例详细信息可以包括云实例的ID、云实例所处的可用区ID;
所述云实例网卡信息可以包括网卡ID、网卡所在的LAN ID、VLAN MASK、网卡IP。
在一可选的实施例中,所述发送单元850,还包括:确定所述目的宿主机IP是否位于所述发送端宿主机所在的可用区;如果是,将所述可用区的可用区IP填充到所述报文的外层以太网头,并以二层方式将所述报文通过跨可用区专线发送给所述接收端宿主机;如果否,根据所述目的宿主机IP从部署在所述发送端宿主机中的专线路由中路由到接收端宿主机,将所述目的宿主机IP填充到所述报文的二层以太网头,并以三层方式将所述报文通过跨可用区专线发送给所述接收端宿主机。
在一可选的实施例中,所述装置包括:
接收子单元,接收端宿主机接收到发送端宿主机发送的报文后,解析所述报文的隧道头,获取所述隧道头中的LAN ID、VLAN ID;
解析子单元,解析所述报文的内层以太网头,获取目的网卡ID;
查询子单元,查询本地维护的邻居表,确定是否存在与所述目的网卡ID对应的LANID和VLAN MASK;
确定子单元,如果存在,进一步确定所述目的网卡ID的LAN ID与所述隧道头中的LAN ID是否相同,且所述网卡ID的VLAN MASK是否包含所述隧道头中的VLAN ID;
转发子单元,如果是,则将所述报文转发给目的云实例。
请参见图9,为本说明书一实施例提供的云实例跨可用区的通信装置的模块图,所述装置对应了图5所示实施例,所述装置包括:
接收单元910,接收端宿主机接收到发送端宿主机通过跨可用区专线发送的报文后,解析所述报文的隧道头,获取所述隧道头中的LAN ID、VLAN ID;
解析单元920,解析所述报文的内层以太网头,获取目的网卡ID;
查询单元930,查询本地维护的邻居表,确定是否存在与所述目的网卡ID对应的LAN ID和VLAN MASK;
确定单元940,如果存在,进一步确定所述目的网卡ID的LAN ID与所述隧道头中的LAN ID是否相同,且所述网卡ID的VLAN MASK是否包含所述隧道头中的VLAN ID;
转发单元950,如果是,则将所述报文转发给目的云实例。
在一可选的实施例中,所述接收端宿主机所在的可用区中部署有汇总器,所述汇总器中维护有流表,所述流表包含有各个可用区中所有云实例的云实例信息;所述装置还包括:
请求单元,向所述汇总器发起查询请求;其中,所述查询请求携带有所述接收端宿主机中的云实例的LAN ID列表;
比对单元,接收所述汇总器返回的查询结果,所述查询结果为所述LAN ID列表与所述流表存在相同LAN ID对应的云实例信息;将查询结果中云实例信息的LAN ID和VLANMASK与所述接收端宿主机上云实例的网卡的LAN ID和VLAN MASK进行比对;
生成单元,在任一云实例信息中的LAN ID与云实例的网卡的LAN ID相同,且该云实例信息中的VLAN MASK与该网卡VLAN MASK具有相同VLAN ID时,将该云实例信息作为一条邻居表信息加入到邻居表中。
在一可选的实施例中,所述云实例信息包括云实例所在的宿主机信息、云实例详细信息、云实例网卡信息;
其中,所述宿主机信息可以包括宿主机IP;
所述云实例详细信息可以包括云实例的ID、云实例所处的可用区ID;
所述云实例网卡信息可以包括网卡ID、网卡所在的LAN ID、VLAN MASK、网卡IP。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上图8和图9描述了云实例跨可用区的通信装置的内部功能模块和结构示意,其实质上的执行主体可以为一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述任一云实例跨可用区的通信方法的实施例。
在上述电子设备的实施例中,应理解,该处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,而前述的存储器可以是只读存储器(英文:read-only memory,缩写:ROM)、随机存取存储器(英文:random access memory,简称:RAM)、快闪存储器、硬盘或者固态硬盘。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
Claims (10)
1.一种云实例跨可用区的通信方法,其特征在于,应用于发送端宿主机,所述发送端宿主机中部署有跨可用区通信的邻居表以及本可用区通信的邻居表,所述邻居表中维护有跨可用区的云实例的云实例信息;所述方法包括:
发送端宿主机在接收到云实例发送的报文后,解析与所述报文对应的LAN ID、VLAN ID和目的MAC;
查询本地维护的邻居表,确定所述邻居表中是否存在与所述目的MAC对应的跨可用区的目的云实例信息;
如果存在,进一步确定所述LAN ID、VLAN ID与所述目的云实例信息是否匹配;
如果匹配,在所述报文中添加隧道头和外层头,并将所述LAN ID、VLAN ID填充到所述隧道头,以及将目的云实例信息中的跨可用区的目的宿主机IP填充到所述外层头,得到处理后的报文;
将所述处理后的报文通过跨可用区专线发送给与所述目的宿主机IP对应的接收端宿主机;以使所述接收端宿主机根据所述报文的隧道头中的LAN ID、VLAN ID将所述报文转发给目的云实例。
2.根据权利要求1所述的方法,其特征在于,所述发送端宿主机所在的可用区中部署有汇总器,所述汇总器中维护有流表,所述流表包含有各个可用区中所有云实例的云实例信息;所述方法还包括:
向所述汇总器发起查询请求;其中,所述查询请求携带有所述发送端宿主机中的云实例的LAN ID列表;
接收所述汇总器返回的查询结果,所述查询结果为所述LAN ID列表与所述流表存在相同LAN ID对应的云实例信息;
将查询结果中云实例信息的LAN ID和VLAN MASK与所述发送端宿主机上云实例的网卡的LAN ID和VLAN MASK进行比对;
在任一云实例信息中的LAN ID与云实例的网卡的LAN ID相同,且该云实例信息中的VLAN MASK与该网卡VLAN MASK具有相同VLAN ID时,将该云实例信息作为一条邻居表信息加入到邻居表中。
3.根据权利要求2所述的方法,其特征在于,所述云实例信息包括云实例所在的宿主机信息、云实例详细信息、云实例网卡信息;
其中,所述宿主机信息包括宿主机IP;
所述云实例详细信息包括云实例的ID、云实例所处的可用区ID;
所述云实例网卡信息包括网卡ID、网卡所在的LAN ID、VLAN MASK、网卡IP。
4.根据权利要求1所述的方法,其特征在于,所述将所述处理后的报文通过跨可用区专线发送给与所述目的宿主机IP对应的接收端宿主机,包括:
确定所述目的宿主机IP是否位于所述发送端宿主机所在的可用区;
如果是,将所述可用区的可用区IP填充到所述报文的外层以太网头,并以二层方式将所述报文通过跨可用区专线发送给所述接收端宿主机;
如果否,根据所述目的宿主机IP从部署在所述发送端宿主机中的专线路由中路由到接收端宿主机,将所述目的宿主机IP填充到所述报文的二层以太网头,并以三层方式将所述报文通过跨可用区专线发送给所述接收端宿主机。
5.根据权利要求1所述的方法,其特征在于,所述方法包括:
接收端宿主机接收到发送端宿主机发送的报文后,解析所述报文的隧道头,获取所述隧道头中的LAN ID、VLAN ID;
解析所述报文的内层以太网头,获取目的网卡ID;
查询本地维护的邻居表,确定是否存在与所述目的网卡ID对应的LAN ID和VLAN MASK;
如果存在,进一步确定所述目的网卡ID的LAN ID与所述隧道头中的LAN ID是否相同,且所述网卡ID的VLAN MASK是否包含所述隧道头中的VLAN ID;
如果是,则将所述报文转发给目的云实例。
6.一种云实例跨可用区的通信方法,其特征在于,应用于接收端宿主机,所述接收端宿主机中部署有跨可用区通信的邻居表以及本可用区通信的邻居表,所述邻居表中维护有跨可用区的云实例的云实例信息;所述方法包括:
接收端宿主机接收到发送端宿主机通过权利要求1所述的方法发送的报文后,解析所述报文的隧道头,获取所述隧道头中的LAN ID、VLAN ID;
解析所述报文的内层以太网头,获取目的网卡ID;
查询本地维护的邻居表,确定是否存在与所述目的网卡ID对应的LAN ID和VLAN MASK;
如果存在,进一步确定所述目的网卡ID的LAN ID与所述隧道头中的LAN ID是否相同,且所述网卡ID的VLAN MASK是否包含所述隧道头中的VLAN ID;
如果是,则将所述报文转发给目的云实例。
7.根据权利要求6所述的方法,其特征在于,所述接收端宿主机所在的可用区中部署有汇总器,所述汇总器中维护有流表,所述流表包含有各个可用区中所有云实例的云实例信息;所述方法还包括:
向所述汇总器发起查询请求;其中,所述查询请求携带有所述接收端宿主机中的云实例的LAN ID列表;
接收所述汇总器返回的查询结果,所述查询结果为所述LAN ID列表与所述流表存在相同LAN ID对应的云实例信息;
将查询结果中云实例信息的LAN ID和VLAN MASK与所述接收端宿主机上云实例的网卡的LAN ID和VLAN MASK进行比对;
在任一云实例信息中的LAN ID与云实例的网卡的LAN ID相同,且该云实例信息中的VLAN MASK与该网卡VLAN MASK具有相同VLAN ID时,将该云实例信息作为一条邻居表信息加入到邻居表中。
8.一种云实例跨可用区的通信装置,其特征在于,应用于发送端宿主机,所述发送端宿主机中部署有跨可用区通信的邻居表以及本可用区通信的邻居表,所述邻居表中维护有跨可用区的云实例的云实例信息;所述装置包括:
解析单元,在接收到云实例发送的报文后,解析与所述报文对应的LAN ID、VLAN ID和目的MAC;
查询单元,查询本地维护的邻居表,确定所述邻居表中是否存在与所述目的MAC对应的跨可用区的目的云实例信息;
确定单元,如果存在,进一步确定所述LAN ID、VLAN ID与所述目的云实例信息是否匹配;
处理单元,如果匹配,在所述报文中添加隧道头和外层头,并将所述LAN ID、VLAN ID填充到所述隧道头,以及将目的云实例信息中的跨可用区的目的宿主机IP填充到所述外层头,得到处理后的报文;
发送单元,将所述处理后的报文通过跨可用区专线发送给与所述目的宿主机IP对应的接收端宿主机;以使所述接收端宿主机根据所述报文的隧道头中的LAN ID、VLAN ID将所述报文转发给目的云实例。
9.一种云实例跨可用区的通信装置,其特征在于,应用于接收端宿主机,所述接收端宿主机中部署有跨可用区通信的邻居表以及本可用区通信的邻居表,所述邻居表中维护有跨可用区的云实例的云实例信息;所述装置包括:
接收单元,接收到发送端宿主机通过权利要求1所述的方法发送的报文后,解析所述报文的隧道头,获取所述隧道头中的LAN ID、VLAN ID;
解析单元,解析所述报文的内层以太网头,获取目的网卡ID;
查询单元,查询本地维护的邻居表,确定是否存在与所述目的网卡ID对应的LAN ID和VLAN MASK;
确定单元,如果存在,进一步确定所述目的网卡ID的LAN ID与所述隧道头中的LAN ID是否相同,且所述网卡ID的VLAN MASK是否包含所述隧道头中的VLAN ID;
转发单元,如果是,则将所述报文转发给目的云实例。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211110546.3A CN115208888B (zh) | 2022-09-13 | 2022-09-13 | 云实例跨可用区的通信方法及装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211110546.3A CN115208888B (zh) | 2022-09-13 | 2022-09-13 | 云实例跨可用区的通信方法及装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115208888A CN115208888A (zh) | 2022-10-18 |
CN115208888B true CN115208888B (zh) | 2022-12-27 |
Family
ID=83571985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211110546.3A Active CN115208888B (zh) | 2022-09-13 | 2022-09-13 | 云实例跨可用区的通信方法及装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115208888B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116319354B (zh) * | 2023-01-30 | 2023-11-28 | 杭州优云科技有限公司 | 基于云实例迁移的网络拓扑更新方法 |
CN116094923B (zh) * | 2023-01-30 | 2023-08-25 | 杭州优云科技有限公司 | 云实例迁移后的网关更新方法及装置和电子设备 |
CN116137585B (zh) * | 2023-04-20 | 2023-07-18 | 武汉绿色网络信息服务有限责任公司 | 报文转发方法、装置、计算机设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107070691A (zh) * | 2017-01-12 | 2017-08-18 | 阿里巴巴集团控股有限公司 | Docker容器的跨主机通信方法和*** |
CN107770064A (zh) * | 2016-08-19 | 2018-03-06 | 华为技术有限公司 | 一种跨网络通信的方法、设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060233174A1 (en) * | 2005-03-28 | 2006-10-19 | Rothman Michael A | Method and apparatus for distributing switch/router capability across heterogeneous compute groups |
CN104579954B (zh) * | 2013-10-16 | 2018-03-13 | 华为技术有限公司 | 报文跨域转发方法、装置及通信设备 |
CN105577548B (zh) * | 2014-10-10 | 2018-10-09 | 新华三技术有限公司 | 一种软件定义网络中报文处理方法和装置 |
CN107453992A (zh) * | 2016-05-30 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 一种虚拟网络内的数据转发方法及*** |
CN107395781A (zh) * | 2017-06-29 | 2017-11-24 | 北京小度信息科技有限公司 | 网络通信方法及装置 |
CN107547344B (zh) * | 2017-06-30 | 2020-11-27 | 新华三技术有限公司 | Vxlan报文处理方法及装置 |
CN109639557B (zh) * | 2019-02-11 | 2021-11-26 | 北京百度网讯科技有限公司 | 用于网络通信的方法、装置和*** |
CN111010329B (zh) * | 2019-03-20 | 2021-09-21 | 新华三技术有限公司 | 一种报文传输方法及装置 |
CN112039920B (zh) * | 2020-09-14 | 2022-02-22 | 迈普通信技术股份有限公司 | 通信方法、装置、电子设备及存储介质 |
CN112565047B (zh) * | 2020-11-19 | 2022-03-04 | 浪潮思科网络科技有限公司 | 一种在docker中使用VPP构建网络的方法、装置、设备及介质 |
US12052180B2 (en) * | 2020-12-30 | 2024-07-30 | Oracle International Corporation | Managing network state for high flow availability within distributed network platform |
US11811656B2 (en) * | 2021-01-15 | 2023-11-07 | Vmware, Inc. | Direct communication between endpoints across remote sites |
CN114095460B (zh) * | 2022-01-20 | 2022-05-31 | 杭州优云科技有限公司 | 一种报文广播方法及设备 |
-
2022
- 2022-09-13 CN CN202211110546.3A patent/CN115208888B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107770064A (zh) * | 2016-08-19 | 2018-03-06 | 华为技术有限公司 | 一种跨网络通信的方法、设备 |
CN107070691A (zh) * | 2017-01-12 | 2017-08-18 | 阿里巴巴集团控股有限公司 | Docker容器的跨主机通信方法和*** |
Non-Patent Citations (1)
Title |
---|
基于软件定义网络的IaaS虚拟机通信访问控制方法;韩贞阳等;《计算机应用》;20150510(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115208888A (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115208888B (zh) | 云实例跨可用区的通信方法及装置和电子设备 | |
US9608841B2 (en) | Method for real-time synchronization of ARP record in RSMLT cluster | |
CN106789526B (zh) | 多***网络连接的方法及装置 | |
US9948575B2 (en) | Issuing method for forwarding adjacency link | |
US11936551B2 (en) | BGP route identification method, apparatus, and device | |
CN113132229B (zh) | 段标识的确定方法和设备 | |
JP2020520612A (ja) | パケット伝送方法、エッジデバイス及び機械可読記憶媒体 | |
EP4047888A1 (en) | Method for issuing oam configuration information and control node | |
CN109617816B (zh) | 一种数据报文的传输方法和装置 | |
CN108259304B (zh) | 一种转发表项同步方法及装置 | |
US8713663B2 (en) | Method for using extended security system, extended security system and devices | |
JP5467143B2 (ja) | サーバ間接続システム、サーバ、およびデータ転送方法 | |
CN113839862B (zh) | Mclag邻居之间同步arp信息的方法、***、终端及存储介质 | |
CN114745255A (zh) | 硬件芯片、dpu、服务器、通信方法及相关装置 | |
CN113765956B (zh) | 报文处理方法、设备、***及存储介质 | |
WO2020173424A1 (zh) | 报文处理的方法和网关设备 | |
CN110391919B (zh) | 组播流量转发方法、装置、电子设备 | |
CN114389967A (zh) | 链路检测方法、装置、设备和存储介质 | |
CN111600929B (zh) | 传输线路探测方法、路由策略生成方法及代理服务器 | |
CN116094923B (zh) | 云实例迁移后的网关更新方法及装置和电子设备 | |
CN114760165A (zh) | 报文传输方法、设备及*** | |
CN108900422B (zh) | 组播转发方法、装置及电子设备 | |
WO2018028592A1 (zh) | 接收和发送报文的方法及设备 | |
WO2021247230A1 (en) | Edge computing data and service discovery using interior gateway protocol (igp) | |
CN110995502A (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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310053 room 611-612, Zhuoxin building, No. 3820, South Ring Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou Youyun Technology Co.,Ltd. Country or region after: China Address before: 310053 room 611-612, Zhuoxin building, No. 3820, South Ring Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: Hangzhou Youyun Technology Co.,Ltd. Country or region before: China |