CN118233379A - 数据传输方法、装置、设备、存储介质及程序产品 - Google Patents
数据传输方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN118233379A CN118233379A CN202410535599.2A CN202410535599A CN118233379A CN 118233379 A CN118233379 A CN 118233379A CN 202410535599 A CN202410535599 A CN 202410535599A CN 118233379 A CN118233379 A CN 118233379A
- Authority
- CN
- China
- Prior art keywords
- data packet
- address
- source
- virtual
- mac address
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 124
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000006854 communication Effects 0.000 claims description 85
- 238000004891 communication Methods 0.000 claims description 85
- 238000013507 mapping Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 7
- 206010047289 Ventricular extrasystoles Diseases 0.000 abstract description 11
- 238000005129 volume perturbation calorimetry Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 18
- 230000004069 differentiation Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000002955 isolation Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000005641 tunneling Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Abstract
本申请提供一种数据传输方法、装置、设备、存储介质及程序产品,涉及计算机技术领域,其中,应用于网关设备的方法包括:接收第一虚拟私有云VPC发送的第一数据包,所述第一数据包中携带有所述第一VPC的源IP地址和源MAC地址;基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径;根据所述源IP地址创建所述底层传输路径的虚拟扩展局域网隧道端点VTEP,将所述第一数据包向所述VTEP进行传输;在所述第一数据包传输至所述VTEP的情况下,对所述网关设备的虚拟IP地址进行重写,以更新所述第一数据包中的所述源MAC地址和所述源IP地址,得到更新后的第二数据包;将所述第二数据包转发至第二VPC。本申请解决了VPC间的数据传输过程灵活性较差的问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据传输方法、装置、设备、存储介质及程序产品。
背景技术
在相关技术领域,对等连接(Peering Connection,PC)作为一种大带宽、高质量的云上资源互通服务,能够实现两个虚拟私有云(Virtual Private Cloud,VPC)间的路由互通。对等连接通过在两端配置路由策略,可实现同地域或跨地域之间,相同或不同用户的VPC互联。然而,对等连接中的网络设备需要特定的网络设备配置才能正常运行,对等连接服务对于特定的网络环境的依赖较强,这导致VPC间的数据传输过程存在着灵活性较差的问题。
发明内容
本申请实施例提供一种数据传输方法、装置、设备、存储介质及程序产品,以解决VPC间的数据传输中灵活性较差的问题。
为解决上述技术问题,本申请是这样实现的:
第一方面,本申请实施例提供了一种数据传输方法,应用于网关设备,所述方法包括:
接收第一虚拟私有云VPC发送的第一数据包,所述第一数据包中携带有所述第一VPC的源IP地址和源MAC地址;
基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径;
根据所述源IP地址创建所述底层传输路径的虚拟扩展局域网隧道端点VTEP,将所述第一数据包向所述VTEP进行传输;
在所述第一数据包传输至所述VTEP的情况下,对所述网关设备的虚拟IP地址进行重写,以更新所述第一数据包中的所述源MAC地址和所述源IP地址,得到更新后的第二数据包;
将所述第二数据包转发至第二VPC。
可选地,所述基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径之前,所述方法还包括:
将所述第一数据包传送至所述网关设备中的交换机,通过所述交换机对所述第一数据包进行解析,获得所述下一跳信息。
可选地,所述通过所述交换机对所述第一数据包进行解析,获得所述下一跳信息,包括:
通过所述交换机对所述第一数据包进行解封装操作,获取所述第一数据包中携带的源虚拟网络标识符VNI;
将所述源VNI映射至所述网关设备中对应的广播域和虚拟路由转发VRF;
在确定所述第一数据包对应的广播域和VRF的情况下,基于预设的转发信息表确定所述第一数据包的所述下一跳信息。
可选地,所述将所述源VNI映射至所述网关设备中对应的广播域和虚拟路由转发VRF,包括:
获取所述第一数据包进入所述网关设备的端口对应的端口号;
根据所述端口号,匹配得到所述网关设备中预先配置的对应的虚拟局域网标识;
基于所述虚拟局域网标识,确定所述第一数据包对应的广播域和VRF;
将所述源VNI映射至所述第一数据包对应的广播域和VRF。
可选地,所述基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径,包括:
基于所述下一跳信息确定对应的隧道;
根据所述隧道的隧道信息定位所述第一数据包对应的底层传输路径。
可选地,所述第一数据包中还携带有所述第一数据包的目标MAC地址,所述方法还包括:
检查所述目标MAC地址是否与所述网关设备中的目标路由器MAC地址RMAC匹配,得到匹配结果;
基于所述匹配结果,确定网络通信方式,所述网络通信方式包括二层通信或三层通信;
所述将所述第一数据包向所述VTEP进行传输,包括:
按照所述网络通信方式,将所述第一数据包向所述底层传输路径的所述VTEP进行传输。
可选地,所述基于所述匹配结果,确定网络通信方式,包括:
在所述匹配结果指示所述目标MAC地址与所述目标路由器MAC地址相匹配的情况下,确定网络通信方式为二层通信;
在所述匹配结果指示所述目标MAC地址与所述目标路由器MAC地址不匹配的情况下,确定网络通信方式为三层通信。
第二方面,本申请实施例提供了一种数据传输装置,应用于网关设备,所述装置包括:
接收模块,用于接收第一虚拟私有云VPC发送的第一数据包,所述第一数据包中携带有所述第一VPC的源IP地址和源MAC地址;
确定模块,用于基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径;
传输模块,用于根据所述源IP地址创建所述底层传输路径的虚拟扩展局域网隧道端点VTEP,将所述第一数据包向所述VTEP进行传输;
重写模块,用于在所述第一数据包传输至所述VTEP的情况下,对所述网关设备的虚拟IP地址进行重写,以更新所述第一数据包中的所述源MAC地址和所述源IP地址,得到更新后的第二数据包;
转发模块,用于将所述第二数据包转发至第二VPC。
第三方面,本申请实施例提供一种数据传输设备,所述数据传输设备包括处理器和收发机,所述收发机用于:
接收第一虚拟私有云VPC发送的第一数据包,所述第一数据包中携带有所述第一VPC的源IP地址和源MAC地址;
所述处理器用于:
基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径;
所述收发机用于:
根据所述源IP地址创建所述底层传输路径的虚拟扩展局域网隧道端点VTEP,将所述第一数据包向所述VTEP进行传输;
所述处理器用于:
在所述第一数据包传输至所述VTEP的情况下,对所述网关设备的虚拟IP地址进行重写,以更新所述第一数据包中的所述源MAC地址和所述源IP地址,得到更新后的第二数据包;
所述收发机用于:
将所述第二数据包转发至第二VPC。
第四方面,本申请实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述第一方面所述的数据传输方法的步骤。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的数据传输方法的步骤。
第六方面,提供一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现如第一方面所述的数据传输方法的步骤。
本申请实施例中,网关设备设置在VPC之间,网关设备接收第一VPC发送的第一数据包,并通过获取第一数据包的下一跳信息得到真实的底层传输路径。在底层传输路径的出口位置,根据网关设备的虚拟IP地址新增一个能够命中的虚拟扩展局域网隧道端点VTEP,在底层传输路径的出口位置,根据网关设备的虚拟IP地址进行重写,以更新源MAC地址和源IP地址,得到更新后的第二数据包。随后,将第二数据包转发至第二VPC,实现第一VPC和第二VPC之间的数据传输通信。本申请实施例中,通过采用虚拟IP机制,实现了云内虚拟机的可迁移性,并通过在底层传输路径的入口位置增设VTEP,在出口位置重写虚拟IP地址,能够实现灵活调整地址容量、增强业务的灵活性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中虚拟私有云之间进行数据转发的架构图;
图2是本申请实施例提供的一种数据传输方法的流程图;
图3是本申请实施例中网关设备中进行网络地址转换的处理流程图;
图4是本申请实施例中网关设备的虚拟IP地址重写的处理流程图;
图5是本申请实施例中将数据写入芯片的架构图;
图6是本申请实施例提供的一种数据传输装置的结构示意图;
图7是本申请实施例提供的一种数据传输设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为使本申请实施例更为清楚,下面先对本申请实施例涉及的相关技术知识进行如下介绍:
云计算(Cloud Computing)是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备。按照云计算提供者与使用者的所属关系为划分标准,将云计算分为三类,即公有云、私有云和混合云。公有云通常指第三方提供商为租户提供的能够使用的云,公有云一般可通过网络(Internet)使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务,在公有云中可以为租户部署基于网络远程访问的服务。私有云是为一个租户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。
一般情况下,公有云部署在底层物理(underlay)网络中,underlay网络是公有云数据中心的底层承载网络,是互联网数据中心(Internet DataCenter,IDC)的基础网络;私有云部署在叠加(overlay)网络中,在overlay网络中一般通过隧道技术来实现租户网络的隔离。混合云,它的模式特点与运用综合了公有云和私有云的特点。混合云一般是通过在虚拟私有云(Virtual Private Cloud,VPC)与私有云之间架设虚拟专用网(Virtual PrivateNetwork,VPN)或者互联网专线连接实现的。VPC用于公有云环境下为租户提供私有云环境的虚拟网络环境,在VPC网络中的主机和服务具有与私有云同样的属性,VPC网络能够实现不同租户在网络层隔离,VPN是一种通过隧道封装的方式在公用网络中提供专有网络的技术,在混合云场景下用于在私有云到公有云上的网络安全接入。现有的混合云***包括了VPC网络、网关服务器、至少一个私有云服务器和至少一个公有云服务器,VPC网络中部署了至少一个虚拟机。VPC网络中的虚拟机因为没有合法的互联网协议(Internet Protocol,IP)地址,无法访问公有云服务器。
基于上述情况,一般通过网关服务器实现虚拟机与公有云服务器之间的通信。网关服务器将VPC网络中虚拟机发送的数据包进行网络地址转换(Network AddressTranslation,NAT),将转换后的数据包发送给公有云服务器,从而实现了虚拟机到公有云服务器之间的数据传输。为了保证传输到公有云服务器数据的安全性,一般在公有云服务器入口部署访问控制列表(Access ControlList,ACL)机制。ACL是一种网络安全机制,用于提供基于协议、端口及IP地址的黑白名单形式的网络安全防护。公有云服务根据接收到的转换后的数据包的源IP地址及ACL机制,确定是发送转换后的第一数据包的响应数据包给网关服务器还是丢弃转换后的第一数据包,在确定转换后的数据包的源IP地址在IP地址白名单时,公有云服务器将响应数据包发送给网关服务器。
具体地,虚拟互联网协议(Internet Protocol,IP)地址的设置是一种用于提供高可用性、负载均衡和故障转移的解决方案。虚拟IP地址是一个不属于实际物理设备的IP地址,是通过网络设备和技术来实现的。虚拟IP地址在以下几方面发挥着重要作用:
(1)高可用性:在具有多服务器或设备的环境中,虚拟IP地址可以作为一个单一的入口点,当其中一个实际设备出现故障时,虚拟IP地址可以被快速切换到其他正常工作的设备上,从而实现服务的连续性和高可用性;
(2)负载均衡:虚拟IP地址也用于负载均衡环境中,其中多个服务器共享同一个虚拟IP地址。当用户请求到达虚拟IP地址时,负载均衡设备会根据预定的算法将请求分发到不同的服务器上,以平衡服务器的负载,提高***性能和响应速度;
(3)故障转移:在故障转移方案中,虚拟IP地址可用于在主服务器故障时,将服务迅速切换到备用服务器上,这可以最大程度地减少服务中断时间,提高***的可靠性;
(4)容灾性:虚拟IP地址也可用于灾备环境,以实现跨地理位置的容灾解决方案。当主数据中心出现故障时,虚拟IP地址可以被切换到备用数据中心,保障业务的连续性;
(5)IP迁移:在某些情况下,虚拟IP地址可以被实时迁移,以便进行维护、升级等操作,同时不影响服务的正常运行。
需要说明的是,本申请实施例应用于网关设备,网关设备可以是设置在两个VPC之间的可编程网关,具有灵活的编程能力和自定义功能,可以根据特定的网络流量需求执行各种操作,如路由、过滤、转换等。本申请中的网关设备也可以是其他能够进行网络地址转换、路由、虚拟IP地址重写等功能的网关,例如网络地址转换(Network AddressTranslation,NAT)网关。本申请实施例不局限于网关设备的具体类型,可以根据实际情况进行设定。在本申请的以下实施例中以可编程网关进行说明。
可以理解的是,如图1所示,通过在两个虚拟私有云(Virtual Private Cloud,VPC)的计算节点(如图中第一计算节点和第二计算节点)之间设置可编程网关,以在两个VPC之间建立网络连接,实现VPC之间的通信。通过设置的可编程网关可以使得数据在不同VPC之间传输时,就如在同一内部网络进行传递一样,达到了高度一体化的网络通信体验效果。
可编程网关针对每个可编程网关实例均分配一个虚拟IP地址,用于实例级的高可用,即设备扩容后,可实现可编程网关实例级别迁移。可编程网关可以应用于多个技术领域,例如可以应用于交通技术领域,实现车辆之间的实时通信和安全协同,从而提高交通***的通信效率和安全性。又例如,还可以应用于智能医疗技术领域,以确定医疗设备之间的高效互联和数据传输。
参见图2,图2是本申请实施例提供的一种数据传输方法的流程图。如图2所示,应用于网关设备的数据传输方法包括以下步骤:
步骤101、接收第一虚拟私有云VPC发送的第一数据包,所述第一数据包中携带有所述第一VPC的源IP地址和源MAC地址。
需要说明的是,第一VPC中的第一数据包可以在已有的三层转发的基础上,进一步扩展转发操作,将经过封装的数据包报文传送至网关设备,便于网关设备能够对这些数据包报文进行解封装操作,以对第一数据包的内层信息进行各种操作,例如路由、转换等。
值得一提的是,第一数据包中可以携带有第一VPC的源IP地址和源媒体访问控制(Media Access Control Address,MAC)地址。其中,源IP地址标识了第一数据包的发送方,即第一VPC的IP地址,以便于接收方(如第二VPC或者第一VPC的其他数据传输对象)通过源IP地址可以确定数据包的来源,进行回复或者记录发送方的信息。源MAC地址是数据链路层中的地址,用于在局域网中唯一标识网络设备。在局域网中,路由器或交换机等网络设备可以通过源MAC地址确定数据包的发送方,从而正确地转发数据包到接收方。此外,第一数据包中还可以携带有目标IP地址、目标MAC地址、协议类型、端口号、数据负载、时间戳等内容。
步骤102、基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径。
值得注意的是,在虚拟化网络中,数据包可能需要经过多个虚拟网络设备和隧道才能到达目的地。每个虚拟网络设备都会根据数据包的VNI和VRF信息进行处理和转发,确保数据包在虚拟网络中正确传输。隧道技术可以帮助跨越不同网络进行安全的数据传输。通过隧道信息,***可以将数据包封装在另一个数据包中,并通过隧道传输到目的地。在传输过程中,隧道信息会指导数据包如何正确地封装和解封装,确保数据包能够安全地到达目的地。
在本申请的具体实施例中,当网络设备接收到数据包时,会根据数据包中的目的IP地址信息进行路由选择和转发。具体地,网关设备可以根据查找路由转发表,匹配确定第一数据包的下一跳信息。接着,再根据下一跳信息将第一数据包发送到相应的网络接口或下一个路由器。具体来说,一旦确定了数据包的下一跳指向一个隧道,***会根据这个隧道找到真实的底层传输路径,也就是底层网络中实际的数据传输路径。然后,***会对数据包进行解封装操作,将内层信息提取出来,以便进行后续的流量处理和路由选择。
可见,基于第一数据包的下一跳信息确定底层传输路径,可以实现更有效的路由选择和数据传输。
步骤103、根据所述源IP地址创建所述底层传输路径的虚拟扩展局域网隧道端点VTEP,将所述第一数据包向所述VTEP进行传输。
在上述步骤中,第一数据包在进入网关设备后,需要确定正确的虚拟隧道端点,以确保第一数据包能够正确进入解封装逻辑。由此,在基于上述处理流程得到底层传输路径之后,可以对第一数据包的内层信息进行解封装操作,完成入向信息的匹配,同时确定隧道的入口接口和出口接口,并且可以在隧道的入口位置处创建虚拟扩展局域网(VirtualExtensible Local Area Network,VXLAN)隧道端点(VXLAN Tunnel Endpoint,VTEP),通过使用VTEP可以增强数据传输的安全性,确保能够进入解封装逻辑,保护数据在传输过程中的隐私和完整性。
步骤104、在所述第一数据包传输至所述VTEP的情况下,对所述网关设备的虚拟IP地址进行重写,以更新所述第一数据包中的所述源MAC地址和所述源IP地址,得到更新后的第二数据包。
在本申请的具体实施例中,在第一数据包传输至所述VTEP的情况下,即传输至底层传输路径的出口位置处,则可以通过在出口处重写虚拟IP地址,并根据虚拟IP地址更新第一数据包中的源MAC地址,最终对虚拟IP地址进行重写以更新源IP地址。这样,此过程精准地指导第一数据包的传输和信息处理,保障了解封装和重写操作的高效完成,为网络通信的顺畅进行提供了必要保障,同时还可以确保数据包在传输过程中源MAC地址和源IP地址的正确性,避免信息泄露或数据丢失。可见,本申请实施例能够提高数据传输的效率和安全性,同时确保数据在不同虚拟私有云之间的可靠传输。
步骤105、将所述第二数据包转发至第二VPC。
在具体实施例中,本申请通过可编程网关建立VPC之间的通信,为应用程序和服务提供了更大的灵活性、可迁移性和适应性,使其可以在不同的环境中轻松地迁移和部署。另外,本申请实施例还通过采用虚拟IP机制,实现了云内虚拟机的可迁移性,并且通过在底层传输路径的入口位置增设VTEP,在出口位置重写虚拟IP地址,起到了灵活调整地址容量、增强业务的灵活性和可靠性的作用。
可选地,所述基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径之前,所述方法还包括:
将所述第一数据包传送至所述网关设备中的交换机,通过所述交换机对所述第一数据包进行解析,获得所述下一跳信息。
一些具体实施例中,将第一数据包传送至网关设备中的交换机,可以是已经封装完毕的第一数据包传输至交换机中进行解封装操作,以便获取第一数据包括携带的相关数据信息,例如源虚拟扩展局域网(Virtual Extensible Local Area Network,VXLAN)网络标识符(VXLAN Network Identifier,VNI)等。通过交换机对第一数据包进行解析,可以提取出源VNI等信息,并可以根据此源VNI匹配对应的下一跳信息,即指示数据包应该传输到哪个目标地址的信息。这样,获得下一跳信息后,网关设备可以更准确地确定数据包的传输路径,确保数据包按照正确的路由进行传输,这一过程可以进一步优化数据传输的效率和准确性。
需要说明的是,下一跳信息可以指示第一数据包在网络中应该被转发到的下一个路由器或设备。当第一数据包到达一个路由器时,可以根据路由表匹配到的下一跳信息,数据包将被发送到下一个路由器,直到到达目的地。
由此,本申请实施例可以增强整个数据传输过程的可靠性和效率,确保数据包能够顺利地在不同网络之间传输,并且减少了可能出现的传输错误和延迟。
可选地,所述通过所述交换机对所述第一数据包进行解析,获得所述下一跳信息,包括:
通过所述交换机对所述第一数据包进行解封装操作,获取所述第一数据包中携带的源虚拟网络标识符VNI;
将所述源VNI映射至所述网关设备中对应的广播域和虚拟路由转发VRF;
在确定所述第一数据包对应的广播域和VRF的情况下,基于预设的转发信息表确定所述第一数据包的所述下一跳信息。
在具体实施例中,交换机可以对第一数据包进行解封装操作,以获取数据包中携带的源VNI。在网络中,不同的虚拟网络可以通过不同的VNI进行区分,从而实现虚拟网络之间的隔离和管理。将源VNI映射至网关设备中对应的广播域(Broadcast Domain,BD)和虚拟路由转发(VRF),实现与相应的BD和VRF的关联,能够确保数据能够正确地在不同广播域和虚拟路由之间进行定向传递,从而有效地管理和控制网络中的数据流动。
进一步地,在确定第一数据包对应的广播域和VRF后,可以根据预设的转发信息表(Forwarding Information Base,FIB)来确定第一数据包的下一跳信息。FIB表可以是预先配置在网关设备中的,FIB表包含了在各个BD和VRF下对应的下一个目的地信息,包括所指向的下一个隧道信息。由此,通过下一隧道信息可以定位真实的底层网络(underlay)的底层传输路径。
通过以上步骤,交换机可以更精确地解析第一数据包,并根据源VNI映射和转发信息表确定下一跳信息,从而确保数据包按照正确的路径进行传输,提高网络传输的效率和准确性。
可选地,所述第一数据包携带有进入所述网关设备的端口对应的端口号,所述将所述源VNI映射至所述网关设备中对应的广播域和虚拟路由转发VRF,包括:
根据所述端口号,匹配得到所述网关设备中预先配置的对应的虚拟局域网标识;
基于所述虚拟局域网标识,确定所述第一数据包对应的广播域和VRF;
将所述源VNI映射至所述第一数据包对应的广播域和VRF。
又一些实施例中,当第一数据包进入网关设备时,网关设备会获取第一数据包中携带的端口号,第一数据包可以根据此端口号找到网关设备对应的端口,并从此端口接入网关设备中。随后,将端口号与网关设备中预先配置的各个虚拟局域网标识进行匹配,判断是否存在与端口号匹配的虚拟局域网标识。在确定端口号存在对应匹配的虚拟局域网标识时,能够通过此虚拟局域网标识确定第一数据包所属的虚拟网络。进而,通过已知的虚拟局域网标识,网关设备可以确定第一数据包应传输到的具体的BD和VRF中,确定第一数据包对应的BD和VRF。
这样,在确定第一数据包对应的BD和VRF之后,可以通过将源VNI映射至确定的BD和VRF,使得第一数据包在网关设备中能够被正确路由到目标位置,实现数据包的有效传输。通过以上实施例,网关设备可以根据端口号、虚拟局域网标识、广播域和VRF等信息,准确地将第一数据包进行解析和路由,确保数据包按照正确的路径传输,实现网络通信的顺畅和高效传输。
可选地,所述基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径,包括:
基于所述下一跳信息确定对应的隧道;
根据所述隧道的隧道信息定位所述第一数据包对应的底层传输路径。
在一些具体实施例中,当网关设备接收到第一数据包并解析出下一跳信息时,根据这些信息,网关设备可以确定应该使用哪个隧道来传输数据包。下一跳信息可能包括目标设备的IP地址、MAC地址等,这些信息可以帮助指向第一数据包的下一隧道。一旦确定了下一个的隧道,网关设备可以根据该隧道的信息来定位数据包的底层传输路径。另外,隧道信息还可以包括下一隧道的起始点、终点、传输协议、加密方式等,通过这些信息可以帮助确保第一数据包按照预期的路径进行传输。
通过以上步骤,网关设备可以根据第一数据包的下一跳信息选择合适的隧道,并根据隧道信息来确定数据包的底层传输路径。这样可以确保数据包按照正确的路径和方式进行传输,提高网络传输的效率和安全性。
可选地,所述第一数据包中还携带有所述第一数据包的目标MAC地址,所述方法还包括:
检查所述目标MAC地址是否与所述网关设备中的目标路由器MAC地址RMAC匹配,得到匹配结果;
基于所述匹配结果,确定网络通信方式,所述网络通信方式包括二层通信或三层通信;
所述将所述第一数据包向所述VTEP进行传输,包括:
按照所述网络通信方式,将所述第一数据包向所述底层传输路径的所述VTEP进行传输。
在本申请的具体实施例中,网关设备可以通过检查第一数据包中的目标MAC地址是否与网关设备中配置的目标MAC地址匹配,根据匹配结果确定VPC与网关设备、其他VPC之间的网络通信方式。如果匹配成功,说明目标设备是直接连接到网关设备的,可以进行二层通信;如果匹配失败,说明目标设备不在同一局域网内,需要进行三层通信。根据目标MAC地址与RMAC的匹配结果,确定应该使用二层通信还是三层通信方式来进行数据包传输。根据确定的网络通信方式,将第一数据包传输给底层传输路径上的VTEP。如果是二层通信,数据包可以直接传输到目标设备所在的VTEP;如果是三层通信,数据包需要经过路由器等设备进行路由转发。
通过以上步骤,网关设备可以根据目标MAC地址与目标MAC地址的匹配结果确定网络通信方式,并将第一数据包按照相应的通信方式传输给VTEP,确保数据包能够按照正确的路径到达目标设备,这样可以更加有效地管理网络通信和传输过程。
可选地,所述基于所述匹配结果,确定网络通信方式,包括:
在所述匹配结果指示所述目标MAC地址与所述目标路由器MAC地址相匹配的情况下,确定网络通信方式为二层通信;
在所述匹配结果指示所述目标MAC地址与所述目标路由器MAC地址不匹配的情况下,确定网络通信方式为三层通信。
一些实施例中,可以通过检查第一VPC的目标MAC(Destination Mac)地址是否与网关设备的目标路由器MAC地址匹配,从而决定采用二层或三层网络通信方式。这样,能够基于所获得的匹配结果,选择数据包传输的最适合的网络路径,以实现有效的数据传输和通信策略。
进一步地,当匹配结果显示目标MAC地址与目标路由器MAC地址一致,那么可以选择的网络通信方式为二层通信。在这种情况下,第一数据包将直接通过二层交换机在局域网内进行传输,无需经过路由器的路由功能。当目标路由器的MAC地址与第一数据包中的目标MAC地址不匹配,那么网络通信方式为三层通信。在这种情况下,第一VPC可以将向网关设备发送第一数据包,路由器作为默认网关设备将接收第一数据包,并根据目标IP地址进行路由转发。第一数据包将经过路由器的路由功能,通过不同网络之间的路由器进行传输,最终到达第二VPC对应的目标路由器。
这种根据目标MAC地址与目标路由器MAC地址的匹配结果确定通信方式的方法,有助于网关设备在数据包传输过程中正确选择通信路径,提高网络通信的效率和安全性。
在本申请的又一个实施例中,如图5所示,可以将数据信息写入到硬件芯片中,具体通过写入模块(可以是Agent模块)将数据信息写入到数据库容器中的第一数据库(例如用于存储交换机配置信息的数据库(Configuration Database,CONFIG_DB))中。随后,可以在用于管理交换机状态信息的服务(Switch State Service,SWSS)容器中引入一个进程(例如进程A,也可以将其命名为“peermgr”),用于订阅最新写入数据库的表。这样,根据写入的信息,其中包括虚拟IP信息、限速策略配置、源VNI等内容,可以根据不同的信息内容进行不同的调整。采用这些信息用于与自动化部署工具(syncd container)中的客户端(server)进行交互,以进行后续操作。通过客户端与服务端建立连接,实现数据的高效传输。在此实施例中,服务端进一步与客户端的用户空间(user space)进行交互,并最终出发驱动操作,将数据成功写入芯片的内核空间(Kernel space)中,并发送下一跳信息(ASICforward tables)给专用集成电路的数据平面(ASIC dataplane)。(Application-SpecificIntegrated Circuit,ASIC)专用集成电路。
在本申请的上述实施例中,通过整合数据写入的多个流程,从数据传输到数据写入至数据库,再到不同进程的协作,最终实现硬件芯片写入、与硬件芯片的通信连接。可见,通过此分层结构,能够高效传输数据并实现芯片操作的写入操作。
本申请的具体实施例中,如图3所示,图3是本申请实施例中网关设备中进行网络地址转换的处理流程图,以下步骤应用于网关设备,具体可以通过以下步骤实现网络地址的转换:
步骤111、接收第一虚拟私有云VPC发送的第一数据包,解析第一数据包的报文字段;
步骤112、根据网关设备的入端口索引,设置第一数据包对应的BD和VRF;
上述步骤中,可以确保数据能够正确地在不同广播域和虚拟路由之间进行定向传递,从而有效地管理和控制网络中的数据流动。
步骤113、判断VXLAN是否命中,例如查看第一数据包的目的MAC地址和标识符是否与当前网关设备的配置相匹配;
可以理解的是,上述步骤可以通过判断VXLAN数据包是否命中,使得网关设备可以根据配置的规则将第一数据包路由到正确的虚拟网络中,实现不同虚拟网络之间的隔离。也可以根据第一数据包的命中情况来执行特定的安全策略,如访问控制、流量过滤等。还可以以此作为网络管理员进行监控和管理虚拟网络中的流量的依据,确保网络的正常运行和性能优化。
步骤114、在VXLAN命中的情况下,判断Vtep是否命中,例如在网关设备中查看第一数据包的目的MAC地址和标识符是否与当前VTEP配置相匹配;否则,结束流程;
步骤115、在Vtep命中的情况下,解析出底层传输路径,将第一数据包的源VNI映射至网关设备中对应的BD和VRF,随后执行步骤117;
步骤116、在Vtep命中的情况下,接收第一虚拟私有云VPC发送的第一数据包,解析第一数据包的报文字段,随后执行步骤117;
步骤117、在Vtep命中的情况下,检查第一数据包的目标MAC地址是否与网关设备中的目标路由器MAC地址匹配,得到匹配结果,并基于所述匹配结果,确定网络通信方式;否则,在Vtep未命中的情况下,结束流程;
需要说明的是,上述步骤中网络通信方式的确定过程基于目标MAC地址的匹配结果确定,有助于选择最适合的网络通信路径,以实现有效的数据传输和通信策略。
步骤118、根据vrf和目的IP地址,确定下一跳信息;
步骤119、根据下一跳信息的索引设置对应的隧道,并根据隧道索引获取底层传输路径(underlay)和物理出端口;
步骤120、将内部以太网和IP头部信息写入新添加的外部包头中,并移除内部以太网包头、内部IP和vxlan头;
步骤121、设置BD、隧道ID、隧道类型,并重写外层mac地址;
步骤122、根据设置的BD,设置源MAC地址索引,并重写第一数据包网际协议版本4(IPV4)的生存时间(ttl)和第一数据包的源MAC地址(SMAC);
步骤123、通过匹配隧道的隧道类型,将处理后的mac头部赋予内层mac头,并且依次封装外部IPV4头部、vxlan头部和用户数据报协议(User datagram protocol,udp)头部;
在上述步骤中,还可以改写第一数据包的长度,便于underlay转发第一数据包。
步骤124、根据underlay路由,重写underlay的目标mac地址,并根据BD重写源mac地址的索引;
步骤125、将外层隧道(src_ip)地址重写为网关设备的虚拟IP地址(VIP),并重写隧道的目的IP地址;
步骤126、根据重写后的underlay的目标mac地址的索引,重写外部源mac地址。
需要说明的是,上述可选的实施方式可以参见图2所示的实施例中的相关说明,为避免重复说明,本实施例不再赘述。
请参见图4,图4是本申请实施例中网关设备的虚拟IP地址重写的处理流程图,该流程图中的实施例可以应用于网关设备,具体包括以下步骤:
步骤131、接收第一虚拟私有云VPC发送的第一数据包,解析第一数据包的报文字段;
步骤132、根据网关设备的入端口索引,设置第一数据包对应的BD、VRF和目标路由器MAC地址;
步骤133、检查第一数据包的目标MAC地址是否与网关设备中的目标路由器MAC地址匹配,得到匹配结果,根据匹配结果,确定网络通信方式;
步骤134、对第一数据包进行解封装操作;
步骤135、对第一数据包进行解析,得到第一数据包对应的底层传输路径,并将第一数据包的源VNI映射至网关设备中对应的BD和VRF;
步骤136、根据网关设备内部IP头信息,修改网关设备中的内部文件(ig_md.lkp)信息;
步骤137、判断内层mac地址是否命中;
步骤138、在内层mac地址是否命中,且在确定第一数据包对应的广播域和VRF的情况下,基于预设的转发信息表确定第一数据包的所述下一跳信息;否则,结束流程;
步骤139、基于所述下一跳信息确定对应的隧道;根据所述隧道的隧道信息定位所述第一数据包对应的底层传输路径(underlay)及其目的mac地址和物理出端口;
步骤140、将内部以太网和IP头部信息写入新添加的外部包头中,并移除内部以太网包头、内部IP和vxlan头;
步骤141、重写叠加(overlay)网络数据包的目标MAC地址,设置BD和VNI;
步骤142、根据设置的BD,设置源MAC地址索引;
步骤143、根据网关设备的虚拟IP地址(VIP)和源MAC地址索引,重写源MAC地址;
步骤144、封装外层头,并根据underlay路由,重写underlay的目标MAC地址;
步骤145、根据隧道类型修改隧道(src_ip)地址,并根据VIP重写src_ip地址。
可以理解的是,上述实施例精准地实例了数据包的传输和信息处理过程,保障了解封装和重写操作的高效完成,为网络通信的顺畅进行提供了必要保障。
还需要说明的是,上述可选的实施方式可以参见图2所示的实施例中的相关说明,为避免重复说明,本实施例不再赘述。
值得一提的是,在计算机网络中,流量区分是指根据不同的标准或特征将网络传输的数据流进行分类或分隔,以便对其进行管理、控制和优化。流量区分可以用于实现不同的网络策略、质量服务(Quality of Service,QoS)和安全措施。本申请实施例可以应用下列流量区分方式,帮助进行网络管理、优化和保障安全,帮助网络管理员更好地理解、分析和应对不同类型的网络流量。
具体地,流量区分方式可以包括以下方式:
应用层流量区分:基于应用程序或协议的流量进行分类。例如,将Web流量、视频流、基于IP的语音传输(Voice over Internet Protocol,VoIP)流量等进行区分,以便为不同类型的流量提供适当的优化和带宽分配;
协议层流量区分:基于传输协议(如传输控制协议(Transmission ControlProtocol,TCP)、用户数据报协议(User Datagram Protocol,UDP))进行分类。这可以用于将不同的协议流量进行区分,以便对不同协议应用不同的策略;
源/目的地址流量区分:基于源IP地址或目的IP地址将流量进行分类。这可以用于实现网络分段、流量隔离以及对特定源或目的地的流量控制;
端口流量区分:基于源端口或目的端口将流量进行分类,常用于识别特定应用程序或服务的流量,并对其进行管理;
时间流量区分:根据不同的时间段将流量进行分类,例如根据时间段对高峰期和低峰期流量进行不同的控制;
服务质量流量区分:基于流量的特征(如延迟、带宽需求)对其进行分类,以便为不同的流量提供不同的服务质量保证;
安全流量区分:将正常流量与潜在恶意流量(如分布式拒绝服务(DistributedDenial-of-Service,DDoS)攻击、恶意代码传播等)进行区分,以便采取适当的安全措施。
在本申请的又一个实施例中,如图6所示,还提供了一种数据传输装置200,应用于网关设备,所述装置包括:
接收模块201,用于接收第一虚拟私有云VPC发送的第一数据包,所述第一数据包中携带有所述第一VPC的源IP地址和源MAC地址;
第一确定模块202,用于基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径;
传输模块,用于根据所述源IP地址创建所述底层传输路径的虚拟扩展局域网隧道端点VTEP,将所述第一数据包向所述VTEP进行传输;
重写模块,用于在所述第一数据包传输至所述VTEP的情况下,对所述网关设备的虚拟IP地址进行重写,以更新所述第一数据包中的所述源MAC地址和所述源IP地址,得到更新后的第二数据包;
转发模块,用于将所述第二数据包转发至第二VPC。
可选地,所述基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径之前,所述装置还包括:
获取模块,用于将所述第一数据包传送至所述网关设备中的交换机,通过所述交换机对所述第一数据包进行解析,获得所述下一跳信息。
可选地,所述获取模块包括:
第一获取子模块,用于通过所述交换机对所述第一数据包进行解封装操作,获取所述第一数据包中携带的源虚拟网络标识符VNI;
映射子模块,用于将所述源VNI映射至所述网关设备中对应的广播域和虚拟路由转发VRF;
第一确定子模块,用于在确定所述第一数据包对应的广播域和VRF的情况下,基于预设的转发信息表确定所述第一数据包的所述下一跳信息。
可选地,所述第一数据包携带有进入所述网关设备的端口对应的端口号,所述映射子模块包括:
匹配单元,用于根据所述端口号,匹配得到所述网关设备中预先配置的对应的虚拟局域网标识;
第一确定单元,用于基于所述虚拟局域网标识,确定所述第一数据包对应的广播域和VRF;
映射单元,用于将所述源VNI映射至所述第一数据包对应的广播域和VRF。
可选地,所述确定模块包括:
第二确定子模块,用于基于所述下一跳信息确定对应的隧道;
定位子模块,用于根据所述隧道的隧道信息定位所述第一数据包对应的底层传输路径。
可选地,所述第一数据包中还携带有所述第一数据包的目标MAC地址,所述装置还包括:
匹配模块,用于检查所述目标MAC地址是否与所述网关设备中的目标路由器MAC地址RMAC匹配,得到匹配结果;
第二确定模块,用于基于所述匹配结果,确定网络通信方式,所述网络通信方式包括二层通信或三层通信;
所述传输模块包括:
传输子模块,用于按照所述网络通信方式,将所述第一数据包向所述底层传输路径的所述VTEP进行传输。
可选地,所述第二确定模块包括:
第二确定单元,用于在所述匹配结果指示所述目标MAC地址与所述目标路由器MAC地址相匹配的情况下,确定网络通信方式为二层通信;
第三确定单元,用于在所述匹配结果指示所述目标MAC地址与所述目标路由器MAC地址不匹配的情况下,确定网络通信方式为三层通信。
需要说明的是,本实施例作为与图1所示的实施例中对应的装置侧实施方式,可以参见图1所示的实施例的相关说明,为了避免重复说明,本实施例不再赘述。
如图7所示,本申请实施例还提供了一种数据传输设备。由于数据传输设备解决问题的原理与本申请实施例中数据传输方法相似,因此该数据传输设备的实施可以参见方法的实施,重复之处不再赘述。如图7所示,本申请实施例的数据传输设备,包括:
处理器600,用于读取存储器620中的程序,执行下列过程:
通过收发机610接收第一虚拟私有云VPC发送的第一数据包,所述第一数据包中携带有所述第一VPC的源IP地址和源MAC地址;
基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径;
根据所述源IP地址创建所述底层传输路径的虚拟扩展局域网隧道端点VTEP,通过收发机610将所述第一数据包向所述VTEP进行传输;
在所述第一数据包传输至所述VTEP的情况下,对所述网关设备的虚拟IP地址进行重写,以更新所述第一数据包中的所述源MAC地址和所述源IP地址,得到更新后的第二数据包;
通过收发机610将所述第二数据包转发至第二VPC;
收发机610,用于在处理器600的控制下接收和发送数据。
其中,在图7中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器600代表的一个或多个处理器和存储器620代表的存储器的各种电路链接在一起。总线架构还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机610可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口630还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器600负责管理总线架构和通常的处理,存储器620可以存储处理器600在执行操作时所使用的数据。
可选的,处理器600还用于读取存储器520中的,执行如下步骤:
将所述第一数据包传送至所述网关设备中的交换机,通过所述交换机对所述第一数据包进行解析,获得所述下一跳信息。
可选的,处理器600还用于读取存储器520中的,执行如下步骤:
通过所述交换机对所述第一数据包进行解封装操作,获取所述第一数据包中携带的源虚拟网络标识符VNI;
将所述源VNI映射至所述网关设备中对应的广播域和虚拟路由转发VRF;
在确定所述第一数据包对应的广播域和VRF的情况下,基于预设的转发信息表确定所述第一数据包的所述下一跳信息。
可选的,所述第一数据包携带有进入所述网关设备的端口对应的端口号;
处理器600还用于读取存储器520中的,执行如下步骤:
根据所述端口号,匹配得到所述网关设备中预先配置的对应的虚拟局域网标识;
基于所述虚拟局域网标识,确定所述第一数据包对应的广播域和VRF;
将所述源VNI映射至所述第一数据包对应的广播域和VRF。
可选的,处理器600还用于读取存储器520中的,执行如下步骤:
基于所述下一跳信息确定对应的隧道;
根据所述隧道的隧道信息定位所述第一数据包对应的底层传输路径。
可选的,处理器600还用于读取存储器520中的,执行如下步骤:
检查所述目标MAC地址是否与所述网关设备中的目标路由器MAC地址RMAC匹配,得到匹配结果;
基于所述匹配结果,确定网络通信方式,所述网络通信方式包括二层通信或三层通信;
所述将所述第一数据包向所述VTEP进行传输,包括:
按照所述网络通信方式,通过收发机610将所述第一数据包向所述底层传输路径的所述VTEP进行传输。
可选的,处理器600还用于读取存储器520中的,执行如下步骤:
在所述匹配结果指示所述目标MAC地址与所述目标路由器MAC地址相匹配的情况下,确定网络通信方式为二层通信;
在所述匹配结果指示所述目标MAC地址与所述目标路由器MAC地址不匹配的情况下,确定网络通信方式为三层通信。
本申请实施例提供的数据传输设备,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本申请实施例还提供了一种电子设备,包括处理器、存储器,以及存储在存储器上并可在处理器上运行的程序或指令,该程序或指令被处理器执行时实现如图1中所示数据传输方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据传输方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例还提供一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现上述图1所示方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (12)
1.一种数据传输方法,其特征在于,应用于网关设备,所述方法包括:
接收第一虚拟私有云VPC发送的第一数据包,所述第一数据包中携带有所述第一VPC的源IP地址和源MAC地址;
基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径;
根据所述源IP地址创建所述底层传输路径的虚拟扩展局域网隧道端点VTEP,将所述第一数据包向所述VTEP进行传输;
在所述第一数据包传输至所述VTEP的情况下,对所述网关设备的虚拟IP地址进行重写,以更新所述第一数据包中的所述源MAC地址和所述源IP地址,得到更新后的第二数据包;
将所述第二数据包转发至第二VPC。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径之前,所述方法还包括:
将所述第一数据包传送至所述网关设备中的交换机,通过所述交换机对所述第一数据包进行解析,获得所述下一跳信息。
3.根据权利要求2所述的方法,其特征在于,所述通过所述交换机对所述第一数据包进行解析,获得所述下一跳信息,包括:
通过所述交换机对所述第一数据包进行解封装操作,获取所述第一数据包中携带的源虚拟网络标识符VNI;
将所述源VNI映射至所述网关设备中对应的广播域和虚拟路由转发VRF;
在确定所述第一数据包对应的广播域和VRF的情况下,基于预设的转发信息表确定所述第一数据包的所述下一跳信息。
4.根据权利要求3所述的方法,其特征在于,所述第一数据包携带有进入所述网关设备的端口对应的端口号,所述将所述源VNI映射至所述网关设备中对应的广播域和虚拟路由转发VRF,包括:
根据所述端口号,匹配得到所述网关设备中预先配置的对应的虚拟局域网标识;
基于所述虚拟局域网标识,确定所述第一数据包对应的广播域和VRF;
将所述源VNI映射至所述第一数据包对应的广播域和VRF。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径,包括:
基于所述下一跳信息确定对应的隧道;
根据所述隧道的隧道信息定位所述第一数据包对应的底层传输路径。
6.根据权利要求1所述的方法,其特征在于,所述第一数据包中还携带有所述第一数据包的目标MAC地址,所述方法还包括:
检查所述目标MAC地址是否与所述网关设备中的目标路由器MAC地址RMAC匹配,得到匹配结果;
基于所述匹配结果,确定网络通信方式,所述网络通信方式包括二层通信或三层通信;
所述将所述第一数据包向所述VTEP进行传输,包括:
按照所述网络通信方式,将所述第一数据包向所述底层传输路径的所述VTEP进行传输。
7.根据权利要求6所述的方法,其特征在于,所述基于所述匹配结果,确定网络通信方式,包括:
在所述匹配结果指示所述目标MAC地址与所述目标路由器MAC地址相匹配的情况下,确定网络通信方式为二层通信;
在所述匹配结果指示所述目标MAC地址与所述目标路由器MAC地址不匹配的情况下,确定网络通信方式为三层通信。
8.一种数据传输装置,其特征在于,应用于网关设备,所述装置包括:
接收模块,用于接收第一虚拟私有云VPC发送的第一数据包,所述第一数据包中携带有所述第一VPC的源IP地址和源MAC地址;
确定模块,用于基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径;
传输模块,用于根据所述源IP地址创建所述底层传输路径的虚拟扩展局域网隧道端点VTEP,将所述第一数据包向所述VTEP进行传输;
重写模块,用于在所述第一数据包传输至所述VTEP的情况下,对所述网关设备的虚拟IP地址进行重写,以更新所述第一数据包中的所述源MAC地址和所述源IP地址,得到更新后的第二数据包;
转发模块,用于将所述第二数据包转发至第二VPC。
9.一种数据传输设备,其特征在于,所述数据传输设备包括处理器和收发机,所述收发机用于:
接收第一虚拟私有云VPC发送的第一数据包,所述第一数据包中携带有所述第一VPC的源IP地址和源MAC地址;
所述处理器用于:
基于所述第一数据包的下一跳信息确定所述第一数据包对应的底层传输路径;
所述收发机用于:
根据所述源IP地址创建所述底层传输路径的虚拟扩展局域网隧道端点VTEP,将所述第一数据包向所述VTEP进行传输;
所述处理器用于:
在所述第一数据包传输至所述VTEP的情况下,对网关设备的虚拟IP地址进行重写,以更新所述第一数据包中的所述源MAC地址和所述源IP地址,得到更新后的第二数据包;
所述收发机用于:
将所述第二数据包转发至第二VPC。
10.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据传输方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据传输方法的步骤。
12.一种计算机程序产品,其特征在于,包括计算机指令,该计算机指令被处理器执行时实现如权利要求1至7中任一项所述的数据传输方法的步骤。
Publications (1)
Publication Number | Publication Date |
---|---|
CN118233379A true CN118233379A (zh) | 2024-06-21 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10862732B2 (en) | Enhanced network virtualization using metadata in encapsulation header | |
US10237230B2 (en) | Method and system for inspecting network traffic between end points of a zone | |
US11671367B1 (en) | Methods and apparatus for improving load balancing in overlay networks | |
CN107770066B (zh) | 一种跨主机、跨VLAN、跨集群的Docker容器导流方法 | |
US9967185B1 (en) | Interface for extending service capabilities of a network device | |
US8725898B1 (en) | Scalable port address translations | |
US7738457B2 (en) | Method and system for virtual routing using containers | |
CN111130981B (zh) | 一种mac地址的代理应答方法及装置 | |
CN111937358B (zh) | 用于结构边缘设备的多vrf通用设备互联网协议地址 | |
US20150135178A1 (en) | Modifying virtual machine communications | |
US20220239629A1 (en) | Business service providing method and system, and remote acceleration gateway | |
CN112671628A (zh) | 业务服务提供方法及*** | |
CN112511431B (zh) | 一种用于虚拟化网络仿真的路由流量融合方法 | |
CN115442184B (zh) | 一种接入***及方法、接入服务器、***及存储介质 | |
Ranjbar et al. | Domain isolation in a multi-tenant software-defined network | |
CN116762320A (zh) | 用于支持设备及其动态策略更新的基于流量流的映射缓存刷新 | |
US11818035B2 (en) | Augmented routing of data | |
CN116488958A (zh) | 网关处理方法、虚拟接入网关、虚拟业务网关及相关设备 | |
CN116418632A (zh) | 一种报文处理方法、装置、设备及机器可读存储介质 | |
CN113596192B (zh) | 一种基于网闸组网的通信方法、装置、设备及介质 | |
US20150100625A1 (en) | Data Transmission System | |
CN115834472A (zh) | 一种报文处理方法、转发策略获取方法及装置 | |
CN113542441B (zh) | 一种通信处理方法及装置 | |
CN118233379A (zh) | 数据传输方法、装置、设备、存储介质及程序产品 | |
CN115834291B (zh) | 分布式内网服务数据获取方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |