一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

跨VPC的流量转发方法与流程

2022-12-20 21:31:56 来源:中国专利 TAG:
跨vpc的流量转发方法
技术领域
:1.本发明涉及云网络
技术领域
:,具体涉及一种跨vpc的流量转发方法。
背景技术
::2.在云网络
技术领域
:中,虚拟私有云(virtualprivatecloud,vpc)是指云上隔离的、私密的虚拟网络环境。3.相关技术中,支持同一vpc内的虚拟机(virtualmachine,vm)的互通,比如,一个vpc可以包括多个不同的子网,支持同一vpc内的同子网下的虚拟机(virtualmachine,vm)的互通,以及,支持同一vpc内的跨子网下的vm的互通。但是,尚未支持跨vpc的vm的互通。技术实现要素:4.本技术提供了一种跨vpc的流量转发方法,该技术方案如下。5.一方面,提供了一种跨vpc的流量转发方法,所述方法由vpc对等连接网络中的vpc对等网关集群执行,所述vpc对等连接网络还包括第一vpc、第二vpc,所述方法包括:6.接收所述第一vpc发送的对等连接流量,所述对等连接流量的媒体接入控制(mediumaccesscontrol,mac)地址信息为第一mac地址信息,所述第一mac地址信息与所述第一vpc中的第一分布式虚拟路由(distributedvirtualrouter,dvr)的mac地址、所述第一vpc中的第一子网所预留的第一对等端口的mac地址相关;7.将所述对等连接流量的mac地址信息由所述第一mac地址信息修改为第二mac地址信息,所述第二mac地址信息与所述第二vpc中的第二dvr的mac地址、所述第二vpc中的第二子网所预留的第二对等端口的mac地址相关;8.将地址信息修改后的所述对等连接流量发送至所述第二vpc。9.一方面,提供了一种跨vpc的流量转发方法,所述方法由vpc对等连接网络中的第一vpc执行,所述vpc对等连接网络还包括vpc对等网关集群、第二vpc,所述方法包括:10.生成对等连接流量,所述对等连接流量的mac地址信息为第三mac地址信息,所述第三mac地址信息与所述第一vpc中的第一dvr的mac地址、所述第一vpc中的第一vm的mac地址相关;11.将所述对等连接流量的mac地址信息由所述第三mac地址信息修改为第一mac地址信息,所述第一mac地址信息与所述第一vpc中的第一dvr的mac地址、所述第一vpc中的第一子网所预留的第一对等端口的mac地址相关;12.将地址信息修改后的所述对等连接流量发送至所述vpc对等网关集群,以使得所述vpc对等网关集群将所述对等连接流量转发给所述第二vpc。13.在一种可能的实现方式中,所述第一对等端口的mac地址对应于预设mac地址前缀,所述预设mac地址前缀用于在流量的流表匹配过程中,标识所述流量属于跨vpc转发的流量。14.一方面,提供了一种跨vpc的流量转发方法,所述方法由vpc对等连接网络中的第二vpc执行,所述vpc对等连接网络还包括vpc对等网关集群、第一vpc,所述方法包括:15.接收所述vpc对等网关集群发送的对等连接流量,所述对等连接流量是所述vpc对等网关集群从所述第一vpc处接收的,所述对等连接流量的mac地址信息为第二mac地址信息,所述第二mac地址信息与所述第二vpc中的第二dvr的mac地址、所述第二vpc中的第二子网所预留的第二对等端口的mac地址相关;16.将所述对等连接流量的mac地址信息由所述第二mac地址信息修改为第四mac地址信息,所述第四mac地址信息与所述第二vpc中的第二dvr的mac地址、所述第二vpc中的第二vm的mac地址相关;17.将地址信息修改后的所述对等连接流量发送至所述第二vm。18.在一种可能的实现方式中,所述第二对等端口的mac地址对应于预设mac地址前缀,所述预设mac地址前缀用于在流量的流表匹配过程中,标识所述流量属于跨vpc转发的流量。19.又一方面,提供了一种跨vpc的流量转发装置,所述装置由vpc对等连接网络中的vpc对等网关集群执行,所述vpc对等连接网络还包括第一vpc、第二vpc,所述装置包括:流量接收模块、地址信息修改模块和流量发送模块;20.所述流量接收模块,用于接收所述第一vpc发送的对等连接流量,所述对等连接流量的mac地址信息为第一mac地址信息,所述第一mac地址信息与所述第一vpc中的第一dvr的mac地址、所述第一vpc中的第一子网所预留的第一对等端口的mac地址相关;21.所述地址信息修改模块,用于将所述对等连接流量的mac地址信息由所述第一mac地址信息修改为第二mac地址信息,所述第二mac地址信息与所述第二vpc中的第二dvr的mac地址、所述第二vpc中的第二子网所预留的第二对等端口的mac地址相关;22.所述流量发送模块,用于将地址信息修改后的所述对等连接流量发送至所述第二vpc。23.在一种可能的实现方式中,所述vpc对等网关集群中的网关节点包括:br-conjoin、br-south,所述br-south上创建有与vpc通信的接口,且所述br-conjoin和所述br-south之间为每一个vpc建立有vethpair;24.所述地址信息修改模块,用于:25.所述br-south在接收到所述第一vpc发送的所述对等连接流量之后,将所述对等连接流量从所述第一vpc对应的第一vethpair送出,发送至所述br-conjoin;26.所述br-conjoin将所述对等连接流量的源mac地址由所述第一vpc中的第一dvr的mac地址修改为所述第二vpc中的第二子网所预留的第二对等端口的mac地址,将所述对等连接流量的目的mac地址由所述第一vpc中的第一子网所预留的第一对等端口的mac地址修改为所述第二vpc中的第二dvr的mac地址;27.所述流量发送模块,用于:28.所述br-conjoin将地址信息修改后的所述对等连接流量从所述第二vpc对应的第二vethpair送出,发送至所述br-south;29.所述br-south将地址信息修改后的所述对等连接流量发送至所述第二vpc。30.在一种可能的实现方式中,所述br-conjoin中包括所述第二vpc对应的子网选择组流表,所述子网选择组流表用于对所述第二vpc中的子网进行负载均衡选择;31.所述地址信息修改模块,用于在所述br-conjoin将所述对等连接流量的源mac地址由所述第一vpc中的第一dvr的mac地址修改为所述第二vpc中的第二子网所预留的第二对等端口的mac地址之前,所述br-conjoin使用所述子网选择组流表选中所述第二vpc中的第二子网。32.在一种可能的实现方式中,所述br-south中包括所述第二dvr对应的dvr实例选择组流表,所述dvr实例选择组流表用于对所述第二dvr的dvr实例进行负载均衡选择;33.所述流量发送模块,用于:34.所述br-south使用所述dvr实例选择组流表选中所述第二dvr的目标dvr实例;35.所述br-south将地址信息修改后的所述对等连接流量发送至所述第二dvr的目标dvr实例。36.在一种可能的实现方式中,所述第一对等端口的mac地址、所述第二对等端口的mac地址对应于预设mac地址前缀,所述预设mac地址前缀用于在流量的流表匹配过程中,标识所述流量属于跨vpc转发的流量。37.又一方面,提供了一种跨vpc的流量转发装置,所述装置由vpc对等连接网络中的第一vpc执行,所述vpc对等连接网络还包括vpc对等网关集群、第二vpc,所述装置包括:流量生成模块、地址信息修改模块和流量发送模块;38.所述流量生成模块,用于生成对等连接流量,所述对等连接流量的mac地址信息为第三mac地址信息,所述第三mac地址信息与所述第一vpc中的第一dvr的mac地址、所述第一vpc中的第一vm的mac地址相关;39.所述地址信息修改模块,用于将所述对等连接流量的mac地址信息由所述第三mac地址信息修改为第一mac地址信息,所述第一mac地址信息与所述第一vpc中的第一dvr的mac地址、所述第一vpc中的第一子网所预留的第一对等端口的mac地址相关;40.所述流量发送模块,用于将地址信息修改后的所述对等连接流量发送至所述vpc对等网关集群,以使得所述vpc对等网关集群将所述对等连接流量转发给所述第二vpc。41.在一种可能的实现方式中,所述第一vpc中的第一dvr中包括对等连接路由规则,所述对等连接路由规则包括:在流量的目的ip地址属于其他vpc的目的网段时,下一跳为所述流量来自的子网所预留的对等端口的ip地址;42.所述地址信息修改模块,用于:43.所述第一dvr在接收到所述第一vm发送的所述对等连接流量之后,基于所述对等连接路由规则,将所述对等连接流量的源mac地址由所述第一vpc中的第一vm的mac地址修改为所述第一vpc中的第一dvr的mac地址,将所述对等连接流量的目的mac地址由所述第一vpc中的第一dvr的mac地址修改为所述第一vpc中的第一子网所预留的第一对等端口的mac地址。44.在一种可能的实现方式中,所述vpc对等网关集群包括至少一组网关节点组,每组所述网关节点组中包括至少一个网关节点,所述第一vpc与所述第二vpc之间的对等连接由所述至少一组网关节点组中的目标网关节点组承载;45.所述流量发送模块,用于:46.所述第一dvr将地址信息修改后的所述对等连接流量发送至所述第一vpc中的br-tun,所述br-tun中包括所述目标网关节点组对应的网关节点选择组流表,所述网关节点选择组流表用于对所述目标网关节点组中的网关节点进行负载均衡选择;47.所述br-tun使用所述网关节点选择组流表选中所述目标网关节点组中的目标网关节点;48.所述br-tun将地址信息修改后的所述对等连接流量发送至所述目标网关节点。49.在一种可能的实现方式中,所述第一对等端口的mac地址对应于预设mac地址前缀,所述预设mac地址前缀用于在流量的流表匹配过程中,标识所述流量属于跨vpc转发的流量。50.又一方面,提供了一种跨vpc的流量转发装置,所述装置由vpc对等连接网络中的第二vpc执行,所述vpc对等连接网络还包括vpc对等网关集群、第一vpc,所述装置包括:流量接收模块、地址信息修改模块和流量发送模块;51.所述流量接收模块,用于接收所述vpc对等网关集群发送的对等连接流量,所述对等连接流量是所述vpc对等网关集群从所述第一vpc处接收的,所述对等连接流量的mac地址信息为第二mac地址信息,所述第二mac地址信息与所述第二vpc中的第二dvr的mac地址、所述第二vpc中的第二子网所预留的第二对等端口的mac地址相关;52.所述地址信息修改模块,用于将所述对等连接流量的mac地址信息由所述第二mac地址信息修改为第四mac地址信息,所述第四mac地址信息与所述第二vpc中的第二dvr的mac地址、所述第二vpc中的第二vm的mac地址相关;53.所述流量发送模块,用于将地址信息修改后的所述对等连接流量发送至所述第二vm。54.在一种可能的实现方式中,所述第二vpc中的第二dvr中包括直连路由规则,所述直连路由规则包括:在流量的目的ip地址属于所述第二vpc的目的网段时,下一跳为所述第二vm所属的子网对应的直连网卡;55.所述地址信息修改模块,用于:56.所述第二dvr在接收到所述vpc对等网关集群发送的所述对等连接流量之后,基于所述直连路由规则,将所述对等连接流量的源mac地址由所述第二vpc中的第二子网所预留的第二对等端口的mac地址修改为所述第二vpc中的第二dvr的mac地址,将所述对等连接流量的目的mac地址由所述第二vpc中的第二dvr的mac地址修改为所述第二vpc中的第二vm的mac地址。57.在一种可能的实现方式中,所述第二对等端口的mac地址对应于预设mac地址前缀,所述预设mac地址前缀用于在流量的流表匹配过程中,标识所述流量属于跨vpc转发的流量。58.再一方面,提供了一种计算机设备,所述计算机设备中包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述的跨vpc的流量转发方法。59.又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的跨vpc的流量转发方法。60.再一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的跨vpc的流量转发方法。61.本技术提供的技术方案可以包括以下有益效果:62.为第一vpc、第二vpc之间的vpc对等连接引入了vpc对等网关集群,第一vpc可以对在生成对等连接流量之后,对该对等连接流量的mac地址进行修改,由第三mac地址信息修改为第一mac地址信息,以基于修改后的第一mac地址,将对等连接流量发送给vpc对等网关集群,vpc对等网关集群在接收对等连接流量之后,将对等连接流量的mac地址信息由与第一vpc相关的第一mac地址信息修改为与第二vpc相关的第二mac地址信息,以基于修改后的第二mac地址信息,向第二vpc发送对等连接流量,第二vpc在接收对等连接流量之后,将对等连接流量的mac地址进行修改,由第二mac地址信息修改为第四mac地址信息,以将该对等连接流量发送到目的vm,从而实现跨vpc的流量转发。附图说明63.为了更清楚地说明本技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。64.图1是根据一示例性实施例示出的计算节点内部的虚拟网络的示意图。65.图2是根据一示例性实施例示出的网络节点内部的虚拟网络的示意图。66.图3是根据一示例性实施例示出的同vpc同子网下的东西向流量的示意图。67.图4是根据一示例性实施例示出的同vpc不同子网下的东西向流量的示意图。68.图5是根据一示例性实施例示出的访问互联网时的南北向流量的示意图。69.图6是根据一示例性实施例示出的现有的vpc网络实现模型的示意图。70.图7是根据一示例性实施例示出的改进后的vpc对等连接网络模型的示意图。71.图8是根据一示例性实施例示出的跨vpc的流量转发方法的方法流程图。72.图9是根据一示例性实施例示出的vpc对等网关集群中的网关节点采取分组形式的示意图。73.图10是根据一示例性实施例示出的网关节点的网络模型的示意图。74.图11是根据一示例性实施例示出的跨vpc的流量转发方法的方法流程图。75.图12是根据一示例性实施例示出的在br-tun中进行流表匹配的示意图。76.图13是根据一示例性实施例示出的在br-south中进行流表匹配的示意图。77.图14是根据一示例性实施例示出的在br-conjoin中进行流表匹配的示意图。78.图15是根据一示例性实施例示出的跨vpc的流量转发过程的示意图。79.图16是根据一示例性实施例示出的一种跨vpc的流量转发装置的结构方框图。80.图17是根据一示例性实施例示出的一种跨vpc的流量转发装置的结构方框图。81.图18是根据一示例性实施例示出的一种跨vpc的流量转发装置的结构方框图。82.图19是根据本技术一示例性实施例提供的一种计算机设备示意图。具体实施方式83.下面将结合附图对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。84.应理解,在本技术的实施例中提到的“指示”可以是直接指示,也可以是间接指示,还可以是表示具有关联关系。举例说明,a指示b,可以表示a直接指示b,例如b可以通过a获取;也可以表示a间接指示b,例如a指示c,b可以通过c获取;还可以表示a和b之间具有关联关系。85.在本技术实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。86.本技术实施例中,“预定义”可以通过在设备(例如,包括终端设备和网络设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本技术对于其具体的实现方式不做限定。87.在对本技术所示的各个实施例进行说明之前,首先对本技术涉及到的概念进行介绍。88.虚拟私有云(virtualprivatecloud,vpc)89.从计算节点和网络节点这两个角度来介绍vpc。90.图1示出了计算节点内部的虚拟网络的情况,主要包含如下元素:91.·vm:即虚拟机(virtualmachine),包含云桌面、云主机以及一些虚拟网络功能(virtualnetworkfeature,vnf)网元(如vfw、虚拟专用网络(virtualprivatenetwork,vpn)、vcpe等)。92.·qbrxxx:linuxbridge,用于为vm提供安全组功能。93.·dhcp:即动态主机配置协议(dynamichostconfigurationprotocol),通常一个vpc会对应多个dhcp实例(集群),为vm自动分配ip地址、dns等地址以提供网络服务。dhcp会由控制节点按照一定的调度策略均匀地分散到每个计算节点上。94.·dvr:即分布式虚拟路由器(distributedvirtualrouter),一个vpc会对应一个dvr。当某个计算节点上存在此vpc的vm实例时,则相应地会在该计算节点创建dvr。dvr为vm私有网络的默认网关,涉及vm跨网段访问的流量(含东西向和南北向流量)都需要经过dvr进行三层转发。同时,dvr还提供了灵活的、可自定义的路由规则接口,便于实现不同业务流量的牵引,具体将在下文中进行介绍。95.·fip:即文件传输协议(filetransferprotocol),可看做是本地网关,一个计算节点只会存在一个,为本节点上的所有租户共享,主要用于支撑本计算节点上的vm直接从本节点访问外网(含互联网)。例如,本计算节点上的某个vm单独绑定了弹性ip的场景。96.·br-int:openvswitch,通过内部虚拟局域网(virtuallocalareanetwork,vlan)做到节点内不同vpc之间的逻辑隔离,通过流表实现二层转发。97.·br-tun:openvswitch,主要用于实现局部vlan和全局虚拟扩展局域网(virtualextensiblelocalareanetwork,vxlan)之间的转换。vxlan逻辑子接口绑定到br-tun网桥上,与其他计算节点、网络节点以及虚拟网关节点之间建立vxlan隧道,通过流表实现跨节点的vpc网络互访。98.·br-ex:openvswitch,绑定一个vlan逻辑子接口,为本节点的vm访问外部网络提供通道。99.·业务网卡:2个10g网卡做逻辑捆绑,为租户网络跨节点的互访提供underlay承载。100.图2示出了网络节点内部的虚拟网络的情况,包含的元素除网络地址转换(networkaddresstranslation,nat)网关之外,其余的元素都和计算节点所述的一致:101.·nat网关:一个vpc会对应一个nat实例,考虑到高可用,会部署主备两个实例,分别落在不同的网络节点。当主节点故障,则将备节点切换为主节点继续承载流量。nat网关主要提供源网络地址转换(sourcenetworkaddresstranslation,snat)和目的网络地址转换(destinationnetworkaddresstranslation,dnat)两种业务形态,主要为vm访问互联网或被互联网访问提供地址转换的网络服务。102.业务流量的牵引103.主要从东西向流量和南北向流量进行阐述,且仅介绍跨节点的场景。104.·东西向流量105.在同vpc同子网的情况下,如图3所示,不涉及三层转发,通过vxlan隧道送到目标计算节点。106.在同vpc不同子网的情况下,如图4所示,涉及三层转发,因此需要经过dvr,在dvr上匹配路由规则,转发至另外一个子网,再通过vxlan隧道送至目标计算节点。107.·南北向流量108.在访问互联网时,实现此种业务流量存在多种方式,主要有:nat网关方式、vfw方式、专线方式、ipsecvpn方式、vcpe方式。而实现这些主要是靠dvr所提供的自定义策略路由框架。vm访问互联网的流量首先递送到dvr,再由dvr的策略路由决定采用何种方式进行。图5示出了nat网关的方式,其他的方式也是类似的。109.在访问客户侧内网时,实现此种业务流量同样存在多种方式,主要有:专线方式、ipsecvpn方式、vcpe方式。而实现这些主要是靠dvr所提供的自定义策略路由框架。vm访问客户侧内网的流量首先递送到dvr,再由dvr的策略路由决定采用何种方式进行。110.相关技术中,尚不支持跨vpc之间的互通。结合参考图6,现有的vpc网络实现模型如上图6所示。其中,一些技术细节如下:111.·dvr实例里只有直连路由规则及下一跳为nat网关的默认路由规则。112.·vpc内,同子网互通之间二层转发即可,跨子网互通则经过dvr匹配路由执行三层转发。113.·vpc内,对于南北向流量(例如:访问公网、访问客户侧),经过dvr匹配下一跳为nat网关的默认路由规则或自定义的下一跳为vpn或虚拟网关的路由规则。114.为了支持跨vpc的互通,本技术提供了一种跨vpc的流量转发方法,为第一vpc、第二vpc之间的vpc对等连接引入了vpc对等网关集群,第一vpc可以对在生成对等连接流量之后,对该对等连接流量的mac地址进行修改,由第三mac地址信息修改为第一mac地址信息,以基于修改后的第一mac地址,将对等连接流量发送给vpc对等网关集群,vpc对等网关集群在接收对等连接流量之后,将对等连接流量的mac地址信息由与第一vpc相关的第一mac地址信息修改为与第二vpc相关的第二mac地址信息,以基于修改后的第二mac地址信息,向第二vpc发送对等连接流量,第二vpc在接收对等连接流量之后,将对等连接流量的mac地址进行修改,由第二mac地址信息修改为第四mac地址信息,以将该对等连接流量发送到目的vm,从而实现跨vpc的流量转发。115.例如,结合参考图7,vpc1和vpc2通过vpc对等网关集群实现对等连接,vpc1中的vm可以向vpc2中的vm发送流量。116.下面,结合如下几个实施例对本技术提供的技术方案进行说明。117.图8是根据一示例性实施例示出的跨vpc的流量转发方法的方法流程图。该方法应用于vpc对等连接网络中,该vpc对等连接网络包括:第一vpc、vpc对等网关集群、第二vpc。如图8所示,该跨vpc的流量转发方法可以包括如下步骤:118.步骤801:第一vpc生成对等连接流量,对等连接流量的mac地址信息为第三mac地址信息,第三mac地址信息与第一vpc中的第一dvr的mac地址、第一vpc中的第一vm的mac地址相关。119.其中,对等连接流量是跨vpc的流量。在本技术实施例中,对等连接流量由第一vpc中的第一vm生成,期望到达第二vpc中的第二vm。120.在进行跨vpc的流量转发时,涉及三层转发,需要经过vpc内的dvr。因此,对等连接流量在生成时对应第三mac地址信息,在第三mac地址信息中,指示该对等连接流量的源mac地址为第一vpc中的第一vm的mac地址,该对等连接流量的目的mac地址为第一vpc中的第一dvr的mac地址。121.步骤802:第一vpc将对等连接流量的mac地址信息由第三mac地址信息修改为第一mac地址信息,第一mac地址信息与第一vpc中的第一dvr的mac地址、第一vpc中的第一子网所预留的第一对等端口的mac地址相关。122.在本技术实施例中,为每个子网创建对应的对等端口,该对等端口对应有一对ip/mac地址。在基于初始的第三mac地址信息完成对等连接流量在第一vpc内的转发,到达第一vpc中的第一dvr后,第一dvr将对等连接流量的mac地址信息由第三mac地址信息修改为第一mac地址信息,以实现流量的下一步转发。123.其中,在第一mac地址信息中,指示该对等连接流量的源mac地址为第一vpc中的第一dvr的mac地址,该对等连接流量的目的mac地址为第一vpc中的第一子网所预留的第一对等端口的mac地址。124.步骤803:第一vpc将地址信息修改后的对等连接流量发送至vpc对等网关集群。125.相应的,vpc对等网关集群接收第一vpc发送的对等连接流量,且对等连接流量的mac地址信息为第一mac地址信息,第一mac地址信息与第一vpc中的第一dvr的mac地址、第一vpc中的第一子网所预留的第一对等端口的mac地址相关。126.由于第一vpc中的第一dvr将对等连接流量的mac地址信息由第三mac地址信息修改为第一mac地址信息,第一vpc可以后续基于第一mac地址信息,将对等连接流量引向至vpc对等网关集群。127.步骤804:vpc对等网关集群将对等连接流量的mac地址信息由第一mac地址信息修改为第二mac地址信息,第二mac地址信息与第二vpc中的第二dvr的mac地址、第二vpc中的第二子网所预留的第二对等端口的mac地址相关。128.为了将对等连接流量发送到第二vpc,vpc对等网关集群对对等对接流量的mac地址信息进行修改,从与第一vpc相关的第一mac地址信息修改为与第二vpc相关的第二mac信息。129.其中,在第二mac地址信息中,指示该对等连接流量的源mac地址为第二vpc中的第二子网所预留的第二对等端口的mac地址,该对等连接流量的目的mac地址为第二vpc中的第二dvr的mac地址。130.步骤805:vpc对等网关集群将地址信息修改后的对等连接流量发送至第二vpc。131.相应的,第二vpc接收vpc对等网关集群发送的对等连接流量,且对等连接流量的mac地址信息为第二mac地址信息,第二mac地址信息与第二vpc中的第二dvr的mac地址、第二vpc中的第二子网所预留的第二对等端口的mac地址相关。132.步骤806:第二vpc将对等连接流量的mac地址信息由第二mac地址信息修改为第四mac地址信息,第四mac地址信息与第二vpc中的第二dvr的mac地址、第二vpc中的第二vm的mac地址相关。133.在对等连接流量到达第二vpc中的第二dvr后,第二dvr将对等连接流量的mac地址信息由第二mac地址信息修改为第四mac地址信息,以实现流量的下一步转发。134.其中,在第四mac地址信息中,指示该对等连接流量的源mac地址为第二vpc中的第二dvr的mac地址,该对等连接流量的目的mac地址为第二vpc中的第二vm的mac地址。135.步骤807:第二vpc将地址信息修改后的对等连接流量发送至第二vm。136.综上所述,本实施例提供的跨vpc的流量转发方法,为第一vpc、第二vpc之间的vpc对等连接引入了vpc对等网关集群,第一vpc可以对在生成对等连接流量之后,对该对等连接流量的mac地址进行修改,由第三mac地址信息修改为第一mac地址信息,以基于修改后的第一mac地址,将对等连接流量发送给vpc对等网关集群,vpc对等网关集群在接收对等连接流量之后,将对等连接流量的mac地址信息由与第一vpc相关的第一mac地址信息修改为与第二vpc相关的第二mac地址信息,以基于修改后的第二mac地址信息,向第二vpc发送对等连接流量,第二vpc在接收对等连接流量之后,将对等连接流量的mac地址进行修改,由第二mac地址信息修改为第四mac地址信息,以将该对等连接流量发送到目的vm,从而实现跨vpc的流量转发。137.下面,对上文的对等端口进行进一步说明。138.在一种可能的实现方式中,第一对等端口的mac地址、第二对等端口的mac地址对应于预设mac地址前缀,预设mac地址前缀用于在流量的流表匹配过程中,标识流量属于跨vpc转发的流量。139.对于建立对等连接的vpc,从每一个子网下创建一个neutronport,其device_owner设计为“network:peering”,简称对等端口(peeringport)。修改原生neutronport分配mac的机制,对于对等端口而言(通过匹配device_owner为“network:peering”),定制如以fa:17:02:00:00:00为固定的预设mac地址前缀。140.其中,对等端口有如下几个作用:141.·对等端口会分配一个ip地址,会用于在dvr实例里配置对等连接路由规则,其下一跳即为这个预留的ip。142.·对等端口会分配一个mac地址,如以fa:17:02:00:00:00为固定的预设mac地址前缀,其目的就是为了在ovs网桥上通过编排流表的方式,匹配此预设mac地址前缀,实现对等连接流量的精确识别。同时,采用固定的预设mac地址前缀进行流表匹配,还能够大量减少流表的配置数量。143.下面,对上文所述的vpc对等网关集群进行进一步说明。144.在一种可能的实现方式中,vpc对等网关集群中的网关节点采取了分组形式,vpc对等网关集群包括至少一组网关节点组,每组网关节点组中包括至少一个网关节点,第一vpc与第二vpc之间的对等连接由至少一组网关节点组中的目标网关节点组承载。145.示例性的,结合参考图9,vpc对等网关集群包括3个网关节点组:group1、groop2和group3。其中,group1中包括1个网关节点,group2中包括2个网关节点,group3中包括3个网关节点。146.其中,1组网关节点组可以承载多条对等连接。在创建对等连接时,会选择最空闲(即:承载对等连接数最少)的组为这条对等连接的网关节点组。网关节点组及其承载的对等连接数量会记录在数据库中。147.其中,可以根据业务量的变化灵活扩缩容每个网关节点组内的网关节点。148.其中,通过监控网关节点组内的网关成员的工作状态,若发现某成员出现故障时,可自动将之置为“禁用”状态。于此同时,管理员也可以通过命令行方式强制将组内某成员置为“禁用”状态。处于“禁用”状态的成员将不再参与对等连接流量的转发,待恢复为“可用”状态后,又继续承载流量转发。149.其中,网关节点组本身也有一个状态,默认创建的时候为“可用”,处于“可用”状态的组会参与分配与调度。管理员可通过命令行的方式将之置为“禁用””状态,处于“禁用”状态的组将不会参与分配与调度。150.其中,可以将某条对等连接以组的粒度从一个组迁移到另外一个组。151.在一种可能的实现方式中,vpc对等网关集群中的网关节点包括:br-conjoin、br-south,br-south上创建有与vpc通信的接口,且br-conjoin和br-south之间为每一个vpc建立有vethpair。152.结合参考图10,其示出了网关节点里抽象的虚拟网络模型,分为几个部分:153.·两个ovs网桥,分别为br-conjoin、br-south。154.·br-south上会创建vxlan子接口,与vm所在的计算节点建立vxlan隧道。155.·br-south和br-conjoin之间会为对等连接的每一个vpc建立vethpair,分别桥接于两个ovs网桥。156.其中,上述虚拟网络模型的设计基于如下几点考虑:157.·采用2个ovs网桥而非只用1个ovs网桥的原因:避免出现流量从某个vxlan子接口进入,经流表处理后再从相同的vxlan子接口出去,即:源端口进源端口出,最终导致ovs丢包问题。158.·2个ovs网桥之间为每一个vpc建立vethpair的原因:在br-south网桥接收到对等连接流量时,能够提取出vxlan隧道id值,进而通过匹配vxlan隧道id值实现不同vpc对等连接流量的区分。然而vxlan隧道id并不会继续传递到br-conjoin网桥,即br-conjoin网桥无法看到vxlan隧道id值。因此,通过建立vethpair,直接匹配对应的输入端口(in_port)来实现不同vpc对等连接流量的区分。159.下面,对上文所述的dvr进行进一步说明。160.在一种可能的实现方式中,在dvr实例里,在已有的策略路由表中增加对等连接路由规则,其中下一跳为预留的对等端口的ip地址。161.示例性的,结合参考下表,表中所列举的为当前dvr实例里包含的策略路由表及其各表包含的路由规则。为了实现对等连接,在本地子网表这个策略路由表里,配置对等连接路由规则,其下一跳为该子网对应预留的对等端口的ip地址。根据配置的对等连接路由规则,实现vm在本地计算节点即可完成对等连接流量的三层路由转发。[0162][0163]图11是根据一示例性实施例示出的跨vpc的流量转发方法的方法流程图。该方法应用于vpc对等连接网络中,该vpc对等连接网络包括:第一vpc、vpc对等网关集群、第二vpc。如图11所示,该跨vpc的流量转发方法可以包括如下步骤:[0164]步骤1101:第一vpc中的第一vm生成对等连接流量,对等连接流量的源mac地址为第一vpc中的第一vm的mac地址,对等连接流量的目的mac地址为第一vpc中的第一dvr的mac地址。[0165]步骤1102:第一vpc中的第一vm将对等连接流量发送至第一vpc中的第一dvr。[0166]相应的,第一vpc中的第一dvr接收第一vpc中的第一vm发送的对等连接流量,对等连接流量的源mac地址为第一vpc中的第一vm的mac地址,对等连接流量的目的mac地址为第一vpc中的第一dvr的mac地址。[0167]步骤1103:第一vpc中的第一dvr基于对等连接路由规则,将对等连接流量的源mac地址由第一vpc中的第一vm的mac地址修改为第一vpc中的第一dvr的mac地址,将对等连接流量的目的mac地址由第一vpc中的第一dvr的mac地址修改为第一vpc中的第一子网所预留的第一对等端口的mac地址。[0168]其中,第一vpc中的第一dvr中包括对等连接路由规则,对等连接路由规则包括:在流量的目的ip地址属于其他vpc的目的网段时,下一跳为流量来自的子网所预留的对等端口的ip地址。[0169]步骤1104:第一vpc中的第一dvr将地址信息修改后的对等连接流量发送至vpc对等网关集群中的目标网关。[0170]相应的,vpc对等网关集群中的目标网关接收第一vpc中的第一dvr发送的对等连接流量,且对等连接流量的源mac地址为第一vpc中的第一dvr的mac地址、对等连接流量的目的mac地址为第一vpc中的第一子网所预留的第一对等端口的mac地址。[0171]在一种可能的实现方式中,vpc对等网关集群包括至少一组网关节点组,每组网关节点组中包括至少一个网关节点,第一vpc与第二vpc之间的对等连接由至少一组网关节点组中的目标网关节点组承载;第一dvr将地址信息修改后的对等连接流量发送至第一vpc中的br-tun,br-tun中包括目标网关节点组对应的网关节点选择组流表,网关节点选择组流表用于对目标网关节点组中的网关节点进行负载均衡选择;br-tun使用网关节点选择组流表选中目标网关节点组中的目标网关节点;br-tun将地址信息修改后的对等连接流量发送至目标网关节点。[0172]也即,在vm所在计算节点的br-tun网桥增加精确识别对等连接流量的网关节点选择组流表,将对等连接流量以负载均衡的方式引向vpc对等网关集群。[0173]示例性的,结合参考图12,对等连接流量经过dvr路由匹配后转发至br-tun进行处理。为了将对等连接流量牵引到所关联的网关节点,在table=20增加了对等连接流量的精确识别:通过匹配对等端口(图中的peeringport)的mac前缀及其对等路由的目标网段,命中后,转到此对等连接所关联的目标网关节点组。在目标网关节点组对应的group流表中,可以通过计算报文的hash值随机选中目标网关节点组中的某个网关节点,并将流量转发给它(通过vxlan隧道)。[0174]可以理解的是,在网关节点组扩缩容时,这里会更新对应的group流表,及时做到生效。网关节点组中的网关节点成员故障不可用或被管理员禁用,同样更新对应的group流表,及时做到生效。对等连接从一个组迁移到另外一个组时,只需要修改这里的转向的group流表,及时做到生效。[0175]步骤1105:目标网关中的br-south在接收到第一vpc发送的对等连接流量之后,将对等连接流量从第一vpc对应的第一vethpair送出,发送至目标网关中的br-conjoin。[0176]相应的,目标网关中的br-conjoin通过第一vethpair,接收目标网关中的br-south发送的对等连接流量,且对等连接流量的源mac地址为第一vpc中的第一dvr的mac地址、对等连接流量的目的mac地址为第一vpc中的第一子网所预留的第一对等端口的mac地址。[0177]示例性的,结合参考图13,对等连接流量从vxlan子接口进入,因此转到table=4,继续匹配流表,由于该对等连接流量的目的mac地址命中对等端口的mac前缀,因此将流量从生成流量的vpc1的vethpair口送到br-conjoin网桥。[0178]步骤1106:目标网关中的br-conjoin将对等连接流量的源mac地址由第一vpc中的第一dvr的mac地址修改为第二vpc中的第二子网所预留的第二对等端口的mac地址,将对等连接流量的目的mac地址由第一vpc中的第一子网所预留的第一对等端口的mac地址修改为第二vpc中的第二dvr的mac地址。[0179]在一种可能的实现方式中,br-conjoin中包括第二vpc对应的子网选择组流表,子网选择组流表用于对第二vpc中的子网进行负载均衡选择;在br-conjoin将对等连接流量的源mac地址由第一vpc中的第一dvr的mac地址修改为第二vpc中的第二子网所预留的第二对等端口的mac地址之前,br-conjoin使用子网选择组流表选中第二vpc中的第二子网。[0180]也即,在br-conjoin中增加子网选择组流表,将对等连接流量以负载均衡的方式引向对端的第二vpc中的一个子网。[0181]示例性的,结合参考图14,对等连接流量从vethpair口进入,对等连接流量的目的mac地址命中对等端口的mac前缀,因此转到table=1,匹配vethpair口以及匹配目的网段,精确识别该对等连接流量是属于哪条对等连接中的哪个vpc发送的流量。table=1处理完之后,转向识别出的对端vpc对应的group流表,其中,该group流表的groupid为对端vpc的vxlan隧道id值。在group流表中,对端vpc有多少个子网,则会对应有相同数量的bucket,在具体的bucket中会执行mac地址的转换和vxlan隧道id值的转换(更换出口)。修改mac地址时,将目的mac地址修改为对端vpc中的dvr的mac地址,这样做的目的是将流量牵引至dvr实例里去处理。[0182]步骤1107:目标网关中的br-conjoin将地址信息修改后的对等连接流量从第二vpc对应的第二vethpair送出,发送至目标网关中的br-south。[0183]相应的,目标网关中的br-south通过第二vethpair,接收目标网关中的br-conjoin发送的对等连接流量,且对等连接流量的源mac地址为第二vpc中的第二子网所预留的第二对等端口的mac地址、对等连接流量的目的mac地址为第二vpc中的第二dvr的mac地址。[0184]步骤1108:目标网关中的br-south将地址信息修改后的对等连接流量发送至第二vpc中的第二dvr。[0185]相应的,第二vpc中的第二dvr接收目标网关中的br-south发送的对等连接流量,且对等连接流量的源mac地址为第二vpc中的第二子网所预留的第二对等端口的mac地址、对等连接流量的目的mac地址为第二vpc中的第二dvr的mac地址。[0186]在一种可能的实现方式中,br-south中包括第二dvr对应的dvr实例选择组流表,dvr实例选择组流表用于对第二dvr的dvr实例进行负载均衡选择;br-south使用dvr实例选择组流表选中第二dvr的目标dvr实例;br-south将地址信息修改后的对等连接流量发送至第二dvr的目标dvr实例。[0187]也即,在br-south中增加dvr实例选择组流表,将对等连接流量以负载均衡的方式引向对端的第二vpc的一个dvr实例,从而提升吞吐量,避免单点故障。[0188]示例性的,结合参考图13,匹配vxlan隧道id值(即图中的vni)、目的mac=dvrmac,则转向group流表,其groupid为对应vpc的vxlan隧道id值。在group流表来中,会根据此vpc的dvr分散的计算节点情况实际计算配置。例如:vpc的dvr分散在2台计算节点上,则会配置2个bucket,出口为与这2台计算节点建立的vxlan子接口。这样实现的目的是能够充分利用vpcdvr分布式集群的优势,将流量以负载均衡的方式发送给这些分布式实例,提升吞吐量,同时避免单点故障[0189]步骤1109:第二dvr在接收到vpc对等网关集群发送的对等连接流量之后,基于直连路由规则,将对等连接流量的源mac地址由第二vpc中的第二子网所预留的第二对等端口的mac地址修改为第二vpc中的第二dvr的mac地址,将对等连接流量的目的mac地址由第二vpc中的第二dvr的mac地址修改为第二vpc中的第二vm的mac地址。[0190]其中,第二vpc中的第二dvr中包括直连路由规则,直连路由规则包括:在流量的目的ip地址属于第二vpc的目的网段时,下一跳为第二vm所属的子网对应的直连网卡。[0191]步骤1110:第二dvr将地址信息修改后的对等连接流量发送至第二vm。[0192]综上所述,本实施例提供的跨vpc的流量转发方法,在预留子网对应的对等端口时,定制其mac地址前缀为预设mac地址前缀,能够大幅度减少用于识别对等连接流量的流表配置数量。[0193]同时,在dvr的子网策略路由表增加对等连接路由规则,实现vm在本地计算节点即可完成对等连接流量的三层路由转发。[0194]同时,将多个网关节点划分为一个网关节点组,并以“组”为粒度为对等连接分配网关节点,以“组”为粒度实施对等连接的迁移,同时可灵活地根据业务量扩缩容网关节点。[0195]同时,以组为粒度关联对等连接后,此对等连接的流量会以负载均衡的方式引向该组内的所有网关节点,当扩缩容网关节点、开启或禁用网关节点时,只需单独更新对应的组流表,做到快速地生效。[0196]同时,在进行网关节点的网络模型的设计时,创建两个ovs网桥,避免vxlan流量源口进源口出的问题,同时为每个vpc创建vethpair并桥接于这两个ovs网桥,通过匹配vethpair口实现对不同vpc的对等连接流量的区分。[0197]同时,在网关节点上,会使用组流表将对等连接流量的目的mac地址更改为对端vpc的dvr的mac地址,同样使用组表流表以负载均衡的方式将对等连接流量引向对端vpc的多个dvr实例,从而提升吞吐量,避免单点故障。[0198]下面,结合一个示例,对本技术提供的跨vpc的流量转发方法进行示例性的说明。[0199]如图15所示,存在两个vpc需要互通,建立对等连接之后,vpc1中的vm1和vpc2中的vm2即可实现网络互通。为了方便描述细节,图中给出了具体的ip和mac地址,具体如下表所示:[0200]ip地址mac地址vm110.10.1.10fa:16:3e:11:22:33vm210.10.2.10fa:16:3e:44:55:66dvr110.10.1.1fa:16:3e:00:01:01dvr210.10.2.1fa:16:3e:00:02:01业务网卡1192.168.1.110a:16:3f:00:00:01业务网卡2192.168.1.120a:16:3f:00:00:02业务网卡3192.168.1.130a:16:3f:00:00:03[0201]下面分12个步骤具体描述数据流的转发细节,如下:[0202]1)vm1发出流量。[0203]其中,该流量的报文信息如下:源ip=10.10.1.10,源mac=fa:16:3e:11:22:33(即vm1的mac地址),目的ip=10.10.2.10,目的mac=fa:16:3e:00:01:01(即dvr1的mac地址)。[0204]2)流量送至ovs网桥br-int,匹配流表,命中流表后,将流量送至dvr1。[0205]在br-int处匹配流表可以参照现有技术的实现,在此不详细阐述其细节,且后文涉及到此网桥均不做详细阐述。[0206]3)流量进入dvr1后,匹配对等连接路由规则,并转发该流量。[0207]dvr1中的对等连接路由规则:目的=10.10.2.0/24,下一跳=10.10.1.100。[0208]vm1所属子网所预留的对等端口的ip地址=10.10.1.100,其mac地址为=fa:16:3d:a0:a0:01(对等端口的mac前缀为fa:16:3d:00:00:00/ff:ff:ff:00:00:00)。[0209]此时,由于流量匹配对等连接路由规则,则dvr1继续转发流量,此时该流量的报文信息为:源ip=10.10.1.10,源mac=fa:16:3e:00:01:01(即dvr1的mac地址),目的ip=10.10.2.10,目的mac=fa:16:3d:a0:a0:01(即vpc1子网所预留的对等端口的mac地址),即在dvr1更改了源/目的mac。[0210]4)流量从dvr1出来到达ovs网桥br-int,继续匹配流表,命中流表后,将流量转发至ovs网桥br-tun。[0211]5)流量到达ovs网桥br-tun,匹配流表,再转至group流表,group流表主要是对多个对等网关做负载均衡,选取其中一个对等网关,将流量送给该对等网关。[0212]结合参考图12,匹配流程如下:首先匹配table=0的流表命中后,转至table=1,在table=1命中后,转至table=2,由于该流量是单播报文,因此继续流转到table=20,在table=20,精确匹配对等连接流表:通过匹配对等端口的mac前缀(即:fa:17:02:00:00:00)及其对等路由的目标网段,命中后,转至group流表。[0213]此group流表主要是对多个对等网关做负载均衡,最终会选取其中一个对等网关,将流量送给该对等网关。[0214]流量封装vxlan报文从业务网卡1发出,此时报文信息为:源ip=192.168.1.11(即业务网卡1的ip地址),源mac=0a:16:3f:00:00:01(即业务网卡1的mac地址),目的ip=192.168.1.13(即业务网卡2的ip地址),目的mac=0a:16:3f:00:00:03(即业务网卡2的mac地址)。此时,由于封装了vxlan报文,vm的内层报文信息被隐藏。[0215]6)vxlan报文从业务网卡1送到对等网关的业务网卡3,由br-south解除vxlan报文的封装,接着匹配br-south流表,将流量从vpcvethpair口送到br-conjoin网桥。[0216]其中,解除封装后的报文信息为:源ip=10.10.1.10,源mac=fa:16:3e:00:01:01,目的ip=10.10.2.10,目的mac=fa:16:3d:a0:a0:01。[0217]结合参考图13,匹配br-south流表的流程如下:首先在table=0匹配流表,因为从vxlan子接口进入,因此转到table=4,继续匹配流表,由于目的mac为fa:16:3d:a0:a0:01,命中对等端口的mac前缀,因此将流量从vpc1的vethpair口送到br-conjoin网桥。[0218]7)流量到达br-conjoin网桥后,继续匹配流表,再转至group流表,group流表主要是对对端的vpc2的多个子网做负载均衡,选取其中一个子网,随之修改源/目的mac地址,并将流量从vpc2的vethpair口送回br-south网桥。[0219]结合参考图14,匹配流程如下:首先在table=0匹配流表,转至table=1,匹配流表,转至group流表(建立对等连接的vpc均对应有一个group流表,这里命中的group流表是对端vpc对应的)。此group流表主要用于对对端vpc的多个子网进行随机选择,选中某个子网后,修改源mac及目的mac地址。[0220]在本示例中,只涉及一个子网,因此执行完成后,报文信息为:源ip=10.10.1.10,源mac=fa:16:3d:a0:a0:02(即vpc2子网所预留对等端口的mac地址),目的ip=10.10.2.10,目的mac=fa:16:3e:00:02:01(即dvr2的mac地址)。报文处理完后,从对端vpc的vethpair口送回br-south网桥。[0221]8)在br-south网桥继续匹配流表,再转至group流表,group流表主要是对多个dvr实例做负载均衡,选取其中一个dvr实例,将流量送给该dvr示例所在的计算节点中。[0222]结合参考图13,匹配流程如下:首先在table=0匹配流表,从vpc网桥的vethpair口进入,因此转到table=1,由于此时目的mac为dvrmac,因此转至group流表。[0223]此group流表主要用于对vpc的多个dvr实例进行负载均衡调度,最终会选择其中某个计算节点的dvr实例,将流量封装vxlan报文送到目标计算节点。[0224]此时从业务网卡3出来的vxlan报文为:源ip=192.168.1.13,源mac=0a:16:3f:00:00:03,目的ip=192.168.1.12,目的mac=0a:16:3f:00:00:02。同样,因为vxlan的封装,vm的内层报文信息被隐藏。[0225]9)vxlan报文从业务网卡3送到目标计算节点的业务网卡2,在br-tun网桥解除vxlan报文的封装,匹配流表,命中流表后,将流量送至br-int网桥。[0226]其中,解除封装后的报文信息为:源ip=10.10.1.10,源mac=fa:16:3d:a0:a0:02(即vpc2子网所预留对等端口的mac地址),目的ip=10.10.2.10,目的mac=fa:16:3e:00:02:01(即dvr2的mac地址)。[0227]结合参考图12,匹配流程如下:首先在table=0匹配流表,从vxlan口进入,因此转到table=4,继续匹配流表,最终将流量从patch-int口发出,送到br-int网桥。[0228]10)在br-int网桥继续匹配流表,将流量送至dvr2实例。[0229]11)在dvr2里,匹配直连路由规则,并转发该流量。[0230]dvr2收到的报文信息为:源ip=10.10.1.10,源mac=fa:16:3d:a0:a0:02(即vpc2子网所预留对等端口的mac地址),目的ip=10.10.2.10,目的mac=fa:16:3e:00:02:01(即dvr2的mac地址)。[0231]dvr2中的直连路由规则:目的=10.10.2.0/24,下一跳=直连网卡。[0232]此时,由于流量匹配直连路由规则,因此,在dvr2里执行三层转发,此时报文信息为:源ip=10.10.1.10,源mac=fa:16:3e:00:02:01(即dvr2的mac地址),目的ip=10.10.2.10,目的mac=fa:16:3e:44:55:66(即vm2的mac地址)。[0233]12)流量送至br-int网桥,匹配流表,最终转发到vm2。[0234]反向的流量转发过程类似,这里不再赘述。[0235]需要说明的是,上述方法实施例可以单独实施例,也可以组合实施,本技术对此不加以限制。[0236]图16是根据一示例性实施例示出的一种跨vpc的流量转发装置的结构方框图。所述装置由vpc对等连接网络中的vpc对等网关集群执行,所述vpc对等连接网络还包括第一vpc、第二vpc,所述装置包括:流量接收模块1601、地址信息修改模块1602和流量发送模块1603;[0237]所述流量接收模块1601,用于接收所述第一vpc发送的对等连接流量,所述对等连接流量的媒体接入控制mac地址信息为第一mac地址信息,所述第一mac地址信息与所述第一vpc中的第一分布式虚拟路由dvr的mac地址、所述第一vpc中的第一子网所预留的第一对等端口的mac地址相关;[0238]所述地址信息修改模块1602,用于将所述对等连接流量的mac地址信息由所述第一mac地址信息修改为第二mac地址信息,所述第二mac地址信息与所述第二vpc中的第二dvr的mac地址、所述第二vpc中的第二子网所预留的第二对等端口的mac地址相关;[0239]所述流量发送模块1603,用于将地址信息修改后的所述对等连接流量发送至所述第二vpc。[0240]在一种可能的实现方式中,所述vpc对等网关集群中的网关节点包括:br-conjoin、br-south,所述br-south上创建有与vpc通信的接口,且所述br-conjoin和所述br-south之间为每一个vpc建立有vethpair;[0241]所述地址信息修改模块1602,用于:[0242]所述br-south在接收到所述第一vpc发送的所述对等连接流量之后,将所述对等连接流量从所述第一vpc对应的第一vethpair送出,发送至所述br-conjoin;[0243]所述br-conjoin将所述对等连接流量的源mac地址由所述第一vpc中的第一dvr的mac地址修改为所述第二vpc中的第二子网所预留的第二对等端口的mac地址,将所述对等连接流量的目的mac地址由所述第一vpc中的第一子网所预留的第一对等端口的mac地址修改为所述第二vpc中的第二dvr的mac地址;[0244]所述流量发送模块1603,用于:[0245]所述br-conjoin将地址信息修改后的所述对等连接流量从所述第二vpc对应的第二vethpair送出,发送至所述br-south;[0246]所述br-south将地址信息修改后的所述对等连接流量发送至所述第二vpc。[0247]在一种可能的实现方式中,所述br-conjoin中包括所述第二vpc对应的子网选择组流表,所述子网选择组流表用于对所述第二vpc中的子网进行负载均衡选择;[0248]所述地址信息修改模块1602,用于在所述br-conjoin将所述对等连接流量的源mac地址由所述第一vpc中的第一dvr的mac地址修改为所述第二vpc中的第二子网所预留的第二对等端口的mac地址之前,所述br-conjoin使用所述子网选择组流表选中所述第二vpc中的第二子网。[0249]在一种可能的实现方式中,所述br-south中包括所述第二dvr对应的dvr实例选择组流表,所述dvr实例选择组流表用于对所述第二dvr的dvr实例进行负载均衡选择;[0250]所述流量发送模块1603,用于:[0251]所述br-south使用所述dvr实例选择组流表选中所述第二dvr的目标dvr实例;[0252]所述br-south将地址信息修改后的所述对等连接流量发送至所述第二dvr的目标dvr实例。[0253]在一种可能的实现方式中,所述第一对等端口的mac地址、所述第二对等端口的mac地址对应于预设mac地址前缀,所述预设mac地址前缀用于在流量的流表匹配过程中,标识所述流量属于跨vpc转发的流量。[0254]图17是根据一示例性实施例示出的一种跨vpc的流量转发装置的结构方框图。所述装置由vpc对等连接网络中的第一vpc执行,所述vpc对等连接网络还包括vpc对等网关集群、第二vpc,所述装置包括:流量生成模块1701、地址信息修改模块1702和流量发送模块1703;[0255]所述流量生成模块1701,用于生成对等连接流量,所述对等连接流量的媒体接入控制mac地址信息为第三mac地址信息,所述第三mac地址信息与所述第一vpc中的第一分布式虚拟路由dvr的mac地址、所述第一vpc中的第一虚拟机vm的mac地址相关;[0256]所述地址信息修改模块1702,用于将所述对等连接流量的mac地址信息由所述第三mac地址信息修改为第一mac地址信息,所述第一mac地址信息与所述第一vpc中的第一dvr的mac地址、所述第一vpc中的第一子网所预留的第一对等端口的mac地址相关;[0257]所述流量发送模块1703,用于将地址信息修改后的所述对等连接流量发送至所述vpc对等网关集群,以使得所述vpc对等网关集群将所述对等连接流量转发给所述第二vpc。[0258]在一种可能的实现方式中,所述第一vpc中的第一dvr中包括对等连接路由规则,所述对等连接路由规则包括:在流量的目的ip地址属于其他vpc的目的网段时,下一跳为所述流量来自的子网所预留的对等端口的ip地址;[0259]所述地址信息修改模块1702,用于:[0260]所述第一dvr在接收到所述第一vm发送的所述对等连接流量之后,基于所述对等连接路由规则,将所述对等连接流量的源mac地址由所述第一vpc中的第一vm的mac地址修改为所述第一vpc中的第一dvr的mac地址,将所述对等连接流量的目的mac地址由所述第一vpc中的第一dvr的mac地址修改为所述第一vpc中的第一子网所预留的第一对等端口的mac地址。[0261]在一种可能的实现方式中,所述vpc对等网关集群包括至少一组网关节点组,每组所述网关节点组中包括至少一个网关节点,所述第一vpc与所述第二vpc之间的对等连接由所述至少一组网关节点组中的目标网关节点组承载;[0262]所述流量发送模块1703,用于:[0263]所述第一dvr将地址信息修改后的所述对等连接流量发送至所述第一vpc中的br-tun,所述br-tun中包括所述目标网关节点组对应的网关节点选择组流表,所述网关节点选择组流表用于对所述目标网关节点组中的网关节点进行负载均衡选择;[0264]所述br-tun使用所述网关节点选择组流表选中所述目标网关节点组中的目标网关节点;[0265]所述br-tun将地址信息修改后的所述对等连接流量发送至所述目标网关节点。[0266]在一种可能的实现方式中,所述第一对等端口的mac地址对应于预设mac地址前缀,所述预设mac地址前缀用于在流量的流表匹配过程中,标识所述流量属于跨vpc转发的流量。[0267]图18是根据一示例性实施例示出的一种跨vpc的流量转发装置的结构方框图。所述装置由vpc对等连接网络中的第二vpc执行,所述vpc对等连接网络还包括vpc对等网关集群、第一vpc,所述装置包括:流量接收模块1801、地址信息修改模块1802和流量发送模块1803;[0268]所述流量接收模块1801,用于接收所述vpc对等网关集群发送的对等连接流量,所述对等连接流量是所述vpc对等网关集群从所述第一vpc处接收的,所述对等连接流量的媒体接入控制mac地址信息为第二mac地址信息,所述第二mac地址信息与所述第二vpc中的第二分布式虚拟路由dvr的mac地址、所述第二vpc中的第二子网所预留的第二对等端口的mac地址相关;[0269]所述地址信息修改模块1802,用于将所述对等连接流量的mac地址信息由所述第二mac地址信息修改为第四mac地址信息,所述第四mac地址信息与所述第二vpc中的第二dvr的mac地址、所述第二vpc中的第二虚拟机vm的mac地址相关;[0270]所述流量发送模块1803,用于将地址信息修改后的所述对等连接流量发送至所述第二vm。[0271]在一种可能的实现方式中,所述第二vpc中的第二dvr中包括直连路由规则,所述直连路由规则包括:在流量的目的ip地址属于所述第二vpc的目的网段时,下一跳为所述第二vm所属的子网对应的直连网卡;[0272]所述地址信息修改模块1802,用于:[0273]所述第二dvr在接收到所述vpc对等网关集群发送的所述对等连接流量之后,基于所述直连路由规则,将所述对等连接流量的源mac地址由所述第二vpc中的第二子网所预留的第二对等端口的mac地址修改为所述第二vpc中的第二dvr的mac地址,将所述对等连接流量的目的mac地址由所述第二vpc中的第二dvr的mac地址修改为所述第二vpc中的第二vm的mac地址。[0274]在一种可能的实现方式中,所述第二对等端口的mac地址对应于预设mac地址前缀,所述预设mac地址前缀用于在流量的流表匹配过程中,标识所述流量属于跨vpc转发的流量。[0275]需要说明的是:上述实施例提供的跨vpc的流量转发装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。[0276]请参阅图19,其是根据本技术一示例性实施例提供的一种计算机设备示意图,所述计算机设备包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的跨vpc的流量转发方法。[0277]其中,处理器可以为中央处理器(centralprocessingunit,cpu)。处理器还可以为其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。[0278]存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。[0279]存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。[0280]在一示例性实施例中,还提供了一种计算机可读存储介质,用于存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现上述方法中的全部或部分步骤。例如,该计算机可读存储介质可以是只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、只读光盘(compactdiscread-onlymemory,cd-rom)、磁带、软盘和光数据存储设备等。[0281]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本
技术领域
:中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。[0282]应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献